diff --git a/.gitmodules b/.gitmodules index cc424402c..4459a069c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "wrap"] path = wrap - url = https://github.com/gtkd-developers/gir-to-d.git + url = https://github.com/KonstantIMP/gir-to-d diff --git a/AUTHORS b/AUTHORS index 4a55ebfeb..a6bc239ab 100644 --- a/AUTHORS +++ b/AUTHORS @@ -7,4 +7,5 @@ Antonio Monteiro Sebastián E. Peyrott John Reimer Mike Wey -hauptmech \ No newline at end of file +hauptmech +KonstantIMP \ No newline at end of file diff --git a/Build.d b/Build.d deleted file mode 100755 index 6943a27c8..000000000 --- a/Build.d +++ /dev/null @@ -1,180 +0,0 @@ -module Build; - -import core.stdc.stdlib: exit; - -import std.algorithm; -import std.array; -import std.conv; -import std.file; -import std.getopt; -import std.path; -import std.process; -import std.range; -import std.stdio; -import std.string; - -string dcflags; -string ldflags; - -debug {} else string DEBUG = ""; - -version(DigitalMars) -{ - string DC = "dmd"; - string OUTPUT = "-of"; - - debug string DEBUG = "-debug -g"; - - version(CRuntime_DigitalMars) - string PLATFORM = "-m32"; - else version(X86) - string PLATFORM = "-m32mscoff"; - else version(X86_64) - string PLATFORM = "-m64"; - - version(CRuntime_DigitalMars) version = DMD32; -} -else version(LDC) -{ - string DC = "ldc2"; - string OUTPUT = "-od=objects -oq -of"; - - debug string DEBUG = "-d-debug -g"; - - version(X86) - string PLATFORM = "-m32"; - else version(X86_64) - string PLATFORM = "-m64"; -} -else version(GNU) -{ - string DC = "gdc"; - string OUTPUT = "-o "; - - debug string DEBUG = "-fdebug -g"; - - version(X86) - string PLATFORM = "-m32"; - else version(X86_64) - string PLATFORM = "-m64"; -} -else -{ - static assert(false, "Unsupported compiler"); -} - -int main(string[] args) -{ - version(Posix) - { - writeln("This build script is currently Windows only."); - return(1); - } - - getopt(args, "dcflags", &dcflags, "ldflags", &ldflags); - args.popFront(); - - foreach ( arg; args ) - { - if ( !["gtkd", "gstreamer", "vte", "peas", "all"].canFind(arg) ) - { - writefln("Unknown option: %s", arg); - return 1; - } - } - - if ( args.length == 0 ) - args = ["gtkd"]; - - if ( args.canFind("all") ) - args = ["gtkd", "gstreamer", "peas"]; - - foreach ( arg; args ) - { - switch ( arg ) - { - case "gtkd": - build("generated\\gtkd", "gtkd"); - break; - case "gstreamer": - build("generated\\gstreamer", "gstreamerd"); - break; - case "peas": - build("generated\\peas", "peasd"); - break; - default: - assert(false); - break; - } - } - - return(0); -} - -void build(string dir, string lib) -{ - version(DMD32) - { - if (lib == "gtkd") - { - string[] subDirs = ["atk", "cairo", "gdk", "gdkpixbuf", "gio", "glib", "gobject", "gthread", "graphene", "gtkd", "pango", "harfbuzz", "rsvg"]; - - foreach(directory; subDirs) - buildObj(dFiles("generated\\gtkd\\"~ directory), directory); - - string[] files = dFiles("generated\\gtkd\\gtk").split(); - files.chunks((files.length / 4) + 1).enumerate(1).each!((index, value){buildObj(value.join(' '), "gtk"~to!string(index));}); - - string objects; - foreach(directory; subDirs) - objects ~= directory ~".obj "; - objects ~= "gtk1.obj gtk2.obj gtk3.obj gtk4.obj"; - - executeShell(format("dmd -lib %s %s%s.lib %s", ldflags, OUTPUT, lib, objects)); - - foreach(string obj; objects.split()) - std.file.remove(obj); - } - else - { - buildObj(dFiles(dir), lib); - executeShell(format("dmd -lib %s %s%s.lib %s.obj", ldflags, OUTPUT, lib, lib)); - std.file.remove(lib ~".obj"); - } - } - else - { - std.file.write("build.rf", format("%s -c -lib %s %s %s -Igenerated/gtkd %s%s.lib %s", PLATFORM, dcflags, ldflags, DEBUG, OUTPUT ,lib, dFiles(dir))); - auto pid = spawnProcess([DC, "@build.rf"]); - - if ( wait(pid) != 0 ) - exit(1); - } - - version(LDC)std.file.rmdirRecurse("objects"); -// std.file.remove("build.rf"); -} - -void buildObj(string files, string objName) -{ - std.file.write("build.rf", format("-c %s %s -Igenerated/gtkd %s%s.obj %s", dcflags, DEBUG, OUTPUT, objName, files)); - auto pid = spawnProcess(["dmd", "@build.rf"]); - if ( wait(pid) != 0 ) - exit(1); -} - -string dFiles(string sourceDir) -{ - string files; - auto entries = dirEntries(sourceDir, SpanMode.breadth); - - foreach ( DirEntry entry; entries ) - { - if ( entry.isDir == false && entry.name.extension == ".d" ) - { - files ~= entry.name ~ " "; - } - } - - return files; -} diff --git a/GNUmakefile b/GNUmakefile deleted file mode 100644 index dd1676d5c..000000000 --- a/GNUmakefile +++ /dev/null @@ -1,314 +0,0 @@ -SHELL=/bin/sh -prefix?=/usr/local -pkgconfigdir?=$(libdir)/pkgconfig -girdir?= -PKG_CONFIG?=pkg-config - -OS=$(shell uname || uname -s) -ARCH=$(shell uname -m || arch) - -ifeq (, $(shell which dpkg-architecture 2>/dev/null)) - libdir?=lib/ -else - libdir?=lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH) -endif - -ifndef DC - ifneq ($(strip $(shell which dmd 2>/dev/null)),) - DC=dmd - else ifneq ($(strip $(shell which ldc 2>/dev/null)),) - DC=ldc - else ifneq ($(strip $(shell which ldc2 2>/dev/null)),) - DC=ldc2 - else - DC=gdc - endif -endif - -# make gtkD libs and test -.DEFAULT_GOAL = default-goal - -default-goal: libs test -shared: shared-libs - -all: libs shared-libs test - -ifeq ("$(DC)","gdc") - DCFLAGS?=-O2 - LINKERFLAG?=-Xlinker - DDOCFLAGS=-fsyntax-only -c -fdoc -fdoc-file=$@ - DDOCINC=-fdoc-inc= - output=-o $@ -else - DCFLAGS?=-O - LINKERFLAG?=-L - DDOCFLAGS=-o- -Df$@ - output=-of$@ -endif - -ifneq (,$(findstring ldc,$(DC))) - FPIC=-relocation-model=pic -else - FPIC=-fPIC -endif - -ifeq ("$(OS)","Linux") - LDFLAGS+=$(LINKERFLAG)-ldl -endif - -ifeq ("$(OS)","Darwin") - SO_POSTFIX=$(SO_VERSION).dylib - SONAME=$(LINKERFLAG)-dylib_install_name $(LINKERFLAG)"$@" $(LINKERFLAG)-dylib_current_version $(LINKERFLAG)$(GTKD_VERSION) $(LINKERFLAG)-dylib_compatibility_version $(LINKERFLAG)$(MAJOR).0 -else - SO_POSTFIX=so - SONAME=$(LINKERFLAG)-soname=$@.$(SO_VERSION) -endif - -AR=ar -RANLIB=ranlib - -ifndef GIRTOD - ifneq ($(strip $(shell which girtod 2>/dev/null)),) - GIRTOD=girtod - else - GIRTOD=./wrap/girtod - endif -endif - -ADRDOX?=doc2 - -####################################################################### - -GTKD_VERSION=4.0.0 -SO_VERSION=0 - -MAJOR = $(word 1,$(subst ., ,$(GTKD_VERSION))) -MINOR = $(word 2,$(subst ., ,$(GTKD_VERSION))) -BUGFIX = $(word 3,$(subst ., ,$(GTKD_VERSION))) - -LIBNAME_GTKD = libgtkd-$(MAJOR).a -SONAME_GTKD = libgtkd-$(MAJOR).$(SO_POSTFIX) -SOURCES_GTKD = $(wildcard generated/gtkd/*/*.d) $(wildcard generated/gtkd/*/c/*.d) -OBJECTS_GTKD = $(patsubst %.d,%.o,$(SOURCES_GTKD)) -PICOBJECTS_GTKD = $(patsubst %.o,%.pic.o,$(OBJECTS_GTKD)) - -LIBNAME_GSTREAMERD = libgstreamerd-$(MAJOR).a -SONAME_GSTREAMERD = libgstreamerd-$(MAJOR).$(SO_POSTFIX) -SOURCES_GSTREAMERD = $(wildcard generated/gstreamer/*/*.d) $(wildcard generated/gstreamer/*/c/*.d) $(wildcard generated/gstreamer/gst/*/*.d) $(wildcard generated/gstreamer/gst/*/c/*.d) -OBJECTS_GSTREAMERD = $(patsubst %.d,%.o,$(SOURCES_GSTREAMERD)) -PICOBJECTS_GSTREAMERD = $(patsubst %.o,%.pic.o,$(OBJECTS_GSTREAMERD)) - -####################################################################### - -USE_RUNTIME_LINKER = $(shell grep "Linker" generated/gtkd/atk/c/functions.d) - -ifeq ($(USE_RUNTIME_LINKER),) - SOFLAGS_GTKD = $(shell ${PKG_CONFIG} --libs-only-l --libs-only-L gtk+-3.0 librsvg-2.0 gmodule-2.0 | sed 's/-[lL]/$(LINKERFLAG)&/g') - SOFLAGS_GSTREAMERD = $(LINKERFLAG)-L. $(LINKERFLAG)./libgtkd-$(MAJOR).$(SO_POSTFIX) $(shell ${PKG_CONFIG} --libs-only-l --libs-only-L gstreamer-base-1.0 | sed 's/-[lL]/$(LINKERFLAG)&/g') -endif - -####################################################################### - -BINNAME_DEMO = TestWindow -SOURCES_DEMO = $(shell find \ - demos/gtkD/TestWindow \ - -name '*.d' ) -OBJECTS_DEMO = $(shell echo $(SOURCES_DEMO) | sed -e 's/\.d/\.o/g') - -####################################################################### - -generate: generate-runtime - -generate-runtime: $(GIRTOD) -ifndef girdir - $(GIRTOD) --use-runtime-linker -i src/ -o generated/ -else - $(GIRTOD) --use-runtime-linker -i src/ -o generated/ -g $(girdir) -endif - -generate-compiletime: $(GIRTOD) -ifndef girdir - $(GIRTOD) -i src -o generated/ -else - $(GIRTOD) -i src -o generated/ -g $(girdir) -endif - -$(GIRTOD): - $(if $(findstring "./wrap/girtod","$(GIRTOD)"),$(MAKE) -C wrap) - -####################################################################### - -.PHONY: docs -docs: - $(ADRDOX) --genSearchIndex --skeleton=docs/adrdox/skeleton.html --directory=docs/api/ --special-preprocessor=gtk generated/ - cp -f docs/adrdox/style.css docs/api/ - cp -f docs/adrdox/Logo.png docs/api/ - -####################################################################### - -# -Isrc - -ifeq ("$(OS)","Darwin") - libs: gtkd - shared-libs: shared-gtkd -else - libs: gtkd gstreamer - shared-libs: shared-gtkd shared-gstreamer -endif - -gtkd: $(LIBNAME_GTKD) -gstreamer: $(LIBNAME_GSTREAMERD) - -shared-gtkd: $(SONAME_GTKD) -shared-gstreamer: $(SONAME_GSTREAMERD) - -####################################################################### - -$(LIBNAME_GTKD): IMPORTS=-Igenerated/gtkd -$(LIBNAME_GTKD): $(OBJECTS_GTKD) - $(make-lib) - -$(LIBNAME_GSTREAMERD): IMPORTS=-Igenerated/gtkd -Igenerated/gstreamer -$(LIBNAME_GSTREAMERD): $(LIBNAME_GTKD) $(OBJECTS_GSTREAMERD) - $(make-lib) - -####################################################################### - -$(SONAME_GTKD): IMPORTS=-Igenerated/gtkd -$(SONAME_GTKD): $(PICOBJECTS_GTKD) - $(call make-shared-lib,$(SOFLAGS_GTKD)) - -$(SONAME_GSTREAMERD): IMPORTS=-Igenerated/gtkd -Igenerated/gstreamer -$(SONAME_GSTREAMERD): $(SONAME_GTKD) $(PICOBJECTS_GSTREAMERD) - $(call make-shared-lib,$(SOFLAGS_GSTREAMERD)) - -####################################################################### - -# -Idemos - -test: $(BINNAME_DEMO) - -# Build libgtkd.a when neigther neither libgtkd.so and libgtkd.a are pressend. - -# Use -rpath for the demo so that the shard libs don't need to -# be installed for it to run. - -# Create a versioned symlink so the demo is able to load it. - -$(BINNAME_DEMO): IMPORTS=-Igenerated/gtkd -Idemos/gtkD/TestWindow -$(BINNAME_DEMO): $(OBJECTS_DEMO) - $(if $(wildcard $(SONAME_GTKD)),,$(if $(wildcard $(LIBNAME_GTKD)),,$(MAKE) $(LIBNAME_GTKD))) - $(if $(wildcard $(SONAME_GTKD)),$(eval LDFLAGS+= $(LINKERFLAG)-rpath=./)) - $(if $(wildcard $(SONAME_GTKD)),$(if $(findstring "gdc","$(DC)"),$(eval LDFLAGS+=-shared-libphobos))) - $(if $(wildcard $(SONAME_GTKD)),$(if $(wildcard $(SONAME_GTKD).$(SO_VERSION)),,$(shell ln -s $(SONAME_GTKD) $(SONAME_GTKD).$(SO_VERSION)))) - $(DC) $(OBJECTS_DEMO) $(output) $(if $(wildcard $(SONAME_GTKD)),$(LINKERFLAG)./libgtkd-$(MAJOR).$(SO_POSTFIX),$(LINKERFLAG)./libgtkd-$(MAJOR).a) $(LDFLAGS) - -####################################################################### - -%.o : %.d - $(DC) $(DCFLAGS) $(IMPORTS) -c $< $(output) - -%.pic.o : %.d - $(DC) $(DCFLAGS) $(FPIC) $(IMPORTS) -c $< $(output) - -####################################################################### - -pkgconfig: pkgconfig-gtkd - -pkgconfig-gtkd: gtkd-$(MAJOR).pc -pkgconfig-gstreamer: gstreamerd-$(MAJOR).pc - -gtkd-$(MAJOR).pc: - echo Name: GtkD > $@ - echo Description: A D binding and OO wrapper for GTK+. >> $@ - echo Version: $(GTKD_VERSION) >> $@ - echo Libs: $(LINKERFLAG)-L$(prefix)/$(libdir)/ $(LINKERFLAG)-lgtkd-$(MAJOR) $(LINKERFLAG)-ldl >> $@ - echo Cflags: -I$(prefix)/include/d/gtkd-$(MAJOR)/ >> $@ - echo Requires: gtk+-4.0, atk, pango, cairo, cairo-gobject, pangocairo, librsvg-2.0, gio-2.0, glib-2.0, gobject-2.0 >> $@ - -gstreamerd-$(MAJOR).pc: - echo Name: GstreamerD > $@ - echo Description: A D binding and OO wrapper for Gstreamer. >> $@ - echo Version: $(GTKD_VERSION) >> $@ - echo Libs: $(LINKERFLAG)-lgstreamerd-$(MAJOR) >> $@ - echo Requires: gtkd-$(MAJOR), gstreamer-1.0, gstreamer-base-1.0 >> $@ - -####################################################################### - -ifeq ("$(OS)","Darwin") - install: install-gtkd - install-headers: install-headers-gtkd - install-shared: install-shared-gtkd -else - install: install-gtkd install-gstreamer - install-headers: install-headers-gtkd install-headers-gstreamer - install-shared: install-shared-gtkd install-shared-gstreamer -endif - -install-gtkd: $(LIBNAME_GTKD) install-headers-gtkd - install -d $(DESTDIR)$(prefix)/$(libdir) - install -m 644 $(LIBNAME_GTKD) $(DESTDIR)$(prefix)/$(libdir) - -install-gstreamer: $(LIBNAME_GSTREAMERD) install-gtkd install-headers-gstreamer - install -m 644 $(LIBNAME_GSTREAMERD) $(DESTDIR)$(prefix)/$(libdir) - -install-shared-gtkd: $(SONAME_GTKD) - install -d $(DESTDIR)$(prefix)/$(libdir) - $(install-so) - -install-shared-gstreamer: $(SONAME_GSTREAMERD) install-shared-gtkd - $(install-so) - -install-headers-gtkd: gtkd-$(MAJOR).pc - install -d $(DESTDIR)$(prefix)/include/d/gtkd-$(MAJOR) - install -d $(DESTDIR)$(prefix)/$(pkgconfigdir) - (cd generated/gtkd; echo $(SOURCES_GTKD) | sed -e s,generated/gtkd/,,g | xargs tar cf -) | (cd $(DESTDIR)$(prefix)/include/d/gtkd-$(MAJOR); tar xvf -) - install -m 644 gtkd-$(MAJOR).pc $(DESTDIR)$(prefix)/$(pkgconfigdir) - -install-headers-gstreamer: gstreamerd-$(MAJOR).pc install-headers-gtkd - (cd generated/gstreamer; echo $(SOURCES_GSTREAMERD) | sed -e s,generated/gstreamer/,,g | xargs tar cf -) | (cd $(DESTDIR)$(prefix)/include/d/gtkd-$(MAJOR); tar xvf -) - install -m 644 gstreamerd-$(MAJOR).pc $(DESTDIR)$(prefix)/$(pkgconfigdir) - -uninstall: uninstall-gstreamer - $(foreach dir,$(shell ls generated/gtkd) , rm -rf $(DESTDIR)$(prefix)/include/d/gtkd-$(MAJOR)/$(dir)) - rm -f $(DESTDIR)$(prefix)/$(pkgconfigdir)/gtkd-$(MAJOR).pc - rm -f $(DESTDIR)$(prefix)/$(libdir)/$(LIBNAME_GTKD) - rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKD) - rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKD).$(SO_VERSION) - rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GTKD).$(SO_VERSION).$(MINOR).$(BUGFIX) - -uninstall-gstreamer: - $(foreach dir,$(shell ls generated/gstreamer), rm -rf $(DESTDIR)$(prefix)/include/d/gtkd-$(MAJOR)/$(dir)) - rm -f $(DESTDIR)$(prefix)/$(pkgconfigdir)/gstreamerd-$(MAJOR).pc - rm -f $(DESTDIR)$(prefix)/$(libdir)/$(LIBNAME_GSTREAMERD) - rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GSTREAMERD) - rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GSTREAMERD).$(SO_VERSION) - rm -f $(DESTDIR)$(prefix)/$(libdir)/$(SONAME_GSTREAMERD).$(SO_VERSION).$(MINOR).$(BUGFIX) - -clean: - -rm -f $(LIBNAME_GTKD) $(SONAME_GTKD) gtkd-$(MAJOR).pc $(OBJECTS_GTKD) $(PICOBJECTS_GTKD) - -rm -f $(LIBNAME_GSTREAMERD) $(SONAME_GSTREAMERD) gstreamerd-$(MAJOR).pc $(OBJECTS_GSTREAMERD) $(PICOBJECTS_GSTREAMERD) - -rm -f $(BINNAME_DEMO) $(OBJECTS_DEMO) $(SONAME_GTKD).$(SO_VERSION) - -$(MAKE) -C wrap clean - -####################################################################### - -define make-lib - $(AR) rcs $@ $(subst $(LIBNAME_GTKD),,$^) - $(RANLIB) $@ -endef - -define make-shared-lib - $(if $(filter-out "Darwin","$(OS)"), $(if $(findstring "dmd","$(DC)"),$(eval LDFLAGS+=-defaultlib=:libphobos2.so))) - $(if $(findstring "gdc","$(DC)"),$(eval LDFLAGS+=-shared-libphobos)) - $(if $(findstring "ldc","$(DC)"),$(eval LDFLAGS+=-link-defaultlib-shared)) - - $(DC) -shared $(output) $(LDFLAGS) $1 $(SONAME) $(subst $(SONAME_GTKD),,$^) -endef - -define install-so - install -m 755 $< $(DESTDIR)$(prefix)/$(libdir)/$<.$(SO_VERSION).$(MINOR).$(BUGFIX) - ldconfig -n $(DESTDIR)$(prefix)/$(libdir)/ - cd $(DESTDIR)$(prefix)/$(libdir)/; ln -sf $<.$(SO_VERSION).$(MINOR).$(BUGFIX) $<.$(SO_VERSION) - cd $(DESTDIR)$(prefix)/$(libdir)/; ln -sf $<.$(SO_VERSION) $< -endef diff --git a/demos/adw/avatar/avatar.d b/demos/adw/avatar/avatar.d new file mode 100644 index 000000000..ae5977788 --- /dev/null +++ b/demos/adw/avatar/avatar.d @@ -0,0 +1,41 @@ +/** + * Author: KonstantIMP + * Date: Jun 25 2021 + * License: LGPLv3 + */ +module avatar; + +/** Import Gtk lib */ +import gtk.Application, gtk.ApplicationWindow; + +/** Import Adw lib */ +import adw.Avatar; + +/** + * Start point of the app + * Params: + * args = Input CL arguments + * Returns: 0 if everything is OK + */ +int main(string [] args) { + /** Create an register an app */ + Application avatar_app = new Application("org.avatar.d_adw.example.kimp", GApplicationFlags.FLAGS_NONE); + + /** Connect app activation */ + avatar_app.addOnActivate((app) { + /** Create the main window */ + ApplicationWindow avatar_win = new ApplicationWindow(avatar_app); + + /** Create AdwaitaAvatar object */ + Avatar avatar = new Avatar(128, "KonstantIMP", true); + + /** Insert the avatar to the window */ + avatar_win.setChild(avatar); + + /** Show the window */ + avatar_win.show(); + }); + + /** Run the app */ + return avatar_app.run(args); +} \ No newline at end of file diff --git a/demos/adw/avatar/dub.json b/demos/adw/avatar/dub.json new file mode 100644 index 000000000..8f0325ba3 --- /dev/null +++ b/demos/adw/avatar/dub.json @@ -0,0 +1,10 @@ +{ + "name": "avatar", + "description": "A Adw Avatar demo", + "targetType": "executable", + "targetName": "AdwAvatar", + "sourceFiles": ["avatar.d"], + "dependencies": { + "gtk-d:adw": {"path": "../../../" } + } +} diff --git a/demos/builder/builderTest.glade b/demos/builder/builderTest.glade index 179c05151..911c2be27 100644 --- a/demos/builder/builderTest.glade +++ b/demos/builder/builderTest.glade @@ -1,7 +1,6 @@ - 200 100 diff --git a/demos/builder/dub.json b/demos/builder/dub.json index 722514e7a..1f2798978 100644 --- a/demos/builder/dub.json +++ b/demos/builder/dub.json @@ -5,6 +5,6 @@ "targetName": "BuilderTest", "sourceFiles": ["builderTest.d"], "dependencies": { - "gtk-d:gtkd": {"path": "../../" } + "gtk-d:gtk": {"path": "../../" } } } diff --git a/demos/cairo/cairo_clock/clock.d b/demos/cairo/cairo_clock/clock.d index 89f592e7a..590aecedf 100644 --- a/demos/cairo/cairo_clock/clock.d +++ b/demos/cairo/cairo_clock/clock.d @@ -18,7 +18,8 @@ module clock; import std.stdio; -import std.math; +import graphene.c.types : PI; +import std.math : cos, sin; import std.datetime; import glib.Timeout; @@ -35,12 +36,14 @@ public: this() { //Attach our expose callback, which will draw the window. - addOnDraw(&drawCallback); + setDrawFunc ((area, cairo, w, h, data) { + (cast(Clock)data).drawCallback (new Context (cairo)); + }, cast(void *)this, null); } protected: //Override default signal handler: - bool drawCallback(Scoped!Context cr, Widget widget) + bool drawCallback(Context cr) { if ( m_timeout is null ) { @@ -156,7 +159,8 @@ protected: GtkAllocation area; getAllocation(area); - queueDrawArea(area.x, area.y, area.width, area.height); + queueDraw(); + //queueDrawArea(area.x, area.y, area.width, area.height); return true; } diff --git a/demos/cairo/cairo_clock/dub.json b/demos/cairo/cairo_clock/dub.json index b1aacbc97..8d9101105 100644 --- a/demos/cairo/cairo_clock/dub.json +++ b/demos/cairo/cairo_clock/dub.json @@ -4,6 +4,6 @@ "targetType": "executable", "sourceFiles": ["main.d", "clock.d"], "dependencies": { - "gtk-d:gtkd": {"path": "../../../" } + "gtk-d:gtk": {"path": "../../../" } } } diff --git a/demos/cairo/cairo_clock/main.d b/demos/cairo/cairo_clock/main.d index c187cbb40..a4d12e844 100644 --- a/demos/cairo/cairo_clock/main.d +++ b/demos/cairo/cairo_clock/main.d @@ -35,9 +35,9 @@ int main(string[] args) win.setDefaultSize( 250, 250 ); Clock c = new Clock(); - win.add(c); + win.setChild(c); c.show(); - win.showAll(); + win.show(); } application = new Application("org.gtkd.demo.cairo.clock", GApplicationFlags.FLAGS_NONE); diff --git a/demos/cairo/text_image/dub.json b/demos/cairo/text_image/dub.json index 7f15519a0..f61543deb 100644 --- a/demos/cairo/text_image/dub.json +++ b/demos/cairo/text_image/dub.json @@ -4,6 +4,6 @@ "targetType": "executable", "sourceFiles": ["text_image.d"], "dependencies": { - "gtk-d:gtkd": {"path": "../../../" } + "gtk-d:gtk": {"path": "../../../" } } } diff --git a/demos/cairo/text_image/text_image.d b/demos/cairo/text_image/text_image.d index f6edc6752..ee7fa07a7 100644 --- a/demos/cairo/text_image/text_image.d +++ b/demos/cairo/text_image/text_image.d @@ -1,7 +1,8 @@ module text_image; import std.stdio; -import std.math; +import graphene.c.types : PI; +import std.math : cos, sin; import gio.Application : GioApplication = Application; import gtk.Application; @@ -23,12 +24,15 @@ public: image = ImageSurface.createFromPng("gtkD_logo.png"); //Attach our expose callback, which will draw the window. - addOnDraw(&drawCallback); + setDrawFunc ((area, cairo, w, h, data) { + (cast(CairoText)data).drawCallback (new Context (cairo)); + }, cast(void *)this, null); + //addOnDraw(&drawCallback); } protected: //Override default signal handler: - bool drawCallback(Scoped!Context cr, Widget widget) + bool drawCallback(Context cr) { // This is where we draw on the window cr.translate(10, 10); @@ -132,9 +136,9 @@ int main(string[] args) win.setDefaultSize( 250, 250 ); CairoText c = new CairoText(); - win.add(c); + win.setChild(c); c.show(); - win.showAll(); + win.show(); } application = new Application("org.gtkd.demo.cairo.text", GApplicationFlags.FLAGS_NONE); diff --git a/demos/gl/core/CoreGL.d b/demos/gl/core/CoreGL.d index e2e83baec..1ef6f7d77 100644 --- a/demos/gl/core/CoreGL.d +++ b/demos/gl/core/CoreGL.d @@ -44,8 +44,8 @@ int main(string[] args) mainWnd.setTitle("Simplest GLArea + CoreGL Example"); auto wnd = new CoreGL; - mainWnd.add(wnd); - mainWnd.showAll(); + mainWnd.setChild(wnd); + mainWnd.show(); } application = new Application("org.gtkd.demo.gl.core", GApplicationFlags.FLAGS_NONE); @@ -66,14 +66,11 @@ public: { setAutoRender(true); - addEvents(GdkEventMask.BUTTON_PRESS_MASK); - addEvents(GdkEventMask.SCROLL_MASK); - addOnRender(&render); addOnRealize(&realize); addOnUnrealize(&unrealize); - showAll(); + show(); } GLuint m_Vao; diff --git a/demos/gl/core/dub.json b/demos/gl/core/dub.json index ea44dcd4f..f6ce856bb 100644 --- a/demos/gl/core/dub.json +++ b/demos/gl/core/dub.json @@ -5,6 +5,6 @@ "sourceFiles": ["CoreGL.d", "glcore.d"], "libs": ["GL"], "dependencies": { - "gtk-d:gtkd": {"path": "../../../" } + "gtk-d:gtk": {"path": "../../../" } } } diff --git a/demos/gstreamer/helloworld/dub.json b/demos/gstreamer/helloworld/dub.json deleted file mode 100644 index e3aa3562d..000000000 --- a/demos/gstreamer/helloworld/dub.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "gstreamer_helloworld", - "description": "A GStreamer demo", - "targetType": "executable", - "sourceFiles": ["gstreamer_helloworld.d"], - "dependencies": { - "gtk-d:gtkd": {"path": "../../../" }, - "gtk-d:gstreamer": {"path": "../../../" } - } -} diff --git a/demos/gstreamer/helloworld/gstreamer_helloworld.d b/demos/gstreamer/helloworld/gstreamer_helloworld.d deleted file mode 100644 index 05816c086..000000000 --- a/demos/gstreamer/helloworld/gstreamer_helloworld.d +++ /dev/null @@ -1,130 +0,0 @@ -/* - * gstreamer_helloworld is placed in the - * public domain. - */ - -module gstreamer_helloworld; - -import std.stdio; - -//gtkD imports: - -import glib.Str; -import gtk.Main; - -//gstreamerD imports: - -import gstreamer.GStreamer; - -import gobject.ObjectG; -import glib.ErrorG; -import gstreamer.Element; -import gstreamer.ElementFactory; -import gstreamer.Message; -import gstreamer.Uri; - -class GstHello -{ -public: - - bool busCall( Message msg ) - { - debug(gstreamer) - { - writefln("GstHello.busCall(msg) START."); - scope(exit) writefln("GstHello.busCall(msg) END."); - } - - switch( msg.type ) - { - case GstMessageType.UNKNOWN: - writefln("Unknown message type."); - break; - case GstMessageType.EOS: - writefln("End-of-stream."); - Main.quit(); - break; - - case GstMessageType.ERROR: - { - string dbug; - ErrorG err; - msg.parseError(err, dbug); - //g_free (dbug); - writefln("Error: %s dbug: %s", Str.toString(err.getErrorGStruct().message), dbug); - Main.quit(); - break; - } - default: - break; - } - - return true; - } - - this(string file) - { - // create the playbin. - playbin = ElementFactory.make("playbin"); - - if( playbin is null ) - { - throw new Exception("'playbin' gstreamer plugin missing."); - } - - // Make sure that file is an URI. - if ( !Uri.isValid(file) ) - file = Uri.filenameToUri(file); - - playbin.setProperty("uri", file); - playbin.getBus().addWatch( &busCall ); - - // Now set to playing and iterate. - writefln("Setting to PLAYING."); - playbin.setState( GstState.PLAYING ); - writefln("Running."); - } - - ~this() - { - playbin.setState( GstState.NULL ); - } - -protected: - Element playbin; -} - - -int main(string[] args) -{ - writefln("gstreamerD Hello World!"); - - uint major, minor, micro, nano; - - writefln("Trying to init..."); - - //Main.init(args); - GStreamer.init(args); - - // check input arguments - if (args.length != 2) - { - writefln("Usage: %s ", args[0]); - - return -1; - } - - writefln("Checking version of GStreamer..."); - - GStreamer.version_(major, minor, micro, nano); - - writefln("The installed version of GStreamer is %s.%s.%s", major, minor, micro ); - writefln( "The file is: %s", args[1] ); - - GstHello gstHello = new GstHello( args[1] ); - - //We must use the gtkD mainloop to run gstreamerD apps. - Main.run(); - - return 0; -} diff --git a/demos/gstreamer/mediaplayer/dub.json b/demos/gstreamer/mediaplayer/dub.json deleted file mode 100644 index 6ffd81370..000000000 --- a/demos/gstreamer/mediaplayer/dub.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "gst_mediaplayer", - "description": "A GStreamer demo", - "targetType": "executable", - "sourceFiles": ["gst_mediaplayer.d"], - "dependencies": { - "gtk-d:gtkd": {"path": "../../../" }, - "gtk-d:gstreamer": {"path": "../../../" } - } -} diff --git a/demos/gstreamer/mediaplayer/gst_mediaplayer.d b/demos/gstreamer/mediaplayer/gst_mediaplayer.d deleted file mode 100644 index bc01e7400..000000000 --- a/demos/gstreamer/mediaplayer/gst_mediaplayer.d +++ /dev/null @@ -1,431 +0,0 @@ -/* - * gst_mediaplayer is placed in the - * public domain. - */ - -module gst_mediaplayer; - -import std.conv; -import std.file; -import std.path; -import std.stdio; - -//gtkD imports: -import cairo.Context; - -import gtk.Main; -import gtk.MainWindow; - -import gtk.Widget; -import gdk.Window; -import gdk.Event; -import gtk.DrawingArea; -import gtk.AspectFrame; - -import gtk.FileChooserDialog; -import gtk.FileFilter; - -import gdk.X11;//Needed for VideoOverlay - -import gtk.VBox; -import gtk.HBox; -import gtk.Button; -import gtk.ComboBoxText; - -import gobject.Value; - -//gstreamerD imports: - -import gstreamer.GStreamer; - -import gobject.ObjectG; -import glib.ErrorG; -import gstreamer.Element; -import gstreamer.Bin; -import gstreamer.Pipeline; -import gstreamer.ElementFactory; -import gstreamer.Pad; -import gstreamer.Message; -import gstreamer.Structure; -import gstreamer.Bus; - -import gstinterfaces.VideoOverlay; - - -class MonitorOverlay : DrawingArea -{ -public: - - this() - { - debug(MonitorOverlay) writeln("Monitor.this() START."); - debug(MonitorOverlay) scope(exit) writeln("Monitor.this() END."); - - setDoubleBuffered(false); - } - - public VideoOverlay videoOverlay() { return m_videoOverlay; } - /** - * Give this method an VideoOverlay that you've created from - * a videoSink. like: monitorOverlay.videoOverlay = new VideoOverlay( videoSink ); - */ - public VideoOverlay videoOverlay(VideoOverlay set) - { - debug(MonitorOverlay) writeln("Monitor.videoOverlay(set) START."); - debug(MonitorOverlay) scope(exit) writeln("Monitor.videoOverlay(set) END."); - m_videoOverlay = set; - - debug(MonitorOverlay) writeln("Monitor.videoOverlay(set) videoOverlay set. Now setting XwindowId."); - m_videoOverlay.setWindowHandle( getWindow().getXid() ); - - debug(MonitorOverlay) writeln("X11.drawableGetXid: {}", getWindow().getXid() ); - - return m_videoOverlay; - } - protected VideoOverlay m_videoOverlay; -} - - -class GstMediaPlayer : MainWindow -{ -public: - - GstBusSyncReply createVideoOverlayWindowCb( Message msg ) - { - // ignore anything but 'prepare-window-handle' element messages - if( msg.type() != GstMessageType.ELEMENT ) - return GstBusSyncReply.PASS; - - Structure str = msg.getStructure(); - - if( str.hasName("prepare-window-handle") == false ) - return GstBusSyncReply.PASS; - - debug(MonitorOverlay) writeln("Now we should create the X window."); - - monitorOverlay.videoOverlay = new VideoOverlay( videosink ); - - debug(MonitorOverlay) writeln("Created an VideoOverlay."); - - return GstBusSyncReply.DROP; - } - - bool busCall( Message msg ) - { - debug(gstreamer) writeln("GstMediaPlayer.busCall(msg) START."); - debug(gstreamer) scope(exit) writeln("GstMediaPlayer.busCall(msg) END."); - - switch( msg.type ) - { - case GstMessageType.UNKNOWN: - writeln("Unknown message type."); - break; - - case GstMessageType.EOS: - writeln("End-of-stream. Looping from the start."); - onSeekToStart(null); - break; - - case GstMessageType.ERROR: - { - string dbug; - ErrorG err; - msg.parseError(err, dbug); - writefln("Error: %s dbug: %s", to!string(err.getErrorGStruct().message), dbug ); - //g_error_free (err); - Main.quit(); - break; - } - default: - break; - } - - return true; - } - - this(string[] args) - { - super("GstMediaPlayer"); - - setSizeRequest(600, 400); - - vbox = new VBox(false,0); - - monitorOverlay = new MonitorOverlay(); - monitorAspectFrame = new AspectFrame("", 0.5, 0.5, 16.0/9.0, false ); - - monitorAspectFrame.add( monitorOverlay ); - monitorAspectFrame.setShadowType( GtkShadowType.NONE ); - monitorAspectFrame.setLabelWidget( null );//Yes! This get's rid of that stupid label on top of the aspectframe! More room for the monitor. - - vbox.packStart( monitorAspectFrame, true, true, 0 ); - - buttonsHBox = new HBox(false,0); - - openButton = new Button("Open..."); - openButton.addOnClicked( &onOpen ); - buttonsHBox.packStart( openButton, false, false, 0 ); - - playButton = new Button("Play"); - playButton.addOnClicked( &onPlay ); - buttonsHBox.packStart( playButton, false, false, 0 ); - - aspectComboBox = new ComboBoxText();//Create a new text ComboBox. - aspectComboBox.appendText("16:9"); - aspectComboBox.appendText("4:3"); - aspectComboBox.setActiveText("16:9"); - aspectComboBox.addOnChanged( &onAspectComboBoxChanged ); - - buttonsHBox.packStart( aspectComboBox, false, false, 0 ); - - quitButton = new Button(StockID.QUIT); - quitButton.addOnClicked( &onQuit ); - buttonsHBox.packStart( quitButton, false, false, 0 ); - - vbox.packStart( buttonsHBox, false, false, 0 ); - - add( vbox ); - - showAll(); - - if (args.length > 1) - { - mediaFileUri = args[1]; - - if ( !isRooted(mediaFileUri) ) - { - mediaFileUri = buildNormalizedPath(getcwd(), mediaFileUri); - } - - //This will construct the filename to be a URI. - if( mediaFileUri[0..7] != "file://" && mediaFileUri[0..7] != "http://" ) - mediaFileUri = "file://"~ mediaFileUri; - } - - if( mediaFileUri != "" ) - playMediaFile(mediaFileUri); - - } - - void playMediaFile(string file) - { - if( source !is null ) - { - fullStop(); - source.destroy(); - } - if( videosink !is null ) - videosink.destroy(); - - // create elements - - source = ElementFactory.make("playbin", "ourplaybin"); - videosink = ElementFactory.make("ximagesink", "video-output-xvimagesink"); - //Only xvimagesink work (almost) correctly with VideoOverlay, but even it still - //has some problems. It won't work with compositing enabled... - - if( source is null ) - { - writeln("PlayBin could not be created"); - throw new Exception("One or more gstreamerD elements could not be created."); - } - - if( videosink is null ) - { - writeln("videosink could not be created"); - throw new Exception("One or more gstreamerD elements could not be created."); - } - - //add message handlers - source.getBus().setSyncHandler( &createVideoOverlayWindowCb ); - source.getBus().addWatch( &busCall ); - - //Some Value handling, to get our videosink C GstElement* - //to be accepted by setProperty. This could propably made cleaner. - //One idea is to add a Element.setProperty(string, void*); method. - - Value val = new Value(); - val.init(GType.OBJECT); - val.setObject( videosink ); - source.setProperty( "video-sink", val ); - - source.setProperty("uri", file); - play(); - } - - - ~this() - { - fullStop(); - } - - void onPlay(Button button) - { - play(); - } - - void play() - { - if( isPlaying == false ) - { - isPlaying = true; - // Now set to playing and iterate. - debug(1) writeln("Setting to PLAYING."); - //pipeline.setState( GstState.PLAYING ); - source.setState( GstState.PLAYING ); - debug(1) writeln("Running."); - } - else - { - isPlaying = false; - source.setState( GstState.PAUSED ); - } - } - - void fullStop() - { - if( source !is null ) - source.setState( GstState.NULL ); - isPlaying = false; - } - - void onSeekToStart(Button button) - { - source.seek( 0 );//seek to start. - } - - void onOpen(Button button) - { - runImportMaterialFileChooser(); - } - - void onQuit(Button button) - { - fullStop(); - Main.quit(); - } - - void onAspectComboBoxChanged( ComboBoxText combo ) - { - string asp = combo.getActiveText(); - if( asp == "16:9" ) - monitorAspectFrame.set( 0.5, 0.5, 16.0/9.0, false ); - else //if( asp == "4:3" ) - monitorAspectFrame.set( 0.5, 0.5, 4.0/3.0, false ); - - } - - void runImportMaterialFileChooser() - { - string[] a = ["Play file", "Close"]; - ResponseType[] r = [ResponseType.APPLY, ResponseType.CANCEL]; - - if ( importMaterialFileChooserDialog is null ) - { - importMaterialFileChooserDialog = new FileChooserDialog("Play mediafile", this, FileChooserAction.OPEN, a, r); - - FileFilter all = new FileFilter(); - all.setName("All files"); - all.addPattern("*"); - importMaterialFileChooserDialog.addFilter(all); - - FileFilter files = new FileFilter(); - files.setName("Supported files"); - foreach( mime; supportedMimeTypes ) - files.addMimeType(mime); - importMaterialFileChooserDialog.addFilter(files); - importMaterialFileChooserDialog.setFilter(files); - } - - if( importMaterialFileChooserDialog.run() != ResponseType.CANCEL ) - { - mediaFileUri = importMaterialFileChooserDialog.getUri(); - - writefln( "file selected: %s", mediaFileUri ); - playMediaFile(mediaFileUri); - } - - importMaterialFileChooserDialog.hide(); - } - -protected: - - string mediaFileUri = ""; - - Element source, videosink; - - VBox vbox; - HBox buttonsHBox; - Button openButton; - Button playButton; - bool isPlaying(bool set) - { - m_isPlaying = set; - - if( playButton !is null ) - { - if( m_isPlaying == true ) - { - playButton.setLabel("Pause"); - } - else - { - playButton.setLabel("Play"); - } - } - - return m_isPlaying; - } - bool isPlaying() { return m_isPlaying; } - bool m_isPlaying = false; - - ComboBoxText aspectComboBox; - Button quitButton; - - MonitorOverlay monitorOverlay; - AspectFrame monitorAspectFrame; - - FileChooserDialog importMaterialFileChooserDialog; - - string[] supportedMimeTypes = - ["application/ogg", "application/ram", "application/sdp", "application/smil", - "application/smil+xml", "application/vnd.rn-realmedia", "application/x-extension-m4a", - "application/x-extension-mp4", "application/x-flac", "application/x-flash-video", - "application/x-matroska", "application/x-netshow-channel", "application/x-ogg", - "application/x-quicktime-media-link", "application/x-quicktimeplayer", "application/x-shorten", - "application/x-smil", "audio/3gpp", "audio/ac3", "audio/AMR", "audio/AMR-WB", "audio/basic", - "audio/midi", "audio/mp4", "audio/mpeg", "audio/ogg", "audio/vnd.rn-realaudio", "audio/x-ape", - "audio/x-flac", "audio/x-it", "audio/x-m4a", "audio/x-matroska", "audio/x-mod", "audio/x-mp3", - "audio/x-mpeg", "audio/x-musepack", "audio/x-pn-aiff", "audio/x-pn-au", "audio/x-pn-realaudio", - "audio/x-pn-realaudio-plugin", "audio/x-pn-wav", "audio/x-pn-windows-acm", "audio/x-realaudio", - "audio/x-real-audio", "audio/x-sbc", "audio/x-speex", "audio/x-tta", "audio/x-wav", "audio/x-wavpack", - "audio/x-vorbis", "audio/x-vorbis+ogg", "audio/x-xm", "image/vnd.rn-realpix", "image/x-pict", - "misc/ultravox", "text/google-video-pointer", "text/x-google-video-pointer", "video/3gpp", - "video/dv", "video/fli", "video/flv", "video/mp4", "video/mp4v-es", "video/mpeg", "video/msvideo", - "video/ogg", "video/quicktime", "video/vivo", "video/vnd.divx", "video/vnd.rn-realvideo", - "video/vnd.vivo", "video/x-anim", "video/x-avi", "video/x-flc", "video/x-fli", "video/x-flic", - "video/x-flv", "video/x-m4v", "video/x-matroska", "video/x-mpeg", "video/x-ms-asf", "video/x-msvideo", - "video/x-ms-wm", "video/x-ms-wmv", "video/x-nsv", "video/x-ogm+ogg", "video/x-theora+ogg", - "x-content/video-dvd", "x-content/video-vcd", "x-content/video-svcd"]; -} - -void main(string[] args) -{ - writeln("gstreamerD GstMediaPlayer"); - - uint major, minor, micro, nano; - - writeln("Trying to init..."); - - Main.init(args); - GStreamer.init(args); - - writeln("Checking version of GStreamer..."); - GStreamer.version_(major, minor, micro, nano); - writefln("The installed version of GStreamer is %s.%s.%s", major, minor, micro ); - - GstMediaPlayer gstMediaPlayer = new GstMediaPlayer(args); - - //We must use the gtkD mainloop to run gstreamerD apps. - Main.run(); -} diff --git a/demos/gtk/dub.json b/demos/gtk/dub.json index dfc267c5d..feccaaf7e 100644 --- a/demos/gtk/dub.json +++ b/demos/gtk/dub.json @@ -8,32 +8,32 @@ "targetType": "executable", "sourceFiles": ["HelloWorld.d"], "dependencies": { - "gtk-d:gtkd": {"path": "../../" }, - }, + "gtk-d:gtk": {"path": "../../" } + } }, { "name": "other_tests", "targetType": "executable", "sourceFiles": ["OtherTests.d"], "dependencies": { - "gtk-d:gtkd": {"path": "../../" }, - }, + "gtk-d:gtk": {"path": "../../" } + } }, { "name": "popup_menu", "targetType": "executable", "sourceFiles": ["PopupMenu.d"], "dependencies": { - "gtk-d:gtkd": {"path": "../../" }, - }, + "gtk-d:gtk": {"path": "../../" } + } }, { "name": "spawn_tests", "targetType": "executable", "sourceFiles": ["SpawnTests.d"], "dependencies": { - "gtk-d:gtkd": {"path": "../../" }, - }, - }, + "gtk-d:gtk": {"path": "../../" } + } + } ] } diff --git a/demos/gtkD/DemoActions/DemoActions.d b/demos/gtkD/DemoActions/DemoActions.d index 6a185f5ff..9997c89d8 100644 --- a/demos/gtkD/DemoActions/DemoActions.d +++ b/demos/gtkD/DemoActions/DemoActions.d @@ -33,7 +33,6 @@ import std.stdio; import gtk.Application : Application; import gio.Application : GioApplication = Application; import gtk.ApplicationWindow : ApplicationWindow; -import gtkc.giotypes : GApplicationFlags; import gdk.Event; @@ -48,15 +47,16 @@ import gtk.HeaderBar; import gtk.Image; import gtk.MenuButton; import gtk.MessageDialog; -import gtk.Popover; +import gtk.PopoverMenu; import gtk.Widget; +import gtk.Label; class MainWindow : ApplicationWindow { this(Application application) { super(application); initUI(); - showAll(); + show(); } /** @@ -67,18 +67,17 @@ class MainWindow : ApplicationWindow { //HeaderBar HeaderBar hb = new HeaderBar(); - hb.setShowCloseButton(true); - hb.setTitle("Actions Demo, Click the menu button >>>"); + hb.setTitleWidget(new Label("Actions Demo, Click the menu button >>>")); this.setTitlebar(hb); //Normal stateless action SimpleAction saNormal = new SimpleAction("normal", null); saNormal.addOnActivate(delegate(Variant, SimpleAction) { - MessageDialog dialog = new MessageDialog(this, DialogFlags.MODAL, MessageType.ERROR, ButtonsType.OK, "Normal action clicked!", null); + MessageDialog dialog = new MessageDialog(this, DialogFlags.MODAL, MessageType.ERROR, ButtonsType.OK, "Normal action clicked!"); scope (exit) { dialog.destroy(); } - dialog.run(); + dialog.show(); }); addAction(saNormal); @@ -124,12 +123,10 @@ class MainWindow : ApplicationWindow { //MenuButton MenuButton mb = new MenuButton(); mb.setFocusOnClick(false); - Image imgHamburger = new Image("open-menu-symbolic", IconSize.MENU); - mb.add(imgHamburger); hb.packEnd(mb); //Popover - Popover po = new Popover(mb, model); + PopoverMenu po = new PopoverMenu(model); mb.setPopover(po); } } diff --git a/demos/gtkD/DemoActions/dub.json b/demos/gtkD/DemoActions/dub.json index 64205a4bd..483715002 100644 --- a/demos/gtkD/DemoActions/dub.json +++ b/demos/gtkD/DemoActions/dub.json @@ -4,6 +4,6 @@ "targetType": "executable", "sourceFiles": ["DemoActions.d"], "dependencies": { - "gtk-d:gtkd": {"path": "../../../" }, + "gtk-d:gtk": {"path": "../../../" } } } diff --git a/demos/gtkD/DemoCustomList/CustomList.d b/demos/gtkD/DemoCustomList/CustomList.d index 9687eb379..aeb33fca5 100644 --- a/demos/gtkD/DemoCustomList/CustomList.d +++ b/demos/gtkD/DemoCustomList/CustomList.d @@ -7,7 +7,8 @@ import gtk.TreeIter; import gtk.TreePath; import gtk.TreeModelIF; import gtk.TreeModelT; -import gtkd.Implement; +import gtk.Implement; +import gtk.ListStore; struct CustomRecord { @@ -27,295 +28,19 @@ enum CustomListColumn NColumns, } -class CustomList : ObjectG, TreeModelIF +class CustomList : ListStore { - uint numRows; - int nColumns; - int stamp; - GType[3] columnTypes; - CustomRecord*[] rows; + GType[2] columnTypes; - mixin ImplementInterface!(GObject, GtkTreeModelIface); - mixin TreeModelT!(GtkTreeModel); + //mixin ImplementInterface!(GObject, GtkTreeModelIface); + //mixin TreeModelT!(GtkTreeModel); public this() { - super(getType(), null); + columnTypes[0] = GType.STRING; + columnTypes[1] = GType.UINT; - nColumns = columnTypes.length; - columnTypes[0] = GType.POINTER; - columnTypes[1] = GType.STRING; - columnTypes[2] = GType.UINT; - - stamp = RandG.randomInt(); - } - - /* - * tells the rest of the world whether our tree model - * has any special characteristics. In our case, - * we have a list model (instead of a tree), and each - * tree iter is valid as long as the row in question - * exists, as it only contains a pointer to our struct. - */ - override GtkTreeModelFlags getFlags() - { - return (GtkTreeModelFlags.LIST_ONLY | GtkTreeModelFlags.ITERS_PERSIST); - } - - - /* - * tells the rest of the world how many data - * columns we export via the tree model interface - */ - - override int getNColumns() - { - return nColumns; - } - - /* - * tells the rest of the world which type of - * data an exported model column contains - */ - override GType getColumnType(int index) - { - if ( index >= nColumns || index < 0 ) - return GType.INVALID; - - return columnTypes[index]; - } - - /* - * converts a tree path (physical position) into a - * tree iter structure (the content of the iter - * fields will only be used internally by our model). - * We simply store a pointer to our CustomRecord - * structure that represents that row in the tree iter. - */ - override int getIter(TreeIter iter, TreePath path) - { - CustomRecord* record; - int[] indices; - int n, depth; - - indices = path.getIndices(); - depth = path.getDepth(); - - /* we do not allow children */ - if (depth != 1) - return false;//throw new Exception("We only except lists"); - - n = indices[0]; /* the n-th top level row */ - - if ( n >= numRows || n < 0 ) - return false; - - record = rows[n]; - - if ( record is null ) - throw new Exception("Not Exsisting record requested"); - if ( record.pos != n ) - throw new Exception("record.pos != TreePath.getIndices()[0]"); - - /* We simply store a pointer to our custom record in the iter */ - iter.stamp = stamp; - iter.userData = record; - - return true; - } - - - /* - * converts a tree iter into a tree path (ie. the - * physical position of that row in the list). - */ - override TreePath getPath(TreeIter iter) - { - TreePath path; - CustomRecord* record; - - if ( iter is null || iter.userData is null || iter.stamp != stamp ) - return null; - - record = cast(CustomRecord*) iter.userData; - - path = new TreePath(record.pos); - - return path; - } - - - /* - * Returns a row's exported data columns - * (_get_value is what gtk_tree_model_get uses) - */ - - override Value getValue(TreeIter iter, int column, Value value = null) - { - CustomRecord *record; - - if ( value is null ) - value = new Value(); - - if ( iter is null || column >= nColumns || iter.stamp != stamp ) - return null; - - value.init(columnTypes[column]); - - record = cast(CustomRecord*) iter.userData; - - if ( record is null || record.pos >= numRows ) - return null; - - switch(column) - { - case CustomListColumn.Record: - value.setPointer(record); - break; - - case CustomListColumn.Name: - value.setString(record.name); - break; - - case CustomListColumn.YearBorn: - value.setUint(record.yearBorn); - break; - - default: - break; - } - - return value; - } - - - /* - * Takes an iter structure and sets it to point - * to the next row. - */ - override bool iterNext(TreeIter iter) - { - CustomRecord* record, nextrecord; - - if ( iter is null || iter.userData is null || iter.stamp != stamp ) - return false; - - record = cast(CustomRecord*) iter.userData; - - /* Is this the last record in the list? */ - if ( (record.pos + 1) >= numRows) - return false; - - nextrecord = rows[(record.pos + 1)]; - - if ( nextrecord is null || nextrecord.pos != record.pos + 1 ) - throw new Exception("Invalid next record"); - - iter.stamp = stamp; - iter.userData = nextrecord; - - return true; - } - - - /* - * Returns TRUE or FALSE depending on whether - * the row specified by 'parent' has any children. - * If it has children, then 'iter' is set to - * point to the first child. Special case: if - * 'parent' is NULL, then the first top-level - * row should be returned if it exists. - */ - - override bool iterChildren(out TreeIter iter, TreeIter parent) - { - /* this is a list, nodes have no children */ - if ( parent !is null ) - return false; - - /* No rows => no first row */ - if ( numRows == 0 ) - return false; - - /* Set iter to first item in list */ - iter = new TreeIter(); - iter.stamp = stamp; - iter.userData = rows[0]; - - return true; - } - - - /* - * Returns TRUE or FALSE depending on whether - * the row specified by 'iter' has any children. - * We only have a list and thus no children. - */ - override bool iterHasChild(TreeIter iter) - { - return false; - } - - - /* - * Returns the number of children the row - * specified by 'iter' has. This is usually 0, - * as we only have a list and thus do not have - * any children to any rows. A special case is - * when 'iter' is NULL, in which case we need - * to return the number of top-level nodes, - * ie. the number of rows in our list. - */ - override int iterNChildren(TreeIter iter) - { - /* special case: if iter == NULL, return number of top-level rows */ - if ( iter is null ) - return numRows; - - return 0; /* otherwise, this is easy again for a list */ - } - - - /* - * If the row specified by 'parent' has any - * children, set 'iter' to the n-th child and - * return TRUE if it exists, otherwise FALSE. - * A special case is when 'parent' is NULL, in - * which case we need to set 'iter' to the n-th - * row if it exists. - */ - override bool iterNthChild(out TreeIter iter, TreeIter parent, int n) - { - CustomRecord *record; - - /* a list has only top-level rows */ - if( parent !is null ) - return false; - - if( n >= numRows ) - return false; - - record = rows[n]; - - if ( record == null || record.pos != n ) - throw new Exception("Invalid record"); - - iter = new TreeIter(); - iter.stamp = stamp; - iter.userData = record; - - return true; - } - - - /* - * Point 'iter' to the parent node of 'child'. As - * we have a list and thus no children and no - * parents of children, we can just return FALSE. - */ - override bool iterParent(out TreeIter iter, TreeIter child) - { - return false; + super(columnTypes); } /* @@ -328,34 +53,8 @@ class CustomList : ObjectG, TreeModelIF */ void appendRecord(string name, uint yearBorn) { - TreeIter iter; - TreePath path; - CustomRecord* newrecord; - uint pos; - - if ( name is null ) - return; - - pos = numRows; - numRows++; - - newrecord = new CustomRecord; - - newrecord.name = name; - newrecord.yearBorn = yearBorn; - - rows ~= newrecord; - newrecord.pos = pos; - - /* inform the tree view and other interested objects - * (e.g. tree row references) that we have inserted - * a new row, and where it was inserted */ - - path = new TreePath(pos); - - iter = new TreeIter(); - getIter(iter, path); - - rowInserted(path, iter); + TreeIter iter; append(iter); + setValue(iter, 0, name); + setValue(iter, 1, yearBorn); } } diff --git a/demos/gtkD/DemoCustomList/DemoCustomList.d b/demos/gtkD/DemoCustomList/DemoCustomList.d index 395fe5241..1126f23d8 100644 --- a/demos/gtkD/DemoCustomList/DemoCustomList.d +++ b/demos/gtkD/DemoCustomList/DemoCustomList.d @@ -1,6 +1,6 @@ module DemoCustomList; -import CustomList; +import CustomList : CustomList, CustomListColumn; import gio.Application : GioApplication = Application; import glib.RandG; @@ -23,10 +23,10 @@ class CustomListWindow : ApplicationWindow ScrolledWindow scrollwin = new ScrolledWindow(); TreeView view = createViewAndModel(); - scrollwin.add(view); - add(scrollwin); + scrollwin.setChild(view); + setChild(scrollwin); - showAll(); + show(); } TreeView createViewAndModel() @@ -44,14 +44,14 @@ class CustomListWindow : ApplicationWindow col = new TreeViewColumn(); renderer = new CellRendererText(); col.packStart(renderer, true); - col.addAttribute(renderer, "text", CustomListColumn.Name); + col.addAttribute(renderer, "text", 0); col.setTitle("Name"); view.appendColumn(col); col = new TreeViewColumn(); renderer = new CellRendererText(); col.packStart(renderer, true); - col.addAttribute(renderer, "text", CustomListColumn.YearBorn); + col.addAttribute(renderer, "text", 1); col.setTitle("Year Born"); view.appendColumn(col); diff --git a/demos/gtkD/DemoCustomList/dub.json b/demos/gtkD/DemoCustomList/dub.json index 72781526d..58f2f9f29 100644 --- a/demos/gtkD/DemoCustomList/dub.json +++ b/demos/gtkD/DemoCustomList/dub.json @@ -5,6 +5,6 @@ "targetName": "DemoCustomList", "sourceFiles": ["DemoCustomList.d", "CustomList.d"], "dependencies": { - "gtk-d:gtkd": {"path": "../../../" }, + "gtk-d:gtk": {"path": "../../../" } } } diff --git a/demos/gtkD/DemoMultiCellRenderer/dub.json b/demos/gtkD/DemoMultiCellRenderer/dub.json index 94d25a77d..f22c685b7 100644 --- a/demos/gtkD/DemoMultiCellRenderer/dub.json +++ b/demos/gtkD/DemoMultiCellRenderer/dub.json @@ -5,6 +5,6 @@ "targetName": "DemoMultiCellRenderer", "sourceFiles": ["DemoMultiCellRenderer.d"], "dependencies": { - "gtk-d:gtkd": {"path": "../../../" }, + "gtk-d:gtk": {"path": "../../../" } } } diff --git a/demos/gtkD/DemoMultithread/DemoMultithread.d b/demos/gtkD/DemoMultithread/DemoMultithread.d deleted file mode 100644 index b3c6f6d08..000000000 --- a/demos/gtkD/DemoMultithread/DemoMultithread.d +++ /dev/null @@ -1,208 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 of the License, or - * (at your option) any later version. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - - -/***************************************************************************** - - Authors: Gerald Nunn - - This is a simple demo of multithreading using gtkd and the D std.concurrency - package. It simply spawns a thread that counts with the results being - displayed in a TreeView. - - The demo uses the send/receive message paradigm in D integrated with - the gdk.Threads.threadsAddIdle callback. Essentially the spawned thread - sends the current count to the GTK thread and the message is received - in the threadsAddIdle callback. This allows the GTK widgets to be updated - since the threadsAddIdle happens on the GTK main thread. - -*****************************************************************************/ - -import core.thread; -import std.concurrency; -import std.stdio; - -import gtk.Application: Application; -import gio.Application: GioApplication = Application; -import gtk.ApplicationWindow: ApplicationWindow; -import gtkc.giotypes: GApplicationFlags; - -import gtk.Box; -import gtk.Button; -import gtk.CellRendererText; -import gdk.Event; -import gdk.Threads; -import gtk.ListStore; -import gtk.ScrolledWindow; -import gtk.TreeIter; -import gtk.TreeView; -import gtk.TreeViewColumn; -import gtk.Widget; - -class MainWindow: ApplicationWindow { - private TreeView results; - private ListStore store; - private Button button; - - private Tid childTid; - - this(Application application) { - super(application); - this.addOnDelete(&windowClosed); - setTitle("Multithreading GTKD Example"); - initUI(); - showAll(); - } - - /** - * Create and initialize the GTK widgets - */ - private void initUI() { - this.setSizeRequest(1024,640); - - Box box = new Box(Orientation.VERTICAL,5); - - ScrolledWindow scroll = new ScrolledWindow(); - - results = new TreeView(); - results.setHexpand(true); - results.setVexpand(true); - results.appendColumn(new TreeViewColumn( - "Count", new CellRendererText(), "text", 0)); - - store = new ListStore([GType.LONG]); - results.setModel(store); - TreeIter iter = store.createIter(); - store.setValue(iter, 0, 0); - - scroll.add(results); - box.add(scroll); - - button = new Button("Start"); - button.addOnClicked(&buttonClicked); - box.add(button); - add(box); - } - - /** - * Stop the child thread if it is running - */ - bool windowClosed(Event event, Widget widget) { - stopThread(); - return false; - } - - /** - * Event handler for the Start/Stop button - */ - private void buttonClicked(Button button) { - if (!running) { - writeln("Adding idle delegate"); - gdk.Threads.threadsAddIdle(&threadIdleProcess, null); - - writeln("Spawning thread..."); - childTid = spawn(&countNumbers); - button.setLabel("Stop"); - } else { - stopThread(); - button.setLabel("Start"); - } - } - - /** - * Stop the spawned thread by sending it a message to - * stop - */ - public void stopThread() { - if (running) { - childTid.send(true); - } - } - - /** - * Called by the idle thread callback to add a value - * to the TreeView - */ - public void addValue(int value) { - TreeIter iter = store.createIter(); - store.setValue(iter, 0, value); - } -} - -// Used to track if the spawned thread is running -shared bool running = false; - -/** - * Function call that get's spawned. It simply counts numbers - * and sleeps for a second between each interval simulating - * doing work and sending progress updates. - * - * It also listens for a message from the GTK thread telling - * it to stop if the user wishes to abort processing. - */ -void countNumbers() { - writeln("Thread running "); - int count = 0; - running = true; - bool stop = false; - while (!stop) { - count++; - writeln("Current count: ",count); - ownerTid.send(count); - Thread.getThis().sleep(dur!("msecs")( 1000 )); - receiveTimeout(dur!("msecs")( 0 ), (bool abort) { - stop = abort; - } - ); - } - writeln("Shutting down thread"); - running = false; -} - -/** - * The idle callback invoked by GTK periodically when the - * application main thread is not engaged in any processing. - */ -extern(C) nothrow static int threadIdleProcess(void* data) { - //Don't let D exceptions get thrown from function - try{ - receiveTimeout(dur!("msecs")( 0 ), (int value) { - mainWindow.addValue(value); - } - ); - // If thread is not running, return false so GTK removes it - // and no longer calls it during idle processing. - if (!running) { - return 0; - } - } catch (Throwable t) { - return 0; - } - return 1; -} - -MainWindow mainWindow; - -int main(string[] args) { - std.concurrency.thisTid; - auto application = new Application("demo.gtkd.Multithread", GApplicationFlags.FLAGS_NONE); - application.addOnActivate(delegate void(GioApplication app){ - mainWindow = new MainWindow(application); - }); - return application.run(args); -} diff --git a/demos/gtkD/DemoMultithread/dub.json b/demos/gtkD/DemoMultithread/dub.json deleted file mode 100644 index ae3eb5e54..000000000 --- a/demos/gtkD/DemoMultithread/dub.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "demo_multithread", - "description": "A Multi threading demo", - "targetType": "executable", - "targetName": "DemoMultithread", - "sourceFiles": ["DemoMultithread.d"], - "dependencies": { - "gtk-d:gtkd": {"path": "../../../" }, - } -} diff --git a/demos/gtkD/TestWindow/TEditableCells.d b/demos/gtkD/TestWindow/TEditableCells.d deleted file mode 100644 index e7afdf4a6..000000000 --- a/demos/gtkD/TestWindow/TEditableCells.d +++ /dev/null @@ -1,328 +0,0 @@ -///* -// * This file is part of gtkD. -// * -// * gtkD 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 3 of the License, or -// * (at your option) any later version. -// * -// * gtkD 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 gtkD; if not, write to the Free Software -// * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA -// */ -// -//module gtkD.TEditableCells; -// -//private import gtk.gtktypes; -// -//private import gtk.Window; -// -//private import gtk.TreeView; -//private import gtk.TreeModel; -//private import gtk.CellRenderer; -//private import gtk.Button; -//private import gtk.MenuItem; -//private import gtk.VBox; -//private import gtk.HBox; -//private import gtk.ScrolledWindow; -//private import gtk.Label; -//private import gtk.ListStore; -//private import gtk.TreeView; -//private import gtk.TreeIter; -//private import gtk.TreePath; -//private import gtk.CellRendererText; -//private import gtk.TreeViewColumn; -//private import gtk.Item; -//private import gtk.TreeSelection; -//private import gtk.MessageDialog; -// -//private import std.string; -//private import std.stdio; -// -//private import gtk.TreeNode; -// -///** -// * reproduces the gtk-demo Editable Cells -// * \todo review array of chars copy -// */ -//public: -//class TEditableCells : Window -//{ -// ListRow[] listRows; -// TreeView treeView; -// -// /** -// * ctor. must reactivate the constructor name change loby -// */ -// this() -// { -// super("Shopping list"); -// setDefaultSize(320,200); -// setBorderWidth(5); -// -// setup(); -// -// show(); -// } -// -// private void setup() -// { -// VBox vbox; -// HBox hbox; -// ScrolledWindow sw; -// Button button; -// TreeModel model; -// -// /* create window, etc */ -// -// vbox = new VBox(false, 5); -// add(vbox); -// vbox.packStart(new Label("Shopping list (you can edit the cells!)"),false,false, 0); -// -// sw = new ScrolledWindow(null,null); -// sw.setShadowType(ShadowType.ETCHED_IN); -// sw.setPolicy(PolicyType.AUTOMATIC,PolicyType.AUTOMATIC); -// vbox.packStart(sw,true,true, 0); -// -// /* create model */ -// model = createModel(); -// -// /* create tree view */ -// treeView = new TreeView(model); // add model here -// //g_object_unref (model); // do we need this??? -// treeView.setRulesHint(true); -// treeView.getSelection().setMode(SelectionMode.SINGLE); -// -// addColumns(treeView); -// sw.add(treeView); -// -// /* some buttons */ -// hbox = new HBox(true,4); -// vbox.packStart(hbox,false,false,0); -// -// button = new Button("Add item",&addItem); -// hbox.packStart(button,true,true,0); -// -// button = new Button("Remove item",&removeItem); -// hbox.packStart(button,true,true,0); -// -// } -// -// enum cols -// { -// COLUMN_NUMBER, -// COLUMN_PRODUCT, -// COLUMN_EDITABLE, -// NUM_COLUMNS -// }; -// -// TreeModel createModel() -// { -// -// -// int i = 0; -// ListStore model; -// TreeIter iter = new TreeIter(); -// -// /* create array */ -// //articles = g_array_sized_new (FALSE, FALSE, sizeof (Item), 1); -// -// addItems(); -// -// GtkDType []columns; -//// columns ~= GtkDType.INT; -//// columns ~= GtkDType.STRING; -//// columns ~= GtkDType.BOOLEAN; -// -// columns ~= GtkDType.STRING; -// columns ~= GtkDType.STRING; -// columns ~= GtkDType.BOOLEAN; -// -// /* create list store */ -// model = new ListStore(columns); -// -// /* add items */ -// foreach(ListRow row ; listRows) -// { -// model.append(iter); -// model.set(iter,row); -// } -// -// return model; -// } -// -// void editedCallback(CellRenderer renderer, TreeModel model, string pathString, string newText,int column) -// { -// //printf("path string %.*s\n",pathString); -// //printf("newText %.*s\n",newText); -// //printf("column %d\n",column); -// -// TreeIter iter = new TreeIter(); -// -// ListStore store = cast(ListStore)model; -// -// TreePath path = new TreePath(pathString); -// model.getIter(iter,path); -// //store.getIter(iter,path); -// int row = path.getIndices()[0]; -// -// switch ( column ) -// { -// case 0: -// try -// { -// listRows[row].setNumber(Integer.toInt(newText)); -// } -// catch(Error error) -// { -// //printf("catch error\n"); -// // ignore to keep old value -// } -// //model.set(iter, listRows[row]); -// store.setValue(iter, column, listRows[row].getNumber().toString()); -// break; -// -// case 1: -// listRows[row].setProduct(newText); -// //model.set(iter, listRows[row]); -// store.setValue(iter, column, listRows[row].getProduct().toString()); -// break; -// -// default: -// printf("TEditableCells.editedCallback : Unexpected column edited %d\n",column); -// break; -// } -// dump(listRows); -// -// } -// void addColumns(TreeView treeView) -// { -// Dispatcher dispatcher = Dispatcher.getDispatcher(); -// CellRenderer renderer; -// TreeModel model = treeView.getModel(); -// renderer = new CellRendererText(); -// int pos = treeView.insertEditableColumn(0, "Number", renderer, true); -// //TreeViewColumn column = new TreeViewColumn("Number",new CellRendererText(),"text", 0); -// //treeView.appendColumn(column); -// TreeViewColumn column = treeView.getColumn(pos-1); -// column.setResizable(true); -// column.setSortColumnID(0); -// column.setSortIndicator(true); -// dispatcher.addCellListener(this,renderer,model,pos-1); -// -// renderer = new CellRendererText(); -// pos = treeView.insertEditableColumn(1, "Product", renderer, true); -// //column = new TreeViewColumn("Product",new CellRendererText(),"text", 1); -// //treeView.appendColumn(column); -// column = treeView.getColumn(pos-1); -// column.setResizable(true); -// column.setSortColumnID(1); -// column.setSortIndicator(true); -// dispatcher.addCellListener(this,renderer,model,pos-1); -// -// } -// -// class ListRow : TreeNode -// { -// int number; -// string product; -// bit editable; -// this(int number, string prod, bit editable) -// { -// this.number = number; -// product = prod; -// this.editable = editable; -// } -// void setNumber(int number) -// { -// this.number = number; -// } -// string getNumber() -// { -// return number; -// } -// void setProduct(string prod) -// { -// product = prod; -// } -// string getProduct() -// { -// return product; -// } -// void* getNodeValue(int column) -// { -// switch(column) -// { -// case 0: return number; break; -// case 1: return product; break; -// case 2: return editable; break; -// } -// } -// string toString() -// { -// return ""~number ~ "\t" ~ product ~ "\t" ~ editable; -// } -// } -// -// void addItems() -// { -// listRows ~= new ListRow(3,"bottles of coke",true); -// listRows ~= new ListRow(5,"packages of noodles",true); -// listRows ~= new ListRow(2,"packages of chocolate chip cookies",true); -// listRows ~= new ListRow(1,"can vanilla ice cream",true); -// listRows ~= new ListRow(6,"eggs",true); -// } -// -// void addItem(Button button) -// { -// Item foo; -// TreeIter iter = new TreeIter; -// ListStore model = treeView.getListStore(); -// -// ListRow row = new ListRow(0,"Description here",true); -// -// model.append(iter); -// model.set(iter,row); -// listRows ~= row; -// -// } -// -// void removeItem(Button button) -// { -// -// TreeIter iter = new TreeIter; -// ListStore model = treeView.getListStore(); -// -// TreeSelection selection = treeView.getSelection(); -// -// if ( selection.getSelected(model,iter) ) -// { -// TreePath path; -// path = model.getPath(iter); -// int row = path.getIndices()[0]; -// model.remove(iter); -// -// //dump(listRows); -// //listRows = listRows[0..row] ~ listRows[row+1..listRows.length]; -// listRows[row..listRows.length-1] = listRows[row+1..listRows.length]; -// listRows.length = listRows.length-1; -// //dump(listRows); -// path.free(); -// } -// } -// -// -// void dump(Object[] oArray) -// { -// writeln("\n"); -// foreach(Object o ; oArray) -// { -// writefln("%s",o); -// } -// } -//} diff --git a/demos/gtkD/TestWindow/TTextView.d b/demos/gtkD/TestWindow/TTextView.d deleted file mode 100644 index 50e493795..000000000 --- a/demos/gtkD/TestWindow/TTextView.d +++ /dev/null @@ -1,475 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 of the License, or - * (at your option) any later version. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -module TTextView; - -private import gtk.Window; - -private import gtk.Widget; -private import gtk.TextView; -private import gtk.TextBuffer; -private import gtk.TextIter; -private import gtk.VPaned; -private import gtk.ScrolledWindow; -private import gtk.TextChildAnchor; -private import gtk.Button; -private import gtk.Menu; -private import gtk.MenuItem; -private import gtk.HScale; -private import gtk.Image; -private import gtk.Entry; - -private import gdk.Pixbuf; - -private import gtk.ComboBoxText; - -private import glib.GException; - -private import std.stdio; - -/** - * reproduces the gtk-demo TextView - * \bug the output shows erros like (DUITest.exe:5012): GLib-GObject-WARNING **: [Invalid UTF-8] gobject.c:882: object class `GtkTextTag' has no property named `l┌E' - */ - -public: -class TTextView : Window -{ - TextView view1; - TextBuffer buffer; - TextView view2; - - /** - * ctor. must reactivate the constructor name change loby - */ - this() - { - super("TextView"); - setDefaultSize(450,450); - setBorderWidth(0); - - createTextViews(); - - setupWidgets(); - - createTags(buffer); - insertText(buffer); - - attachWidgets(view1); - attachWidgets(view2); - - showAll(); - } - -// bit windowDeleteCallback(Window window, Event event) -// { -// return false; -// } -// -// bit windowDestroyCallback(Window window, Event event) -// { -// writeln("TTextView windowDestroyCallback"); -// return false; -// } - - /** - * creates the text view and buffer to use - */ - void createTextViews() - { - view1 = new TextView(); - buffer = view1.getBuffer(); - view2 = new TextView(buffer); - } - - /** - * sets up the widgets ot this test - */ - void setupWidgets() - { - VPaned vPaned = new VPaned(); - vPaned.setBorderWidth(5); - add(vPaned); - - ScrolledWindow sw = new ScrolledWindow(PolicyType.AUTOMATIC, PolicyType.AUTOMATIC); - sw.add(view1); - vPaned.add1(sw); - sw = new ScrolledWindow(PolicyType.AUTOMATIC, PolicyType.AUTOMATIC); - sw.add(view2); - vPaned.add2(sw); - } - - /** - * Creates all the text tags to use - * @param buffer the TextBuffer - */ - void createTags(TextBuffer buffer) - { - /* Create a bunch of tags. Note that it's also possible to - * create tags with gtk_text_tag_new() then add them to the - * tag table for the buffer, gtk_text_buffer_create_tag() is - * just a convenience function. Also note that you don't have - * to give tags a name; pass NULL for the name to create an - * anonymous tag. - * - * In any real app, another useful optimization would be to create - * a GtkTextTagTable in advance, and reuse the same tag table for - * all the buffers with the same tag set, instead of creating - * new copies of the same tags for every buffer. - * - * Tags are assigned default priorities in order of addition to the - * tag table. That is, tags created later that affect the same text - * property affected by an earlier tag will override the earlier - * tag. You can modify tag priorities with - * gtk_text_tag_set_priority(). - */ - - buffer.createTag("heading", - "weight", PangoWeight.BOLD, - "size", 15 * PANGO_SCALE); - buffer.createTag("italic", - "style", cast(int)PangoStyle.ITALIC); - - buffer.createTag("bold", - "weight", cast(int)PangoWeight.BOLD); - - buffer.createTag("big", - /* points times the PANGO_SCALE factor */ - "size", 20 * PANGO_SCALE); - - buffer.createTag("xx-small", - "scale", PANGO_SCALE_XX_SMALL); - - buffer.createTag("x-large", - "scale", PANGO_SCALE_X_LARGE); - - buffer.createTag("monospace", - "family", "monospace"); - - buffer.createTag("blue_foreground", - "foreground", "blue"); - - buffer.createTag("red_background", - "background", "red"); - - buffer.createTag("big_gap_before_line", - "pixels_above_lines", 30); - - buffer.createTag("big_gap_after_line", - "pixels_below_lines", 30); - - buffer.createTag("double_spaced_line", - "pixels_inside_wrap", 10); - - buffer.createTag("not_editable", - "editable", cast(int)false); - - buffer.createTag("word_wrap", - "wrap_mode", cast(int)WrapMode.WORD); - - buffer.createTag("char_wrap", - "wrap_mode", cast(int)WrapMode.CHAR); - - buffer.createTag("no_wrap", - "wrap_mode", cast(int)WrapMode.NONE); - - buffer.createTag("center", - "justification", cast(int)Justification.CENTER); - - buffer.createTag("right_justify", - "justification", cast(int)Justification.RIGHT); - - buffer.createTag("wide_margins", - "left_margin", 50, "right_margin", 50); - - buffer.createTag("strikethrough", - "strikethrough", cast(int)true); - - buffer.createTag("underline", - "underline", cast(int)PangoUnderline.SINGLE); - - buffer.createTag("double_underline", - "underline", cast(int)PangoUnderline.DOUBLE); - - buffer.createTag("superscript", - "rise", 10 * PANGO_SCALE, /* 10 pixels */ - "size", 8 * PANGO_SCALE); /* 8 points */ - - buffer.createTag("subscript", - "rise", -10 * PANGO_SCALE, /* 10 pixels */ - "size", 8 * PANGO_SCALE); /* 8 points */ - - - buffer.createTag("rtl_quote", - "wrap_mode", WrapMode.WORD, - "direction", TextDirection.RTL, - "indent", 30, - "left_margin", 20, - "right_margin", 20); - - } - /** - * Inserts all the test text into the buffer - * @param buffer the TextBuffer - */ - void insertText(TextBuffer buffer) - { - //version(Tango) {} else - { - TextIter iter = new TextIter(); - TextIter start = new TextIter(); - TextIter end = new TextIter(); - Pixbuf pixbuf; - Pixbuf scaled; - TextChildAnchor anchor; - string filename; - - /* demo_find_file() looks in the the current directory first, - * so you can run gtk-demo without installing GTK, then looks - * in the location where the file is installed. - */ - - try - { - pixbuf = new Pixbuf("images/gtk-logo-rgb.gif"); - - scaled = pixbuf.scaleSimple(32, 32, InterpType.BILINEAR); - pixbuf = pixbuf.scaleSimple(38, 38, InterpType.BILINEAR); - } - catch (Exception) - { - version(Tango) Stdout("Failed to load image file gtk-logo-rgb.gif").newline; - else writef("Failed to load image file gtk-logo-rgb.gif\n"); - } - - /* get start of buffer; each insertion will revalidate the - * iterator to point to just after the inserted text. - */ - - buffer.getIterAtOffset(iter, 0); - - buffer.insert(iter, "The text widget can display text with all kinds of nifty attributes. It also supports multiple views of the same buffer; this demo is showing the same buffer in two places.\n\n"); - - buffer.insertWithTagsByName(iter, "Font styles. ","heading"); - - buffer.insert(iter, "For example, you can have "); - buffer.insertWithTagsByName(iter, "italic", "italic"); - buffer.insert(iter, ", "); - buffer.insertWithTagsByName(iter, "bold", "bold"); - buffer.insert(iter, ", or "); - buffer.insertWithTagsByName(iter, "monospace (typewriter)", "monospace"); - buffer.insert(iter, ", or "); - buffer.insertWithTagsByName(iter, "big", "big"); - buffer.insert(iter, " text. "); - buffer.insert(iter, "It's best not to hardcode specific text sizes; you can use relative sizes as with CSS, such as "); - buffer.insertWithTagsByName(iter, "xx-small", "xx-small"); - buffer.insert(iter, " or "); - buffer.insertWithTagsByName(iter, "x-large", "x-large"); - buffer.insert(iter, " to ensure that your program properly adapts if the user changes the default font size.\n\n"); - - buffer.insertWithTagsByName(iter, "Colors. ", "heading"); - - buffer.insert(iter, "Colors such as "); - buffer.insertWithTagsByName(iter, "a blue foreground", "blue_foreground"); - buffer.insert(iter, " or "); - buffer.insertWithTagsByName(iter, "a red background", "red_background"); - buffer.insert(iter, " can be used.\n\n"); - - buffer.insertWithTagsByName(iter, "Underline, strikethrough, and rise. ", "heading"); - - buffer.insertWithTagsByName(iter, "Strikethrough", "strikethrough"); - buffer.insert(iter, ", "); - buffer.insertWithTagsByName(iter, "underline", "underline"); - buffer.insert(iter, ", "); - buffer.insertWithTagsByName(iter, "double underline", "double_underline"); - buffer.insert(iter, ", "); - buffer.insertWithTagsByName(iter, "superscript", "superscript"); - buffer.insert(iter, ", and "); - buffer.insertWithTagsByName(iter, "subscript", "subscript"); - buffer.insert(iter, " are all supported.\n\n"); - - buffer.insertWithTagsByName(iter, "Images. ", "heading"); - - buffer.insert(iter, "The buffer can have images in it: "); - if ( pixbuf !is null ) - { - buffer.insertPixbuf(iter, scaled); - buffer.insertPixbuf(iter, pixbuf); - buffer.insertPixbuf(iter, scaled); - } - else - { - buffer.insert(iter,"Sorry can't find the images"); - } - buffer.insert(iter, " for example.\n\n"); - - buffer.insertWithTagsByName(iter, "Spacing. ", "heading"); - - buffer.insert(iter, "You can adjust the amount of space before each line.\n"); - - buffer.insertWithTagsByName(iter, "This line has a whole lot of space before it.\n", - "big_gap_before_line", "wide_margins"); - buffer.insertWithTagsByName(iter, - "You can also adjust the amount of space after each line; this line has a whole lot of space after it.\n", - "big_gap_after_line", "wide_margins"); - - buffer.insertWithTagsByName(iter, - "You can also adjust the amount of space between wrapped lines; this line has extra space between each wrapped line in the same paragraph. To show off wrapping, some filler text: the quick brown fox jumped over the lazy dog. Blah blah blah blah blah blah blah blah blah.\n", - "double_spaced_line", "wide_margins"); - - buffer.insert(iter, "Also note that those lines have extra-wide margins.\n\n"); - - buffer.insertWithTagsByName(iter, "Editability. ", "heading"); - - buffer.insertWithTagsByName(iter, - "This line is 'locked down' and can't be edited by the user - just try it! You can't delete this line.\n\n", - "not_editable"); - - buffer.insertWithTagsByName(iter, "Wrapping. ", "heading"); - - buffer.insert(iter, - "This line (and most of the others in this buffer) is word-wrapped, using the proper Unicode algorithm. Word wrap should work in all scripts and languages that GTK+ supports. Let's make this a long paragraph to demonstrate: blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah\n\n"); - - buffer.insertWithTagsByName(iter, - "This line has character-based wrapping, and can wrap between any two character glyphs. Let's make this a long paragraph to demonstrate: blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah\n\n", - "char_wrap"); - - buffer.insertWithTagsByName(iter, - "This line has all wrapping turned off, so it makes the horizontal scrollbar appear.\n\n\n", - "no_wrap"); - - buffer.insertWithTagsByName(iter, "Justification. ", "heading"); - - buffer.insertWithTagsByName(iter, - "\nThis line has center justification.\n", "center"); - - buffer.insertWithTagsByName(iter, - "This line has right justification.\n", "right_justify"); - - buffer.insertWithTagsByName(iter, - "\nThis line has big wide margins. Text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text.\n", - "wide_margins"); - - buffer.insertWithTagsByName(iter, "Internationalization. ", "heading"); - - buffer.insert(iter, - "You can put all sorts of Unicode text in the buffer.\n\nGerman (Deutsch S\303\274d) Gr\303\274\303\237 Gott\nGreek (\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254) \316\223\316\265\316\271\316\254 \317\203\316\261\317\202\nHebrew \327\251\327\234\327\225\327\235\nJapanese (\346\227\245\346\234\254\350\252\236)\n\nThe widget properly handles bidirectional text, word wrapping, DOS/UNIX/Unicode paragraph separators, grapheme boundaries, and so on using the Pango internationalization framework.\n"); - - buffer.insert(iter, "Here's a word-wrapped quote in a right-to-left language:\n"); - buffer.insertWithTagsByName(iter, "\331\210\331\202\330\257 \330\250\330\257\330\243 \330\253\331\204\330\247\330\253 \331\205\331\206 \330\243\331\203\330\253\330\261 \330\247\331\204\331\205\330\244\330\263\330\263\330\247\330\252 \330\252\331\202\330\257\331\205\330\247 \331\201\331\212 \330\264\330\250\331\203\330\251 \330\247\331\203\330\263\331\212\331\210\331\206 \330\250\330\261\330\247\331\205\330\254\331\207\330\247 \331\203\331\205\331\206\330\270\331\205\330\247\330\252 \331\204\330\247 \330\252\330\263\330\271\331\211 \331\204\331\204\330\261\330\250\330\255\330\214 \330\253\331\205 \330\252\330\255\331\210\331\204\330\252 \331\201\331\212 \330\247\331\204\330\263\331\206\331\210\330\247\330\252 \330\247\331\204\330\256\331\205\330\263 \330\247\331\204\331\205\330\247\330\266\331\212\330\251 \330\245\331\204\331\211 \331\205\330\244\330\263\330\263\330\247\330\252 \331\205\330\247\331\204\331\212\330\251 \331\205\331\206\330\270\331\205\330\251\330\214 \331\210\330\250\330\247\330\252\330\252 \330\254\330\262\330\241\330\247 \331\205\331\206 \330\247\331\204\331\206\330\270\330\247\331\205 \330\247\331\204\331\205\330\247\331\204\331\212 \331\201\331\212 \330\250\331\204\330\257\330\247\331\206\331\207\330\247\330\214 \331\210\331\204\331\203\331\206\331\207\330\247 \330\252\330\252\330\256\330\265\330\265 \331\201\331\212 \330\256\330\257\331\205\330\251 \331\202\330\267\330\247\330\271 \330\247\331\204\331\205\330\264\330\261\331\210\330\271\330\247\330\252 \330\247\331\204\330\265\330\272\331\212\330\261\330\251. \331\210\330\243\330\255\330\257 \330\243\331\203\330\253\330\261 \331\207\330\260\331\207 \330\247\331\204\331\205\330\244\330\263\330\263\330\247\330\252 \331\206\330\254\330\247\330\255\330\247 \331\207\331\210 \302\273\330\250\330\247\331\206\331\203\331\210\330\263\331\210\331\204\302\253 \331\201\331\212 \330\250\331\210\331\204\331\212\331\201\331\212\330\247.\n\n", - "rtl_quote"); - - buffer.insert(iter, "You can put widgets in the buffer: Here's a button: "); - anchor = buffer.createChildAnchor(iter); - buffer.insert(iter, " and a menu: "); - anchor = buffer.createChildAnchor(iter); - buffer.insert(iter, " and a scale: "); - anchor = buffer.createChildAnchor(iter); - buffer.insert(iter, " and an animation: "); - anchor = buffer.createChildAnchor(iter); - buffer.insert(iter, " finally a text entry: "); - anchor = buffer.createChildAnchor(iter); - buffer.insert(iter, ".\n"); - - buffer.insert(iter, "\n\nThis demo doesn't demonstrate all the GtkTextBuffer features; it leaves out, for example: invisible/hidden text (doesn't work in GTK 2, but planned), tab stops, application-drawn areas on the sides of the widget for displaying breakpoints and such..."); - - /* Apply word_wrap tag to whole buffer */ - buffer.getBounds(start, end); - buffer.applyTagByName("word_wrap", start, end); - } - } - - /** - * Attaches all test widgets to the text view - * @param view the TextView - */ - void attachWidgets(TextView view) - { - TextIter iter = new TextIter(); - TextBuffer buffer; - int i; - - buffer = view.getBuffer(); - - buffer.getStartIter(iter); - - i = 0; - - while (findAnchor(iter)) - { - TextChildAnchor anchor;// = new TextChildAnchor(); - Widget widget; - anchor = iter.getChildAnchor(); - - if (i == 0) - { - Button button = new Button("Click Me"); - widget = button; - } - else if (i == 1) - { - - ComboBoxText comboBox = new ComboBoxText(); - comboBox.appendText("Option 1"); - comboBox.appendText("Option 2"); - comboBox.appendText("Option 3"); - widget = comboBox; - } - else if (i == 2) - { - HScale hScale = new HScale(0.0,100.0,5.0); - hScale.setSizeRequest(70, -1); - widget = hScale; - } - else if (i == 3) - { - Image image = new Image("images/floppybuddy.gif"); - widget = image; - } - else if (i == 4) - { - widget = new Entry(); - } - else - { - widget = null; - //g_assert_not_reached (); - } - - if ( widget !is null ) - { - view.addChildAtAnchor(widget,anchor); - } - - ++i; - } - } - - bool findAnchor (TextIter iter) - { - while (iter.forwardChar()) - { - if (iter.getChildAnchor() !is null ) //gtk_text_iter_get_child_anchor (iter)) - { - return true; - } - } - return false; - } - -} diff --git a/demos/gtkD/TestWindow/TestAspectFrame.d b/demos/gtkD/TestWindow/TestAspectFrame.d deleted file mode 100644 index 6d9f26b94..000000000 --- a/demos/gtkD/TestWindow/TestAspectFrame.d +++ /dev/null @@ -1,36 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 of the License, or - * (at your option) any later version. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -module TestAspectFrame; - -private import gtk.AspectFrame; - -private import TestDrawingArea; - -/** - * This tests the DUI aspect frame - */ -class TestAspectFrame : AspectFrame -{ - this() - { - // string label, gfloat xalign, gfloat yalign, gfloat ratio, bit obeyChild) - super("Aspect 3x1", .5, .5, 3.0, false); - add(new TestDrawingArea()); - } -} diff --git a/demos/gtkD/TestWindow/TestDrawingArea.d b/demos/gtkD/TestWindow/TestDrawingArea.d deleted file mode 100644 index 98a3058e9..000000000 --- a/demos/gtkD/TestWindow/TestDrawingArea.d +++ /dev/null @@ -1,467 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 of the License, or - * (at your option) any later version. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -module TestDrawingArea; - -//debug = trace; - -private import cairo.Context; -private import cairo.ImageSurface; - -private import gtk.VBox; -private import pango.PgContext; -private import pango.PgLayout; - -private import std.stdio; -private import std.math; - -private import gtk.Widget; -private import gtk.MenuItem; -private import gtk.ComboBox; -private import gtk.ComboBoxText; -private import gtk.Menu; -private import gtk.Adjustment; -private import gtk.HBox; -private import gdk.Pixbuf; -private import gdk.Cairo; -private import gdk.Color; -private import gdk.Event; - -private import pango.PgCairo; -private import pango.PgFontDescription; - -private import gtk.DrawingArea; -private import gtk.Image; -private import gtk.SpinButton; - - -/** - * This tests the gtkD drawing area widget - */ -class TestDrawingArea : VBox -{ - - this() - { - super(false,4); - - TestDrawing drawingArea = new TestDrawing(); - - ComboBoxText operators = new ComboBoxText(); - operators.appendText("CLEAR"); - operators.appendText("SOURCE"); - operators.appendText("OVER"); - operators.appendText("IN"); - operators.appendText("OUT"); - operators.appendText("ATOP"); - operators.appendText("DEST"); - operators.appendText("DEST_OVER"); - operators.appendText("DEST_IN"); - operators.appendText("DEST_OUT"); - operators.appendText("DEST_ATOP"); - operators.appendText("XOR"); - operators.appendText("ADD"); - operators.appendText("SATURATE"); - operators.appendText("MULTIPLY"); - operators.appendText("SCREEN"); - operators.appendText("OVERLAY"); - operators.appendText("DARKEN"); - operators.appendText("LIGHTEN"); - operators.appendText("COLOR_DODGE"); - operators.appendText("COLOR_BURN"); - operators.appendText("HARD_LIGHT"); - operators.appendText("SOFT_LIGHT"); - operators.appendText("DIFFERENCE"); - operators.appendText("EXCLUSION"); - operators.appendText("HSL_HUE"); - operators.appendText("HSL_SATURATION"); - operators.appendText("HSL_COLOR"); - operators.appendText("HSL_LUMINOSITY"); - operators.setActive(1); - operators.addOnChanged(&drawingArea.onOperatorsChanged); - - ComboBoxText primOption = new ComboBoxText(); - primOption.appendText("Filled Arc"); - primOption.appendText("Arc"); - primOption.appendText("Line"); - primOption.appendText("Point"); - primOption.appendText("Rectangle"); - primOption.appendText("Filled Rectangle"); - primOption.appendText("Text"); - primOption.appendText("Pango text"); - primOption.appendText("Image"); - primOption.appendText("Polygon"); - primOption.setActive(0); - primOption.addOnChanged(&drawingArea.onPrimOptionChanged); - - packStart(drawingArea,true,true,0); - - HBox hbox = new HBox(false,4); - hbox.packStart(operators,false,false,2); - hbox.packStart(primOption,false,false,2); - hbox.packStart(drawingArea.spin,false,false,2); - hbox.packStart(drawingArea.backSpin,false,false,2); - - packStart(hbox, false, false, 0); - } - - class TestDrawing : DrawingArea - { - CairoOperator operator = CairoOperator.OVER; - ImageSurface surface; - Color paintColor; - Color black; - - int width; - int height; - - bool buttonIsDown; - - string primitiveType; - PgFontDescription font; - Image image; - Pixbuf scaledPixbuf; - - SpinButton spin; - SpinButton backSpin; - static GdkPoint[] polygonStar = [ - {0,4}, - {1,1}, - {4,0}, - {1,-1}, - {0,-4}, - {-1,-1}, - {-4,0}, - {-1,1} - ]; - - this() - { - setSizeRequest(333,333); - width = getWidth(); - height = getHeight(); - - primitiveType = "Filled Arc"; - font = PgFontDescription.fromString("Courier 48"); - - image = new Image("images/gtkDlogo_a_small.png"); - scaledPixbuf = image.getPixbuf(); - if (scaledPixbuf is null) - { - writeln("\nFailed to load image file gtkDlogo_a_small.png"); - } - - paintColor = new Color(cast(ubyte)0,cast(ubyte)0,cast(ubyte)0); - black = new Color(cast(ubyte)0,cast(ubyte)0,cast(ubyte)0); - - spin = new SpinButton(new Adjustment(30, 1, 400, 1, 10, 0),1,0); - sizeSpinChanged(spin); - spin.addOnValueChanged(&sizeSpinChanged); - backSpin = new SpinButton(new Adjustment(5, 4, 100, 1, 10, 0),1,0); - backSpin.addOnValueChanged(&backSpinChanged); - - addOnDraw(&drawCallback); - addOnMotionNotify(&onMotionNotify); - addOnSizeAllocate(&onSizeAllocate); - addOnButtonPress(&onButtonPress); - addOnButtonRelease(&onButtonRelease); - } - - void onSizeAllocate(GtkAllocation* allocation, Widget widget) - { - width = allocation.width; - height = allocation.height; - - surface = ImageSurface.create(CairoFormat.ARGB32, width, height); - drawPoints(Context.create(surface)); - } - - public bool onButtonPress(Event event, Widget widget) - { - debug(trace) writeln("button DOWN"); - if ( event.type == EventType.BUTTON_PRESS && event.button.button == 1 ) - { - debug(trace) writeln("Button 1 down"); - buttonIsDown = true; - - drawPrimitive(cast(int)event.button.x, cast(int)event.button.y); - } - return false; - } - - public bool onButtonRelease(Event event, Widget widget) - { - debug(trace) writeln("button UP"); - if ( event.type == EventType.BUTTON_RELEASE && event.button.button == 1 ) - { - debug(trace) writeln("Button 1 UP"); - buttonIsDown = false; - } - return false; - } - - /** - * This will be called from the expose event call back. - * \bug this is called on get or loose focus - review - */ - public bool drawCallback(Scoped!Context context, Widget widget) - { - //Fill the Widget with the surface we are drawing on. - context.setSourceSurface(surface, 0, 0); - context.paint(); - - return true; - } - - public bool onMotionNotify(Event event, Widget widget) - { - //writeln("testWindow.mouseMoved -----------------------------"); - if ( buttonIsDown && event.type == EventType.MOTION_NOTIFY ) - { - drawPrimitive(cast(int)event.motion.x, cast(int)event.motion.y); - } - - return true; - } - - static int backSpinCount = 0; - - public void backSpinChanged(SpinButton spinButton) - { - - debug(trace) writefln("backSpinChanged - entry %s", ++backSpinCount); - - drawPoints(Context.create(surface)); - this.queueDraw(); - - debug(trace) writeln("backSpinChanged - exit"); - } - - public void sizeSpinChanged(SpinButton spinButton) - { - if ( !(scaledPixbuf is null)) - { - int width = spinButton.getValueAsInt(); - scaledPixbuf = image.getPixbuf(); - - float ww = width * scaledPixbuf.getWidth() / 30; - float hh = width * scaledPixbuf.getHeight() / 30; - - scaledPixbuf = scaledPixbuf.scaleSimple(cast(int)ww, cast(int)hh, GdkInterpType.HYPER); - } - } - - public void drawPrimitive(int x, int y) - { - int width = spin.getValueAsInt(); - int height = width * 3 / 4; - - Context context = Context.create(surface); - context.setOperator(operator); - - debug(trace) writefln("primitiveType = %s", primitiveType); - - switch ( primitiveType ) - { - case "Arc": - context.arc(x-width/2,y-width/2,width,0,2*PI); - context.stroke(); - break; - - case "Filled Arc": - context.arc(x-width/4,y-width/4,width/2,0,2*PI); - context.fill(); - break; - - case "Line": - context.moveTo(x, y); - context.lineTo(x+width, y); - context.stroke(); - break; - - case "Point": - context.rectangle(x, y, 1, 1); - context.fill(); - break; - - case "Rectangle": - context.rectangle(x-width/2, y-width/4, width, height); - context.stroke(); - break; - - case "Filled Rectangle": - context.rectangle(x-width/2, y-width/4, width, height); - context.fill(); - break; - - case "Text": - context.selectFontFace("FreeMono", CairoFontSlant.NORMAL, CairoFontWeight.NORMAL); - context.setFontSize(12); - context.moveTo(x, y); - context.showText("gtkD toolkit"); - break; - - case "Pango text": - PgLayout l = PgCairo.createLayout(context); - PgFontDescription fd = new PgFontDescription("Sans", width); - - l.setText("Gtk+ with D"); - l.setFontDescription(fd); - - context.moveTo(x, y); - PgCairo.showLayout(context, l); - break; - - case "Image": - if ( !(scaledPixbuf is null)) - { - context.setSourcePixbuf(scaledPixbuf, x, y); - context.paint(); - } - break; - - case "Polygon": - //TODO: Use Context.scale and transform ? - for ( int scale = 10 ; scale<= 300; scale+=15) - { - context.save(); - context.moveTo(polygonStar[0].x*scale/2+x, polygonStar[0].y*scale/2+y); - - foreach(p; polygonStar[1 .. $]) - { - context.lineTo(p.x*scale/2+x, p.y*scale/2+y); - } - context.closePath(); - context.stroke(); - context.restore(); - } - break; - - default: - context.arcNegative(x-2,y-2,4,0,6); - context.fill(); - break; - } - - //Redraw the Widget. - this.queueDraw(); - } - - private void drawPoints(Context context) - { - int square = backSpin.getValueAsInt(); - int totalcount = 0; - int count = 0; - Color color = new Color(); - int width = this.width; - int height = this.height; - int x = 0; - int y = 0; - - debug(trace) writefln("w,h = %s %s",width ,height); - - float dx = 256.0 / width; - float dy = 256.0 / height ; - float xx; - float yy; - while ( x < width || y 1 ) - { - context.rectangle(x, y, square, square); - context.fill(); - } - else - { - context.moveTo(x, y); - context.stroke(); - } - x +=square; - if ( x > width) - { - if ( y>height) - { - //y=0; - } - else - { - x = 0; - y+=square; - } - } - ++totalcount; - - context.restore(); - } - color.destroy(); - } - - void onOperatorsChanged(ComboBoxText comboBoxText) - { - debug(trace) writefln("CairoOperator = %s", comboBoxText.getActiveText()); - switch ( comboBoxText.getActiveText() ) - { - case "CLEAR": operator = CairoOperator.CLEAR; break; - case "SOURCE": operator = CairoOperator.SOURCE; break; - case "OVER": operator = CairoOperator.OVER; break; - case "IN": operator = CairoOperator.IN; break; - case "OUT": operator = CairoOperator.OUT; break; - case "ATOP": operator = CairoOperator.ATOP; break; - case "DEST": operator = CairoOperator.DEST; break; - case "DEST_OVER": operator = CairoOperator.DEST_OVER; break; - case "DEST_IN": operator = CairoOperator.DEST_IN; break; - case "DEST_OUT": operator = CairoOperator.DEST_OUT; break; - case "DEST_ATOP": operator = CairoOperator.DEST_ATOP; break; - case "XOR": operator = CairoOperator.XOR; break; - case "ADD": operator = CairoOperator.ADD; break; - case "SATURATE": operator = CairoOperator.SATURATE; break; - case "MULTIPLY": operator = CairoOperator.MULTIPLY; break; - case "SCREEN": operator = CairoOperator.SCREEN; break; - case "OVERLAY": operator = CairoOperator.OVERLAY; break; - case "DARKEN": operator = CairoOperator.DARKEN; break; - case "LIGHTEN": operator = CairoOperator.LIGHTEN; break; - case "COLOR_DODGE": operator = CairoOperator.COLOR_DODGE; break; - case "COLOR_BURN": operator = CairoOperator.COLOR_BURN; break; - case "HARD_LIGHT": operator = CairoOperator.HARD_LIGHT; break; - case "SOFT_LIGHT": operator = CairoOperator.SOFT_LIGHT; break; - case "DIFFERENCE": operator = CairoOperator.DIFFERENCE; break; - case "EXCLUSION": operator = CairoOperator.EXCLUSION; break; - case "HSL_HUE": operator = CairoOperator.HSL_HUE; break; - case "HSL_SATURATION": operator = CairoOperator.HSL_SATURATION; break; - case "HSL_COLOR": operator = CairoOperator.HSL_COLOR; break; - case "HSL_LUMINOSITY": operator = CairoOperator.HSL_LUMINOSITY; break; - default: operator = CairoOperator.OVER; break; - } - } - - void onPrimOptionChanged(ComboBoxText comboBoxText) - { - primitiveType = comboBoxText.getActiveText(); - } - } -} - diff --git a/demos/gtkD/TestWindow/TestEntries.d b/demos/gtkD/TestWindow/TestEntries.d deleted file mode 100644 index b47cb7884..000000000 --- a/demos/gtkD/TestWindow/TestEntries.d +++ /dev/null @@ -1,85 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 of the License, or - * (at your option) any later version. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -module TestEntries; - -private import gtk.Table; - -private import gtk.Entry; -private import gtk.CheckButton; -private import gtk.Button; -private import gtk.Label; - -private import glib.Str; - -private import std.stdio; -/** - * This tests the GtkD Entry widget - */ -class TestEntries : Table -{ - /** - * Out main widget to test - */ - Entry entry; - - /** - * Creates a new TestEntries - */ - this() - { - super(3,2,false); - - // create the main test widget - entry = new Entry("Change me!"); - attach(new Label("Input text"),0,1,0,1,AttachOptions.SHRINK,AttachOptions.SHRINK,4,4); - attach(entry,1,2,0,1,AttachOptions.EXPAND,AttachOptions.EXPAND,4,4); - - // create a button that will print the content of the entry to stdout - Button testButton = new Button("Show entry", &showEntry); - attach(testButton,2,3,0,1,AttachOptions.SHRINK,AttachOptions.SHRINK,4,4); - //testButton.setTooltip("This is just a test",null); - - // create a button that will change the entry display mode to invisible - // i.e. like a password entry - CheckButton entryVisible = new CheckButton("Visible", &entryVisible); - entryVisible.setActive(true); - attach(entryVisible,2,3,1,2,AttachOptions.SHRINK,AttachOptions.SHRINK,4,4); - - // create a button that will change the entry mode to not editable - CheckButton entryEditable = new CheckButton("Editable", &entryEditable); - entryEditable.setActive(true); - attach(entryEditable,1,2,1,2,AttachOptions.SHRINK,AttachOptions.SHRINK,4,4); - } - - void showEntry(Button button) - { - writef("text field contains '%s'\n",entry.getText()); - } - - void entryEditable(CheckButton button) - { - entry.setEditable(button.getActive()); - } - - void entryVisible(CheckButton button) - { - entry.setVisibility(button.getActive()); - } - -} diff --git a/demos/gtkD/TestWindow/TestIdle.d b/demos/gtkD/TestWindow/TestIdle.d deleted file mode 100644 index b0abc3735..000000000 --- a/demos/gtkD/TestWindow/TestIdle.d +++ /dev/null @@ -1,305 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 of the License, or - * (at your option) any later version. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -module TestIdle; - -//debug = trace - -private import cairo.Context; -private import cairo.ImageSurface; - -private import gtk.VBox; -private import gtk.HBox; -private import gtk.Box; - -private import gtk.DrawingArea; -private import gdk.Event; -private import gtk.Widget; -private import gtk.ComboBox; -private import gtk.ComboBoxText; - -private import gdk.Color; -private import gdk.Cairo; - -private import gtk.SpinButton; -private import gtk.Adjustment; - -private import std.stdio; - -private import glib.Idle; -private import glib.Timeout; - - -/** - * This tests the gtkD drawing area widget - */ -class TestIdle : VBox -{ - - SpinButton timeoutSpin; - - this() - { - - debug(1) - { - writeln("instantiating TestTimeout"); - } - - super(false,7); - - TestDrawing drawingArea = new TestDrawing(); - - ComboBoxText operators = new ComboBoxText(); - operators.appendText("CLEAR"); - operators.appendText("SOURCE"); - operators.appendText("OVER"); - operators.appendText("IN"); - operators.appendText("OUT"); - operators.appendText("ATOP"); - operators.appendText("DEST"); - operators.appendText("DEST_OVER"); - operators.appendText("DEST_IN"); - operators.appendText("DEST_OUT"); - operators.appendText("DEST_ATOP"); - operators.appendText("XOR"); - operators.appendText("ADD"); - operators.appendText("SATURATE"); - operators.appendText("MULTIPLY"); - operators.appendText("SCREEN"); - operators.appendText("OVERLAY"); - operators.appendText("DARKEN"); - operators.appendText("LIGHTEN"); - operators.appendText("COLOR_DODGE"); - operators.appendText("COLOR_BURN"); - operators.appendText("HARD_LIGHT"); - operators.appendText("SOFT_LIGHT"); - operators.appendText("DIFFERENCE"); - operators.appendText("EXCLUSION"); - operators.appendText("HSL_HUE"); - operators.appendText("HSL_SATURATION"); - operators.appendText("HSL_COLOR"); - operators.appendText("HSL_LUMINOSITY"); - operators.setActive(2); - operators.addOnChanged(&drawingArea.onOperatorChanged); - - ComboBoxText callType = new ComboBoxText(); - callType.appendText("Idle"); - callType.appendText("Timeout"); - callType.setActive(1); - callType.addOnChanged(&drawingArea.onCallTypeChanged); - - timeoutSpin = new SpinButton(new Adjustment(200.0, 1.0, 1000.0, 1.0, 100.0, 0),1,0); - timeoutSpin.addOnValueChanged(&drawingArea.onTimeoutSpinValueChanged); - Box controlBox = new HBox(false, 7); - - controlBox.packStart(operators, false, false, 2); - controlBox.packStart(callType, false, false, 2); - controlBox.packStart(timeoutSpin, false, false, 2); - - packStart(drawingArea,true,true,0); - packStart(controlBox,false,false,0); - } - - class TestDrawing : DrawingArea - { - - Idle mainIdle; - Timeout mainTimeout; - - bool continueIdleCallback; - CairoOperator operator = CairoOperator.OVER; - - int x =0; - int y =0; - int xi =1; - int yi =1; - int totalcount = 0; - int count = 0; - int width; - int height; - ImageSurface surface; - - CallType callType = CallType.Timeout; - - this() - { - setSizeRequest(333,334); - - addOnMap(&onMap); - addOnUnmap(&onUnmap); - addOnSizeAllocate(&onSizeAllocate); - addOnDraw(&onDraw); - } - - public void onMap(Widget widget) - { - debug(trace) writeln("idle.onMap"); - continueIdleCallback = true; - x = 0; - y = 0; - xi = 1; - yi = 1; - resetCallType(); - } - - public void onUnmap(Widget widget) - { - debug(trace) writeln("idle.onUnmap"); - continueIdleCallback = false; - } - - void onSizeAllocate(GtkAllocation* allocation, Widget widget) - { - width = allocation.width; - height = allocation.height; - x = 0; - y = 0; - xi = 1; - yi = 1; - - surface = ImageSurface.create(CairoFormat.ARGB32, width, height); - } - - void onTimeoutSpinValueChanged(SpinButton spin) - { - if ( callType == CallType.Timeout ) - { - resetCallType(); - } - } - - void resetCallType() - { - if ( mainIdle !is null ) - { - mainIdle.stop(); - } - if ( mainTimeout !is null ) - { - mainTimeout.stop(); - } - switch ( callType ) - { - case CallType.Idle: mainIdle = new Idle(&idleCallback); break; - case CallType.Timeout: mainTimeout = new Timeout(timeoutSpin.getValueAsInt(),&idleCallback, true); break; - default: mainIdle = new Idle(&idleCallback); break; - } - } - - bool onDraw(Scoped!Context context, Widget widget) - { - //Fill the Widget with the surface we are drawing on. - context.setSourceSurface(surface, 0, 0); - context.paint(); - - return true; - } - - bool idleCallback() - { - Context context = Context.create(surface); - context.setLineWidth(1); - context.setOperator(operator); - - int xf; - int yf; - - if ( xi<0 )xf = x; // going back - else xf = width-x; - - if ( yi<0 )yf = y; // going up - else yf = height-y; - - if ( xf %s %s (%s %s)\n",x,y,xf,yf,x+yf*xi, y+yf*yi); - context.moveTo(x, y); - context.lineTo(x+yf*xi, y+yf*yi); - context.stroke(); - - x += yf*xi; - y += yf*yi; - - if ( x>=width || x<=0 ) xi = -xi; - if ( y>=height || y<=0 ) yi = -yi; - - //Redraw the Widget. - this.queueDraw(); - - return continueIdleCallback; - } - - void onCallTypeChanged(ComboBoxText comboBoxText) - { - debug(trace) writefln("gcOptions = %s", comboBoxText.getActiveText()); - switch ( comboBoxText.getActiveText() ) - { - case "Idle": callType = CallType.Idle; break; - case "Timeout": callType = CallType.Timeout; break; - default: callType = CallType.Timeout; break; - } - resetCallType(); - } - - void onOperatorChanged(ComboBoxText comboBoxText) - { - debug(trace) writefln("CairoOperator = %s", comboBoxText.getActiveText()); - switch ( comboBoxText.getActiveText() ) - { - case "CLEAR": operator = CairoOperator.CLEAR; break; - case "SOURCE": operator = CairoOperator.SOURCE; break; - case "OVER": operator = CairoOperator.OVER; break; - case "IN": operator = CairoOperator.IN; break; - case "OUT": operator = CairoOperator.OUT; break; - case "ATOP": operator = CairoOperator.ATOP; break; - case "DEST": operator = CairoOperator.DEST; break; - case "DEST_OVER": operator = CairoOperator.DEST_OVER; break; - case "DEST_IN": operator = CairoOperator.DEST_IN; break; - case "DEST_OUT": operator = CairoOperator.DEST_OUT; break; - case "DEST_ATOP": operator = CairoOperator.DEST_ATOP; break; - case "XOR": operator = CairoOperator.XOR; break; - case "ADD": operator = CairoOperator.ADD; break; - case "SATURATE": operator = CairoOperator.SATURATE; break; - case "MULTIPLY": operator = CairoOperator.MULTIPLY; break; - case "SCREEN": operator = CairoOperator.SCREEN; break; - case "OVERLAY": operator = CairoOperator.OVERLAY; break; - case "DARKEN": operator = CairoOperator.DARKEN; break; - case "LIGHTEN": operator = CairoOperator.LIGHTEN; break; - case "COLOR_DODGE": operator = CairoOperator.COLOR_DODGE; break; - case "COLOR_BURN": operator = CairoOperator.COLOR_BURN; break; - case "HARD_LIGHT": operator = CairoOperator.HARD_LIGHT; break; - case "SOFT_LIGHT": operator = CairoOperator.SOFT_LIGHT; break; - case "DIFFERENCE": operator = CairoOperator.DIFFERENCE; break; - case "EXCLUSION": operator = CairoOperator.EXCLUSION; break; - case "HSL_HUE": operator = CairoOperator.HSL_HUE; break; - case "HSL_SATURATION": operator = CairoOperator.HSL_SATURATION; break; - case "HSL_COLOR": operator = CairoOperator.HSL_COLOR; break; - case "HSL_LUMINOSITY": operator = CairoOperator.HSL_LUMINOSITY; break; - default: operator = CairoOperator.OVER; break; - } - } - } -} - -enum CallType -{ - Idle, - Timeout, -} - diff --git a/demos/gtkD/TestWindow/TestImage.d b/demos/gtkD/TestWindow/TestImage.d deleted file mode 100644 index d97c83139..000000000 --- a/demos/gtkD/TestWindow/TestImage.d +++ /dev/null @@ -1,188 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 of the License, or - * (at your option) any later version. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -module TestImage; - -//debug = trace - -private import gtk.VBox; - -private import gtk.Table; -private import gtk.FileChooserDialog; -private import gtk.Button; -private import gtk.Widget; -private import gtk.ScrolledWindow; -private import gtk.ButtonBox; -private import gtk.HButtonBox; -private import gtk.Image; - -private import gtk.Window; - -private import std.stdio; - -private import glib.Str; - -/** - * This tests the GtkD loading and display and image file - */ -class TestImage : VBox -{ - Table table; - FileChooserDialog fs; - ScrolledWindow sw; - - Window window; - - this(Window window) - { - this.window = window; - debug(1) - { - writeln("instantiating TestImage"); - } - - super(false,8); - - sw = new ScrolledWindow(null,null); - - sw.addWithViewport(initTable()); - - ButtonBox hBox = HButtonBox.createActionBox(); - Button loadDir = new Button("Load Files", &loadImages); - hBox.packStart(loadDir,false,false,0); - - packStart(sw,true,true,0); - packStart(hBox,false,false,0); - - } - - Table initTable() - { - - string[] pngs; - - pngs ~= "images/gtkD_bevel.png"; - pngs ~= "images/gtkDlogo_a.png"; - pngs ~= "images/gtkD_logo_plain.png"; - pngs ~= "images/gtkD_logo_small.png"; - pngs ~= "images/gtkD_icon_1.png"; - pngs ~= "images/gtkDlogo_a_small.png"; - pngs ~= "images/gtkD_logo.png"; - pngs ~= "images/gtkD_logo_too_small.png"; - - - return loadTable(pngs); - } - - private Table loadTable(string[] imageFiles) - { - //Table table = new Table(1,1,false); - if ( table is null ) - { - table = new Table(1,1,false); - } - else - { - table.removeAll(); - } - - - int row = 0; - int col = 0; - - Image image; - - -// Window progressWindow = new Window();//WindowType.POPUP); -// progressWindow.setBorderWidth(10); -// ProgressBar progressBar = new ProgressBar(); -// progressWindow.add(progressBar); -// progressWindow.show(); - - - for ( int i=0 ; i - * test if this works:
- * class A {}
- * class B {
- * class A{}
- * method (){ new A;}
- * }
- */ -class TestTreeView : ScrolledWindow -{ - Image image; - //Pixbuf pixbuf; - - enum columns - { - //gtkDObject = GtkDType.PIXBUF, - gtkDObject = GType.STRING, - gtkObject = GType.STRING, - desc = GType.STRING, - percentDone = GType.STRING, - author = GType.STRING - } - - this() - { - super(null,null); - - TreeView treeView = setup(); - addWithViewport(treeView); - - treeView.addOnRowActivated(&rowActivatedCallback); - treeView.addOnMoveCursor(&moveCursorCallBack); - } - - void rowActivatedCallback(TreePath path, TreeViewColumn column, TreeView treeView) - { - writefln("rowActivateCallback for %X",treeView); - writefln("rowActivateCallback for path %s",path.toString()); - } - - bool moveCursorCallBack(GtkMovementStep step, int direction, TreeView treeView) - { - writefln("moveCursorCallBack for %X",treeView); - writefln("moveCursorCallBack row = %d",direction); - return false; - } - - TreeIter [12] h; - int stack = 0; - void push(TreeIter ti) - { - h[stack++]=ti; - } - TreeIter peek() - { - if ( stack == 0) - { - return null; - } - return h[stack-1]; - } - - TreeIter pop() - { - if ( stack == 0) - { - return null; - } - return h[--stack]; - } - - class HTreeNode : TreeNode - { - - string gtkDL; - string gtk; - string desc; - int percent; - string author; - //TestTreeView ttv; - - this(string gtkDL,string gtk,string desc,int percent)//, TestTreeView ttv) - { - this.gtkDL = gtkDL; - this.gtk = gtk; - this.desc = desc; - this.percent = percent; - this.author = "Ant"; - //this.ttv = ttv; - - } - - //Pixbuf getNodePixbuf(int colum) - //{ - // return pixbuf; - //} - - int columnCount() - { - return 5; - } - - string getNodeValue(int column) - { - string value; - switch (column) - { - //case 0: value = pixbuf; break; - case 0: value = gtkDL; break; - case 1: value = gtk; break; - case 2: value = desc; break; - case 3: - switch(percent) - { - case -1: value = "uggly: won't get in"; break; - case 0: value = "unknown"; break; - case 1: value = "not yet";break; - case 98: value = "Almost"; break; - case 99: value = "AGAIG"; break; - case 100: value = "Complete"; break; - default:value = "%"; break; - } - break; - - case 4: value = author; break; - default: value = "N/A"; break; - } - return value; - } - } - - TreeView setup() - { - - class TTreeStore : TreeStore - { - this() - { - //this.nCols = nCols; - static GType [5] columns = [ - //GtkDType.PIXBUF, - GType.STRING, - GType.STRING, - GType.STRING, - GType.STRING, - GType.STRING]; - super(columns); - - } - } - - TTreeStore testTreeStore = new TTreeStore(); - TreeView treeView = new TreeView(testTreeStore); - treeView.setRulesHint(true); - - TreeSelection ts = treeView.getSelection(); - ts.setMode(SelectionMode.MULTIPLE); - - //TreeViewColumn column = new TreeViewColumn("GtkDObject",new CellRendererPixbuf(),"GdkPixbuf", 0); - TreeViewColumn column = new TreeViewColumn("GtkDObject",new CellRendererText(),"text", 0); - treeView.appendColumn(column); - column.setResizable(true); - column.setReorderable(true); - column.setSortColumnId(0); - column.setSortIndicator(true); - //pixbuf = new Pixbuf(book_closed_xpm); - //image = new Image(pixbuf); - //column.setWidget(image); - - column = new TreeViewColumn("GtkObject",new CellRendererText(),"text", 1); - treeView.appendColumn(column); - column.setResizable(true); - column.setReorderable(true); - column.setSortColumnId(1); - column.setSortIndicator(true); - - column = new TreeViewColumn("Desc",new CellRendererText(),"text", 2); - treeView.appendColumn(column); - column.setResizable(true); - column.setReorderable(true); - column.setSortColumnId(2); - column.setSortIndicator(true); - - column = new TreeViewColumn("Complete",new CellRendererText(),"text", 3); - treeView.appendColumn(column); - column.setResizable(true); - column.setReorderable(true); - column.setSortColumnId(3); - column.setSortIndicator(true); - - column = new TreeViewColumn("Author",new CellRendererText(),"text", 4); - treeView.appendColumn(column); - column.setResizable(true); - column.setReorderable(true); - column.setSortColumnId(4); - column.setSortIndicator(true); - - TreeIter iter; - TreeIter iterTop = testTreeStore.createIter(null); - - TreeIter peekIter(bool pushIt) - { - TreeIter iter = testTreeStore.append(peek()); - if ( pushIt ) - { - push(iter); - } - return iter; - } - - TreeIter popIter(bool pushIt) - { - TreeIter iter = testTreeStore.append(pop()); - if ( pushIt ) - { - push(iter); - } - return iter; - } - - push(iterTop); - testTreeStore.set(iterTop, new HTreeNode("ObjectG","GObject","Parent of the main GtkD objects",90)); - - testTreeStore.set(peekIter(true), new HTreeNode("ObjectGtk","GtkObject","The main gtk object",100)); - testTreeStore.set(peekIter(true), new HTreeNode("Misc","GtkMisc","Comon for Most widgets",100)); - - testTreeStore.set(peekIter(true), new HTreeNode("Label","GtkLabel","Display only widget",100)); - testTreeStore.set(popIter(false), new HTreeNode("AccelLabel","GtkAccelLabel","A label with a thing",1)); - testTreeStore.set(peekIter(false), new HTreeNode("Arrow","GtkArrow","A standard arrow",100)); - testTreeStore.set(popIter(false), new HTreeNode("Image","GtkImage","A image",100)); - testTreeStore.set(peekIter(true), new HTreeNode("Container","GtkContainer","Comon for all widgets that can contain other widgets",90)); - testTreeStore.set(peekIter(false), new HTreeNode("Bin","GtkBin","Comon for many widgets",90)); - - testTreeStore.set(peekIter(false), new HTreeNode("Alignment","GtkAlignment","Aligns a widget in a larger area",100)); - testTreeStore.set(peekIter(true), new HTreeNode("Frame","GtkFrame","",100)); - testTreeStore.set(popIter(false), new HTreeNode("AspectFrame","GtkAspectFrame","",100)); - testTreeStore.set(peekIter(true), new HTreeNode("Button","GtkButton","",90)); - - testTreeStore.set(peekIter(true), new HTreeNode("ToggleButton","GtkToggleButton","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("CheckButton","GtkCheckButton","",0)); - testTreeStore.set(popIter(false), new HTreeNode("RadioButton","GtkRadioButton","",0)); - testTreeStore.set(popIter(false), new HTreeNode("OptionMenu","GtkOptionMenu","",0)); - testTreeStore.set(peekIter(true), new HTreeNode("Item","GtkItem","",0)); - testTreeStore.set(peekIter(true), new HTreeNode("MenuItem","GtkMenuItem","",0)); - testTreeStore.set(peekIter(true), new HTreeNode("CheckMenuItem","GtkCheckMenuItem","",0)); - testTreeStore.set(popIter(false), new HTreeNode("RadioMenuItem","GtkRadioMenuItem","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("ImageMenuItem","GtkImageMenuItem","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("SeparatorMenuItem","GtkSeparatorMenuItem","",0)); - testTreeStore.set(popIter(false), new HTreeNode("TearoffMenuItem","GtkTearoffMenuItem","",0)); - testTreeStore.set(peekIter(true), new HTreeNode("Window","GtkWindow","",0)); - testTreeStore.set(peekIter(true), new HTreeNode("Dialog","GtkDialog","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("ColorSelectionDialog","GtkColorSelectionDialog","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("FileSelection","GtkFileSelection","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("FontSelectionDialog","GtkFontSelectionDialog","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("InputDialog","GtkInputDialog","",0)); - testTreeStore.set(popIter(false), new HTreeNode("MessageDialog","GtkMessageDialog","",0)); - testTreeStore.set(popIter(false), new HTreeNode("Plug","GtkPlug","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("EventBox","GtkEventBox","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("HandleBox","GtkHandleBox","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("ScrolledWindow","GtkScrolledWindow","",0)); - testTreeStore.set(popIter(false), new HTreeNode("Viewport","GtkViewport","",0)); - - - testTreeStore.set(peekIter(true), new HTreeNode("Box","GtkBox","",0)); - testTreeStore.set(peekIter(true), new HTreeNode("ButtonBox","GtkButtonBox","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("HButtonBox","GtkHButtonBox","",0)); - testTreeStore.set(popIter(false), new HTreeNode("VButtonBox","GtkVButtonBox","",0)); - testTreeStore.set(peekIter(true), new HTreeNode("VBox","GtkVBox","",100)); - testTreeStore.set(peekIter(false), new HTreeNode("ColorSelection","GtkColorSelection","",100)); - testTreeStore.set(peekIter(false), new HTreeNode("FontSelection","GtkFontSelection","",100)); - testTreeStore.set(popIter(false), new HTreeNode("GammaCurve","GtkGammaCurve","",0)); - testTreeStore.set(popIter(true), new HTreeNode("HBox","GtkHBox","",100)); - testTreeStore.set(peekIter(false), new HTreeNode("Combo","GtkCombo","",0)); - testTreeStore.set(popIter(false), new HTreeNode("Statusbar","GtkStatusbar","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("Fixed","GtkFixed","",0)); - testTreeStore.set(peekIter(true), new HTreeNode("Paned","GtkPaned","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("HPaned","GtkHPaned","",0)); - testTreeStore.set(popIter(false), new HTreeNode("VPaned","GtkVPaned","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("Layout","GtkLayout","",0)); - testTreeStore.set(peekIter(true), new HTreeNode("MenuShell","GtkMenuShell","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("MenuBar","GtkMenuBar","",0)); - testTreeStore.set(popIter(false), new HTreeNode("Menu","GtkMenu","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("Notebook","GtkNotebook","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("Socket","GtkSocket","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("Table","GtkTable","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("TextView","GtkTextView","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("Toolbar","GtkToolbar","",0)); - testTreeStore.set(popIter(false), new HTreeNode("TreeView","GtkTreeView","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("Calendar","GtkCalendar","",0)); - - testTreeStore.set(peekIter(true), new HTreeNode("DrawingArea","GtkDrawingArea","",0)); - testTreeStore.set(popIter(false), new HTreeNode("Curve","GtkCurve","",0)); - testTreeStore.set(peekIter(true), new HTreeNode("Editable","GtkEditable","",0)); - testTreeStore.set(peekIter(true), new HTreeNode("Entry","GtkEntry","",0)); - testTreeStore.set(popIter(false), new HTreeNode("SpinButton","GtkSpinButton","",0)); - pop(); - testTreeStore.set(peekIter(true), new HTreeNode("Ruler","GtkRuler","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("HRuler","GtkHRuler","",0)); - testTreeStore.set(popIter(false), new HTreeNode("VRuler","GtkVRuler","",0)); - testTreeStore.set(peekIter(true), new HTreeNode("Range","GtkRange","",0)); - testTreeStore.set(peekIter(true), new HTreeNode("Scale","GtkScale","",0)); - testTreeStore.set(peekIter(true), new HTreeNode("HScale","GtkHScale","",0)); - testTreeStore.set(popIter(false), new HTreeNode("VScale","GtkVScale","",0)); - testTreeStore.set(popIter(true), new HTreeNode("Scrollbar","GtkScrollbar","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("HScrollbar","GtkHScrollbar","",0)); - testTreeStore.set(popIter(false), new HTreeNode("VScrollbar","GtkVScrollbar","",0)); - pop(); - testTreeStore.set(peekIter(true), new HTreeNode("Separator","GtkSeparator","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("HSeparator","GtkHSeparator","",0)); - testTreeStore.set(popIter(false), new HTreeNode("VSeparator","GtkVSeparator","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("Invisible","GtkInvisible","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("Preview","GtkPreview","",0)); - testTreeStore.set(popIter(false), new HTreeNode("ProgressBar","GtkProgressBar","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("Adjustment","GtkAdjustment","Values for the range widget (scroolbars, spin buttons...)",0)); - testTreeStore.set(peekIter(true), new HTreeNode("CellRenderer","GtkCellRenderer","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("CellRendererPixbuf","GtkCellRendererPixbuf","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("CellRendererText","GtkCellRendererText","",0)); - testTreeStore.set(popIter(false), new HTreeNode("CellRendererToggle","GtkCellRendererToggle","",0)); - testTreeStore.set(peekIter(false), new HTreeNode("ItemFactory","GtkItemFactory","",1)); - testTreeStore.set(peekIter(false), new HTreeNode("Tooltips","GtkTooltips","",0)); - testTreeStore.set(popIter(false), new HTreeNode("TreeViewColumn","GtkTreeViewColumn","",0)); - push(iterTop); - testTreeStore.set(peekIter(false), new HTreeNode("ListG","GList","a double linked list used to comboBox and stuf",0)); - - return treeView; - - } - - -} diff --git a/demos/gtkD/TestWindow/TestTreeView1.d b/demos/gtkD/TestWindow/TestTreeView1.d deleted file mode 100644 index 93aff9236..000000000 --- a/demos/gtkD/TestWindow/TestTreeView1.d +++ /dev/null @@ -1,570 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 of the License, or - * (at your option) any later version. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -module TestTreeView1; - -//debug = trace; - -private import gtk.VBox; - -private import gobject.Value; - -private import gtk.Image; -private import gtk.TreeView; -private import gtk.TreeStore; -private import gtk.TreePath; -private import gtk.TreeViewColumn; -private import gtk.TreeIter; -private import gtk.TreeSelection; -private import gtk.CellRendererPixbuf; -private import gtk.CellRendererText; -private import gtk.ScrolledWindow; -private import gdk.Pixbuf; -private import glib.Str; -private import std.stdio; - -/** - * This tests the gtkD tree widget - */ -public class TestTreeView1 : VBox -{ -// enum columns -// { -// gtkDObject = pixbufGetType(), -// desc = gtkDType.STRING, -// } - - Image image; - Pixbuf pixbuf; - Pixbuf pixbufTest; - - TreeStore testTreeStore1; - TreeStore testTreeStore2; - - this() - { - - debug(trace) writeln("TestTreeView1.this 1"); - super(false, 0); - debug(trace) writeln("TestTreeView1.this 2"); - - pixbuf = new Pixbuf(greenClass_xpm); - debug(trace) writeln("TestTreeView1.this 2.1"); - pixbufTest = new Pixbuf(book_closed_xpm); - debug(trace) writeln("TestTreeView1.this 2.2"); - image = new Image(pixbufTest); - - debug(trace) writeln("TestTreeView1.this 3"); - TreeView treeView1 = setup1(); - populate(testTreeStore1); - - debug(trace) writeln("TestTreeView1.this 4"); - TreeView treeView2 = setup2(); - populate(testTreeStore2); - - debug(trace) writeln("TestTreeView1.this 5"); - treeView2.addOnMoveCursor(&moveCursorCallback); - packStart(image, false, false, 1); - ScrolledWindow sw = new ScrolledWindow(null, null); - sw.add(treeView1); - packStart(sw, true, true, 1); - sw = new ScrolledWindow(null, null); - sw.add(treeView2); - packStart(sw, true, true, 1); - - debug(trace) writeln("TestTreeView1.this 6"); - //addWithViewport(treeView); - - - - } - - bool moveCursorCallback(GtkMovementStep step, int i, TreeView tree) - { - TreeIter iter = tree.getSelectedIter(); - iter.setModel(tree.getModel()); - Value v = new Value(); - iter.getValue(1, v); - debug(trace) writefln("cursor on %s", v); - return false; - } - - - - void populate(TreeStore treeStore) - { - TreeIter iterChild; - TreeIter iterTop = treeStore.createIter(); - treeStore.setValue(iterTop, 0, new Pixbuf(package_xpm) ); - treeStore.setValue(iterTop, 1, "Icon for packages" ); - - iterChild = treeStore.append(iterTop); - treeStore.setValue(iterChild, 0,new Pixbuf(greenTemplate_xpm) ); - treeStore.setValue(iterChild, 1, "Icon for templates" ); - - iterChild = treeStore.append(iterTop); - treeStore.setValue(iterChild, 0, new Pixbuf(greenInterface_xpm) ); - treeStore.setValue(iterChild, 1, "Icon for interfaces" ); - - iterChild = treeStore.append(iterTop); - treeStore.setValue(iterChild, 0, new Pixbuf(greenClass_xpm) ); - treeStore.setValue(iterChild, 1, "Icon for classes" ); - - } - - /** - * Creates the treeView and treeStore - * @return - */ - TreeView setup1() - { - class TTreeStore : TreeStore - { - this() - { - //int* i = cast(int*)pixbufGetType(); - - GType[] columns; - columns ~= Pixbuf.getType(); - columns ~= GType.STRING; - super(columns); - - } - } - - testTreeStore1 = new TTreeStore(); - TreeView treeView = new TreeView(testTreeStore1); - treeView.setRulesHint(true); - - TreeSelection ts = treeView.getSelection(); - ts.setMode(SelectionMode.MULTIPLE); - TreeViewColumn column; - int col = 0; - column = new TreeViewColumn("Icon",new CellRendererPixbuf(),"pixbuf", col); - treeView.appendColumn(column); - ++col; - - column = new TreeViewColumn("Description",new CellRendererText(),"text", col); - treeView.appendColumn(column); - column.setResizable(true); - column.setReorderable(true); - column.setSortColumnId(col); - column.setSortIndicator(true); - ++col; - - return treeView; - - } - - /** - * Creates the treeView and treeStore - * @return - */ - TreeView setup2() - { - class TTreeStore : TreeStore - { - this() - { - //int* i = cast(int*)pixbufGetType(); - - GType[] columns; - columns ~= Pixbuf.getType(); - columns ~= GType.STRING; - super(columns); - - } - } - - testTreeStore2 = new TTreeStore(); - TreeView treeView = new TreeView(testTreeStore2); - treeView.setRulesHint(true); - - TreeSelection ts = treeView.getSelection(); - ts.setMode(SelectionMode.MULTIPLE); - TreeViewColumn column; - int col = 0; - - column = new TreeViewColumn(); - - CellRendererPixbuf cellPixbuf = new CellRendererPixbuf(); - CellRendererText cellText = new CellRendererText(); - - column.packStart(cellPixbuf, false); - column.addAttribute(cellPixbuf, "pixbuf", col); - ++col; - - column.packEnd(cellText, true); - column.addAttribute(cellText, "text", col); - - column.setTitle("Types"); - - treeView.appendColumn(column); - - column.setResizable(true); - column.setReorderable(true); - column.setSortColumnId(col); - column.setSortIndicator(true); - ++col; - - return treeView; - - } - - - void rowActivatedCallback(TreeView treeView, TreePath path, TreeViewColumn column) - { - writefln("rowActivateCallback for %X",treeView); - writefln("rowActivateCallback for path %s",path.toString()); - } - - - /* XPM */ - static string[] greenClass_xpm = [ - "16 16 67 1", - " c None", - ". c #00CF2E", - "+ c #005D14", - "@ c #005A16", - "# c #005217", - "$ c #004B15", - "% c #004413", - "& c #00BC23", - "* c #00BB23", - "= c #006A14", - "- c #000000", - "; c #00B721", - "> c #00BF25", - ", c #006F17", - "' c #00821C", - ") c #00801A", - "! c #007B17", - "~ c #00C126", - "{ c #FFFFFF", - "] c #00761A", - "^ c #008B21", - "/ c #00821B", - "( c #007316", - "_ c #00BA22", - ": c #A9EBB6", - "< c #007B1D", - "[ c #009426", - "} c #A9F5BC", - "| c #A9F2BA", - "1 c #00BA23", - "2 c #00D935", - "3 c #00BE25", - "4 c #A9EDB7", - "5 c #007F1F", - "6 c #009C2A", - "7 c #00ED3E", - "8 c #00E339", - "9 c #A9F1B9", - "0 c #00CB2C", - "a c #00BE24", - "b c #00C729", - "c c #00BF26", - "d c #008120", - "e c #00A52E", - "f c #00F241", - "g c #00E53A", - "h c #00D933", - "i c #00841D", - "j c #007B18", - "k c #007F20", - "l c #009928", - "m c #009224", - "n c #008B20", - "o c #A9EFB8", - "p c #00801F", - "q c #00BC24", - "r c #00C82A", - "s c #007A1C", - "t c #00791C", - "u c #007117", - "v c #006B14", - "w c #00B822", - "x c #00C629", - "y c #A9E9B5", - "z c #A9E7B4", - "A c #00C127", - "B c #00CF2C", - " ", - " .+@#$% ", - " &*=----- ", - " ;>,--')!-- ", - " ~>{]-^{{/!( ", - " _:{<-[}|{{1 ", - " 234{5-67890a2 ", - " bc4{d-efghij. ", - " 234{k--lmn--2 ", - " 1:o{p-----_ ", - " q>ro{st]uv& ", - " w>x4{{{{; ", - " ~13yyzA ", - " Bbh ", - " ", - " "]; - - - /* XPM */ - static string[] greenInterface_xpm = [ - "16 16 62 1", - " c None", - ". c #00CF2E", - "+ c #008A1E", - "@ c #009023", - "# c #00BC23", - "$ c #00BB23", - "% c #FFFFFF", - "& c #007F18", - "* c #000000", - "= c #00B721", - "- c #00BF25", - "; c #AAECB7", - "> c #00881D", - ", c #00861D", - "' c #007A16", - ") c #00C126", - "! c #00C82A", - "~ c #AAEFB9", - "{ c #008F21", - "] c #00861C", - "^ c #00BA22", - "/ c #00C629", - "( c #00D12F", - "_ c #AAF3BB", - ": c #AAF5BC", - "< c #009726", - "[ c #008B1F", - "} c #00C529", - "| c #00BA23", - "1 c #00D935", - "2 c #00BE25", - "3 c #00CA2C", - "4 c #00D732", - "5 c #00E238", - "6 c #AAF8BF", - "7 c #009E29", - "8 c #00CB2C", - "9 c #00BE24", - "0 c #00C729", - "a c #00BF26", - "b c #00CC2C", - "c c #00D933", - "d c #00E53A", - "e c #AAFABF", - "f c #00A12B", - "g c #009022", - "h c #00CC2D", - "i c #00CA2B", - "j c #00D632", - "k c #00E239", - "l c #AAF9BE", - "m c #009E2A", - "n c #00BD25", - "o c #009927", - "p c #009626", - "q c #008A1F", - "r c #00841A", - "s c #00BC24", - "t c #00B822", - "u c #00841B", - "v c #AAE8B5", - "w c #00CF2C", - " ", - " .+@ ", - " #$%&*** ", - " =-;%>,*&' ", - " )-!~%%{*]-) ", - " ^/(_:%<*[}| ", - " 123456%7*{891 ", - " 0abcde%f*gha. ", - " 12ijkl%m*{in1 ", - " |/(_%op*qr^ ", - " s-!~%g***&# ", - " t-;%>,u&' ", - " )v%%%%% ", - " w0c ", - " ", - " "]; - - - /* XPM */ - static string[] greenTemplate_xpm = [ - "16 16 63 1", - " c None", - ". c #008A1E", - "+ c #009023", - "@ c #007D17", - "# c #000000", - "$ c #FFFFFF", - "% c #007F18", - "& c #003B0C", - "* c #003C0C", - "= c #00380A", - "- c #003609", - "; c #A9EAB5", - "> c #00851C", - ", c #008F21", - "' c #00861C", - ") c #A9E7B4", - "! c #A9F5BB", - "~ c #009726", - "{ c #008B1F", - "] c #A9EBB6", - "^ c #00D935", - "/ c #A9E9B5", - "( c #A9EDB7", - "_ c #A9F1B9", - ": c #00EC3F", - "< c #009E29", - "[ c #00CB2C", - "} c #00BE24", - "| c #00C729", - "1 c #00BF26", - "2 c #00CC2C", - "3 c #00D933", - "4 c #00E53A", - "5 c #A9FABE", - "6 c #00A12B", - "7 c #009022", - "8 c #00CC2D", - "9 c #00CF2E", - "0 c #00BE25", - "a c #00CA2B", - "b c #00D632", - "c c #00E239", - "d c #A9F8BD", - "e c #009E2A", - "f c #00BD25", - "g c #00BA23", - "h c #00C629", - "i c #00D12F", - "j c #00DB34", - "k c #009626", - "l c #008A1F", - "m c #00C628", - "n c #00BA22", - "o c #00BC24", - "p c #00BF25", - "q c #00C82A", - "r c #00BC23", - "s c #00B822", - "t c #00841B", - "u c #00B721", - "v c #00C126", - "w c #00C127", - "x c #00CF2C", - " ", - " ..+ ", - " @######### ", - " $%#&*&#=-## ", - " ;$>#$$,#'$$# ", - " )$$$!$~#{]) ", - " ^/(_!:$<#,[}^ ", - " |12345$6#7819 ", - " ^0abcd$e#,af^ ", - " ghij!$k#lmn ", - " opqi_$,#'pr ", - " sph(($tpu ", - " vg0//gw ", - " x|3 ", - " ", - " "]; - - /* XPM */ - static string[] package_xpm = [ - "16 16 25 1", - " c None", - ". c #713C17", - "+ c #BF8231", - "@ c #C17A2D", - "# c #93551F", - "$ c #C1772B", - "% c #DBBF9E", - "& c #E5C9A1", - "* c #CEAB8B", - "= c #9E7058", - "- c #BF752A", - "; c #F9F1BB", - "> c #EDD1A6", - ", c #D7B897", - "' c #BB712A", - ") c #D7B998", - "! c #B76D28", - "~ c #C7A082", - "{ c #794F40", - "] c #AE6325", - "^ c #A96023", - "/ c #A55C22", - "( c #A25922", - "_ c #C58332", - ": c #A05921", - " ", - " . ", - " +@@@@#@@@@+ ", - " $%&&*=%&&*$ ", - " -&;>,=&;>,- ", - " '&>>)=&>>)' ", - " !*,)~{*,)~! ", - " .#==={{{===#. ", - " ]%&&*{%&&*] ", - " ^&;>,=&;>,^ ", - " /&>>)=&>>)/ ", - " (*,)~=*,)~( ", - " _::::#::::_ ", - " . ", - " ", - " "]; - - /* Don't copy this bad example; inline RGB data is always a better - * idea than inline XPMs. - */ - static string[] book_closed_xpm = [ - "16 16 7 1", - " c None s None", - ". c black", - "X c red", - "B c blue", - "o c yellow", - "O c #808080", - "# c white", - " ", - " .. ", - " ..XB. ", - " ..XXXXB. ", - " ..XXXXXXXB. ", - ".ooXXBBBBBXB. ", - "..ooXBBBBBBXB. ", - ".X.ooXBBBBBBXB. ", - ".XX.ooXBBBXX.. ", - " .XX.ooXBX..#O ", - " .XX.oo..##OO. ", - " .XX..##OO.. ", - " .X.#OO.. ", - " ..O.. ", - " .. ", - " " - ]; - - -} - - - diff --git a/demos/gtkD/TestWindow/TestWindow.d b/demos/gtkD/TestWindow/TestWindow.d deleted file mode 100644 index 52323bb44..000000000 --- a/demos/gtkD/TestWindow/TestWindow.d +++ /dev/null @@ -1,981 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 of the License, or - * (at your option) any later version. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -module TestWindow; - -//debug = 1; - -//version=cairo; - -version(cairo)import cairo.clock; - -import gtk.Version; -import gtk.Table; - -import stdlib = core.stdc.stdlib : exit; -import core.thread; -import std.random; -import std.string; - -import gdk.Threads; - -import gio.Application : GioApplication = Application; -import gtk.Application; -import gtk.ApplicationWindow; -import gtk.Adjustment; -import gtk.AccelGroup; - -import TestEntries; - -import TestStock; -import TestDrawingArea; -import TestScales; -import TestText; -import TestTreeView; -import TestImage; -import TestThemes; -import TestAspectFrame; -import TestIdle; -import TTextView; - -import gtk.MenuItem; -import gtk.Widget; -import gtk.MenuBar; -import gtk.Notebook; -import gtk.ComboBoxText; -import gtk.FileChooserDialog; -import gtk.FontSelectionDialog; -import gtk.ColorSelectionDialog; -import gtk.Button; -import gtk.VBox; -import gtk.MessageDialog; -import gtk.Frame; -import gtk.HButtonBox; -import gtk.Statusbar; -import gtk.Menu; -import gtk.HandleBox; -import gtk.Toolbar; -import gtk.SeparatorToolItem; -import gtk.ToolButton; -import gtk.RadioButton; -import gtk.CheckButton; -import gtk.ToggleButton; -import gtk.HBox; -import gtk.Arrow; -import gtk.ButtonBox; -import gtk.Calendar; -import gtk.VButtonBox; -import gtk.SpinButton; -import gtk.ListStore; -import gtk.TreeIter; -import gtk.TreeView; -import gtk.TreeViewColumn; -import gtk.CellRendererText; -import gtk.Window; - -import gtk.ScrolledWindow; -import gtk.MessageDialog; - -import core.memory; - -import glib.ListSG; - -import glib.Str; -import gtk.Label; -import glib.ListG; -import gtk.Paned; -import gtk.HPaned; -import gtk.VPaned; - -import gtk.Calendar; -import std.stdio; -import gtk.VButtonBox; -import gtk.FileChooserButton; - -import gtk.AboutDialog; -import gtk.Dialog; - -import gtk.TreeStore; -import gdk.Pixbuf; -import gtk.ComboBox; - -import gtk.TreePath; -import gtk.CellRenderer; -import gtk.CellRendererPixbuf; - -/** - * This tests the GtkD widgets - */ - - -class TestWindow : ApplicationWindow -{ - /** - * Executed when the user tries to close the window - * @return true to refuse to close the window - */ - int windowDelete(GdkEvent* event, Widget widget) - { - - debug(events) writefln("TestWindow.widgetDelete : this and widget to delete %X %X",this,window); - MessageDialog d = new MessageDialog( - this, - GtkDialogFlags.MODAL, - MessageType.QUESTION, - ButtonsType.YES_NO, - "Are you sure you want' to exit these GtkDTests?"); - int responce = d.run(); - if ( responce == ResponseType.YES ) - { - stdlib.exit(0); - } - d.destroy(); - return true; - } - - void anyButtonExits(Button button) - { - stdlib.exit(0); - } - - this(Application application) - { - super(application); - setTitle("GtkD tests"); - setup(); - showAll(); - - string versionCompare = Version.checkVersion(3,0,0); - - if ( versionCompare.length > 0 ) - { - MessageDialog d = new MessageDialog(this, - GtkDialogFlags.MODAL, - MessageType.WARNING, - ButtonsType.OK, - "GtkD : Gtk+ version missmatch\n" ~ versionCompare ~ - "\nYou might run into problems!"~ - "\n\nPress OK to continue"); - d.run(); - d.destroy(); - } - } - - void setup() - { - //Frame.defaultBorder = 7; - - VBox mainBox = new VBox(false,0); - mainBox.packStart(getMenuBar(),false,false,0); - mainBox.packStart(getToolbar(),false,false,0); - - Notebook notebook = setNotebook(); - notebook.setBorderWidth(10); - mainBox.packStart(notebook,true,true,0); - - Button cancelButton = new Button(StockID.CANCEL, &anyButtonExits); - Button exitButton = new Button(StockID.QUIT, &anyButtonExits); - Button quitButton = new Button(StockID.OK, &anyButtonExits); - - ButtonBox bBox = HButtonBox.createActionBox(); - - bBox.packEnd(exitButton,0,0,10); - bBox.packEnd(cancelButton,0,0,10); - bBox.packEnd(quitButton,0,0,10); - mainBox.packStart(bBox,false,false,0); - - Statusbar statusbar = new Statusbar(); - - mainBox.packStart(statusbar,false,true,0); - add(mainBox); - - notebook.appendPage(new TestEntries,"Entry"); - testEventBox(notebook); - - testButtons(notebook); - - notebook.appendPage(new TestStock,"Stock"); - testLists(notebook); - testNotebook(notebook); - testPaned(notebook); - testDialogs(notebook); - testViewport(notebook); - - notebook.appendPage(new TestScales,"Scales"); - testSpinButton(notebook); - - notebook.appendPage(new TestTreeView,"TreeView"); -// notebook.appendPage(new TestTreeView1,"TreeView 1"); -// testList(notebook); - - version(linux) { - // this block crashes gtk+ on win32 for some reason - notebook.appendPage(new Frame(new TestDrawingArea,"Drawing Area"),"Drawing"); - notebook.appendPage(new TestText,"Text"); - notebook.appendPage(new TestImage(this),"Image"); - //TestThemes seems to be unfinished. - //notebook.appendPage(new TestThemes(this),"Themes"); - notebook.appendPage(new TestAspectFrame(),"Aspect Frame"); - notebook.appendPage(new TestIdle(),"Idle"); - version(cairo)notebook.appendPage(new Clock(), "Cairo"); - gtkDemo(notebook); - } - } - - MenuBar getMenuBar() - { - - AccelGroup accelGroup = new AccelGroup(); - - addAccelGroup(accelGroup); - - - MenuBar menuBar = new MenuBar(); - - Menu menu = menuBar.append("_File"); - - MenuItem item = new MenuItem(&onMenuActivate, "_New","file.new", true, accelGroup, 'n'); - //item.addAccelerator("activate",accelGroup,'n',GdkModifierType.CONTROL_MASK,GtkAccelFlags.VISIBLE); - - menu.append(item); - menu.append(new MenuItem(&onMenuActivate, "_Open","file.open", true, accelGroup, 'o')); - menu.append(new MenuItem(&onMenuActivate, "_Close","file.close", true, accelGroup, 'c')); - menu.append(new MenuItem(&onMenuActivate, "E_xit","file.exit", true, accelGroup, 'x')); - - - menu = menuBar.append("_Edit"); - - menu.append(new MenuItem(&onMenuActivate,"_Find","edit.find", true, accelGroup, 'f')); - menu.append(new MenuItem(&onMenuActivate,"_Search","edit.search", true, accelGroup, 's')); - - menu = menuBar.append("_Help"); - menu.append(new MenuItem(&onMenuActivate,"_About","help.about", true, accelGroup, 'a',GdkModifierType.CONTROL_MASK|GdkModifierType.SHIFT_MASK)); - - - - - return menuBar; - } - - class GtkDAbout : AboutDialog - { - this() - { - string[] names; - names ~= "Antonio Monteiro (binding/wrapping/proxying/decorating for D)"; - names ~= "www.gtk.org (base C library)"; - - setAuthors( names ); - setDocumenters( names ); - setArtists( names ); - setLicense("License is LGPL"); - setWebsite("http://lisdev.com"); - } - } - - void onMenuActivate(MenuItem menuItem) - { - string action = menuItem.getActionName(); - switch( action ) - { - case "help.about": - GtkDAbout dlg = new GtkDAbout(); - dlg.addOnResponse(&onDialogResponse); - dlg.showAll(); - break; - default: - MessageDialog d = new MessageDialog( - this, - GtkDialogFlags.MODAL, - MessageType.INFO, - ButtonsType.OK, - "You pressed menu item "~action); - d.run(); - d.destroy(); - break; - } - - } - - void onDialogResponse(int response, Dialog dlg) - { - if(response == GtkResponseType.CANCEL) - dlg.destroy(); - } - - Widget getToolbar() - { - HandleBox handleBox = new HandleBox(); - Toolbar toolbar = new Toolbar(); - toolbar.insert(new ToolButton(StockID.OPEN)); - toolbar.insert(new ToolButton(StockID.CLOSE)); - toolbar.insert(new SeparatorToolItem()); - toolbar.insert(new ToolButton(StockID.SAVE)); - toolbar.insert(new ToolButton(StockID.SAVE_AS)); - - handleBox.add(toolbar); - - return handleBox; - - } - - Notebook setNotebook() - { - Notebook notebook = new Notebook(); - notebook.addOnSwitchPage(&onNotebookSwitchPage); - notebook.setTabPos(PositionType.LEFT); - return notebook; - } - - void onNotebookSwitchPage(Widget notePage, uint pageNumber, Notebook notebook) - { - //writefln("Notebook switch to page %s", pageNumber); - // fullCollect helps finding objects that shouldn't have been collected - GC.collect(); - //writefln("exiting Notebook switch to page %s", pageNumber); - } - - //import EventBox; - - void testEventBox(Notebook notebook) - { - -// EventBox eventBox = new EventBox(); -// eventBox.add(new Label("label on event box")); -// notebook.appendPage(eventBox,"Buttons"); - - //EventBox eventBox = new EventBox(); - //eventBox.add(new Label("label on event box")); - notebook.appendPage(new Label("just a simple label"),new Label("label")); - - } - - void testButtons(Notebook notebook) - { - - Table table = new Table(2,12,0); - - //ListSG listSG = new ListSG(); - - RadioButton radio1Button = new RadioButton(cast(ListSG)null,"Option 1"); - RadioButton radio2Button = new RadioButton(radio1Button,"Option 2"); - RadioButton radio3Button = new RadioButton(radio2Button,"Option 3"); - RadioButton radio4Button = new RadioButton(radio3Button,"Option 4"); - RadioButton radio5Button = new RadioButton(radio4Button,"Option 5"); - RadioButton radio6Button = new RadioButton(radio5Button,"Option 6"); - RadioButton radio7Button = new RadioButton(radio6Button,"Option 7"); - RadioButton radio8Button = new RadioButton(radio7Button,"Option 8"); - RadioButton radio9Button = new RadioButton(radio8Button,"Option 9"); - table.attach(radio1Button,0,1,0,1,AttachOptions.FILL,AttachOptions.FILL,4,4); - table.attach(radio2Button,0,1,1,2,AttachOptions.FILL,AttachOptions.FILL,4,4); - table.attach(radio3Button,0,1,2,3,AttachOptions.FILL,AttachOptions.FILL,4,4); - table.attach(radio4Button,0,1,3,4,AttachOptions.FILL,AttachOptions.FILL,4,4); - table.attach(radio5Button,0,1,4,5,AttachOptions.FILL,AttachOptions.FILL,4,4); - table.attach(radio6Button,0,1,5,6,AttachOptions.FILL,AttachOptions.FILL,4,4); - table.attach(radio7Button,0,1,6,7,AttachOptions.FILL,AttachOptions.FILL,4,4); - table.attach(radio8Button,0,1,7,8,AttachOptions.FILL,AttachOptions.FILL,4,4); - table.attach(radio9Button,0,1,8,9,AttachOptions.FILL,AttachOptions.FILL,4,4); - - CheckButton editableButton = new CheckButton("editable"); - CheckButton visibleButton = new CheckButton("visible"); - table.attach(editableButton,0,1,9,10,AttachOptions.FILL,AttachOptions.FILL,4,4); - table.attach(visibleButton,0,1,10,11,AttachOptions.FILL,AttachOptions.FILL,4,4); - - ToggleButton toggleButton = new ToggleButton("Toggle this"); - table.attach(toggleButton,0,1,11,12,AttachOptions.FILL,AttachOptions.FILL,4,4); - - Button button = new Button("test events"); - table.attach(button,0,1,12,13,AttachOptions.FILL,AttachOptions.FILL,4,4); - - void bActivate(Button button) - { - writeln("button Activate"); - } - void bClicked(Button button) - { - writeln("button Clicked"); - } - void bEnter(Button button) - { - writeln("button Enter"); - } - void bLeave(Button button) - { - writeln("button Leave"); - } - void bPressed(Button button) - { - writeln("button Pressed"); - } - void bReleased(Button button) - { - writeln("button Released"); - } - button.addOnActivate(&bActivate); - button.addOnClicked(&bClicked); - button.addOnEnter(&bEnter); - button.addOnLeave(&bLeave); - button.addOnPressed(&bPressed); - button.addOnReleased(&bReleased); - -// for ( ShadowType shadow = 0; shadow<=ShadowType.max ; shadow ++) -// { -// for ( DirectionType direction = 0 ; direction<=DirectionType.max ; direction++) -// { -// table.attach(new Arrow(direction,shadow),direction+1,direction+2,shadow,shadow+1,AttachOptions.FILL,AttachOptions.FILL,4,4); -// table.attach(new Arrow(direction,shadow),direction+1,direction+2,shadow,shadow+1,AttachOptions.FILL,AttachOptions.FILL,4,4); -// table.attach(new Arrow(direction,shadow),direction+1,direction+2,shadow,shadow+1,AttachOptions.FILL,AttachOptions.FILL,4,4); -// table.attach(new Arrow(direction,shadow),direction+1,direction+2,shadow,shadow+1,AttachOptions.FILL,AttachOptions.FILL,4,4); -// } -// } - - - notebook.appendPage(new Frame(table,"Buttons"),"Buttons"); - - } - - class ComboStore : TreeStore - { - this() - { - //int* i = cast(int*)pixbufGetType(); - - GType[] columns; - columns ~= GType.STRING; - columns ~= GType.STRING; - super(columns); - } - - } - - - void testLists(Notebook notebook) - { - VBox mainBox = new VBox(false,3); - - // comboBoxTextEntry from a list of strings - mainBox.packStart(new Label("String combo"),false,true,0); - static string[] cbList = ["item 1","item 2","item 3","item 4","item 5","item 6","item 7","item 8","item 9"]; - comboText = new ComboBoxText(); - string entry3 = "Combo box text entry 3"; - comboText.appendText("Combo box text entry 1"); - comboText.appendText("Combo box text entry 2"); - comboText.appendText(entry3); - comboText.appendText("Combo box text entry 4"); - comboText.appendText("Combo box text entry 5"); - comboText.setActive(2); - - ButtonBox actionBox1 = HButtonBox.createActionBox(); - actionBox1.packStart(comboText,false,false,0); - - Button showCombo1 = new Button("ShowCombo", &showTextCombo); - actionBox1.packStart(showCombo1,false,false,0); - - mainBox.packStart(new Frame(actionBox1, "Text entry ComboBox"),false,false,0); - - - - // TODO combo with widgets - - - // new ComboBox + TreeModel - - ComboStore comboStore = new ComboStore(); - - TreeIter iterFirst; // to set the first active iter - TreeIter iterChild; - TreeIter iterTop = comboStore.append(null); - comboStore.setValue(iterTop, 0, "Paganini" ); - iterFirst = comboStore.append(iterTop); - comboStore.setValue(iterFirst, 0, "Nicolo" ); - - iterTop = comboStore.append(null); - comboStore.setValue(iterTop, 0, "List" ); - iterChild = comboStore.append(iterTop); - comboStore.setValue(iterChild, 0, "Franz" ); - - iterTop = comboStore.append(null); - comboStore.setValue(iterTop, 0, "Beethoven" ); - iterChild = comboStore.append(iterTop); - comboStore.setValue(iterChild, 0, "Ludwic" ); - iterChild = comboStore.append(iterTop); - comboStore.setValue(iterChild, 0, "Maria" ); - iterChild = comboStore.append(iterTop); - comboStore.setValue(iterChild, 0, "Van" ); - - iterTop = comboStore.append(null); - comboStore.setValue(iterTop, 0, "Bach" ); - iterChild = comboStore.append(iterTop); - comboStore.setValue(iterChild, 0, "Johann" ); - iterChild = comboStore.append(iterTop); - comboStore.setValue(iterChild, 0, "Sebastian" ); - - ComboBox treeCombo = new ComboBox(comboStore); - treeCombo.setWrapWidth(1); - treeCombo.setProperty("entry-text-column", 0); - - // TODO something is wrong gettign the ier from the path - //TreePath path = new TreePath("0,0"); - //comboStore.getIter(iterChild, path); - //treeCombo.setActiveIter(iterChild); - // use a previously set iter - treeCombo.setActiveIter(iterFirst); - - mainBox.packStart(new Frame(treeCombo,"Tree Combo box"),false,true,0); - - simpleCombo = new ComboBoxText(); - simpleCombo.appendText("Top"); - simpleCombo.appendText("Bottom"); - simpleCombo.appendText("Left"); - simpleCombo.appendText("Right"); - simpleCombo.setActive(0); - - // actions - - ButtonBox actionBox = HButtonBox.createActionBox(); - actionBox.packStart(simpleCombo,false,false,0); - - Button showCombo = new Button("ShowCombo", &showSimpleCombo); - actionBox.packStart(showCombo,false,false,0); - - mainBox.packStart(new Frame(actionBox, "Simple text list"),false,false,0); - - notebook.appendPage(new Frame(mainBox,"Lists"),"Lists"); - - } - ComboBoxText simpleCombo; - ComboBoxText comboText; - - void showTextCombo(Button button) - { - writefln("Combo selected text = %s",comboText.getActiveText()); - } - - void showSimpleCombo(Button button) - { - writefln("Combo selected text = %s",simpleCombo.getActiveText()); - } - - class NB : Notebook - { - void itemActivated(MenuItem menu_item) - { - writeln("NB.activateCallback"); - } - void buttonClicked(Button button) - { - setCurrentPage(2); - } - - void switchPage(Notebook notebook, /*NotebookPage page,*/ uint pageNumber) - { - writefln("new page = %d",pageNumber); - } - } - - - NB nb; - - void posLeft(Button button) - { - nb.setTabPos(PositionType.LEFT); - } - void posRight(Button button) - { - nb.setTabPos(PositionType.RIGHT); - } - void posTop(Button button) - { - nb.setTabPos(PositionType.TOP); - } - void posBottom(Button button) - { - nb.setTabPos(PositionType.BOTTOM); - } - - /** - * tests notebook - * @param nodebook - */ - void testNotebook(Notebook notebook) - { - - nb = new NB(); - nb.setTabPos(PositionType.min); - nb.popupEnable(); - nb.setShowBorder(false); - nb.setBorderWidth(0); - - class PageMove - { - Notebook notebook; - PositionType toPos; - this(Notebook notebook,PositionType toPos) - { - this.notebook = notebook; - this.toPos = toPos; - } - void buttonClickedCallback() - { - notebook.setTabPos(toPos); - } - } - - PageMove toLeft = new PageMove(nb,PositionType.LEFT); - PageMove toRight = new PageMove(nb,PositionType.RIGHT); - PageMove toTop = new PageMove(nb,PositionType.TOP); - PageMove toBottom = new PageMove(nb,PositionType.BOTTOM); - - - notebook.appendPage(nb,new Label("Notebook")); - - for( char i = '1' ; i<'5' ; i++ ) - { - Table table = new Table(2,2,true); - Button left = new Button("Left "~ i); - left.addOnClicked(&posLeft); - Button right = new Button("Right "~ i); - right.addOnClicked(&posRight); - Button top = new Button("top "~ i); - top.addOnClicked(&posTop); - Button bottom = new Button("bottom "~ i); - bottom.addOnClicked(&posBottom); - - table.attach(top,0,1,0,1,AttachOptions.SHRINK,AttachOptions.SHRINK,4,4); - table.attach(right,1,2,0,1,AttachOptions.SHRINK,AttachOptions.SHRINK,4,4); - table.attach(left,0,1,1,2,AttachOptions.SHRINK,AttachOptions.SHRINK,4,4); - table.attach(bottom,1,2,1,2,AttachOptions.SHRINK,AttachOptions.SHRINK,4,4); - if ( i == 3 ) - { - -// MenuItem menuItem = new MenuItem("menu page 3",&nb.itemActivated); -// -// Menu menu = new Menu(); -// menu.append(new MenuItem("page 3.1",&nb.itemActivated)); -// menu.append(new MenuItem("page 3.2",&nb.itemActivated)); -// menu.append(new MenuItem("page 3.3",&nb.itemActivated)); -// menu.append(new MenuItem("page 3.4",&nb.itemActivated)); -// -// menuItem.setSubmenu(menu); - - HBox box = new HBox(false,0); - box.setBorderWidth(0); - Button button = new Button("Page " ~ i ~ "\0"); - button.addOnClicked(&nb.buttonClicked); - button.setBorderWidth(0); - button.setRelief(ReliefStyle.NONE); - CheckButton checkButton = new CheckButton(); - checkButton.setBorderWidth(0); - box.packStart(checkButton,false,false,0); - box.packStart(button,false,false,0); - //nb.appendPageMenu(table,box,menuItem); - //nb.appendPage(table,box); - } - else - { - nb.appendPage(table,new Label("Page " ~ i ~ "\0")); - } - } - //nb.addOnSwitchPage(&nb.switchPage); - } - - void testPaned(Notebook notebook) - { - - Paned mainPaned = new VPaned(); - Paned p0 = mainPaned; - Button p1; - Paned p2; - - bool h = true; - for ( char c='1' ; c<='5' ; c++ ) - { - p1 = new Button("Pane "~c); - if ( h ) p2 = new HPaned(); - else p2 = new VPaned(); - - p0.add1(p1); - p0.add2(p2); - p0 = p2; - h = !h; - } - - notebook.appendPage(mainPaned,new Label("Paned")); - - } - - FileChooserDialog fcd; - FontSelectionDialog f; - ColorSelectionDialog d; - - void showFileChooser(Button button) - { - string[] a; - ResponseType[] r; - a ~= "Lets go!"; - a ~= "Please don't"; - r ~= ResponseType.OK; - r ~= ResponseType.CANCEL; - if ( fcd is null ) - { - fcd = new FileChooserDialog("File Chooser", this, FileChooserAction.OPEN, a, r); - } - - fcd.setSelectMultiple(true); - fcd.run(); -// writefln("file selected = %s",fcd.getFileName()); -// -// foreach ( int i, string selection ; fs.getSelections()) -// { -// writefln("File(s) selected [%d] %s",i,selection); -// } - fcd.hide(); - } - - void showColor(Button button) - { - if ( d is null ) - { - d = new ColorSelectionDialog("Select the color"); - } - d.run(); - d.hide(); - } - - void showCalendar(Button button) - { - Window calWin = new Window("Calendar"); - Calendar calendar = new Calendar(); - //calendar.setTitle("No Title"); - calWin.add(calendar); - calWin.showAll(); - } - - void showFont(Button button) - { - if ( f is null ) - { - f = new FontSelectionDialog("Select the font"); - } - f.run(); - string fontName = f.getFontName(); - f.hide(); - } - - Button fontButton; - - void testDialogs(Notebook notebook) - { - - ButtonBox bBox = VButtonBox.createActionBox(); - - if ( fcd is null ) - { - fcd = new FileChooserDialog("File Chooser", this, FileChooserAction.OPEN); - } - - - Button fileChooser = new Button("File Chooser", &showFileChooser); - FileChooserButton fcb = new FileChooserButton(fcd); - - Button color = new Button("Color Dialog", &showColor); - Button calendar = new Button("Calendar Dialog", &showCalendar); - fontButton = new Button("Font Dialog", &showFont); - //fontButton.modifyFont("[Newspaper][16]"); - - bBox.packStart(fileChooser,0,0,10); - bBox.packStart(fcb,0,0,10); - bBox.packStart(color,0,0,10); - bBox.packStart(calendar,0,0,10); - bBox.packStart(fontButton,0,0,10); - - notebook.appendPage(new Frame(bBox,"Dialogs"),new Label("Dialogs")); - - } - - void testViewport(Notebook notebook) - { - - Table grid = new Table(21,21,0); - for ( int i = 0 ; i<21 ; i++) - { - for ( int j = 0 ; j<21; j++) - { - if ( (i == j) || (i+j==20) || (i==10) || (j==10)) - { - grid.attach( - new Button("Button"), - i,i+1, - j,j+1, - AttachOptions.SHRINK,AttachOptions.SHRINK,4,4); - } - } - } - - ScrolledWindow sw = new ScrolledWindow(null,null); - sw.addWithViewport(grid); - notebook.appendPage(sw,new Label("Viewport")); - } - - void testSpinButton(Notebook notebook) - { - Table table = new Table(2,1,false); - - SpinButton spin = new SpinButton(new Adjustment(1.0, 0.0, 100.0, 1.0, 10.0, 0),1,0); - table.attach(new Label("Spin this:"),0,1,0,1,AttachOptions.FILL,AttachOptions.FILL,4,4); - table.attach(spin,1,2,0,1,AttachOptions.FILL,AttachOptions.FILL,4,4); - - notebook.appendPage(table,"Spin Buttons"); - - } - - void testList(Notebook notebook) - { - class TestListStore : ListStore - { - this() - { - static GType [3] columns = [ - GType.STRING, - GType.STRING, - GType.STRING - ]; - super(columns); - } - } - - TestListStore testListStore = new TestListStore(); - - TreeIter iterTop = testListStore.createIter(); - - static int [3] cols = [0,1,2]; - string[] vals; - vals ~= "Antonio"; - vals ~= "Canada"; - vals ~= "Ontario"; - testListStore.set(iterTop,cols,vals); - - testListStore.append(iterTop); - string[] vals1; - vals1 ~= "John Reimer"; - vals1 ~= "Canada"; - vals1 ~= "BC"; - testListStore.set(iterTop,cols,vals1); - - testListStore.append(iterTop); - string[] vals2; - vals2 ~= "Friend of GtkD 2"; - vals2 ~= "Poland"; - vals2 ~= "Torun"; - testListStore.set(iterTop,cols,vals2); - - testListStore.append(iterTop); - string[] vals3; - vals3 ~= "Friend of GtkD 3"; - vals3 ~= "Norway"; - vals3 ~= "Norway"; - testListStore.set(iterTop,cols,vals3); - - TreeView treeView = new TreeView(testListStore); - treeView.setHeadersClickable(true); - treeView.setRulesHint(true); - - //CellRendererText cellText = new CellRendererText(); - TreeViewColumn column = new TreeViewColumn("Author",new CellRendererText(),"text", 0); - treeView.appendColumn(column); - column.setResizable(true); - column.setReorderable(true); - column.setSortColumnId(0); - column.setSortIndicator(true); - - column = new TreeViewColumn("Country",new CellRendererText(),"text", 1); - treeView.appendColumn(column); - column.setResizable(true); - column.setReorderable(true); - column.setSortColumnId(1); - column.setSortIndicator(true); - - column = new TreeViewColumn("Province",new CellRendererText(),"text", 2); - treeView.appendColumn(column); - column.setResizable(true); - column.setReorderable(true); - column.setSortColumnId(2); - column.setSortIndicator(true); - - //notebook.appendPage(treeView,"ListView"); - ScrolledWindow sw = new ScrolledWindow(null,null); - sw.addWithViewport(treeView); - notebook.appendPage(sw,"ListView"); - } - - void testDelete(Notebook notebook) - { -// ulong l = 0; -// while(true) -// { -// int i =0; -// while(i<1 ) -// { -// //Button b = new Button("Button"); -// Drawable d = getDrawable(); -// delete d; -// ++i; -// } -// ++l; -// write("testDelete count = %d\n\0",l*i); -// } - - } - - void gtkDemo(Notebook notebook) - { - void showTTextView(Button button) - { - new TTextView(); - } - - void showTEditableCells(Button button) - { - // new TEditableCells(); - } - - ButtonBox vBBox = VButtonBox.createActionBox(); - - Button button = new Button("Text View"); - button.addOnClicked(&showTTextView); - vBBox.packStart(button,false,false,4); - - button = new Button("Editable Cells"); - button.addOnClicked(&showTEditableCells); - vBBox.packStart(button,false,false,4); - - notebook.appendPage(vBBox,"gtk-demo"); - } -} - -int main(string[] args) -{ - import gtkd.Loader; - - Linker.dumpLoadLibraries(); - Linker.dumpFailedLoads(); - - auto application = new Application("org.gtkd.demo.TestWindow", GApplicationFlags.FLAGS_NONE); - application.addOnActivate(delegate void(GioApplication app) { new TestWindow(application); }); - return application.run(args); -} diff --git a/demos/gtkD/TestWindow/dub.json b/demos/gtkD/TestWindow/dub.json deleted file mode 100644 index c4226b0bf..000000000 --- a/demos/gtkD/TestWindow/dub.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "testwindow", - "description": "A GtkD demo", - "targetType": "executable", - "targetName": "TestWindow", - "sourceFiles": ["TestEntries.d", "TestStock.d", "TestTreeView.d", - "TEditableCells.d", "TestIdle.d", "TestText.d", - "TestWindow.d", "TestAspectFrame.d", "TestImage.d", - "TestThemes.d", "TTextView.d", "TestDrawingArea.d", - "TestScales.d", "TestTreeView1.d"], - "dependencies": { - "gtk-d:gtkd": {"path": "../../../" }, - } -} diff --git a/demos/pango/dub.json b/demos/pango/dub.json index 191a770f5..c570660fc 100644 --- a/demos/pango/dub.json +++ b/demos/pango/dub.json @@ -4,6 +4,6 @@ "targetType": "executable", "sourceFiles": ["pangocairo.d"], "dependencies": { - "gtk-d:gtkd": {"path": "../../" }, + "gtk-d:gtk": {"path": "../../" } } } diff --git a/demos/pango/pangocairo.d b/demos/pango/pangocairo.d index a29a267df..b209eda50 100644 --- a/demos/pango/pangocairo.d +++ b/demos/pango/pangocairo.d @@ -14,8 +14,10 @@ import pango.PgCairo; import pango.PgLayout; import pango.PgFontDescription; +import std.math : cos, sin; + import std.stdio; -import std.math; +import std.math : cos, sin; class PangoText : DrawingArea { @@ -25,10 +27,12 @@ class PangoText : DrawingArea public this() { - addOnDraw(&drawText); + setDrawFunc ((area, cairo, w, h, data) { + (cast(PangoText)data).drawText (new Context (cairo)); + }, cast(void *)this, null); } - public bool drawText (Scoped!Context cr, Widget widget) + public bool drawText (Context cr) { PgLayout layout; PgFontDescription desc; @@ -84,9 +88,9 @@ int main(string[] args) window.setTitle("gtkD Pango text"); window.setDefaultSize(300, 300); auto pt = new PangoText(); - window.add(pt); + window.setChild(pt); pt.show(); - window.showAll(); + window.show(); } application = new Application("org.gtkd.demo.pangocairo", GApplicationFlags.FLAGS_NONE); diff --git a/demos/shumate/simpleMap/map.d b/demos/shumate/simpleMap/map.d new file mode 100644 index 000000000..a7c8a3b59 --- /dev/null +++ b/demos/shumate/simpleMap/map.d @@ -0,0 +1,37 @@ +/** + * Author: KonstantIMP + * Date: Jun 28 2021 + */ +module map; + +/** Import Gtk libs */ +import gtk.Application, gtk.ApplicationWindow; + +/** Import shumate */ +import shumate.Map; + +/** + * Start point of the app + * Params: + * args = Input CLi arguments + * Returns: 0 if everything is ok + */ +int main(string [] args) { + /** Create and register the app */ + auto map_app = new Application("org.map.kimp", GApplicationFlags.FLAGS_NONE); + + /** Add apps activation */ + map_app.addOnActivate((app) { + /** Create new win */ + auto map_win = new ApplicationWindow(map_app); + map_win.setTitle("Example 1. Shumate"); + + auto map_view = new Map(true); + + map_win.setChild(map_view); + map_win.show(); + }); + + /** Run the app */ + return map_app.run(args); +} \ No newline at end of file diff --git a/demos/sourceView/SVTest.d b/demos/sourceView/SVTest.d index a9c04a4a7..45ef06240 100644 --- a/demos/sourceView/SVTest.d +++ b/demos/sourceView/SVTest.d @@ -27,11 +27,10 @@ private import gtk.Widget; private import glib.Str; -private import gsv.SourceView; -private import gsv.SourceBuffer; -private import gsv.SourceLanguage; -private import gsv.SourceLanguageManager; -private import gsv.SourceBuffer; +private import sourceview.View; +private import sourceview.Buffer; +private import sourceview.Language; +private import sourceview.LanguageManager; private import std.stdio; private import std.file; @@ -44,16 +43,16 @@ private import std.file; class HelloWorld : ApplicationWindow { - SourceView sourceView; + View sourceView; this(Application application) { super(application); setTitle("GtkD SourceView"); - setBorderWidth(10); - add(getSourceView()); + //setBorderWidth(10); + setChild(getSourceView()); setDefaultSize(640,400); - showAll(); + show(); } private string getDemoText() @@ -71,28 +70,27 @@ class HelloWorld : ApplicationWindow private Widget getSourceView() { - sourceView = new SourceView(); + sourceView = new View(); sourceView.setShowLineNumbers(true); sourceView.setInsertSpacesInsteadOfTabs(false); sourceView.setTabWidth(4); sourceView.setHighlightCurrentLine(true); - SourceBuffer sb = sourceView.getBuffer(); - sb.setText(getDemoText()); + //sourceView.getBuffer().setText(getDemoText()); ScrolledWindow scWindow = new ScrolledWindow(); - scWindow.add(sourceView); + scWindow.setChild(sourceView); - SourceLanguageManager slm = new SourceLanguageManager(); - SourceLanguage dLang = slm.getLanguage("d"); + LanguageManager slm = new LanguageManager(); + Language dLang = slm.getLanguage("d"); if ( dLang !is null ) { writefln("Setting language to D"); - sb.setLanguage(dLang); - sb.setHighlightSyntax(true); + //sb.setLanguage(dLang); + //sb.setHighlightSyntax(true); } //sourceView.modifyFont("Courier", 9); diff --git a/demos/sourceView/dub.json b/demos/sourceView/dub.json index 011b92748..2de76988f 100644 --- a/demos/sourceView/dub.json +++ b/demos/sourceView/dub.json @@ -4,7 +4,7 @@ "targetType": "executable", "sourceFiles": ["SVTest.d"], "dependencies": { - "gtk-d:gtkd": {"path": "../../" }, - "gtk-d:sv": {"path": "../../" }, + "gtk-d:gtk": {"path": "../../" }, + "gtk-d:sourceview": {"path": "../../" } } } diff --git a/dub.json b/dub.json index 6df39b1fd..3e426d8cb 100644 --- a/dub.json +++ b/dub.json @@ -13,30 +13,230 @@ "Sebastián E. Peyrott", "John Reimer", "Mike Wey", - "hauptmech" + "hauptmech", + "KonstantIMP" ], - "dependencies": { - "gtk-d:gtkd": "*", - "gtk-d:gstreamer": "*" - }, - - "subPackages" : [ - { - "name": "gtkd", - "targetType": "library", - "targetName": "gtkd-3", - "sourcePaths": ["generated/gtkd"], - "libs-posix": ["dl"], - "importPaths": ["generated/gtkd"] - }, - { - "name": "gstreamer", - "targetType": "library", - "targetName": "gstreamerd-3", - "sourcePaths": ["generated/gstreamer"], - "libs-posix": ["dl"], - "importPaths": ["generated/gstreamer"], - "dependencies": {"gtk-d:gtkd":"*"} - } - ] + "subPackages": [ + { + "name": "linker", + "targetType": "library", + "targetName": "linker", + "version" : "1.0.0", + "importPaths": ["source/linker/"], + "sourcePaths": ["source/linker"] + }, + { + "name": "glib", + "targetType": "library", + "targetName": "glib", + "importPaths": ["source/generated/glib"], + "sourcePaths": ["source/generated/glib"], + "dependencies": { + "gtk-d:linker" : "*" + } + }, + { + "name": "graphene", + "targetType": "library", + "targetName": "graphene", + "importPaths": ["source/generated/graphene"], + "sourcePaths": ["source/generated/graphene"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:glib" : "*" + } + }, + { + "name": "cairo", + "targetType": "library", + "targetName": "cairo", + "importPaths": ["source/generated/cairo"], + "sourcePaths": ["source/generated/cairo"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:glib" : "*" + } + }, + { + "name": "harfbuzz", + "targetType": "library", + "targetName": "harfbuzz", + "importPaths": ["source/generated/harfbuzz"], + "sourcePaths": ["source/generated/harfbuzz"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:glib" : "*" + } + }, + { + "name": "pango", + "targetType": "library", + "targetName": "pango", + "importPaths": ["source/generated/pango"], + "sourcePaths": ["source/generated/pango"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:glib" : "*", + "gtk-d:cairo" : "*", + "gtk-d:harfbuzz" : "*" + } + }, + { + "name": "gio", + "targetType": "library", + "targetName": "gio", + "importPaths": ["source/generated/gio"], + "sourcePaths": ["source/generated/gio"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:glib" : "*" + } + }, + { + "name": "gdkpixbuf", + "targetType": "library", + "targetName": "gdkpixbuf", + "importPaths": ["source/generated/gdkpixbuf"], + "sourcePaths": ["source/generated/gdkpixbuf"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:glib" : "*", + "gtk-d:gio" : "*" + } + }, + { + "name": "atk", + "targetType": "library", + "targetName": "atk", + "importPaths": ["source/generated/atk"], + "sourcePaths": ["source/generated/atk"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:glib" : "*" + } + }, + { + "name": "gdk", + "targetType": "library", + "targetName": "gdk", + "importPaths": ["source/generated/gdk"], + "sourcePaths": ["source/generated/gdk"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:cairo" : "*", + "gtk-d:glib" : "*", + "gtk-d:gio" : "*", + "gtk-d:gdkpixbuf" : "*", + "gtk-d:pango" : "*" + } + }, + { + "name": "rsvg", + "targetType": "library", + "targetName": "rsvg", + "importPaths": ["source/generated/rsvg"], + "sourcePaths": ["source/generated/rsvg"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:glib" : "*", + "gtk-d:cairo" : "*", + "gtk-d:gdkpixbuf" : "*" + } + }, + { + "name": "gsk", + "targetType": "library", + "targetName": "gsk", + "importPaths": ["source/generated/gsk"], + "sourcePaths": ["source/generated/gsk"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:glib" : "*", + "gtk-d:cairo" : "*", + "gtk-d:graphene" : "*", + "gtk-d:gdk" : "*" + } + }, + { + "name": "gtk", + "targetType": "library", + "targetName": "gtk", + "importPaths": ["source/generated/gtk"], + "sourcePaths": ["source/generated/gtk"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:glib" : "*", + "gtk-d:gdk" : "*", + "gtk-d:graphene" : "*", + "gtk-d:gsk" : "*" + } + }, + { + "name": "adw", + "targetType": "library", + "targetName": "adw", + "importPaths": ["source/generated/adw"], + "sourcePaths": ["source/generated/adw"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:gtk" : "*" + } + }, + { + "name": "sourceview", + "targetType": "library", + "targetName": "sourceview", + "importPaths": ["source/generated/sourceview"], + "sourcePaths": ["source/generated/sourceview"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:glib" : "*", + "gtk-d:gtk" : "*" + } + }, + { + "name": "soup", + "targetType": "library", + "targetName": "soup", + "importPaths": ["source/generated/soup"], + "sourcePaths": ["source/generated/soup"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:glib" : "*", + "gtk-d:gio" : "*" + } + }, + { + "name": "shumate", + "targetType": "library", + "targetName": "shumate", + "importPaths": ["source/generated/shumate"], + "sourcePaths": ["source/generated/shumate"], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:glib" : "*", + "gtk-d:gtk" : "*", + "gtk-d:soup" : "*" + } + } + ], + "dependencies": { + "gtk-d:linker" : "*", + "gtk-d:glib" : "*", + "gtk-d:graphene" : "*", + "gtk-d:cairo" : "*", + "gtk-d:harfbuzz" : "*", + "gtk-d:pango" : "*", + "gtk-d:gio" : "*", + "gtk-d:gdkpixbuf" : "*", + "gtk-d:atk" : "*", + "gtk-d:gdk" : "*", + "gtk-d:rsvg" : "*", + "gtk-d:gsk" : "*", + "gtk-d:gtk" : "*", + "gtk-d:adw" : "*", + "gtk-d:sourceview" : "*", + "gtk-d:soup" : "*", + "gtk-d:shumate" : "*" + } } diff --git a/generated/gstreamer/gst/app/AppSink.d b/generated/gstreamer/gst/app/AppSink.d deleted file mode 100644 index b584517e4..000000000 --- a/generated/gstreamer/gst/app/AppSink.d +++ /dev/null @@ -1,597 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.app.AppSink; - -private import gobject.ObjectG; -private import gobject.Signals; -private import gst.app.c.functions; -public import gst.app.c.types; -private import gst.base.BaseSink; -private import gstreamer.Caps; -private import gstreamer.Sample; -private import gstreamer.URIHandlerIF; -private import gstreamer.URIHandlerT; -private import std.algorithm; - - -/** - * Appsink is a sink plugin that supports many different methods for making - * the application get a handle on the GStreamer data in a pipeline. Unlike - * most GStreamer elements, Appsink provides external API functions. - * - * appsink can be used by linking to the gstappsink.h header file to access the - * methods or by using the appsink action signals and properties. - * - * The normal way of retrieving samples from appsink is by using the - * gst_app_sink_pull_sample() and gst_app_sink_pull_preroll() methods. - * These methods block until a sample becomes available in the sink or when the - * sink is shut down or reaches EOS. There are also timed variants of these - * methods, gst_app_sink_try_pull_sample() and gst_app_sink_try_pull_preroll(), - * which accept a timeout parameter to limit the amount of time to wait. - * - * Appsink will internally use a queue to collect buffers from the streaming - * thread. If the application is not pulling samples fast enough, this queue - * will consume a lot of memory over time. The "max-buffers" property can be - * used to limit the queue size. The "drop" property controls whether the - * streaming thread blocks or if older buffers are dropped when the maximum - * queue size is reached. Note that blocking the streaming thread can negatively - * affect real-time performance and should be avoided. - * - * If a blocking behaviour is not desirable, setting the "emit-signals" property - * to %TRUE will make appsink emit the "new-sample" and "new-preroll" signals - * when a sample can be pulled without blocking. - * - * The "caps" property on appsink can be used to control the formats that - * appsink can receive. This property can contain non-fixed caps, the format of - * the pulled samples can be obtained by getting the sample caps. - * - * If one of the pull-preroll or pull-sample methods return %NULL, the appsink - * is stopped or in the EOS state. You can check for the EOS state with the - * "eos" property or with the gst_app_sink_is_eos() method. - * - * The eos signal can also be used to be informed when the EOS state is reached - * to avoid polling. - */ -public class AppSink : BaseSink, URIHandlerIF -{ - /** the main Gtk struct */ - protected GstAppSink* gstAppSink; - - /** Get the main Gtk struct */ - public GstAppSink* getAppSinkStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstAppSink; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstAppSink; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstAppSink* gstAppSink, bool ownedRef = false) - { - this.gstAppSink = gstAppSink; - super(cast(GstBaseSink*)gstAppSink, ownedRef); - } - - // add the URIHandler capabilities - mixin URIHandlerT!(GstAppSink); - - - /** */ - public static GType getType() - { - return gst_app_sink_get_type(); - } - - /** - * Check if @appsink supports buffer lists. - * - * Returns: %TRUE if @appsink supports buffer lists. - * - * Since: 1.12 - */ - public bool getBufferListSupport() - { - return gst_app_sink_get_buffer_list_support(gstAppSink) != 0; - } - - /** - * Get the configured caps on @appsink. - * - * Returns: the #GstCaps accepted by the sink. gst_caps_unref() after usage. - */ - public Caps getCaps() - { - auto __p = gst_app_sink_get_caps(gstAppSink); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Check if @appsink will drop old buffers when the maximum amount of queued - * buffers is reached. - * - * Returns: %TRUE if @appsink is dropping old buffers when the queue is - * filled. - */ - public bool getDrop() - { - return gst_app_sink_get_drop(gstAppSink) != 0; - } - - /** - * Check if appsink will emit the "new-preroll" and "new-sample" signals. - * - * Returns: %TRUE if @appsink is emitting the "new-preroll" and "new-sample" - * signals. - */ - public bool getEmitSignals() - { - return gst_app_sink_get_emit_signals(gstAppSink) != 0; - } - - /** - * Get the maximum amount of buffers that can be queued in @appsink. - * - * Returns: The maximum amount of buffers that can be queued. - */ - public uint getMaxBuffers() - { - return gst_app_sink_get_max_buffers(gstAppSink); - } - - /** - * Check if @appsink will wait for all buffers to be consumed when an EOS is - * received. - * - * Returns: %TRUE if @appsink will wait for all buffers to be consumed when an - * EOS is received. - */ - public bool getWaitOnEos() - { - return gst_app_sink_get_wait_on_eos(gstAppSink) != 0; - } - - /** - * Check if @appsink is EOS, which is when no more samples can be pulled because - * an EOS event was received. - * - * This function also returns %TRUE when the appsink is not in the PAUSED or - * PLAYING state. - * - * Returns: %TRUE if no more samples can be pulled and the appsink is EOS. - */ - public bool isEos() - { - return gst_app_sink_is_eos(gstAppSink) != 0; - } - - /** - * Get the last preroll sample in @appsink. This was the sample that caused the - * appsink to preroll in the PAUSED state. - * - * This function is typically used when dealing with a pipeline in the PAUSED - * state. Calling this function after doing a seek will give the sample right - * after the seek position. - * - * Calling this function will clear the internal reference to the preroll - * buffer. - * - * Note that the preroll sample will also be returned as the first sample - * when calling gst_app_sink_pull_sample(). - * - * If an EOS event was received before any buffers, this function returns - * %NULL. Use gst_app_sink_is_eos () to check for the EOS condition. - * - * This function blocks until a preroll sample or EOS is received or the appsink - * element is set to the READY/NULL state. - * - * Returns: a #GstSample or NULL when the appsink is stopped or EOS. - * Call gst_sample_unref() after usage. - */ - public Sample pullPreroll() - { - auto __p = gst_app_sink_pull_preroll(gstAppSink); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Sample)(cast(GstSample*) __p, true); - } - - /** - * This function blocks until a sample or EOS becomes available or the appsink - * element is set to the READY/NULL state. - * - * This function will only return samples when the appsink is in the PLAYING - * state. All rendered buffers will be put in a queue so that the application - * can pull samples at its own rate. Note that when the application does not - * pull samples fast enough, the queued buffers could consume a lot of memory, - * especially when dealing with raw video frames. - * - * If an EOS event was received before any buffers, this function returns - * %NULL. Use gst_app_sink_is_eos () to check for the EOS condition. - * - * Returns: a #GstSample or NULL when the appsink is stopped or EOS. - * Call gst_sample_unref() after usage. - */ - public Sample pullSample() - { - auto __p = gst_app_sink_pull_sample(gstAppSink); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Sample)(cast(GstSample*) __p, true); - } - - /** - * Instruct @appsink to enable or disable buffer list support. - * - * For backwards-compatibility reasons applications need to opt in - * to indicate that they will be able to handle buffer lists. - * - * Params: - * enableLists = enable or disable buffer list support - * - * Since: 1.12 - */ - public void setBufferListSupport(bool enableLists) - { - gst_app_sink_set_buffer_list_support(gstAppSink, enableLists); - } - - /** - * Set callbacks which will be executed for each new preroll, new sample and eos. - * This is an alternative to using the signals, it has lower overhead and is thus - * less expensive, but also less flexible. - * - * If callbacks are installed, no signals will be emitted for performance - * reasons. - * - * Before 1.16.3 it was not possible to change the callbacks in a thread-safe - * way. - * - * Params: - * callbacks = the callbacks - * userData = a user_data argument for the callbacks - * notify = a destroy notify function - */ - public void setCallbacks(GstAppSinkCallbacks* callbacks, void* userData, GDestroyNotify notify) - { - gst_app_sink_set_callbacks(gstAppSink, callbacks, userData, notify); - } - - /** - * Set the capabilities on the appsink element. This function takes - * a copy of the caps structure. After calling this method, the sink will only - * accept caps that match @caps. If @caps is non-fixed, or incomplete, - * you must check the caps on the samples to get the actual used caps. - * - * Params: - * caps = caps to set - */ - public void setCaps(Caps caps) - { - gst_app_sink_set_caps(gstAppSink, (caps is null) ? null : caps.getCapsStruct()); - } - - /** - * Instruct @appsink to drop old buffers when the maximum amount of queued - * buffers is reached. - * - * Params: - * drop = the new state - */ - public void setDrop(bool drop) - { - gst_app_sink_set_drop(gstAppSink, drop); - } - - /** - * Make appsink emit the "new-preroll" and "new-sample" signals. This option is - * by default disabled because signal emission is expensive and unneeded when - * the application prefers to operate in pull mode. - * - * Params: - * emit = the new state - */ - public void setEmitSignals(bool emit) - { - gst_app_sink_set_emit_signals(gstAppSink, emit); - } - - /** - * Set the maximum amount of buffers that can be queued in @appsink. After this - * amount of buffers are queued in appsink, any more buffers will block upstream - * elements until a sample is pulled from @appsink. - * - * Params: - * max = the maximum number of buffers to queue - */ - public void setMaxBuffers(uint max) - { - gst_app_sink_set_max_buffers(gstAppSink, max); - } - - /** - * Instruct @appsink to wait for all buffers to be consumed when an EOS is received. - * - * Params: - * wait = the new state - */ - public void setWaitOnEos(bool wait) - { - gst_app_sink_set_wait_on_eos(gstAppSink, wait); - } - - /** - * Get the last preroll sample in @appsink. This was the sample that caused the - * appsink to preroll in the PAUSED state. - * - * This function is typically used when dealing with a pipeline in the PAUSED - * state. Calling this function after doing a seek will give the sample right - * after the seek position. - * - * Calling this function will clear the internal reference to the preroll - * buffer. - * - * Note that the preroll sample will also be returned as the first sample - * when calling gst_app_sink_pull_sample(). - * - * If an EOS event was received before any buffers or the timeout expires, - * this function returns %NULL. Use gst_app_sink_is_eos () to check for the EOS - * condition. - * - * This function blocks until a preroll sample or EOS is received, the appsink - * element is set to the READY/NULL state, or the timeout expires. - * - * Params: - * timeout = the maximum amount of time to wait for the preroll sample - * - * Returns: a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. - * Call gst_sample_unref() after usage. - * - * Since: 1.10 - */ - public Sample tryPullPreroll(GstClockTime timeout) - { - auto __p = gst_app_sink_try_pull_preroll(gstAppSink, timeout); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Sample)(cast(GstSample*) __p, true); - } - - /** - * This function blocks until a sample or EOS becomes available or the appsink - * element is set to the READY/NULL state or the timeout expires. - * - * This function will only return samples when the appsink is in the PLAYING - * state. All rendered buffers will be put in a queue so that the application - * can pull samples at its own rate. Note that when the application does not - * pull samples fast enough, the queued buffers could consume a lot of memory, - * especially when dealing with raw video frames. - * - * If an EOS event was received before any buffers or the timeout expires, - * this function returns %NULL. Use gst_app_sink_is_eos () to check for the EOS - * condition. - * - * Params: - * timeout = the maximum amount of time to wait for a sample - * - * Returns: a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. - * Call gst_sample_unref() after usage. - * - * Since: 1.10 - */ - public Sample tryPullSample(GstClockTime timeout) - { - auto __p = gst_app_sink_try_pull_sample(gstAppSink, timeout); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Sample)(cast(GstSample*) __p, true); - } - - /** - * Signal that the end-of-stream has been reached. This signal is emitted from - * the streaming thread. - */ - gulong addOnEos(void delegate(AppSink) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "eos", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Signal that a new preroll sample is available. - * - * This signal is emitted from the streaming thread and only when the - * "emit-signals" property is %TRUE. - * - * The new preroll sample can be retrieved with the "pull-preroll" action - * signal or gst_app_sink_pull_preroll() either from this signal callback - * or from any other thread. - * - * Note that this signal is only emitted when the "emit-signals" property is - * set to %TRUE, which it is not by default for performance reasons. - */ - gulong addOnNewPreroll(GstFlowReturn delegate(AppSink) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "new-preroll", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Signal that a new sample is available. - * - * This signal is emitted from the streaming thread and only when the - * "emit-signals" property is %TRUE. - * - * The new sample can be retrieved with the "pull-sample" action - * signal or gst_app_sink_pull_sample() either from this signal callback - * or from any other thread. - * - * Note that this signal is only emitted when the "emit-signals" property is - * set to %TRUE, which it is not by default for performance reasons. - */ - gulong addOnNewSample(GstFlowReturn delegate(AppSink) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "new-sample", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Get the last preroll sample in @appsink. This was the sample that caused the - * appsink to preroll in the PAUSED state. - * - * This function is typically used when dealing with a pipeline in the PAUSED - * state. Calling this function after doing a seek will give the sample right - * after the seek position. - * - * Calling this function will clear the internal reference to the preroll - * buffer. - * - * Note that the preroll sample will also be returned as the first sample - * when calling gst_app_sink_pull_sample() or the "pull-sample" action signal. - * - * If an EOS event was received before any buffers, this function returns - * %NULL. Use gst_app_sink_is_eos () to check for the EOS condition. - * - * This function blocks until a preroll sample or EOS is received or the appsink - * element is set to the READY/NULL state. - * - * Returns: a #GstSample or NULL when the appsink is stopped or EOS. - */ - gulong addOnPullPreroll(Sample delegate(AppSink) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "pull-preroll", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * This function blocks until a sample or EOS becomes available or the appsink - * element is set to the READY/NULL state. - * - * This function will only return samples when the appsink is in the PLAYING - * state. All rendered samples will be put in a queue so that the application - * can pull samples at its own rate. - * - * Note that when the application does not pull samples fast enough, the - * queued samples could consume a lot of memory, especially when dealing with - * raw video frames. It's possible to control the behaviour of the queue with - * the "drop" and "max-buffers" properties. - * - * If an EOS event was received before any buffers, this function returns - * %NULL. Use gst_app_sink_is_eos () to check for the EOS condition. - * - * Returns: a #GstSample or NULL when the appsink is stopped or EOS. - */ - gulong addOnPullSample(Sample delegate(AppSink) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "pull-sample", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Get the last preroll sample in @appsink. This was the sample that caused the - * appsink to preroll in the PAUSED state. - * - * This function is typically used when dealing with a pipeline in the PAUSED - * state. Calling this function after doing a seek will give the sample right - * after the seek position. - * - * Calling this function will clear the internal reference to the preroll - * buffer. - * - * Note that the preroll sample will also be returned as the first sample - * when calling gst_app_sink_pull_sample() or the "pull-sample" action signal. - * - * If an EOS event was received before any buffers or the timeout expires, - * this function returns %NULL. Use gst_app_sink_is_eos () to check for the EOS - * condition. - * - * This function blocks until a preroll sample or EOS is received, the appsink - * element is set to the READY/NULL state, or the timeout expires. - * - * Params: - * timeout = the maximum amount of time to wait for the preroll sample - * - * Returns: a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. - * - * Since: 1.10 - */ - gulong addOnTryPullPreroll(Sample delegate(ulong, AppSink) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "try-pull-preroll", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * This function blocks until a sample or EOS becomes available or the appsink - * element is set to the READY/NULL state or the timeout expires. - * - * This function will only return samples when the appsink is in the PLAYING - * state. All rendered samples will be put in a queue so that the application - * can pull samples at its own rate. - * - * Note that when the application does not pull samples fast enough, the - * queued samples could consume a lot of memory, especially when dealing with - * raw video frames. It's possible to control the behaviour of the queue with - * the "drop" and "max-buffers" properties. - * - * If an EOS event was received before any buffers or the timeout expires, - * this function returns %NULL. Use gst_app_sink_is_eos () to check - * for the EOS condition. - * - * Params: - * timeout = the maximum amount of time to wait for a sample - * - * Returns: a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. - * - * Since: 1.10 - */ - gulong addOnTryPullSample(Sample delegate(ulong, AppSink) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "try-pull-sample", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gst/app/AppSrc.d b/generated/gstreamer/gst/app/AppSrc.d deleted file mode 100644 index 207281446..000000000 --- a/generated/gstreamer/gst/app/AppSrc.d +++ /dev/null @@ -1,545 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.app.AppSrc; - -private import gobject.ObjectG; -private import gobject.Signals; -private import gst.app.c.functions; -public import gst.app.c.types; -private import gst.base.BaseSrc; -private import gstreamer.Buffer; -private import gstreamer.BufferList; -private import gstreamer.Caps; -private import gstreamer.Sample; -private import gstreamer.URIHandlerIF; -private import gstreamer.URIHandlerT; -private import std.algorithm; - - -/** - * The appsrc element can be used by applications to insert data into a - * GStreamer pipeline. Unlike most GStreamer elements, appsrc provides - * external API functions. - * - * appsrc can be used by linking with the libgstapp library to access the - * methods directly or by using the appsrc action signals. - * - * Before operating appsrc, the caps property must be set to fixed caps - * describing the format of the data that will be pushed with appsrc. An - * exception to this is when pushing buffers with unknown caps, in which case no - * caps should be set. This is typically true of file-like sources that push raw - * byte buffers. If you don't want to explicitly set the caps, you can use - * gst_app_src_push_sample. This method gets the caps associated with the - * sample and sets them on the appsrc replacing any previously set caps (if - * different from sample's caps). - * - * The main way of handing data to the appsrc element is by calling the - * gst_app_src_push_buffer() method or by emitting the push-buffer action signal. - * This will put the buffer onto a queue from which appsrc will read from in its - * streaming thread. It is important to note that data transport will not happen - * from the thread that performed the push-buffer call. - * - * The "max-bytes" property controls how much data can be queued in appsrc - * before appsrc considers the queue full. A filled internal queue will always - * signal the "enough-data" signal, which signals the application that it should - * stop pushing data into appsrc. The "block" property will cause appsrc to - * block the push-buffer method until free data becomes available again. - * - * When the internal queue is running out of data, the "need-data" signal is - * emitted, which signals the application that it should start pushing more data - * into appsrc. - * - * In addition to the "need-data" and "enough-data" signals, appsrc can emit the - * "seek-data" signal when the "stream-mode" property is set to "seekable" or - * "random-access". The signal argument will contain the new desired position in - * the stream expressed in the unit set with the "format" property. After - * receiving the seek-data signal, the application should push-buffers from the - * new position. - * - * These signals allow the application to operate the appsrc in two different - * ways: - * - * The push mode, in which the application repeatedly calls the push-buffer/push-sample - * method with a new buffer/sample. Optionally, the queue size in the appsrc - * can be controlled with the enough-data and need-data signals by respectively - * stopping/starting the push-buffer/push-sample calls. This is a typical - * mode of operation for the stream-type "stream" and "seekable". Use this - * mode when implementing various network protocols or hardware devices. - * - * The pull mode, in which the need-data signal triggers the next push-buffer call. - * This mode is typically used in the "random-access" stream-type. Use this - * mode for file access or other randomly accessible sources. In this mode, a - * buffer of exactly the amount of bytes given by the need-data signal should be - * pushed into appsrc. - * - * In all modes, the size property on appsrc should contain the total stream - * size in bytes. Setting this property is mandatory in the random-access mode. - * For the stream and seekable modes, setting this property is optional but - * recommended. - * - * When the application has finished pushing data into appsrc, it should call - * gst_app_src_end_of_stream() or emit the end-of-stream action signal. After - * this call, no more buffers can be pushed into appsrc until a flushing seek - * occurs or the state of the appsrc has gone through READY. - */ -public class AppSrc : BaseSrc, URIHandlerIF -{ - /** the main Gtk struct */ - protected GstAppSrc* gstAppSrc; - - /** Get the main Gtk struct */ - public GstAppSrc* getAppSrcStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstAppSrc; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstAppSrc; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstAppSrc* gstAppSrc, bool ownedRef = false) - { - this.gstAppSrc = gstAppSrc; - super(cast(GstBaseSrc*)gstAppSrc, ownedRef); - } - - // add the URIHandler capabilities - mixin URIHandlerT!(GstAppSrc); - - - /** */ - public static GType getType() - { - return gst_app_src_get_type(); - } - - /** - * Indicates to the appsrc element that the last buffer queued in the - * element is the last buffer of the stream. - * - * Returns: #GST_FLOW_OK when the EOS was successfully queued. - * #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. - */ - public GstFlowReturn endOfStream() - { - return gst_app_src_end_of_stream(gstAppSrc); - } - - /** - * Get the configured caps on @appsrc. - * - * Returns: the #GstCaps produced by the source. gst_caps_unref() after usage. - */ - public Caps getCaps() - { - auto __p = gst_app_src_get_caps(gstAppSrc); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Get the number of currently queued bytes inside @appsrc. - * - * Returns: The number of currently queued bytes. - * - * Since: 1.2 - */ - public ulong getCurrentLevelBytes() - { - return gst_app_src_get_current_level_bytes(gstAppSrc); - } - - /** - * Get the duration of the stream in nanoseconds. A value of GST_CLOCK_TIME_NONE means that the duration is - * not known. - * - * Returns: the duration of the stream previously set with gst_app_src_set_duration(); - * - * Since: 1.10 - */ - public GstClockTime getDuration() - { - return gst_app_src_get_duration(gstAppSrc); - } - - /** - * Check if appsrc will emit the "new-preroll" and "new-buffer" signals. - * - * Returns: %TRUE if @appsrc is emitting the "new-preroll" and "new-buffer" - * signals. - */ - public bool getEmitSignals() - { - return gst_app_src_get_emit_signals(gstAppSrc) != 0; - } - - /** - * Retrieve the min and max latencies in @min and @max respectively. - * - * Params: - * min = the min latency - * max = the max latency - */ - public void getLatency(out ulong min, out ulong max) - { - gst_app_src_get_latency(gstAppSrc, &min, &max); - } - - /** - * Get the maximum amount of bytes that can be queued in @appsrc. - * - * Returns: The maximum amount of bytes that can be queued. - */ - public ulong getMaxBytes() - { - return gst_app_src_get_max_bytes(gstAppSrc); - } - - /** - * Get the size of the stream in bytes. A value of -1 means that the size is - * not known. - * - * Returns: the size of the stream previously set with gst_app_src_set_size(); - */ - public long getSize() - { - return gst_app_src_get_size(gstAppSrc); - } - - /** - * Get the stream type. Control the stream type of @appsrc - * with gst_app_src_set_stream_type(). - * - * Returns: the stream type. - */ - public GstAppStreamType getStreamType() - { - return gst_app_src_get_stream_type(gstAppSrc); - } - - /** - * Adds a buffer to the queue of buffers that the appsrc element will - * push to its source pad. This function takes ownership of the buffer. - * - * When the block property is TRUE, this function can block until free - * space becomes available in the queue. - * - * Params: - * buffer = a #GstBuffer to push - * - * Returns: #GST_FLOW_OK when the buffer was successfully queued. - * #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. - * #GST_FLOW_EOS when EOS occurred. - */ - public GstFlowReturn pushBuffer(Buffer buffer) - { - return gst_app_src_push_buffer(gstAppSrc, (buffer is null) ? null : buffer.getBufferStruct()); - } - - /** - * Adds a buffer list to the queue of buffers and buffer lists that the - * appsrc element will push to its source pad. This function takes ownership - * of @buffer_list. - * - * When the block property is TRUE, this function can block until free - * space becomes available in the queue. - * - * Params: - * bufferList = a #GstBufferList to push - * - * Returns: #GST_FLOW_OK when the buffer list was successfully queued. - * #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. - * #GST_FLOW_EOS when EOS occurred. - * - * Since: 1.14 - */ - public GstFlowReturn pushBufferList(BufferList bufferList) - { - return gst_app_src_push_buffer_list(gstAppSrc, (bufferList is null) ? null : bufferList.getBufferListStruct()); - } - - /** - * Extract a buffer from the provided sample and adds it to the queue of - * buffers that the appsrc element will push to its source pad. Any - * previous caps that were set on appsrc will be replaced by the caps - * associated with the sample if not equal. - * - * This function does not take ownership of the - * sample so the sample needs to be unreffed after calling this function. - * - * When the block property is TRUE, this function can block until free - * space becomes available in the queue. - * - * Params: - * sample = a #GstSample from which buffer and caps may be - * extracted - * - * Returns: #GST_FLOW_OK when the buffer was successfully queued. - * #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. - * #GST_FLOW_EOS when EOS occurred. - * - * Since: 1.6 - */ - public GstFlowReturn pushSample(Sample sample) - { - return gst_app_src_push_sample(gstAppSrc, (sample is null) ? null : sample.getSampleStruct()); - } - - /** - * Set callbacks which will be executed when data is needed, enough data has - * been collected or when a seek should be performed. - * This is an alternative to using the signals, it has lower overhead and is thus - * less expensive, but also less flexible. - * - * If callbacks are installed, no signals will be emitted for performance - * reasons. - * - * Before 1.16.3 it was not possible to change the callbacks in a thread-safe - * way. - * - * Params: - * callbacks = the callbacks - * userData = a user_data argument for the callbacks - * notify = a destroy notify function - */ - public void setCallbacks(GstAppSrcCallbacks* callbacks, void* userData, GDestroyNotify notify) - { - gst_app_src_set_callbacks(gstAppSrc, callbacks, userData, notify); - } - - /** - * Set the duration of the stream in nanoseconds. A value of GST_CLOCK_TIME_NONE means that the duration is - * not known. - * - * Params: - * duration = the duration to set - * - * Since: 1.10 - */ - public void setDuration(GstClockTime duration) - { - gst_app_src_set_duration(gstAppSrc, duration); - } - - /** - * Make appsrc emit the "new-preroll" and "new-buffer" signals. This option is - * by default disabled because signal emission is expensive and unneeded when - * the application prefers to operate in pull mode. - * - * Params: - * emit = the new state - */ - public void setEmitSignals(bool emit) - { - gst_app_src_set_emit_signals(gstAppSrc, emit); - } - - /** - * Configure the @min and @max latency in @src. If @min is set to -1, the - * default latency calculations for pseudo-live sources will be used. - * - * Params: - * min = the min latency - * max = the max latency - */ - public void setLatency(ulong min, ulong max) - { - gst_app_src_set_latency(gstAppSrc, min, max); - } - - /** - * Set the maximum amount of bytes that can be queued in @appsrc. - * After the maximum amount of bytes are queued, @appsrc will emit the - * "enough-data" signal. - * - * Params: - * max = the maximum number of bytes to queue - */ - public void setMaxBytes(ulong max) - { - gst_app_src_set_max_bytes(gstAppSrc, max); - } - - /** - * Set the size of the stream in bytes. A value of -1 means that the size is - * not known. - * - * Params: - * size = the size to set - */ - public void setSize(long size) - { - gst_app_src_set_size(gstAppSrc, size); - } - - /** - * Set the stream type on @appsrc. For seekable streams, the "seek" signal must - * be connected to. - * - * A stream_type stream - * - * Params: - * type = the new state - */ - public void setStreamType(GstAppStreamType type) - { - gst_app_src_set_stream_type(gstAppSrc, type); - } - - /** - * Notify @appsrc that no more buffer are available. - */ - gulong addOnEndOfStream(GstFlowReturn delegate(AppSrc) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "end-of-stream", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Signal that the source has enough data. It is recommended that the - * application stops calling push-buffer until the need-data signal is - * emitted again to avoid excessive buffer queueing. - */ - gulong addOnEnoughData(void delegate(AppSrc) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "enough-data", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Signal that the source needs more data. In the callback or from another - * thread you should call push-buffer or end-of-stream. - * - * @length is just a hint and when it is set to -1, any number of bytes can be - * pushed into @appsrc. - * - * You can call push-buffer multiple times until the enough-data signal is - * fired. - * - * Params: - * length = the amount of bytes needed. - */ - gulong addOnNeedData(void delegate(uint, AppSrc) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "need-data", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Adds a buffer to the queue of buffers that the appsrc element will - * push to its source pad. This function does not take ownership of the - * buffer so the buffer needs to be unreffed after calling this function. - * - * When the block property is TRUE, this function can block until free space - * becomes available in the queue. - * - * Params: - * buffer = a buffer to push - */ - gulong addOnPushBuffer(GstFlowReturn delegate(Buffer, AppSrc) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "push-buffer", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Adds a buffer list to the queue of buffers and buffer lists that the - * appsrc element will push to its source pad. This function does not take - * ownership of the buffer list so the buffer list needs to be unreffed - * after calling this function. - * - * When the block property is TRUE, this function can block until free space - * becomes available in the queue. - * - * Params: - * bufferList = a buffer list to push - * - * Since: 1.14 - */ - gulong addOnPushBufferList(GstFlowReturn delegate(BufferList, AppSrc) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "push-buffer-list", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Extract a buffer from the provided sample and adds the extracted buffer - * to the queue of buffers that the appsrc element will - * push to its source pad. This function set the appsrc caps based on the caps - * in the sample and reset the caps if they change. - * Only the caps and the buffer of the provided sample are used and not - * for example the segment in the sample. - * This function does not take ownership of the - * sample so the sample needs to be unreffed after calling this function. - * - * When the block property is TRUE, this function can block until free space - * becomes available in the queue. - * - * Params: - * sample = a sample from which extract buffer to push - * - * Since: 1.6 - */ - gulong addOnPushSample(GstFlowReturn delegate(Sample, AppSrc) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "push-sample", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Seek to the given offset. The next push-buffer should produce buffers from - * the new @offset. - * This callback is only called for seekable stream types. - * - * Params: - * offset = the offset to seek to - * - * Returns: %TRUE if the seek succeeded. - */ - gulong addOnSeekData(bool delegate(ulong, AppSrc) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "seek-data", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Set the capabilities on the appsrc element. This function takes - * a copy of the caps structure. After calling this method, the source will - * only produce caps that match @caps. @caps must be fixed and the caps on the - * buffers must match the caps or left NULL. - * - * Params: - * caps = caps to set - */ - public void appSrcSetCaps(Caps caps) - { - gst_app_src_set_caps(gstAppSrc, (caps is null) ? null : caps.getCapsStruct()); - } -} diff --git a/generated/gstreamer/gst/app/c/functions.d b/generated/gstreamer/gst/app/c/functions.d deleted file mode 100644 index 8c4f21497..000000000 --- a/generated/gstreamer/gst/app/c/functions.d +++ /dev/null @@ -1,182 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.app.c.functions; - -import std.stdio; -import gst.app.c.types; -import gtkd.Loader; - -version (Windows) - static immutable LIBRARY_GSTAPP = ["libgstapp-1.0-0.dll;gstapp-1.0-0.dll;gstapp-1.dll"]; -else version (OSX) - static immutable LIBRARY_GSTAPP = ["libgstapp-1.0.0.dylib"]; -else - static immutable LIBRARY_GSTAPP = ["libgstapp-1.0.so.0"]; - -shared static this() -{ - // gst.app.AppSink - - Linker.link(gst_app_sink_get_type, "gst_app_sink_get_type", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_get_buffer_list_support, "gst_app_sink_get_buffer_list_support", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_get_caps, "gst_app_sink_get_caps", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_get_drop, "gst_app_sink_get_drop", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_get_emit_signals, "gst_app_sink_get_emit_signals", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_get_max_buffers, "gst_app_sink_get_max_buffers", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_get_wait_on_eos, "gst_app_sink_get_wait_on_eos", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_is_eos, "gst_app_sink_is_eos", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_pull_preroll, "gst_app_sink_pull_preroll", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_pull_sample, "gst_app_sink_pull_sample", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_set_buffer_list_support, "gst_app_sink_set_buffer_list_support", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_set_callbacks, "gst_app_sink_set_callbacks", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_set_caps, "gst_app_sink_set_caps", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_set_drop, "gst_app_sink_set_drop", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_set_emit_signals, "gst_app_sink_set_emit_signals", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_set_max_buffers, "gst_app_sink_set_max_buffers", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_set_wait_on_eos, "gst_app_sink_set_wait_on_eos", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_try_pull_preroll, "gst_app_sink_try_pull_preroll", LIBRARY_GSTAPP); - Linker.link(gst_app_sink_try_pull_sample, "gst_app_sink_try_pull_sample", LIBRARY_GSTAPP); - - // gst.app.AppSrc - - Linker.link(gst_app_src_get_type, "gst_app_src_get_type", LIBRARY_GSTAPP); - Linker.link(gst_app_src_end_of_stream, "gst_app_src_end_of_stream", LIBRARY_GSTAPP); - Linker.link(gst_app_src_get_caps, "gst_app_src_get_caps", LIBRARY_GSTAPP); - Linker.link(gst_app_src_get_current_level_bytes, "gst_app_src_get_current_level_bytes", LIBRARY_GSTAPP); - Linker.link(gst_app_src_get_duration, "gst_app_src_get_duration", LIBRARY_GSTAPP); - Linker.link(gst_app_src_get_emit_signals, "gst_app_src_get_emit_signals", LIBRARY_GSTAPP); - Linker.link(gst_app_src_get_latency, "gst_app_src_get_latency", LIBRARY_GSTAPP); - Linker.link(gst_app_src_get_max_bytes, "gst_app_src_get_max_bytes", LIBRARY_GSTAPP); - Linker.link(gst_app_src_get_size, "gst_app_src_get_size", LIBRARY_GSTAPP); - Linker.link(gst_app_src_get_stream_type, "gst_app_src_get_stream_type", LIBRARY_GSTAPP); - Linker.link(gst_app_src_push_buffer, "gst_app_src_push_buffer", LIBRARY_GSTAPP); - Linker.link(gst_app_src_push_buffer_list, "gst_app_src_push_buffer_list", LIBRARY_GSTAPP); - Linker.link(gst_app_src_push_sample, "gst_app_src_push_sample", LIBRARY_GSTAPP); - Linker.link(gst_app_src_set_callbacks, "gst_app_src_set_callbacks", LIBRARY_GSTAPP); - Linker.link(gst_app_src_set_duration, "gst_app_src_set_duration", LIBRARY_GSTAPP); - Linker.link(gst_app_src_set_emit_signals, "gst_app_src_set_emit_signals", LIBRARY_GSTAPP); - Linker.link(gst_app_src_set_latency, "gst_app_src_set_latency", LIBRARY_GSTAPP); - Linker.link(gst_app_src_set_max_bytes, "gst_app_src_set_max_bytes", LIBRARY_GSTAPP); - Linker.link(gst_app_src_set_size, "gst_app_src_set_size", LIBRARY_GSTAPP); - Linker.link(gst_app_src_set_stream_type, "gst_app_src_set_stream_type", LIBRARY_GSTAPP); - Linker.link(gst_app_src_set_caps, "gst_app_src_set_caps", LIBRARY_GSTAPP); -} - -__gshared extern(C) -{ - - // gst.app.AppSink - - GType function() c_gst_app_sink_get_type; - int function(GstAppSink* appsink) c_gst_app_sink_get_buffer_list_support; - GstCaps* function(GstAppSink* appsink) c_gst_app_sink_get_caps; - int function(GstAppSink* appsink) c_gst_app_sink_get_drop; - int function(GstAppSink* appsink) c_gst_app_sink_get_emit_signals; - uint function(GstAppSink* appsink) c_gst_app_sink_get_max_buffers; - int function(GstAppSink* appsink) c_gst_app_sink_get_wait_on_eos; - int function(GstAppSink* appsink) c_gst_app_sink_is_eos; - GstSample* function(GstAppSink* appsink) c_gst_app_sink_pull_preroll; - GstSample* function(GstAppSink* appsink) c_gst_app_sink_pull_sample; - void function(GstAppSink* appsink, int enableLists) c_gst_app_sink_set_buffer_list_support; - void function(GstAppSink* appsink, GstAppSinkCallbacks* callbacks, void* userData, GDestroyNotify notify) c_gst_app_sink_set_callbacks; - void function(GstAppSink* appsink, GstCaps* caps) c_gst_app_sink_set_caps; - void function(GstAppSink* appsink, int drop) c_gst_app_sink_set_drop; - void function(GstAppSink* appsink, int emit) c_gst_app_sink_set_emit_signals; - void function(GstAppSink* appsink, uint max) c_gst_app_sink_set_max_buffers; - void function(GstAppSink* appsink, int wait) c_gst_app_sink_set_wait_on_eos; - GstSample* function(GstAppSink* appsink, GstClockTime timeout) c_gst_app_sink_try_pull_preroll; - GstSample* function(GstAppSink* appsink, GstClockTime timeout) c_gst_app_sink_try_pull_sample; - - // gst.app.AppSrc - - GType function() c_gst_app_src_get_type; - GstFlowReturn function(GstAppSrc* appsrc) c_gst_app_src_end_of_stream; - GstCaps* function(GstAppSrc* appsrc) c_gst_app_src_get_caps; - ulong function(GstAppSrc* appsrc) c_gst_app_src_get_current_level_bytes; - GstClockTime function(GstAppSrc* appsrc) c_gst_app_src_get_duration; - int function(GstAppSrc* appsrc) c_gst_app_src_get_emit_signals; - void function(GstAppSrc* appsrc, ulong* min, ulong* max) c_gst_app_src_get_latency; - ulong function(GstAppSrc* appsrc) c_gst_app_src_get_max_bytes; - long function(GstAppSrc* appsrc) c_gst_app_src_get_size; - GstAppStreamType function(GstAppSrc* appsrc) c_gst_app_src_get_stream_type; - GstFlowReturn function(GstAppSrc* appsrc, GstBuffer* buffer) c_gst_app_src_push_buffer; - GstFlowReturn function(GstAppSrc* appsrc, GstBufferList* bufferList) c_gst_app_src_push_buffer_list; - GstFlowReturn function(GstAppSrc* appsrc, GstSample* sample) c_gst_app_src_push_sample; - void function(GstAppSrc* appsrc, GstAppSrcCallbacks* callbacks, void* userData, GDestroyNotify notify) c_gst_app_src_set_callbacks; - void function(GstAppSrc* appsrc, GstClockTime duration) c_gst_app_src_set_duration; - void function(GstAppSrc* appsrc, int emit) c_gst_app_src_set_emit_signals; - void function(GstAppSrc* appsrc, ulong min, ulong max) c_gst_app_src_set_latency; - void function(GstAppSrc* appsrc, ulong max) c_gst_app_src_set_max_bytes; - void function(GstAppSrc* appsrc, long size) c_gst_app_src_set_size; - void function(GstAppSrc* appsrc, GstAppStreamType type) c_gst_app_src_set_stream_type; - void function(GstAppSrc* appsrc, GstCaps* caps) c_gst_app_src_set_caps; -} - - -// gst.app.AppSink - -alias c_gst_app_sink_get_type gst_app_sink_get_type; -alias c_gst_app_sink_get_buffer_list_support gst_app_sink_get_buffer_list_support; -alias c_gst_app_sink_get_caps gst_app_sink_get_caps; -alias c_gst_app_sink_get_drop gst_app_sink_get_drop; -alias c_gst_app_sink_get_emit_signals gst_app_sink_get_emit_signals; -alias c_gst_app_sink_get_max_buffers gst_app_sink_get_max_buffers; -alias c_gst_app_sink_get_wait_on_eos gst_app_sink_get_wait_on_eos; -alias c_gst_app_sink_is_eos gst_app_sink_is_eos; -alias c_gst_app_sink_pull_preroll gst_app_sink_pull_preroll; -alias c_gst_app_sink_pull_sample gst_app_sink_pull_sample; -alias c_gst_app_sink_set_buffer_list_support gst_app_sink_set_buffer_list_support; -alias c_gst_app_sink_set_callbacks gst_app_sink_set_callbacks; -alias c_gst_app_sink_set_caps gst_app_sink_set_caps; -alias c_gst_app_sink_set_drop gst_app_sink_set_drop; -alias c_gst_app_sink_set_emit_signals gst_app_sink_set_emit_signals; -alias c_gst_app_sink_set_max_buffers gst_app_sink_set_max_buffers; -alias c_gst_app_sink_set_wait_on_eos gst_app_sink_set_wait_on_eos; -alias c_gst_app_sink_try_pull_preroll gst_app_sink_try_pull_preroll; -alias c_gst_app_sink_try_pull_sample gst_app_sink_try_pull_sample; - -// gst.app.AppSrc - -alias c_gst_app_src_get_type gst_app_src_get_type; -alias c_gst_app_src_end_of_stream gst_app_src_end_of_stream; -alias c_gst_app_src_get_caps gst_app_src_get_caps; -alias c_gst_app_src_get_current_level_bytes gst_app_src_get_current_level_bytes; -alias c_gst_app_src_get_duration gst_app_src_get_duration; -alias c_gst_app_src_get_emit_signals gst_app_src_get_emit_signals; -alias c_gst_app_src_get_latency gst_app_src_get_latency; -alias c_gst_app_src_get_max_bytes gst_app_src_get_max_bytes; -alias c_gst_app_src_get_size gst_app_src_get_size; -alias c_gst_app_src_get_stream_type gst_app_src_get_stream_type; -alias c_gst_app_src_push_buffer gst_app_src_push_buffer; -alias c_gst_app_src_push_buffer_list gst_app_src_push_buffer_list; -alias c_gst_app_src_push_sample gst_app_src_push_sample; -alias c_gst_app_src_set_callbacks gst_app_src_set_callbacks; -alias c_gst_app_src_set_duration gst_app_src_set_duration; -alias c_gst_app_src_set_emit_signals gst_app_src_set_emit_signals; -alias c_gst_app_src_set_latency gst_app_src_set_latency; -alias c_gst_app_src_set_max_bytes gst_app_src_set_max_bytes; -alias c_gst_app_src_set_size gst_app_src_set_size; -alias c_gst_app_src_set_stream_type gst_app_src_set_stream_type; -alias c_gst_app_src_set_caps gst_app_src_set_caps; diff --git a/generated/gstreamer/gst/app/c/types.d b/generated/gstreamer/gst/app/c/types.d deleted file mode 100644 index cdf6da4cd..000000000 --- a/generated/gstreamer/gst/app/c/types.d +++ /dev/null @@ -1,199 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.app.c.types; - -public import glib.c.types; -public import gobject.c.types; -public import gst.base.c.types; -public import gstreamer.c.types; - - -/** - * The stream type. - */ -public enum GstAppStreamType -{ - /** - * No seeking is supported in the stream, such as a - * live stream. - */ - STREAM = 0, - /** - * The stream is seekable but seeking might not - * be very fast, such as data from a webserver. - */ - SEEKABLE = 1, - /** - * The stream is seekable and seeking is fast, - * such as in a local file. - */ - RANDOM_ACCESS = 2, -} -alias GstAppStreamType AppStreamType; - -struct GstAppSink -{ - GstBaseSink basesink; - GstAppSinkPrivate* priv; - void*[4] GstReserved; -} - -/** - * A set of callbacks that can be installed on the appsink with - * gst_app_sink_set_callbacks(). - */ -struct GstAppSinkCallbacks -{ - /** */ - extern(C) void function(GstAppSink* appsink, void* userData) eos; - /** */ - extern(C) GstFlowReturn function(GstAppSink* appsink, void* userData) newPreroll; - /** */ - extern(C) GstFlowReturn function(GstAppSink* appsink, void* userData) newSample; - void*[4] GstReserved; -} - -struct GstAppSinkClass -{ - GstBaseSinkClass basesinkClass; - /** */ - extern(C) void function(GstAppSink* appsink) eos; - /** */ - extern(C) GstFlowReturn function(GstAppSink* appsink) newPreroll; - /** */ - extern(C) GstFlowReturn function(GstAppSink* appsink) newSample; - /** - * - * Params: - * appsink = a #GstAppSink - * Returns: a #GstSample or NULL when the appsink is stopped or EOS. - * Call gst_sample_unref() after usage. - */ - extern(C) GstSample* function(GstAppSink* appsink) pullPreroll; - /** - * - * Params: - * appsink = a #GstAppSink - * Returns: a #GstSample or NULL when the appsink is stopped or EOS. - * Call gst_sample_unref() after usage. - */ - extern(C) GstSample* function(GstAppSink* appsink) pullSample; - /** - * - * Params: - * appsink = a #GstAppSink - * timeout = the maximum amount of time to wait for the preroll sample - * Returns: a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. - * Call gst_sample_unref() after usage. - */ - extern(C) GstSample* function(GstAppSink* appsink, GstClockTime timeout) tryPullPreroll; - /** - * - * Params: - * appsink = a #GstAppSink - * timeout = the maximum amount of time to wait for a sample - * Returns: a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. - * Call gst_sample_unref() after usage. - */ - extern(C) GstSample* function(GstAppSink* appsink, GstClockTime timeout) tryPullSample; - void*[2] GstReserved; -} - -struct GstAppSinkPrivate; - -struct GstAppSrc -{ - GstBaseSrc basesrc; - GstAppSrcPrivate* priv; - void*[4] GstReserved; -} - -/** - * A set of callbacks that can be installed on the appsrc with - * gst_app_src_set_callbacks(). - */ -struct GstAppSrcCallbacks -{ - /** */ - extern(C) void function(GstAppSrc* src, uint length, void* userData) needData; - /** */ - extern(C) void function(GstAppSrc* src, void* userData) enoughData; - /** */ - extern(C) int function(GstAppSrc* src, ulong offset, void* userData) seekData; - void*[4] GstReserved; -} - -struct GstAppSrcClass -{ - GstBaseSrcClass basesrcClass; - /** */ - extern(C) void function(GstAppSrc* appsrc, uint length) needData; - /** */ - extern(C) void function(GstAppSrc* appsrc) enoughData; - /** */ - extern(C) int function(GstAppSrc* appsrc, ulong offset) seekData; - /** - * - * Params: - * appsrc = a #GstAppSrc - * buffer = a #GstBuffer to push - * Returns: #GST_FLOW_OK when the buffer was successfully queued. - * #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. - * #GST_FLOW_EOS when EOS occurred. - */ - extern(C) GstFlowReturn function(GstAppSrc* appsrc, GstBuffer* buffer) pushBuffer; - /** - * - * Params: - * appsrc = a #GstAppSrc - * Returns: #GST_FLOW_OK when the EOS was successfully queued. - * #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. - */ - extern(C) GstFlowReturn function(GstAppSrc* appsrc) endOfStream; - /** - * - * Params: - * appsrc = a #GstAppSrc - * sample = a #GstSample from which buffer and caps may be - * extracted - * Returns: #GST_FLOW_OK when the buffer was successfully queued. - * #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. - * #GST_FLOW_EOS when EOS occurred. - */ - extern(C) GstFlowReturn function(GstAppSrc* appsrc, GstSample* sample) pushSample; - /** - * - * Params: - * appsrc = a #GstAppSrc - * bufferList = a #GstBufferList to push - * Returns: #GST_FLOW_OK when the buffer list was successfully queued. - * #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. - * #GST_FLOW_EOS when EOS occurred. - */ - extern(C) GstFlowReturn function(GstAppSrc* appsrc, GstBufferList* bufferList) pushBufferList; - void*[2] GstReserved; -} - -struct GstAppSrcPrivate; diff --git a/generated/gstreamer/gst/base/Adapter.d b/generated/gstreamer/gst/base/Adapter.d deleted file mode 100644 index 4f43330e6..000000000 --- a/generated/gstreamer/gst/base/Adapter.d +++ /dev/null @@ -1,851 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.Adapter; - -private import glib.Bytes; -private import glib.ConstructionException; -private import glib.ListG; -private import gobject.ObjectG; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gstreamer.Buffer; -private import gstreamer.BufferList; - - -/** - * This class is for elements that receive buffers in an undesired size. - * While for example raw video contains one image per buffer, the same is not - * true for a lot of other formats, especially those that come directly from - * a file. So if you have undefined buffer sizes and require a specific size, - * this object is for you. - * - * An adapter is created with gst_adapter_new(). It can be freed again with - * g_object_unref(). - * - * The theory of operation is like this: All buffers received are put - * into the adapter using gst_adapter_push() and the data is then read back - * in chunks of the desired size using gst_adapter_map()/gst_adapter_unmap() - * and/or gst_adapter_copy(). After the data has been processed, it is freed - * using gst_adapter_unmap(). - * - * Other methods such as gst_adapter_take() and gst_adapter_take_buffer() - * combine gst_adapter_map() and gst_adapter_unmap() in one method and are - * potentially more convenient for some use cases. - * - * For example, a sink pad's chain function that needs to pass data to a library - * in 512-byte chunks could be implemented like this: - * |[ - * static GstFlowReturn - * sink_pad_chain (GstPad *pad, GstObject *parent, GstBuffer *buffer) - * { - * MyElement *this; - * GstAdapter *adapter; - * GstFlowReturn ret = GST_FLOW_OK; - * - * this = MY_ELEMENT (parent); - * - * adapter = this->adapter; - * - * // put buffer into adapter - * gst_adapter_push (adapter, buffer); - * - * // while we can read out 512 bytes, process them - * while (gst_adapter_available (adapter) >= 512 && ret == GST_FLOW_OK) { - * const guint8 *data = gst_adapter_map (adapter, 512); - * // use flowreturn as an error value - * ret = my_library_foo (data); - * gst_adapter_unmap (adapter); - * gst_adapter_flush (adapter, 512); - * } - * return ret; - * } - * ]| - * - * For another example, a simple element inside GStreamer that uses #GstAdapter - * is the libvisual element. - * - * An element using #GstAdapter in its sink pad chain function should ensure that - * when the FLUSH_STOP event is received, that any queued data is cleared using - * gst_adapter_clear(). Data should also be cleared or processed on EOS and - * when changing state from %GST_STATE_PAUSED to %GST_STATE_READY. - * - * Also check the GST_BUFFER_FLAG_DISCONT flag on the buffer. Some elements might - * need to clear the adapter after a discontinuity. - * - * The adapter will keep track of the timestamps of the buffers - * that were pushed. The last seen timestamp before the current position - * can be queried with gst_adapter_prev_pts(). This function can - * optionally return the number of bytes between the start of the buffer that - * carried the timestamp and the current adapter position. The distance is - * useful when dealing with, for example, raw audio samples because it allows - * you to calculate the timestamp of the current adapter position by using the - * last seen timestamp and the amount of bytes since. Additionally, the - * gst_adapter_prev_pts_at_offset() can be used to determine the last - * seen timestamp at a particular offset in the adapter. - * - * The adapter will also keep track of the offset of the buffers - * (#GST_BUFFER_OFFSET) that were pushed. The last seen offset before the - * current position can be queried with gst_adapter_prev_offset(). This function - * can optionally return the number of bytes between the start of the buffer - * that carried the offset and the current adapter position. - * - * Additionally the adapter also keeps track of the PTS, DTS and buffer offset - * at the last discontinuity, which can be retrieved with - * gst_adapter_pts_at_discont(), gst_adapter_dts_at_discont() and - * gst_adapter_offset_at_discont(). The number of bytes that were consumed - * since then can be queried with gst_adapter_distance_from_discont(). - * - * A last thing to note is that while #GstAdapter is pretty optimized, - * merging buffers still might be an operation that requires a `malloc()` and - * `memcpy()` operation, and these operations are not the fastest. Because of - * this, some functions like gst_adapter_available_fast() are provided to help - * speed up such cases should you want to. To avoid repeated memory allocations, - * gst_adapter_copy() can be used to copy data into a (statically allocated) - * user provided buffer. - * - * #GstAdapter is not MT safe. All operations on an adapter must be serialized by - * the caller. This is not normally a problem, however, as the normal use case - * of #GstAdapter is inside one pad's chain function, in which case access is - * serialized via the pad's STREAM_LOCK. - * - * Note that gst_adapter_push() takes ownership of the buffer passed. Use - * gst_buffer_ref() before pushing it into the adapter if you still want to - * access the buffer later. The adapter will never modify the data in the - * buffer pushed in it. - */ -public class Adapter : ObjectG -{ - /** the main Gtk struct */ - protected GstAdapter* gstAdapter; - - /** Get the main Gtk struct */ - public GstAdapter* getAdapterStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstAdapter; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstAdapter; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstAdapter* gstAdapter, bool ownedRef = false) - { - this.gstAdapter = gstAdapter; - super(cast(GObject*)gstAdapter, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_adapter_get_type(); - } - - /** - * Creates a new #GstAdapter. Free with g_object_unref(). - * - * Returns: a new #GstAdapter - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_adapter_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstAdapter*) __p, true); - } - - /** - * Gets the maximum amount of bytes available, that is it returns the maximum - * value that can be supplied to gst_adapter_map() without that function - * returning %NULL. - * - * Returns: number of bytes available in @adapter - */ - public size_t available() - { - return gst_adapter_available(gstAdapter); - } - - /** - * Gets the maximum number of bytes that are immediately available without - * requiring any expensive operations (like copying the data into a - * temporary buffer). - * - * Returns: number of bytes that are available in @adapter without expensive - * operations - */ - public size_t availableFast() - { - return gst_adapter_available_fast(gstAdapter); - } - - /** - * Removes all buffers from @adapter. - */ - public void clear() - { - gst_adapter_clear(gstAdapter); - } - - /** - * Copies @size bytes of data starting at @offset out of the buffers - * contained in #GstAdapter into an array @dest provided by the caller. - * - * The array @dest should be large enough to contain @size bytes. - * The user should check that the adapter has (@offset + @size) bytes - * available before calling this function. - * - * Params: - * dest = the memory to copy into - * offset = the bytes offset in the adapter to start from - */ - public void copy(ubyte[] dest, size_t offset) - { - gst_adapter_copy(gstAdapter, dest.ptr, offset, cast(size_t)dest.length); - } - - /** - * Similar to gst_adapter_copy, but more suitable for language bindings. @size - * bytes of data starting at @offset will be copied out of the buffers contained - * in @adapter and into a new #GBytes structure which is returned. Depending on - * the value of the @size argument an empty #GBytes structure may be returned. - * - * Params: - * offset = the bytes offset in the adapter to start from - * size = the number of bytes to copy - * - * Returns: A new #GBytes structure containing the copied data. - * - * Since: 1.4 - */ - public Bytes copyBytes(size_t offset, size_t size) - { - auto __p = gst_adapter_copy_bytes(gstAdapter, offset, size); - - if(__p is null) - { - return null; - } - - return new Bytes(cast(GBytes*) __p, true); - } - - /** - * Get the distance in bytes since the last buffer with the - * %GST_BUFFER_FLAG_DISCONT flag. - * - * The distance will be reset to 0 for all buffers with - * %GST_BUFFER_FLAG_DISCONT on them, and then calculated for all other - * following buffers based on their size. - * - * Returns: The offset. Can be %GST_BUFFER_OFFSET_NONE. - * - * Since: 1.10 - */ - public ulong distanceFromDiscont() - { - return gst_adapter_distance_from_discont(gstAdapter); - } - - /** - * Get the DTS that was on the last buffer with the GST_BUFFER_FLAG_DISCONT - * flag, or GST_CLOCK_TIME_NONE. - * - * Returns: The DTS at the last discont or GST_CLOCK_TIME_NONE. - * - * Since: 1.10 - */ - public GstClockTime dtsAtDiscont() - { - return gst_adapter_dts_at_discont(gstAdapter); - } - - /** - * Flushes the first @flush bytes in the @adapter. The caller must ensure that - * at least this many bytes are available. - * - * See also: gst_adapter_map(), gst_adapter_unmap() - * - * Params: - * flush = the number of bytes to flush - */ - public void flush(size_t flush) - { - gst_adapter_flush(gstAdapter, flush); - } - - /** - * Returns a #GstBuffer containing the first @nbytes of the @adapter, but - * does not flush them from the adapter. See gst_adapter_take_buffer() - * for details. - * - * Caller owns a reference to the returned buffer. gst_buffer_unref() after - * usage. - * - * Free-function: gst_buffer_unref - * - * Params: - * nbytes = the number of bytes to get - * - * Returns: a #GstBuffer containing the first - * @nbytes of the adapter, or %NULL if @nbytes bytes are not available. - * gst_buffer_unref() when no longer needed. - * - * Since: 1.6 - */ - public Buffer getBuffer(size_t nbytes) - { - auto __p = gst_adapter_get_buffer(gstAdapter, nbytes); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Returns a #GstBuffer containing the first @nbytes of the @adapter, but - * does not flush them from the adapter. See gst_adapter_take_buffer_fast() - * for details. - * - * Caller owns a reference to the returned buffer. gst_buffer_unref() after - * usage. - * - * Free-function: gst_buffer_unref - * - * Params: - * nbytes = the number of bytes to get - * - * Returns: a #GstBuffer containing the first - * @nbytes of the adapter, or %NULL if @nbytes bytes are not available. - * gst_buffer_unref() when no longer needed. - * - * Since: 1.6 - */ - public Buffer getBufferFast(size_t nbytes) - { - auto __p = gst_adapter_get_buffer_fast(gstAdapter, nbytes); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Returns a #GstBufferList of buffers containing the first @nbytes bytes of - * the @adapter but does not flush them from the adapter. See - * gst_adapter_take_buffer_list() for details. - * - * Caller owns the returned list. Call gst_buffer_list_unref() to free - * the list after usage. - * - * Params: - * nbytes = the number of bytes to get - * - * Returns: a #GstBufferList of buffers containing - * the first @nbytes of the adapter, or %NULL if @nbytes bytes are not - * available - * - * Since: 1.6 - */ - public BufferList getBufferList(size_t nbytes) - { - auto __p = gst_adapter_get_buffer_list(gstAdapter, nbytes); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(BufferList)(cast(GstBufferList*) __p, true); - } - - /** - * Returns a #GList of buffers containing the first @nbytes bytes of the - * @adapter, but does not flush them from the adapter. See - * gst_adapter_take_list() for details. - * - * Caller owns returned list and contained buffers. gst_buffer_unref() each - * buffer in the list before freeing the list after usage. - * - * Params: - * nbytes = the number of bytes to get - * - * Returns: a #GList of - * buffers containing the first @nbytes of the adapter, or %NULL if @nbytes - * bytes are not available - * - * Since: 1.6 - */ - public ListG getList(size_t nbytes) - { - auto __p = gst_adapter_get_list(gstAdapter, nbytes); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Gets the first @size bytes stored in the @adapter. The returned pointer is - * valid until the next function is called on the adapter. - * - * Note that setting the returned pointer as the data of a #GstBuffer is - * incorrect for general-purpose plugins. The reason is that if a downstream - * element stores the buffer so that it has access to it outside of the bounds - * of its chain function, the buffer will have an invalid data pointer after - * your element flushes the bytes. In that case you should use - * gst_adapter_take(), which returns a freshly-allocated buffer that you can set - * as #GstBuffer memory or the potentially more performant - * gst_adapter_take_buffer(). - * - * Returns %NULL if @size bytes are not available. - * - * Params: - * size = the number of bytes to map/peek - * - * Returns: a pointer to the first @size bytes of data, or %NULL - */ - public ubyte[] map(size_t size) - { - auto __p = gst_adapter_map(gstAdapter, size); - - return cast(ubyte[])__p[0 .. size]; - } - - /** - * Scan for pattern @pattern with applied mask @mask in the adapter data, - * starting from offset @offset. - * - * The bytes in @pattern and @mask are interpreted left-to-right, regardless - * of endianness. All four bytes of the pattern must be present in the - * adapter for it to match, even if the first or last bytes are masked out. - * - * It is an error to call this function without making sure that there is - * enough data (offset+size bytes) in the adapter. - * - * This function calls gst_adapter_masked_scan_uint32_peek() passing %NULL - * for value. - * - * Params: - * mask = mask to apply to data before matching against @pattern - * pattern = pattern to match (after mask is applied) - * offset = offset into the adapter data from which to start scanning, returns - * the last scanned position. - * size = number of bytes to scan from offset - * - * Returns: offset of the first match, or -1 if no match was found. - * - * Example: - * |[ - * // Assume the adapter contains 0x00 0x01 0x02 ... 0xfe 0xff - * - * gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x00010203, 0, 256); - * // -> returns 0 - * gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x00010203, 1, 255); - * // -> returns -1 - * gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x01020304, 1, 255); - * // -> returns 1 - * gst_adapter_masked_scan_uint32 (adapter, 0xffff, 0x0001, 0, 256); - * // -> returns -1 - * gst_adapter_masked_scan_uint32 (adapter, 0xffff, 0x0203, 0, 256); - * // -> returns 0 - * gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 256); - * // -> returns 2 - * gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 4); - * // -> returns -1 - * ]| - */ - public ptrdiff_t maskedScanUint32(uint mask, uint pattern, size_t offset, size_t size) - { - return gst_adapter_masked_scan_uint32(gstAdapter, mask, pattern, offset, size); - } - - /** - * Scan for pattern @pattern with applied mask @mask in the adapter data, - * starting from offset @offset. If a match is found, the value that matched - * is returned through @value, otherwise @value is left untouched. - * - * The bytes in @pattern and @mask are interpreted left-to-right, regardless - * of endianness. All four bytes of the pattern must be present in the - * adapter for it to match, even if the first or last bytes are masked out. - * - * It is an error to call this function without making sure that there is - * enough data (offset+size bytes) in the adapter. - * - * Params: - * mask = mask to apply to data before matching against @pattern - * pattern = pattern to match (after mask is applied) - * offset = offset into the adapter data from which to start scanning, returns - * the last scanned position. - * size = number of bytes to scan from offset - * value = pointer to uint32 to return matching data - * - * Returns: offset of the first match, or -1 if no match was found. - */ - public ptrdiff_t maskedScanUint32Peek(uint mask, uint pattern, size_t offset, size_t size, out uint value) - { - return gst_adapter_masked_scan_uint32_peek(gstAdapter, mask, pattern, offset, size, &value); - } - - /** - * Get the offset that was on the last buffer with the GST_BUFFER_FLAG_DISCONT - * flag, or GST_BUFFER_OFFSET_NONE. - * - * Returns: The offset at the last discont or GST_BUFFER_OFFSET_NONE. - * - * Since: 1.10 - */ - public ulong offsetAtDiscont() - { - return gst_adapter_offset_at_discont(gstAdapter); - } - - /** - * Get the dts that was before the current byte in the adapter. When - * @distance is given, the amount of bytes between the dts and the current - * position is returned. - * - * The dts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when - * the adapter is first created or when it is cleared. This also means that before - * the first byte with a dts is removed from the adapter, the dts - * and distance returned are GST_CLOCK_TIME_NONE and 0 respectively. - * - * Params: - * distance = pointer to location for distance, or %NULL - * - * Returns: The previously seen dts. - */ - public GstClockTime prevDts(out ulong distance) - { - return gst_adapter_prev_dts(gstAdapter, &distance); - } - - /** - * Get the dts that was before the byte at offset @offset in the adapter. When - * @distance is given, the amount of bytes between the dts and the current - * position is returned. - * - * The dts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when - * the adapter is first created or when it is cleared. This also means that before - * the first byte with a dts is removed from the adapter, the dts - * and distance returned are GST_CLOCK_TIME_NONE and 0 respectively. - * - * Params: - * offset = the offset in the adapter at which to get timestamp - * distance = pointer to location for distance, or %NULL - * - * Returns: The previously seen dts at given offset. - * - * Since: 1.2 - */ - public GstClockTime prevDtsAtOffset(size_t offset, out ulong distance) - { - return gst_adapter_prev_dts_at_offset(gstAdapter, offset, &distance); - } - - /** - * Get the offset that was before the current byte in the adapter. When - * @distance is given, the amount of bytes between the offset and the current - * position is returned. - * - * The offset is reset to GST_BUFFER_OFFSET_NONE and the distance is set to 0 - * when the adapter is first created or when it is cleared. This also means that - * before the first byte with an offset is removed from the adapter, the offset - * and distance returned are GST_BUFFER_OFFSET_NONE and 0 respectively. - * - * Params: - * distance = pointer to a location for distance, or %NULL - * - * Returns: The previous seen offset. - * - * Since: 1.10 - */ - public ulong prevOffset(out ulong distance) - { - return gst_adapter_prev_offset(gstAdapter, &distance); - } - - /** - * Get the pts that was before the current byte in the adapter. When - * @distance is given, the amount of bytes between the pts and the current - * position is returned. - * - * The pts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when - * the adapter is first created or when it is cleared. This also means that before - * the first byte with a pts is removed from the adapter, the pts - * and distance returned are GST_CLOCK_TIME_NONE and 0 respectively. - * - * Params: - * distance = pointer to location for distance, or %NULL - * - * Returns: The previously seen pts. - */ - public GstClockTime prevPts(out ulong distance) - { - return gst_adapter_prev_pts(gstAdapter, &distance); - } - - /** - * Get the pts that was before the byte at offset @offset in the adapter. When - * @distance is given, the amount of bytes between the pts and the current - * position is returned. - * - * The pts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when - * the adapter is first created or when it is cleared. This also means that before - * the first byte with a pts is removed from the adapter, the pts - * and distance returned are GST_CLOCK_TIME_NONE and 0 respectively. - * - * Params: - * offset = the offset in the adapter at which to get timestamp - * distance = pointer to location for distance, or %NULL - * - * Returns: The previously seen pts at given offset. - * - * Since: 1.2 - */ - public GstClockTime prevPtsAtOffset(size_t offset, out ulong distance) - { - return gst_adapter_prev_pts_at_offset(gstAdapter, offset, &distance); - } - - /** - * Get the PTS that was on the last buffer with the GST_BUFFER_FLAG_DISCONT - * flag, or GST_CLOCK_TIME_NONE. - * - * Returns: The PTS at the last discont or GST_CLOCK_TIME_NONE. - * - * Since: 1.10 - */ - public GstClockTime ptsAtDiscont() - { - return gst_adapter_pts_at_discont(gstAdapter); - } - - /** - * Adds the data from @buf to the data stored inside @adapter and takes - * ownership of the buffer. - * - * Params: - * buf = a #GstBuffer to add to queue in the adapter - */ - public void push(Buffer buf) - { - gst_adapter_push(gstAdapter, (buf is null) ? null : buf.getBufferStruct()); - } - - /** - * Returns a freshly allocated buffer containing the first @nbytes bytes of the - * @adapter. The returned bytes will be flushed from the adapter. - * - * Caller owns returned value. g_free after usage. - * - * Free-function: g_free - * - * Params: - * nbytes = the number of bytes to take - * - * Returns: oven-fresh hot data, or %NULL if @nbytes bytes are not available - */ - public ubyte[] take(size_t nbytes) - { - auto __p = gst_adapter_take(gstAdapter, nbytes); - - return cast(ubyte[])__p[0 .. nbytes]; - } - - /** - * Returns a #GstBuffer containing the first @nbytes bytes of the - * @adapter. The returned bytes will be flushed from the adapter. - * This function is potentially more performant than - * gst_adapter_take() since it can reuse the memory in pushed buffers - * by subbuffering or merging. This function will always return a - * buffer with a single memory region. - * - * Note that no assumptions should be made as to whether certain buffer - * flags such as the DISCONT flag are set on the returned buffer, or not. - * The caller needs to explicitly set or unset flags that should be set or - * unset. - * - * Since 1.6 this will also copy over all GstMeta of the input buffers except - * for meta with the %GST_META_FLAG_POOLED flag or with the "memory" tag. - * - * Caller owns a reference to the returned buffer. gst_buffer_unref() after - * usage. - * - * Free-function: gst_buffer_unref - * - * Params: - * nbytes = the number of bytes to take - * - * Returns: a #GstBuffer containing the first - * @nbytes of the adapter, or %NULL if @nbytes bytes are not available. - * gst_buffer_unref() when no longer needed. - */ - public Buffer takeBuffer(size_t nbytes) - { - auto __p = gst_adapter_take_buffer(gstAdapter, nbytes); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Returns a #GstBuffer containing the first @nbytes of the @adapter. - * The returned bytes will be flushed from the adapter. This function - * is potentially more performant than gst_adapter_take_buffer() since - * it can reuse the memory in pushed buffers by subbuffering or - * merging. Unlike gst_adapter_take_buffer(), the returned buffer may - * be composed of multiple non-contiguous #GstMemory objects, no - * copies are made. - * - * Note that no assumptions should be made as to whether certain buffer - * flags such as the DISCONT flag are set on the returned buffer, or not. - * The caller needs to explicitly set or unset flags that should be set or - * unset. - * - * This will also copy over all GstMeta of the input buffers except - * for meta with the %GST_META_FLAG_POOLED flag or with the "memory" tag. - * - * This function can return buffer up to the return value of - * gst_adapter_available() without making copies if possible. - * - * Caller owns a reference to the returned buffer. gst_buffer_unref() after - * usage. - * - * Free-function: gst_buffer_unref - * - * Params: - * nbytes = the number of bytes to take - * - * Returns: a #GstBuffer containing the first - * @nbytes of the adapter, or %NULL if @nbytes bytes are not available. - * gst_buffer_unref() when no longer needed. - * - * Since: 1.2 - */ - public Buffer takeBufferFast(size_t nbytes) - { - auto __p = gst_adapter_take_buffer_fast(gstAdapter, nbytes); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Returns a #GstBufferList of buffers containing the first @nbytes bytes of - * the @adapter. The returned bytes will be flushed from the adapter. - * When the caller can deal with individual buffers, this function is more - * performant because no memory should be copied. - * - * Caller owns the returned list. Call gst_buffer_list_unref() to free - * the list after usage. - * - * Params: - * nbytes = the number of bytes to take - * - * Returns: a #GstBufferList of buffers containing - * the first @nbytes of the adapter, or %NULL if @nbytes bytes are not - * available - * - * Since: 1.6 - */ - public BufferList takeBufferList(size_t nbytes) - { - auto __p = gst_adapter_take_buffer_list(gstAdapter, nbytes); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(BufferList)(cast(GstBufferList*) __p, true); - } - - /** - * Returns a #GList of buffers containing the first @nbytes bytes of the - * @adapter. The returned bytes will be flushed from the adapter. - * When the caller can deal with individual buffers, this function is more - * performant because no memory should be copied. - * - * Caller owns returned list and contained buffers. gst_buffer_unref() each - * buffer in the list before freeing the list after usage. - * - * Params: - * nbytes = the number of bytes to take - * - * Returns: a #GList of - * buffers containing the first @nbytes of the adapter, or %NULL if @nbytes - * bytes are not available - */ - public ListG takeList(size_t nbytes) - { - auto __p = gst_adapter_take_list(gstAdapter, nbytes); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Releases the memory obtained with the last gst_adapter_map(). - */ - public void unmap() - { - gst_adapter_unmap(gstAdapter); - } -} diff --git a/generated/gstreamer/gst/base/Aggregator.d b/generated/gstreamer/gst/base/Aggregator.d deleted file mode 100644 index 95753ed39..000000000 --- a/generated/gstreamer/gst/base/Aggregator.d +++ /dev/null @@ -1,365 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.Aggregator; - -private import glib.MemorySlice; -private import gobject.ObjectG; -private import gobject.Signals; -private import gst.base.AggregatorPad; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gstreamer.AllocationParams; -private import gstreamer.Allocator; -private import gstreamer.Buffer; -private import gstreamer.BufferList; -private import gstreamer.BufferPool; -private import gstreamer.Caps; -private import gstreamer.Element; -private import gstreamer.Sample; -private import gstreamer.Segment; -private import gstreamer.Structure; -private import std.algorithm; - - -/** - * Manages a set of pads with the purpose of aggregating their buffers. - * Control is given to the subclass when all pads have data. - * - * * Base class for mixers and muxers. Subclasses should at least implement - * the #GstAggregatorClass.aggregate() virtual method. - * - * * Installs a #GstPadChainFunction, a #GstPadEventFullFunction and a - * #GstPadQueryFunction to queue all serialized data packets per sink pad. - * Subclasses should not overwrite those, but instead implement - * #GstAggregatorClass.sink_event() and #GstAggregatorClass.sink_query() as - * needed. - * - * * When data is queued on all pads, the aggregate vmethod is called. - * - * * One can peek at the data on any given GstAggregatorPad with the - * gst_aggregator_pad_peek_buffer() method, and remove it from the pad - * with the gst_aggregator_pad_pop_buffer () method. When a buffer - * has been taken with pop_buffer (), a new buffer can be queued - * on that pad. - * - * * When gst_aggregator_pad_peek_buffer() or gst_aggregator_pad_has_buffer() - * are called, a reference is taken to the returned buffer, which stays - * valid until either: - * - * - gst_aggregator_pad_pop_buffer() is called, in which case the caller - * is guaranteed that the buffer they receive is the same as the peeked - * buffer. - * - gst_aggregator_pad_drop_buffer() is called, in which case the caller - * is guaranteed that the dropped buffer is the one that was peeked. - * - the subclass implementation of #GstAggregatorClass.aggregate returns. - * - * Subsequent calls to gst_aggregator_pad_peek_buffer() or - * gst_aggregator_pad_has_buffer() return / check the same buffer that was - * returned / checked, until one of the conditions listed above is met. - * - * Subclasses are only allowed to call these methods from the aggregate - * thread. - * - * * If the subclass wishes to push a buffer downstream in its aggregate - * implementation, it should do so through the - * gst_aggregator_finish_buffer() method. This method will take care - * of sending and ordering mandatory events such as stream start, caps - * and segment. Buffer lists can also be pushed out with - * gst_aggregator_finish_buffer_list(). - * - * * Same goes for EOS events, which should not be pushed directly by the - * subclass, it should instead return GST_FLOW_EOS in its aggregate - * implementation. - * - * * Note that the aggregator logic regarding gap event handling is to turn - * these into gap buffers with matching PTS and duration. It will also - * flag these buffers with GST_BUFFER_FLAG_GAP and GST_BUFFER_FLAG_DROPPABLE - * to ease their identification and subsequent processing. - * - * * Subclasses must use (a subclass of) #GstAggregatorPad for both their - * sink and source pads. - * See gst_element_class_add_static_pad_template_with_gtype(). - * - * This class used to live in gst-plugins-bad and was moved to core. - * - * Since: 1.14 - */ -public class Aggregator : Element -{ - /** the main Gtk struct */ - protected GstAggregator* gstAggregator; - - /** Get the main Gtk struct */ - public GstAggregator* getAggregatorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstAggregator; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstAggregator; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstAggregator* gstAggregator, bool ownedRef = false) - { - this.gstAggregator = gstAggregator; - super(cast(GstElement*)gstAggregator, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_aggregator_get_type(); - } - - /** - * This method will push the provided output buffer downstream. If needed, - * mandatory events such as stream-start, caps, and segment events will be - * sent before pushing the buffer. - * - * Params: - * buffer = the #GstBuffer to push. - */ - public GstFlowReturn finishBuffer(Buffer buffer) - { - return gst_aggregator_finish_buffer(gstAggregator, (buffer is null) ? null : buffer.getBufferStruct()); - } - - /** - * This method will push the provided output buffer list downstream. If needed, - * mandatory events such as stream-start, caps, and segment events will be - * sent before pushing the buffer. - * - * Params: - * bufferlist = the #GstBufferList to push. - * - * Since: 1.18 - */ - public GstFlowReturn finishBufferList(BufferList bufferlist) - { - return gst_aggregator_finish_buffer_list(gstAggregator, (bufferlist is null) ? null : bufferlist.getBufferListStruct()); - } - - /** - * Lets #GstAggregator sub-classes get the memory @allocator - * acquired by the base class and its @params. - * - * Unref the @allocator after use it. - * - * Params: - * allocator = the #GstAllocator - * used - * params = the - * #GstAllocationParams of @allocator - */ - public void getAllocator(out Allocator allocator, out AllocationParams params) - { - GstAllocator* outallocator = null; - GstAllocationParams* outparams = sliceNew!GstAllocationParams(); - - gst_aggregator_get_allocator(gstAggregator, &outallocator, outparams); - - allocator = ObjectG.getDObject!(Allocator)(outallocator); - params = ObjectG.getDObject!(AllocationParams)(outparams, true); - } - - /** - * Returns: the instance of the #GstBufferPool used - * by @trans; free it after use it - */ - public BufferPool getBufferPool() - { - auto __p = gst_aggregator_get_buffer_pool(gstAggregator); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(BufferPool)(cast(GstBufferPool*) __p, true); - } - - /** - * Retrieves the latency values reported by @self in response to the latency - * query, or %GST_CLOCK_TIME_NONE if there is not live source connected and the element - * will not wait for the clock. - * - * Typically only called by subclasses. - * - * Returns: The latency or %GST_CLOCK_TIME_NONE if the element does not sync - */ - public GstClockTime getLatency() - { - return gst_aggregator_get_latency(gstAggregator); - } - - /** - * Negotiates src pad caps with downstream elements. - * Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again - * if #GstAggregatorClass.negotiate() fails. - * - * Returns: %TRUE if the negotiation succeeded, else %FALSE. - * - * Since: 1.18 - */ - public bool negotiate() - { - return gst_aggregator_negotiate(gstAggregator) != 0; - } - - /** - * Use this function to determine what input buffers will be aggregated - * to produce the next output buffer. This should only be called from - * a #GstAggregator::samples-selected handler, and can be used to precisely - * control aggregating parameters for a given set of input samples. - * - * Returns: The sample that is about to be aggregated. It may hold a #GstBuffer - * or a #GstBufferList. The contents of its info structure is subclass-dependent, - * and documented on a subclass basis. The buffers held by the sample are - * not writable. - * - * Since: 1.18 - */ - public Sample peekNextSample(AggregatorPad pad) - { - auto __p = gst_aggregator_peek_next_sample(gstAggregator, (pad is null) ? null : pad.getAggregatorPadStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Sample)(cast(GstSample*) __p, true); - } - - /** - * Subclasses should call this when they have prepared the - * buffers they will aggregate for each of their sink pads, but - * before using any of the properties of the pads that govern - * *how* aggregation should be performed, for example z-index - * for video aggregators. - * - * If gst_aggregator_update_segment() is used by the subclass, - * it MUST be called before gst_aggregator_selected_samples(). - * - * This function MUST only be called from the #GstAggregatorClass::aggregate() - * function. - * - * Params: - * pts = The presentation timestamp of the next output buffer - * dts = The decoding timestamp of the next output buffer - * duration = The duration of the next output buffer - * info = a #GstStructure containing additional information - * - * Since: 1.18 - */ - public void selectedSamples(GstClockTime pts, GstClockTime dts, GstClockTime duration, Structure info) - { - gst_aggregator_selected_samples(gstAggregator, pts, dts, duration, (info is null) ? null : info.getStructureStruct()); - } - - /** - * Lets #GstAggregator sub-classes tell the baseclass what their internal - * latency is. Will also post a LATENCY message on the bus so the pipeline - * can reconfigure its global latency. - * - * Params: - * minLatency = minimum latency - * maxLatency = maximum latency - */ - public void setLatency(GstClockTime minLatency, GstClockTime maxLatency) - { - gst_aggregator_set_latency(gstAggregator, minLatency, maxLatency); - } - - /** - * Sets the caps to be used on the src pad. - * - * Params: - * caps = The #GstCaps to set on the src pad. - */ - public void setSrcCaps(Caps caps) - { - gst_aggregator_set_src_caps(gstAggregator, (caps is null) ? null : caps.getCapsStruct()); - } - - /** - * This is a simple #GstAggregatorClass.get_next_time() implementation that - * just looks at the #GstSegment on the srcpad of the aggregator and bases - * the next time on the running time there. - * - * This is the desired behaviour in most cases where you have a live source - * and you have a dead line based aggregator subclass. - * - * Returns: The running time based on the position - * - * Since: 1.16 - */ - public GstClockTime simpleGetNextTime() - { - return gst_aggregator_simple_get_next_time(gstAggregator); - } - - /** - * Subclasses should use this to update the segment on their - * source pad, instead of directly pushing new segment events - * downstream. - * - * Subclasses MUST call this before gst_aggregator_selected_samples(), - * if it is used at all. - * - * Since: 1.18 - */ - public void updateSegment(Segment segment) - { - gst_aggregator_update_segment(gstAggregator, (segment is null) ? null : segment.getSegmentStruct()); - } - - /** - * Signals that the #GstAggregator subclass has selected the next set - * of input samples it will aggregate. Handlers may call - * gst_aggregator_peek_next_sample() at that point. - * - * Params: - * segment = The #GstSegment the next output buffer is part of - * pts = The presentation timestamp of the next output buffer - * dts = The decoding timestamp of the next output buffer - * duration = The duration of the next output buffer - * info = a #GstStructure containing additional information - * - * Since: 1.18 - */ - gulong addOnSamplesSelected(void delegate(Segment, ulong, ulong, ulong, Structure, Aggregator) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "samples-selected", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gst/base/AggregatorPad.d b/generated/gstreamer/gst/base/AggregatorPad.d deleted file mode 100644 index bed354b31..000000000 --- a/generated/gstreamer/gst/base/AggregatorPad.d +++ /dev/null @@ -1,150 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.AggregatorPad; - -private import gobject.ObjectG; -private import gobject.Signals; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gstreamer.Buffer; -private import gstreamer.Pad; -private import std.algorithm; - - -/** - * Pads managed by a #GstAggregator subclass. - * - * This class used to live in gst-plugins-bad and was moved to core. - * - * Since: 1.14 - */ -public class AggregatorPad : Pad -{ - /** the main Gtk struct */ - protected GstAggregatorPad* gstAggregatorPad; - - /** Get the main Gtk struct */ - public GstAggregatorPad* getAggregatorPadStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstAggregatorPad; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstAggregatorPad; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstAggregatorPad* gstAggregatorPad, bool ownedRef = false) - { - this.gstAggregatorPad = gstAggregatorPad; - super(cast(GstPad*)gstAggregatorPad, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_aggregator_pad_get_type(); - } - - /** - * Drop the buffer currently queued in @pad. - * - * Returns: TRUE if there was a buffer queued in @pad, or FALSE if not. - */ - public bool dropBuffer() - { - return gst_aggregator_pad_drop_buffer(gstAggregatorPad) != 0; - } - - /** - * This checks if a pad has a buffer available that will be returned by - * a call to gst_aggregator_pad_peek_buffer() or - * gst_aggregator_pad_pop_buffer(). - * - * Returns: %TRUE if the pad has a buffer available as the next thing. - * - * Since: 1.14.1 - */ - public bool hasBuffer() - { - return gst_aggregator_pad_has_buffer(gstAggregatorPad) != 0; - } - - /** - * Returns: %TRUE if the pad is EOS, otherwise %FALSE. - */ - public bool isEos() - { - return gst_aggregator_pad_is_eos(gstAggregatorPad) != 0; - } - - /** - * Returns: A reference to the buffer in @pad or - * NULL if no buffer was queued. You should unref the buffer after - * usage. - */ - public Buffer peekBuffer() - { - auto __p = gst_aggregator_pad_peek_buffer(gstAggregatorPad); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Steal the ref to the buffer currently queued in @pad. - * - * Returns: The buffer in @pad or NULL if no buffer was - * queued. You should unref the buffer after usage. - */ - public Buffer popBuffer() - { - auto __p = gst_aggregator_pad_pop_buffer(gstAggregatorPad); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** */ - gulong addOnBufferConsumed(void delegate(Buffer, AggregatorPad) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "buffer-consumed", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gst/base/Base.d b/generated/gstreamer/gst/base/Base.d deleted file mode 100644 index 26e4c9ea5..000000000 --- a/generated/gstreamer/gst/base/Base.d +++ /dev/null @@ -1,333 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.Base; - -private import glib.Str; -private import gobject.ObjectG; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gstreamer.Buffer; -private import gstreamer.Caps; -private import gstreamer.ObjectGst; -private import gstreamer.Pad; - - -/** */ -public struct Base -{ - - /** - * Tries to find what type of data is flowing from the given source #GstPad. - * - * Free-function: gst_caps_unref - * - * Params: - * src = A source #GstPad - * size = The length in bytes - * - * Returns: the #GstCaps corresponding to the data - * stream. Returns %NULL if no #GstCaps matches the data stream. - */ - public static Caps typeFindHelper(Pad src, ulong size) - { - auto __p = gst_type_find_helper((src is null) ? null : src.getPadStruct(), size); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Tries to find what type of data is contained in the given #GstBuffer, the - * assumption being that the buffer represents the beginning of the stream or - * file. - * - * All available typefinders will be called on the data in order of rank. If - * a typefinding function returns a probability of %GST_TYPE_FIND_MAXIMUM, - * typefinding is stopped immediately and the found caps will be returned - * right away. Otherwise, all available typefind functions will the tried, - * and the caps with the highest probability will be returned, or %NULL if - * the content of the buffer could not be identified. - * - * Free-function: gst_caps_unref - * - * Params: - * obj = object doing the typefinding, or %NULL (used for logging) - * buf = a #GstBuffer with data to typefind - * prob = location to store the probability of the found - * caps, or %NULL - * - * Returns: the #GstCaps corresponding to the data, - * or %NULL if no type could be found. The caller should free the caps - * returned with gst_caps_unref(). - */ - public static Caps typeFindHelperForBuffer(ObjectGst obj, Buffer buf, out GstTypeFindProbability prob) - { - auto __p = gst_type_find_helper_for_buffer((obj is null) ? null : obj.getObjectGstStruct(), (buf is null) ? null : buf.getBufferStruct(), &prob); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Tries to find what type of data is contained in the given @data, the - * assumption being that the data represents the beginning of the stream or - * file. - * - * All available typefinders will be called on the data in order of rank. If - * a typefinding function returns a probability of %GST_TYPE_FIND_MAXIMUM, - * typefinding is stopped immediately and the found caps will be returned - * right away. Otherwise, all available typefind functions will the tried, - * and the caps with the highest probability will be returned, or %NULL if - * the content of @data could not be identified. - * - * Free-function: gst_caps_unref - * - * Params: - * obj = object doing the typefinding, or %NULL (used for logging) - * data = * a pointer with data to typefind - * prob = location to store the probability of the found - * caps, or %NULL - * - * Returns: the #GstCaps corresponding to the data, - * or %NULL if no type could be found. The caller should free the caps - * returned with gst_caps_unref(). - */ - public static Caps typeFindHelperForData(ObjectGst obj, ubyte[] data, out GstTypeFindProbability prob) - { - auto __p = gst_type_find_helper_for_data((obj is null) ? null : obj.getObjectGstStruct(), data.ptr, cast(size_t)data.length, &prob); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Tries to find the best #GstCaps associated with @extension. - * - * All available typefinders will be checked against the extension in order - * of rank. The caps of the first typefinder that can handle @extension will be - * returned. - * - * Free-function: gst_caps_unref - * - * Params: - * obj = object doing the typefinding, or %NULL (used for logging) - * extension = an extension - * - * Returns: the #GstCaps corresponding to - * @extension, or %NULL if no type could be found. The caller should free - * the caps returned with gst_caps_unref(). - */ - public static Caps typeFindHelperForExtension(ObjectGst obj, string extension) - { - auto __p = gst_type_find_helper_for_extension((obj is null) ? null : obj.getObjectGstStruct(), Str.toStringz(extension)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Utility function to do pull-based typefinding. Unlike gst_type_find_helper() - * however, this function will use the specified function @func to obtain the - * data needed by the typefind functions, rather than operating on a given - * source pad. This is useful mostly for elements like tag demuxers which - * strip off data at the beginning and/or end of a file and want to typefind - * the stripped data stream before adding their own source pad (the specified - * callback can then call the upstream peer pad with offsets adjusted for the - * tag size, for example). - * - * When @extension is not %NULL, this function will first try the typefind - * functions for the given extension, which might speed up the typefinding - * in many cases. - * - * Free-function: gst_caps_unref - * - * Params: - * obj = A #GstObject that will be passed as first argument to @func - * parent = the parent of @obj or %NULL - * func = A generic #GstTypeFindHelperGetRangeFunction that will - * be used to access data at random offsets when doing the typefinding - * size = The length in bytes - * extension = extension of the media, or %NULL - * prob = location to store the probability of the found - * caps, or %NULL - * - * Returns: the #GstCaps corresponding to the data - * stream. Returns %NULL if no #GstCaps matches the data stream. - */ - public static Caps typeFindHelperGetRange(ObjectGst obj, ObjectGst parent, GstTypeFindHelperGetRangeFunction func, ulong size, string extension, out GstTypeFindProbability prob) - { - auto __p = gst_type_find_helper_get_range((obj is null) ? null : obj.getObjectGstStruct(), (parent is null) ? null : parent.getObjectGstStruct(), func, size, Str.toStringz(extension), &prob); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Tries to find what type of data is contained in the given #GstBuffer, the - * assumption being that the buffer represents the beginning of the stream or - * file. - * - * All available typefinders will be called on the data in order of rank. If - * a typefinding function returns a probability of %GST_TYPE_FIND_MAXIMUM, - * typefinding is stopped immediately and the found caps will be returned - * right away. Otherwise, all available typefind functions will the tried, - * and the caps with the highest probability will be returned, or %NULL if - * the content of the buffer could not be identified. - * - * When @extension is not %NULL, this function will first try the typefind - * functions for the given extension, which might speed up the typefinding - * in many cases. - * - * Free-function: gst_caps_unref - * - * Params: - * obj = object doing the typefinding, or %NULL (used for logging) - * buf = a #GstBuffer with data to typefind - * extension = extension of the media, or %NULL - * prob = location to store the probability of the found - * caps, or %NULL - * - * Returns: the #GstCaps corresponding to the data, - * or %NULL if no type could be found. The caller should free the caps - * returned with gst_caps_unref(). - * - * Since: 1.16 - */ - public static Caps typeFindHelperForBufferWithExtension(ObjectGst obj, Buffer buf, string extension, out GstTypeFindProbability prob) - { - auto __p = gst_type_find_helper_for_buffer_with_extension((obj is null) ? null : obj.getObjectGstStruct(), (buf is null) ? null : buf.getBufferStruct(), Str.toStringz(extension), &prob); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Tries to find what type of data is contained in the given @data, the - * assumption being that the data represents the beginning of the stream or - * file. - * - * All available typefinders will be called on the data in order of rank. If - * a typefinding function returns a probability of %GST_TYPE_FIND_MAXIMUM, - * typefinding is stopped immediately and the found caps will be returned - * right away. Otherwise, all available typefind functions will the tried, - * and the caps with the highest probability will be returned, or %NULL if - * the content of @data could not be identified. - * - * When @extension is not %NULL, this function will first try the typefind - * functions for the given extension, which might speed up the typefinding - * in many cases. - * - * Free-function: gst_caps_unref - * - * Params: - * obj = object doing the typefinding, or %NULL (used for logging) - * data = * a pointer with data to typefind - * extension = extension of the media, or %NULL - * prob = location to store the probability of the found - * caps, or %NULL - * - * Returns: the #GstCaps corresponding to the data, - * or %NULL if no type could be found. The caller should free the caps - * returned with gst_caps_unref(). - * - * Since: 1.16 - */ - public static Caps typeFindHelperForDataWithExtension(ObjectGst obj, ubyte[] data, string extension, out GstTypeFindProbability prob) - { - auto __p = gst_type_find_helper_for_data_with_extension((obj is null) ? null : obj.getObjectGstStruct(), data.ptr, cast(size_t)data.length, Str.toStringz(extension), &prob); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Utility function to do pull-based typefinding. Unlike gst_type_find_helper() - * however, this function will use the specified function @func to obtain the - * data needed by the typefind functions, rather than operating on a given - * source pad. This is useful mostly for elements like tag demuxers which - * strip off data at the beginning and/or end of a file and want to typefind - * the stripped data stream before adding their own source pad (the specified - * callback can then call the upstream peer pad with offsets adjusted for the - * tag size, for example). - * - * When @extension is not %NULL, this function will first try the typefind - * functions for the given extension, which might speed up the typefinding - * in many cases. - * - * Params: - * obj = A #GstObject that will be passed as first argument to @func - * parent = the parent of @obj or %NULL - * func = A generic #GstTypeFindHelperGetRangeFunction that will - * be used to access data at random offsets when doing the typefinding - * size = The length in bytes - * extension = extension of the media, or %NULL - * caps = returned caps - * prob = location to store the probability of the found - * caps, or %NULL - * - * Returns: the last %GstFlowReturn from pulling a buffer or %GST_FLOW_OK if - * typefinding was successful. - * - * Since: 1.14.3 - */ - public static GstFlowReturn typeFindHelperGetRangeFull(ObjectGst obj, ObjectGst parent, GstTypeFindHelperGetRangeFunction func, ulong size, string extension, out Caps caps, out GstTypeFindProbability prob) - { - GstCaps* outcaps = null; - - auto __p = gst_type_find_helper_get_range_full((obj is null) ? null : obj.getObjectGstStruct(), (parent is null) ? null : parent.getObjectGstStruct(), func, size, Str.toStringz(extension), &outcaps, &prob); - - caps = ObjectG.getDObject!(Caps)(outcaps); - - return __p; - } -} diff --git a/generated/gstreamer/gst/base/BaseParse.d b/generated/gstreamer/gst/base/BaseParse.d deleted file mode 100644 index be29160be..000000000 --- a/generated/gstreamer/gst/base/BaseParse.d +++ /dev/null @@ -1,483 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.BaseParse; - -private import gst.base.BaseParseFrame; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gstreamer.Element; -private import gstreamer.TagList; - - -/** - * This base class is for parser elements that process data and splits it - * into separate audio/video/whatever frames. - * - * It provides for: - * - * * provides one sink pad and one source pad - * * handles state changes - * * can operate in pull mode or push mode - * * handles seeking in both modes - * * handles events (SEGMENT/EOS/FLUSH) - * * handles queries (POSITION/DURATION/SEEKING/FORMAT/CONVERT) - * * handles flushing - * - * The purpose of this base class is to provide the basic functionality of - * a parser and share a lot of rather complex code. - * - * # Description of the parsing mechanism: - * - * ## Set-up phase - * - * * #GstBaseParse calls #GstBaseParseClass.start() to inform subclass - * that data processing is about to start now. - * - * * #GstBaseParse class calls #GstBaseParseClass.set_sink_caps() to - * inform the subclass about incoming sinkpad caps. Subclass could - * already set the srcpad caps accordingly, but this might be delayed - * until calling gst_base_parse_finish_frame() with a non-queued frame. - * - * * At least at this point subclass needs to tell the #GstBaseParse class - * how big data chunks it wants to receive (minimum frame size ). It can - * do this with gst_base_parse_set_min_frame_size(). - * - * * #GstBaseParse class sets up appropriate data passing mode (pull/push) - * and starts to process the data. - * - * ## Parsing phase - * - * * #GstBaseParse gathers at least min_frame_size bytes of data either - * by pulling it from upstream or collecting buffers in an internal - * #GstAdapter. - * - * * A buffer of (at least) min_frame_size bytes is passed to subclass - * with #GstBaseParseClass.handle_frame(). Subclass checks the contents - * and can optionally return #GST_FLOW_OK along with an amount of data - * to be skipped to find a valid frame (which will result in a - * subsequent DISCONT). If, otherwise, the buffer does not hold a - * complete frame, #GstBaseParseClass.handle_frame() can merely return - * and will be called again when additional data is available. In push - * mode this amounts to an additional input buffer (thus minimal - * additional latency), in pull mode this amounts to some arbitrary - * reasonable buffer size increase. - * - * Of course, gst_base_parse_set_min_frame_size() could also be used if - * a very specific known amount of additional data is required. If, - * however, the buffer holds a complete valid frame, it can pass the - * size of this frame to gst_base_parse_finish_frame(). - * - * If acting as a converter, it can also merely indicate consumed input - * data while simultaneously providing custom output data. Note that - * baseclass performs some processing (such as tracking overall consumed - * data rate versus duration) for each finished frame, but other state - * is only updated upon each call to #GstBaseParseClass.handle_frame() - * (such as tracking upstream input timestamp). - * - * Subclass is also responsible for setting the buffer metadata - * (e.g. buffer timestamp and duration, or keyframe if applicable). - * (although the latter can also be done by #GstBaseParse if it is - * appropriately configured, see below). Frame is provided with - * timestamp derived from upstream (as much as generally possible), - * duration obtained from configuration (see below), and offset - * if meaningful (in pull mode). - * - * Note that #GstBaseParseClass.handle_frame() might receive any small - * amount of input data when leftover data is being drained (e.g. at - * EOS). - * - * * As part of finish frame processing, just prior to actually pushing - * the buffer in question, it is passed to - * #GstBaseParseClass.pre_push_frame() which gives subclass yet one last - * chance to examine buffer metadata, or to send some custom (tag) - * events, or to perform custom (segment) filtering. - * - * * During the parsing process #GstBaseParseClass will handle both srcpad - * and sinkpad events. They will be passed to subclass if - * #GstBaseParseClass.sink_event() or #GstBaseParseClass.src_event() - * implementations have been provided. - * - * ## Shutdown phase - * - * * #GstBaseParse class calls #GstBaseParseClass.stop() to inform the - * subclass that data parsing will be stopped. - * - * Subclass is responsible for providing pad template caps for source and - * sink pads. The pads need to be named "sink" and "src". It also needs to - * set the fixed caps on srcpad, when the format is ensured (e.g. when - * base class calls subclass' #GstBaseParseClass.set_sink_caps() function). - * - * This base class uses %GST_FORMAT_DEFAULT as a meaning of frames. So, - * subclass conversion routine needs to know that conversion from - * %GST_FORMAT_TIME to %GST_FORMAT_DEFAULT must return the - * frame number that can be found from the given byte position. - * - * #GstBaseParse uses subclasses conversion methods also for seeking (or - * otherwise uses its own default one, see also below). - * - * Subclass @start and @stop functions will be called to inform the beginning - * and end of data processing. - * - * Things that subclass need to take care of: - * - * * Provide pad templates - * * Fixate the source pad caps when appropriate - * * Inform base class how big data chunks should be retrieved. This is - * done with gst_base_parse_set_min_frame_size() function. - * * Examine data chunks passed to subclass with - * #GstBaseParseClass.handle_frame() and pass proper frame(s) to - * gst_base_parse_finish_frame(), and setting src pad caps and timestamps - * on frame. - * * Provide conversion functions - * * Update the duration information with gst_base_parse_set_duration() - * * Optionally passthrough using gst_base_parse_set_passthrough() - * * Configure various baseparse parameters using - * gst_base_parse_set_average_bitrate(), gst_base_parse_set_syncable() - * and gst_base_parse_set_frame_rate(). - * - * * In particular, if subclass is unable to determine a duration, but - * parsing (or specs) yields a frames per seconds rate, then this can be - * provided to #GstBaseParse to enable it to cater for buffer time - * metadata (which will be taken from upstream as much as - * possible). Internally keeping track of frame durations and respective - * sizes that have been pushed provides #GstBaseParse with an estimated - * bitrate. A default #GstBaseParseClass.convert() (used if not - * overridden) will then use these rates to perform obvious conversions. - * These rates are also used to update (estimated) duration at regular - * frame intervals. - */ -public class BaseParse : Element -{ - /** the main Gtk struct */ - protected GstBaseParse* gstBaseParse; - - /** Get the main Gtk struct */ - public GstBaseParse* getBaseParseStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstBaseParse; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstBaseParse; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstBaseParse* gstBaseParse, bool ownedRef = false) - { - this.gstBaseParse = gstBaseParse; - super(cast(GstElement*)gstBaseParse, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_base_parse_get_type(); - } - - /** - * Adds an entry to the index associating @offset to @ts. It is recommended - * to only add keyframe entries. @force allows to bypass checks, such as - * whether the stream is (upstream) seekable, another entry is already "close" - * to the new entry, etc. - * - * Params: - * offset = offset of entry - * ts = timestamp associated with offset - * key = whether entry refers to keyframe - * force = add entry disregarding sanity checks - * - * Returns: #gboolean indicating whether entry was added - */ - public bool addIndexEntry(ulong offset, GstClockTime ts, bool key, bool force) - { - return gst_base_parse_add_index_entry(gstBaseParse, offset, ts, key, force) != 0; - } - - /** - * Default implementation of #GstBaseParseClass.convert(). - * - * Params: - * srcFormat = #GstFormat describing the source format. - * srcValue = Source value to be converted. - * destFormat = #GstFormat defining the converted format. - * destValue = Pointer where the conversion result will be put. - * - * Returns: %TRUE if conversion was successful. - */ - public bool convertDefault(GstFormat srcFormat, long srcValue, GstFormat destFormat, out long destValue) - { - return gst_base_parse_convert_default(gstBaseParse, srcFormat, srcValue, destFormat, &destValue) != 0; - } - - /** - * Drains the adapter until it is empty. It decreases the min_frame_size to - * match the current adapter size and calls chain method until the adapter - * is emptied or chain returns with error. - * - * Since: 1.12 - */ - public void drain() - { - gst_base_parse_drain(gstBaseParse); - } - - /** - * Collects parsed data and pushes this downstream. - * Source pad caps must be set when this is called. - * - * If @frame's out_buffer is set, that will be used as subsequent frame data. - * Otherwise, @size samples will be taken from the input and used for output, - * and the output's metadata (timestamps etc) will be taken as (optionally) - * set by the subclass on @frame's (input) buffer (which is otherwise - * ignored for any but the above purpose/information). - * - * Note that the latter buffer is invalidated by this call, whereas the - * caller retains ownership of @frame. - * - * Params: - * frame = a #GstBaseParseFrame - * size = consumed input data represented by frame - * - * Returns: a #GstFlowReturn that should be escalated to caller (of caller) - */ - public GstFlowReturn finishFrame(BaseParseFrame frame, int size) - { - return gst_base_parse_finish_frame(gstBaseParse, (frame is null) ? null : frame.getBaseParseFrameStruct(), size); - } - - /** - * Sets the parser subclass's tags and how they should be merged with any - * upstream stream tags. This will override any tags previously-set - * with gst_base_parse_merge_tags(). - * - * Note that this is provided for convenience, and the subclass is - * not required to use this and can still do tag handling on its own. - * - * Params: - * tags = a #GstTagList to merge, or NULL to unset - * previously-set tags - * mode = the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE - * - * Since: 1.6 - */ - public void mergeTags(TagList tags, GstTagMergeMode mode) - { - gst_base_parse_merge_tags(gstBaseParse, (tags is null) ? null : tags.getTagListStruct(), mode); - } - - /** - * Pushes the frame's buffer downstream, sends any pending events and - * does some timestamp and segment handling. Takes ownership of - * frame's buffer, though caller retains ownership of @frame. - * - * This must be called with sinkpad STREAM_LOCK held. - * - * Params: - * frame = a #GstBaseParseFrame - * - * Returns: #GstFlowReturn - */ - public GstFlowReturn pushFrame(BaseParseFrame frame) - { - return gst_base_parse_push_frame(gstBaseParse, (frame is null) ? null : frame.getBaseParseFrameStruct()); - } - - /** - * Optionally sets the average bitrate detected in media (if non-zero), - * e.g. based on metadata, as it will be posted to the application. - * - * By default, announced average bitrate is estimated. The average bitrate - * is used to estimate the total duration of the stream and to estimate - * a seek position, if there's no index and the format is syncable - * (see gst_base_parse_set_syncable()). - * - * Params: - * bitrate = average bitrate in bits/second - */ - public void setAverageBitrate(uint bitrate) - { - gst_base_parse_set_average_bitrate(gstBaseParse, bitrate); - } - - /** - * Sets the duration of the currently playing media. Subclass can use this - * when it is able to determine duration and/or notices a change in the media - * duration. Alternatively, if @interval is non-zero (default), then stream - * duration is determined based on estimated bitrate, and updated every @interval - * frames. - * - * Params: - * fmt = #GstFormat. - * duration = duration value. - * interval = how often to update the duration estimate based on bitrate, or 0. - */ - public void setDuration(GstFormat fmt, long duration, int interval) - { - gst_base_parse_set_duration(gstBaseParse, fmt, duration, interval); - } - - /** - * If frames per second is configured, parser can take care of buffer duration - * and timestamping. When performing segment clipping, or seeking to a specific - * location, a corresponding decoder might need an initial @lead_in and a - * following @lead_out number of frames to ensure the desired segment is - * entirely filled upon decoding. - * - * Params: - * fpsNum = frames per second (numerator). - * fpsDen = frames per second (denominator). - * leadIn = frames needed before a segment for subsequent decode - * leadOut = frames needed after a segment - */ - public void setFrameRate(uint fpsNum, uint fpsDen, uint leadIn, uint leadOut) - { - gst_base_parse_set_frame_rate(gstBaseParse, fpsNum, fpsDen, leadIn, leadOut); - } - - /** - * Set if frames carry timing information which the subclass can (generally) - * parse and provide. In particular, intrinsic (rather than estimated) time - * can be obtained following a seek. - * - * Params: - * hasTiming = whether frames carry timing information - */ - public void setHasTimingInfo(bool hasTiming) - { - gst_base_parse_set_has_timing_info(gstBaseParse, hasTiming); - } - - /** - * By default, the base class might try to infer PTS from DTS and vice - * versa. While this is generally correct for audio data, it may not - * be otherwise. Sub-classes implementing such formats should disable - * timestamp inferring. - * - * Params: - * inferTs = %TRUE if parser should infer DTS/PTS from each other - */ - public void setInferTs(bool inferTs) - { - gst_base_parse_set_infer_ts(gstBaseParse, inferTs); - } - - /** - * Sets the minimum and maximum (which may likely be equal) latency introduced - * by the parsing process. If there is such a latency, which depends on the - * particular parsing of the format, it typically corresponds to 1 frame duration. - * - * Params: - * minLatency = minimum parse latency - * maxLatency = maximum parse latency - */ - public void setLatency(GstClockTime minLatency, GstClockTime maxLatency) - { - gst_base_parse_set_latency(gstBaseParse, minLatency, maxLatency); - } - - /** - * Subclass can use this function to tell the base class that it needs to - * be given buffers of at least @min_size bytes. - * - * Params: - * minSize = Minimum size in bytes of the data that this base class should - * give to subclass. - */ - public void setMinFrameSize(uint minSize) - { - gst_base_parse_set_min_frame_size(gstBaseParse, minSize); - } - - /** - * Set if the nature of the format or configuration does not allow (much) - * parsing, and the parser should operate in passthrough mode (which only - * applies when operating in push mode). That is, incoming buffers are - * pushed through unmodified, i.e. no #GstBaseParseClass.handle_frame() - * will be invoked, but #GstBaseParseClass.pre_push_frame() will still be - * invoked, so subclass can perform as much or as little is appropriate for - * passthrough semantics in #GstBaseParseClass.pre_push_frame(). - * - * Params: - * passthrough = %TRUE if parser should run in passthrough mode - */ - public void setPassthrough(bool passthrough) - { - gst_base_parse_set_passthrough(gstBaseParse, passthrough); - } - - /** - * By default, the base class will guess PTS timestamps using a simple - * interpolation (previous timestamp + duration), which is incorrect for - * data streams with reordering, where PTS can go backward. Sub-classes - * implementing such formats should disable PTS interpolation. - * - * Params: - * ptsInterpolate = %TRUE if parser should interpolate PTS timestamps - */ - public void setPtsInterpolation(bool ptsInterpolate) - { - gst_base_parse_set_pts_interpolation(gstBaseParse, ptsInterpolate); - } - - /** - * Set if frame starts can be identified. This is set by default and - * determines whether seeking based on bitrate averages - * is possible for a format/stream. - * - * Params: - * syncable = set if frame starts can be identified - */ - public void setSyncable(bool syncable) - { - gst_base_parse_set_syncable(gstBaseParse, syncable); - } - - /** - * This function should only be called from a @handle_frame implementation. - * - * #GstBaseParse creates initial timestamps for frames by using the last - * timestamp seen in the stream before the frame starts. In certain - * cases, the correct timestamps will occur in the stream after the - * start of the frame, but before the start of the actual picture data. - * This function can be used to set the timestamps based on the offset - * into the frame data that the picture starts. - * - * Params: - * offset = offset into current buffer - * - * Since: 1.2 - */ - public void setTsAtOffset(size_t offset) - { - gst_base_parse_set_ts_at_offset(gstBaseParse, offset); - } -} diff --git a/generated/gstreamer/gst/base/BaseParseFrame.d b/generated/gstreamer/gst/base/BaseParseFrame.d deleted file mode 100644 index baab6c241..000000000 --- a/generated/gstreamer/gst/base/BaseParseFrame.d +++ /dev/null @@ -1,154 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.BaseParseFrame; - -private import glib.ConstructionException; -private import gobject.ObjectG; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gstreamer.Buffer; -private import gtkd.Loader; - - -/** - * Frame (context) data passed to each frame parsing virtual methods. In - * addition to providing the data to be checked for a valid frame or an already - * identified frame, it conveys additional metadata or control information - * from and to the subclass w.r.t. the particular frame in question (rather - * than global parameters). Some of these may apply to each parsing stage, others - * only to some a particular one. These parameters are effectively zeroed at start - * of each frame's processing, i.e. parsing virtual method invocation sequence. - */ -public class BaseParseFrame -{ - /** the main Gtk struct */ - protected GstBaseParseFrame* gstBaseParseFrame; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstBaseParseFrame* getBaseParseFrameStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstBaseParseFrame; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstBaseParseFrame; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstBaseParseFrame* gstBaseParseFrame, bool ownedRef = false) - { - this.gstBaseParseFrame = gstBaseParseFrame; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTBASE) && ownedRef ) - gst_base_parse_frame_free(gstBaseParseFrame); - } - - - /** */ - public static GType getType() - { - return gst_base_parse_frame_get_type(); - } - - /** - * Allocates a new #GstBaseParseFrame. This function is mainly for bindings, - * elements written in C should usually allocate the frame on the stack and - * then use gst_base_parse_frame_init() to initialise it. - * - * Params: - * buffer = a #GstBuffer - * flags = the flags - * overhead = number of bytes in this frame which should be counted as - * metadata overhead, ie. not used to calculate the average bitrate. - * Set to -1 to mark the entire frame as metadata. If in doubt, set to 0. - * - * Returns: a newly-allocated #GstBaseParseFrame. Free with - * gst_base_parse_frame_free() when no longer needed. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(Buffer buffer, GstBaseParseFrameFlags flags, int overhead) - { - auto __p = gst_base_parse_frame_new((buffer is null) ? null : buffer.getBufferStruct(), flags, overhead); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstBaseParseFrame*) __p); - } - - /** - * Copies a #GstBaseParseFrame. - * - * Returns: A copy of @frame - * - * Since: 1.12.1 - */ - public BaseParseFrame copy() - { - auto __p = gst_base_parse_frame_copy(gstBaseParseFrame); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(BaseParseFrame)(cast(GstBaseParseFrame*) __p, true); - } - - /** - * Frees the provided @frame. - */ - public void free() - { - gst_base_parse_frame_free(gstBaseParseFrame); - ownedRef = false; - } - - /** - * Sets a #GstBaseParseFrame to initial state. Currently this means - * all public fields are zero-ed and a private flag is set to make - * sure gst_base_parse_frame_free() only frees the contents but not - * the actual frame. Use this function to initialise a #GstBaseParseFrame - * allocated on the stack. - */ - public void init() - { - gst_base_parse_frame_init(gstBaseParseFrame); - } -} diff --git a/generated/gstreamer/gst/base/BaseSink.d b/generated/gstreamer/gst/base/BaseSink.d deleted file mode 100644 index af6022aad..000000000 --- a/generated/gstreamer/gst/base/BaseSink.d +++ /dev/null @@ -1,683 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.BaseSink; - -private import gobject.ObjectG; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gstreamer.Element; -private import gstreamer.MiniObject; -private import gstreamer.Sample; -private import gstreamer.Structure; - - -/** - * #GstBaseSink is the base class for sink elements in GStreamer, such as - * xvimagesink or filesink. It is a layer on top of #GstElement that provides a - * simplified interface to plugin writers. #GstBaseSink handles many details - * for you, for example: preroll, clock synchronization, state changes, - * activation in push or pull mode, and queries. - * - * In most cases, when writing sink elements, there is no need to implement - * class methods from #GstElement or to set functions on pads, because the - * #GstBaseSink infrastructure should be sufficient. - * - * #GstBaseSink provides support for exactly one sink pad, which should be - * named "sink". A sink implementation (subclass of #GstBaseSink) should - * install a pad template in its class_init function, like so: - * |[ - * static void - * my_element_class_init (GstMyElementClass *klass) - * { - * GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass); - * - * // sinktemplate should be a #GstStaticPadTemplate with direction - * // %GST_PAD_SINK and name "sink" - * gst_element_class_add_static_pad_template (gstelement_class, &sinktemplate); - * - * gst_element_class_set_static_metadata (gstelement_class, - * "Sink name", - * "Sink", - * "My Sink element", - * "The author "); - * } - * ]| - * - * #GstBaseSink will handle the prerolling correctly. This means that it will - * return %GST_STATE_CHANGE_ASYNC from a state change to PAUSED until the first - * buffer arrives in this element. The base class will call the - * #GstBaseSinkClass.preroll() vmethod with this preroll buffer and will then - * commit the state change to the next asynchronously pending state. - * - * When the element is set to PLAYING, #GstBaseSink will synchronise on the - * clock using the times returned from #GstBaseSinkClass.get_times(). If this - * function returns %GST_CLOCK_TIME_NONE for the start time, no synchronisation - * will be done. Synchronisation can be disabled entirely by setting the object - * #GstBaseSink:sync property to %FALSE. - * - * After synchronisation the virtual method #GstBaseSinkClass.render() will be - * called. Subclasses should minimally implement this method. - * - * Subclasses that synchronise on the clock in the #GstBaseSinkClass.render() - * method are supported as well. These classes typically receive a buffer in - * the render method and can then potentially block on the clock while - * rendering. A typical example is an audiosink. - * These subclasses can use gst_base_sink_wait_preroll() to perform the - * blocking wait. - * - * Upon receiving the EOS event in the PLAYING state, #GstBaseSink will wait - * for the clock to reach the time indicated by the stop time of the last - * #GstBaseSinkClass.get_times() call before posting an EOS message. When the - * element receives EOS in PAUSED, preroll completes, the event is queued and an - * EOS message is posted when going to PLAYING. - * - * #GstBaseSink will internally use the %GST_EVENT_SEGMENT events to schedule - * synchronisation and clipping of buffers. Buffers that fall completely outside - * of the current segment are dropped. Buffers that fall partially in the - * segment are rendered (and prerolled). Subclasses should do any subbuffer - * clipping themselves when needed. - * - * #GstBaseSink will by default report the current playback position in - * %GST_FORMAT_TIME based on the current clock time and segment information. - * If no clock has been set on the element, the query will be forwarded - * upstream. - * - * The #GstBaseSinkClass.set_caps() function will be called when the subclass - * should configure itself to process a specific media type. - * - * The #GstBaseSinkClass.start() and #GstBaseSinkClass.stop() virtual methods - * will be called when resources should be allocated. Any - * #GstBaseSinkClass.preroll(), #GstBaseSinkClass.render() and - * #GstBaseSinkClass.set_caps() function will be called between the - * #GstBaseSinkClass.start() and #GstBaseSinkClass.stop() calls. - * - * The #GstBaseSinkClass.event() virtual method will be called when an event is - * received by #GstBaseSink. Normally this method should only be overridden by - * very specific elements (such as file sinks) which need to handle the - * newsegment event specially. - * - * The #GstBaseSinkClass.unlock() method is called when the elements should - * unblock any blocking operations they perform in the - * #GstBaseSinkClass.render() method. This is mostly useful when the - * #GstBaseSinkClass.render() method performs a blocking write on a file - * descriptor, for example. - * - * The #GstBaseSink:max-lateness property affects how the sink deals with - * buffers that arrive too late in the sink. A buffer arrives too late in the - * sink when the presentation time (as a combination of the last segment, buffer - * timestamp and element base_time) plus the duration is before the current - * time of the clock. - * If the frame is later than max-lateness, the sink will drop the buffer - * without calling the render method. - * This feature is disabled if sync is disabled, the - * #GstBaseSinkClass.get_times() method does not return a valid start time or - * max-lateness is set to -1 (the default). - * Subclasses can use gst_base_sink_set_max_lateness() to configure the - * max-lateness value. - * - * The #GstBaseSink:qos property will enable the quality-of-service features of - * the basesink which gather statistics about the real-time performance of the - * clock synchronisation. For each buffer received in the sink, statistics are - * gathered and a QOS event is sent upstream with these numbers. This - * information can then be used by upstream elements to reduce their processing - * rate, for example. - * - * The #GstBaseSink:async property can be used to instruct the sink to never - * perform an ASYNC state change. This feature is mostly usable when dealing - * with non-synchronized streams or sparse streams. - */ -public class BaseSink : Element -{ - /** the main Gtk struct */ - protected GstBaseSink* gstBaseSink; - - /** Get the main Gtk struct */ - public GstBaseSink* getBaseSinkStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstBaseSink; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstBaseSink; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstBaseSink* gstBaseSink, bool ownedRef = false) - { - this.gstBaseSink = gstBaseSink; - super(cast(GstElement*)gstBaseSink, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_base_sink_get_type(); - } - - /** - * If the @sink spawns its own thread for pulling buffers from upstream it - * should call this method after it has pulled a buffer. If the element needed - * to preroll, this function will perform the preroll and will then block - * until the element state is changed. - * - * This function should be called with the PREROLL_LOCK held. - * - * Params: - * obj = the mini object that caused the preroll - * - * Returns: %GST_FLOW_OK if the preroll completed and processing can - * continue. Any other return value should be returned from the render vmethod. - */ - public GstFlowReturn doPreroll(MiniObject obj) - { - return gst_base_sink_do_preroll(gstBaseSink, (obj is null) ? null : obj.getMiniObjectStruct()); - } - - /** - * Get the number of bytes that the sink will pull when it is operating in pull - * mode. - * - * Returns: the number of bytes @sink will pull in pull mode. - */ - public uint getBlocksize() - { - return gst_base_sink_get_blocksize(gstBaseSink); - } - - /** - * Checks if @sink is currently configured to drop buffers which are outside - * the current segment - * - * Returns: %TRUE if the sink is configured to drop buffers outside the - * current segment. - * - * Since: 1.12 - */ - public bool getDropOutOfSegment() - { - return gst_base_sink_get_drop_out_of_segment(gstBaseSink) != 0; - } - - /** - * Get the last sample that arrived in the sink and was used for preroll or for - * rendering. This property can be used to generate thumbnails. - * - * The #GstCaps on the sample can be used to determine the type of the buffer. - * - * Free-function: gst_sample_unref - * - * Returns: a #GstSample. gst_sample_unref() after - * usage. This function returns %NULL when no buffer has arrived in the - * sink yet or when the sink is not in PAUSED or PLAYING. - */ - public Sample getLastSample() - { - auto __p = gst_base_sink_get_last_sample(gstBaseSink); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Sample)(cast(GstSample*) __p, true); - } - - /** - * Get the currently configured latency. - * - * Returns: The configured latency. - */ - public GstClockTime getLatency() - { - return gst_base_sink_get_latency(gstBaseSink); - } - - /** - * Get the maximum amount of bits per second that the sink will render. - * - * Returns: the maximum number of bits per second @sink will render. - * - * Since: 1.2 - */ - public ulong getMaxBitrate() - { - return gst_base_sink_get_max_bitrate(gstBaseSink); - } - - /** - * Gets the max lateness value. See gst_base_sink_set_max_lateness() for - * more details. - * - * Returns: The maximum time in nanoseconds that a buffer can be late - * before it is dropped and not rendered. A value of -1 means an - * unlimited time. - */ - public long getMaxLateness() - { - return gst_base_sink_get_max_lateness(gstBaseSink); - } - - /** - * Get the processing deadline of @sink. see - * gst_base_sink_set_processing_deadline() for more information about - * the processing deadline. - * - * Returns: the processing deadline - * - * Since: 1.16 - */ - public GstClockTime getProcessingDeadline() - { - return gst_base_sink_get_processing_deadline(gstBaseSink); - } - - /** - * Get the render delay of @sink. see gst_base_sink_set_render_delay() for more - * information about the render delay. - * - * Returns: the render delay of @sink. - */ - public GstClockTime getRenderDelay() - { - return gst_base_sink_get_render_delay(gstBaseSink); - } - - /** - * Return various #GstBaseSink statistics. This function returns a #GstStructure - * with name `application/x-gst-base-sink-stats` with the following fields: - * - * - "average-rate" G_TYPE_DOUBLE average frame rate - * - "dropped" G_TYPE_UINT64 Number of dropped frames - * - "rendered" G_TYPE_UINT64 Number of rendered frames - * - * Returns: pointer to #GstStructure - * - * Since: 1.18 - */ - public Structure getStats() - { - auto __p = gst_base_sink_get_stats(gstBaseSink); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p, true); - } - - /** - * Checks if @sink is currently configured to synchronize against the - * clock. - * - * Returns: %TRUE if the sink is configured to synchronize against the clock. - */ - public bool getSync() - { - return gst_base_sink_get_sync(gstBaseSink) != 0; - } - - /** - * Get the time that will be inserted between frames to control the - * maximum buffers per second. - * - * Returns: the number of nanoseconds @sink will put between frames. - */ - public ulong getThrottleTime() - { - return gst_base_sink_get_throttle_time(gstBaseSink); - } - - /** - * Get the synchronisation offset of @sink. - * - * Returns: The synchronisation offset. - */ - public GstClockTimeDiff getTsOffset() - { - return gst_base_sink_get_ts_offset(gstBaseSink); - } - - /** - * Checks if @sink is currently configured to perform asynchronous state - * changes to PAUSED. - * - * Returns: %TRUE if the sink is configured to perform asynchronous state - * changes. - */ - public bool isAsyncEnabled() - { - return gst_base_sink_is_async_enabled(gstBaseSink) != 0; - } - - /** - * Checks if @sink is currently configured to store the last received sample in - * the last-sample property. - * - * Returns: %TRUE if the sink is configured to store the last received sample. - */ - public bool isLastSampleEnabled() - { - return gst_base_sink_is_last_sample_enabled(gstBaseSink) != 0; - } - - /** - * Checks if @sink is currently configured to send Quality-of-Service events - * upstream. - * - * Returns: %TRUE if the sink is configured to perform Quality-of-Service. - */ - public bool isQosEnabled() - { - return gst_base_sink_is_qos_enabled(gstBaseSink) != 0; - } - - /** - * Query the sink for the latency parameters. The latency will be queried from - * the upstream elements. @live will be %TRUE if @sink is configured to - * synchronize against the clock. @upstream_live will be %TRUE if an upstream - * element is live. - * - * If both @live and @upstream_live are %TRUE, the sink will want to compensate - * for the latency introduced by the upstream elements by setting the - * @min_latency to a strictly positive value. - * - * This function is mostly used by subclasses. - * - * Params: - * live = if the sink is live - * upstreamLive = if an upstream element is live - * minLatency = the min latency of the upstream elements - * maxLatency = the max latency of the upstream elements - * - * Returns: %TRUE if the query succeeded. - */ - public bool queryLatency(out bool live, out bool upstreamLive, out GstClockTime minLatency, out GstClockTime maxLatency) - { - int outlive; - int outupstreamLive; - - auto __p = gst_base_sink_query_latency(gstBaseSink, &outlive, &outupstreamLive, &minLatency, &maxLatency) != 0; - - live = (outlive == 1); - upstreamLive = (outupstreamLive == 1); - - return __p; - } - - /** - * Configures @sink to perform all state changes asynchronously. When async is - * disabled, the sink will immediately go to PAUSED instead of waiting for a - * preroll buffer. This feature is useful if the sink does not synchronize - * against the clock or when it is dealing with sparse streams. - * - * Params: - * enabled = the new async value. - */ - public void setAsyncEnabled(bool enabled) - { - gst_base_sink_set_async_enabled(gstBaseSink, enabled); - } - - /** - * Set the number of bytes that the sink will pull when it is operating in pull - * mode. - * - * Params: - * blocksize = the blocksize in bytes - */ - public void setBlocksize(uint blocksize) - { - gst_base_sink_set_blocksize(gstBaseSink, blocksize); - } - - /** - * Configure @sink to drop buffers which are outside the current segment - * - * Params: - * dropOutOfSegment = drop buffers outside the segment - * - * Since: 1.12 - */ - public void setDropOutOfSegment(bool dropOutOfSegment) - { - gst_base_sink_set_drop_out_of_segment(gstBaseSink, dropOutOfSegment); - } - - /** - * Configures @sink to store the last received sample in the last-sample - * property. - * - * Params: - * enabled = the new enable-last-sample value. - */ - public void setLastSampleEnabled(bool enabled) - { - gst_base_sink_set_last_sample_enabled(gstBaseSink, enabled); - } - - /** - * Set the maximum amount of bits per second that the sink will render. - * - * Params: - * maxBitrate = the max_bitrate in bits per second - * - * Since: 1.2 - */ - public void setMaxBitrate(ulong maxBitrate) - { - gst_base_sink_set_max_bitrate(gstBaseSink, maxBitrate); - } - - /** - * Sets the new max lateness value to @max_lateness. This value is - * used to decide if a buffer should be dropped or not based on the - * buffer timestamp and the current clock time. A value of -1 means - * an unlimited time. - * - * Params: - * maxLateness = the new max lateness value. - */ - public void setMaxLateness(long maxLateness) - { - gst_base_sink_set_max_lateness(gstBaseSink, maxLateness); - } - - /** - * Maximum amount of time (in nanoseconds) that the pipeline can take - * for processing the buffer. This is added to the latency of live - * pipelines. - * - * This function is usually called by subclasses. - * - * Params: - * processingDeadline = the new processing deadline in nanoseconds. - * - * Since: 1.16 - */ - public void setProcessingDeadline(GstClockTime processingDeadline) - { - gst_base_sink_set_processing_deadline(gstBaseSink, processingDeadline); - } - - /** - * Configures @sink to send Quality-of-Service events upstream. - * - * Params: - * enabled = the new qos value. - */ - public void setQosEnabled(bool enabled) - { - gst_base_sink_set_qos_enabled(gstBaseSink, enabled); - } - - /** - * Set the render delay in @sink to @delay. The render delay is the time - * between actual rendering of a buffer and its synchronisation time. Some - * devices might delay media rendering which can be compensated for with this - * function. - * - * After calling this function, this sink will report additional latency and - * other sinks will adjust their latency to delay the rendering of their media. - * - * This function is usually called by subclasses. - * - * Params: - * delay = the new delay - */ - public void setRenderDelay(GstClockTime delay) - { - gst_base_sink_set_render_delay(gstBaseSink, delay); - } - - /** - * Configures @sink to synchronize on the clock or not. When - * @sync is %FALSE, incoming samples will be played as fast as - * possible. If @sync is %TRUE, the timestamps of the incoming - * buffers will be used to schedule the exact render time of its - * contents. - * - * Params: - * sync = the new sync value. - */ - public void setSync(bool sync) - { - gst_base_sink_set_sync(gstBaseSink, sync); - } - - /** - * Set the time that will be inserted between rendered buffers. This - * can be used to control the maximum buffers per second that the sink - * will render. - * - * Params: - * throttle = the throttle time in nanoseconds - */ - public void setThrottleTime(ulong throttle) - { - gst_base_sink_set_throttle_time(gstBaseSink, throttle); - } - - /** - * Adjust the synchronisation of @sink with @offset. A negative value will - * render buffers earlier than their timestamp. A positive value will delay - * rendering. This function can be used to fix playback of badly timestamped - * buffers. - * - * Params: - * offset = the new offset - */ - public void setTsOffset(GstClockTimeDiff offset) - { - gst_base_sink_set_ts_offset(gstBaseSink, offset); - } - - /** - * This function will wait for preroll to complete and will then block until @time - * is reached. It is usually called by subclasses that use their own internal - * synchronisation but want to let some synchronization (like EOS) be handled - * by the base class. - * - * This function should only be called with the PREROLL_LOCK held (like when - * receiving an EOS event in the ::event vmethod or when handling buffers in - * ::render). - * - * The @time argument should be the running_time of when the timeout should happen - * and will be adjusted with any latency and offset configured in the sink. - * - * Params: - * time = the running_time to be reached - * jitter = the jitter to be filled with time diff, or %NULL - * - * Returns: #GstFlowReturn - */ - public GstFlowReturn wait(GstClockTime time, out GstClockTimeDiff jitter) - { - return gst_base_sink_wait(gstBaseSink, time, &jitter); - } - - /** - * This function will block until @time is reached. It is usually called by - * subclasses that use their own internal synchronisation. - * - * If @time is not valid, no synchronisation is done and %GST_CLOCK_BADTIME is - * returned. Likewise, if synchronisation is disabled in the element or there - * is no clock, no synchronisation is done and %GST_CLOCK_BADTIME is returned. - * - * This function should only be called with the PREROLL_LOCK held, like when - * receiving an EOS event in the #GstBaseSinkClass.event() vmethod or when - * receiving a buffer in - * the #GstBaseSinkClass.render() vmethod. - * - * The @time argument should be the running_time of when this method should - * return and is not adjusted with any latency or offset configured in the - * sink. - * - * Params: - * time = the running_time to be reached - * jitter = the jitter to be filled with time diff, or %NULL - * - * Returns: #GstClockReturn - */ - public GstClockReturn waitClock(GstClockTime time, out GstClockTimeDiff jitter) - { - return gst_base_sink_wait_clock(gstBaseSink, time, &jitter); - } - - /** - * If the #GstBaseSinkClass.render() method performs its own synchronisation - * against the clock it must unblock when going from PLAYING to the PAUSED state - * and call this method before continuing to render the remaining data. - * - * If the #GstBaseSinkClass.render() method can block on something else than - * the clock, it must also be ready to unblock immediately on - * the #GstBaseSinkClass.unlock() method and cause the - * #GstBaseSinkClass.render() method to immediately call this function. - * In this case, the subclass must be prepared to continue rendering where it - * left off if this function returns %GST_FLOW_OK. - * - * This function will block until a state change to PLAYING happens (in which - * case this function returns %GST_FLOW_OK) or the processing must be stopped due - * to a state change to READY or a FLUSH event (in which case this function - * returns %GST_FLOW_FLUSHING). - * - * This function should only be called with the PREROLL_LOCK held, like in the - * render function. - * - * Returns: %GST_FLOW_OK if the preroll completed and processing can - * continue. Any other return value should be returned from the render vmethod. - */ - public GstFlowReturn waitPreroll() - { - return gst_base_sink_wait_preroll(gstBaseSink); - } -} diff --git a/generated/gstreamer/gst/base/BaseSrc.d b/generated/gstreamer/gst/base/BaseSrc.d deleted file mode 100644 index d254c7b1b..000000000 --- a/generated/gstreamer/gst/base/BaseSrc.d +++ /dev/null @@ -1,547 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.BaseSrc; - -private import glib.MemorySlice; -private import gobject.ObjectG; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gstreamer.AllocationParams; -private import gstreamer.Allocator; -private import gstreamer.BufferList; -private import gstreamer.BufferPool; -private import gstreamer.Caps; -private import gstreamer.Element; -private import gstreamer.Segment; - - -/** - * This is a generic base class for source elements. The following - * types of sources are supported: - * - * * random access sources like files - * * seekable sources - * * live sources - * - * The source can be configured to operate in any #GstFormat with the - * gst_base_src_set_format() method. The currently set format determines - * the format of the internal #GstSegment and any %GST_EVENT_SEGMENT - * events. The default format for #GstBaseSrc is %GST_FORMAT_BYTES. - * - * #GstBaseSrc always supports push mode scheduling. If the following - * conditions are met, it also supports pull mode scheduling: - * - * * The format is set to %GST_FORMAT_BYTES (default). - * * #GstBaseSrcClass.is_seekable() returns %TRUE. - * - * If all the conditions are met for operating in pull mode, #GstBaseSrc is - * automatically seekable in push mode as well. The following conditions must - * be met to make the element seekable in push mode when the format is not - * %GST_FORMAT_BYTES: - * - * * #GstBaseSrcClass.is_seekable() returns %TRUE. - * * #GstBaseSrcClass.query() can convert all supported seek formats to the - * internal format as set with gst_base_src_set_format(). - * * #GstBaseSrcClass.do_seek() is implemented, performs the seek and returns - * %TRUE. - * - * When the element does not meet the requirements to operate in pull mode, the - * offset and length in the #GstBaseSrcClass.create() method should be ignored. - * It is recommended to subclass #GstPushSrc instead, in this situation. If the - * element can operate in pull mode but only with specific offsets and - * lengths, it is allowed to generate an error when the wrong values are passed - * to the #GstBaseSrcClass.create() function. - * - * #GstBaseSrc has support for live sources. Live sources are sources that when - * paused discard data, such as audio or video capture devices. A typical live - * source also produces data at a fixed rate and thus provides a clock to publish - * this rate. - * Use gst_base_src_set_live() to activate the live source mode. - * - * A live source does not produce data in the PAUSED state. This means that the - * #GstBaseSrcClass.create() method will not be called in PAUSED but only in - * PLAYING. To signal the pipeline that the element will not produce data, the - * return value from the READY to PAUSED state will be - * %GST_STATE_CHANGE_NO_PREROLL. - * - * A typical live source will timestamp the buffers it creates with the - * current running time of the pipeline. This is one reason why a live source - * can only produce data in the PLAYING state, when the clock is actually - * distributed and running. - * - * Live sources that synchronize and block on the clock (an audio source, for - * example) can use gst_base_src_wait_playing() when the - * #GstBaseSrcClass.create() function was interrupted by a state change to - * PAUSED. - * - * The #GstBaseSrcClass.get_times() method can be used to implement pseudo-live - * sources. It only makes sense to implement the #GstBaseSrcClass.get_times() - * function if the source is a live source. The #GstBaseSrcClass.get_times() - * function should return timestamps starting from 0, as if it were a non-live - * source. The base class will make sure that the timestamps are transformed - * into the current running_time. The base source will then wait for the - * calculated running_time before pushing out the buffer. - * - * For live sources, the base class will by default report a latency of 0. - * For pseudo live sources, the base class will by default measure the difference - * between the first buffer timestamp and the start time of get_times and will - * report this value as the latency. - * Subclasses should override the query function when this behaviour is not - * acceptable. - * - * There is only support in #GstBaseSrc for exactly one source pad, which - * should be named "src". A source implementation (subclass of #GstBaseSrc) - * should install a pad template in its class_init function, like so: - * |[ - * static void - * my_element_class_init (GstMyElementClass *klass) - * { - * GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass); - * // srctemplate should be a #GstStaticPadTemplate with direction - * // %GST_PAD_SRC and name "src" - * gst_element_class_add_static_pad_template (gstelement_class, &srctemplate); - * - * gst_element_class_set_static_metadata (gstelement_class, - * "Source name", - * "Source", - * "My Source element", - * "The author "); - * } - * ]| - * - * ## Controlled shutdown of live sources in applications - * - * Applications that record from a live source may want to stop recording - * in a controlled way, so that the recording is stopped, but the data - * already in the pipeline is processed to the end (remember that many live - * sources would go on recording forever otherwise). For that to happen the - * application needs to make the source stop recording and send an EOS - * event down the pipeline. The application would then wait for an - * EOS message posted on the pipeline's bus to know when all data has - * been processed and the pipeline can safely be stopped. - * - * An application may send an EOS event to a source element to make it - * perform the EOS logic (send EOS event downstream or post a - * %GST_MESSAGE_SEGMENT_DONE on the bus). This can typically be done - * with the gst_element_send_event() function on the element or its parent bin. - * - * After the EOS has been sent to the element, the application should wait for - * an EOS message to be posted on the pipeline's bus. Once this EOS message is - * received, it may safely shut down the entire pipeline. - */ -public class BaseSrc : Element -{ - /** the main Gtk struct */ - protected GstBaseSrc* gstBaseSrc; - - /** Get the main Gtk struct */ - public GstBaseSrc* getBaseSrcStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstBaseSrc; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstBaseSrc; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstBaseSrc* gstBaseSrc, bool ownedRef = false) - { - this.gstBaseSrc = gstBaseSrc; - super(cast(GstElement*)gstBaseSrc, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_base_src_get_type(); - } - - /** - * Lets #GstBaseSrc sub-classes to know the memory @allocator - * used by the base class and its @params. - * - * Unref the @allocator after usage. - * - * Params: - * allocator = the #GstAllocator - * used - * params = the #GstAllocationParams of @allocator - */ - public void getAllocator(out Allocator allocator, out AllocationParams params) - { - GstAllocator* outallocator = null; - GstAllocationParams* outparams = sliceNew!GstAllocationParams(); - - gst_base_src_get_allocator(gstBaseSrc, &outallocator, outparams); - - allocator = ObjectG.getDObject!(Allocator)(outallocator); - params = ObjectG.getDObject!(AllocationParams)(outparams, true); - } - - /** - * Get the number of bytes that @src will push out with each buffer. - * - * Returns: the number of bytes pushed with each buffer. - */ - public uint getBlocksize() - { - return gst_base_src_get_blocksize(gstBaseSrc); - } - - /** - * Returns: the instance of the #GstBufferPool used - * by the src; unref it after usage. - */ - public BufferPool getBufferPool() - { - auto __p = gst_base_src_get_buffer_pool(gstBaseSrc); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(BufferPool)(cast(GstBufferPool*) __p, true); - } - - /** - * Query if @src timestamps outgoing buffers based on the current running_time. - * - * Returns: %TRUE if the base class will automatically timestamp outgoing buffers. - */ - public bool getDoTimestamp() - { - return gst_base_src_get_do_timestamp(gstBaseSrc) != 0; - } - - /** - * Get the current async behaviour of @src. See also gst_base_src_set_async(). - * - * Returns: %TRUE if @src is operating in async mode. - */ - public bool isAsync() - { - return gst_base_src_is_async(gstBaseSrc) != 0; - } - - /** - * Check if an element is in live mode. - * - * Returns: %TRUE if element is in live mode. - */ - public bool isLive() - { - return gst_base_src_is_live(gstBaseSrc) != 0; - } - - /** - * Negotiates src pad caps with downstream elements. - * Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again - * if #GstBaseSrcClass.negotiate() fails. - * - * Do not call this in the #GstBaseSrcClass.fill() vmethod. Call this in - * #GstBaseSrcClass.create() or in #GstBaseSrcClass.alloc(), _before_ any - * buffer is allocated. - * - * Returns: %TRUE if the negotiation succeeded, else %FALSE. - * - * Since: 1.18 - */ - public bool negotiate() - { - return gst_base_src_negotiate(gstBaseSrc) != 0; - } - - /** - * Prepare a new seamless segment for emission downstream. This function must - * only be called by derived sub-classes, and only from the #GstBaseSrcClass::create function, - * as the stream-lock needs to be held. - * - * The format for the new segment will be the current format of the source, as - * configured with gst_base_src_set_format() - * - * Deprecated: Use gst_base_src_new_segment() - * - * Params: - * start = The new start value for the segment - * stop = Stop value for the new segment - * time = The new time value for the start of the new segment - * - * Returns: %TRUE if preparation of the seamless segment succeeded. - */ - public bool newSeamlessSegment(long start, long stop, long time) - { - return gst_base_src_new_seamless_segment(gstBaseSrc, start, stop, time) != 0; - } - - /** - * Prepare a new segment for emission downstream. This function must - * only be called by derived sub-classes, and only from the #GstBaseSrcClass::create function, - * as the stream-lock needs to be held. - * - * The format for the @segment must be identical with the current format - * of the source, as configured with gst_base_src_set_format(). - * - * The format of @src must not be %GST_FORMAT_UNDEFINED and the format - * should be configured via gst_base_src_set_format() before calling this method. - * - * Params: - * segment = a pointer to a #GstSegment - * - * Returns: %TRUE if preparation of new segment succeeded. - * - * Since: 1.18 - */ - public bool newSegment(Segment segment) - { - return gst_base_src_new_segment(gstBaseSrc, (segment is null) ? null : segment.getSegmentStruct()) != 0; - } - - /** - * Query the source for the latency parameters. @live will be %TRUE when @src is - * configured as a live source. @min_latency and @max_latency will be set - * to the difference between the running time and the timestamp of the first - * buffer. - * - * This function is mostly used by subclasses. - * - * Params: - * live = if the source is live - * minLatency = the min latency of the source - * maxLatency = the max latency of the source - * - * Returns: %TRUE if the query succeeded. - */ - public bool queryLatency(out bool live, out GstClockTime minLatency, out GstClockTime maxLatency) - { - int outlive; - - auto __p = gst_base_src_query_latency(gstBaseSrc, &outlive, &minLatency, &maxLatency) != 0; - - live = (outlive == 1); - - return __p; - } - - /** - * Configure async behaviour in @src, no state change will block. The open, - * close, start, stop, play and pause virtual methods will be executed in a - * different thread and are thus allowed to perform blocking operations. Any - * blocking operation should be unblocked with the unlock vmethod. - * - * Params: - * async = new async mode - */ - public void setAsync(bool async) - { - gst_base_src_set_async(gstBaseSrc, async); - } - - /** - * If @automatic_eos is %TRUE, @src will automatically go EOS if a buffer - * after the total size is returned. By default this is %TRUE but sources - * that can't return an authoritative size and only know that they're EOS - * when trying to read more should set this to %FALSE. - * - * When @src operates in %GST_FORMAT_TIME, #GstBaseSrc will send an EOS - * when a buffer outside of the currently configured segment is pushed if - * @automatic_eos is %TRUE. Since 1.16, if @automatic_eos is %FALSE an - * EOS will be pushed only when the #GstBaseSrcClass.create() implementation - * returns %GST_FLOW_EOS. - * - * Params: - * automaticEos = automatic eos - * - * Since: 1.4 - */ - public void setAutomaticEos(bool automaticEos) - { - gst_base_src_set_automatic_eos(gstBaseSrc, automaticEos); - } - - /** - * Set the number of bytes that @src will push out with each buffer. When - * @blocksize is set to -1, a default length will be used. - * - * Params: - * blocksize = the new blocksize in bytes - */ - public void setBlocksize(uint blocksize) - { - gst_base_src_set_blocksize(gstBaseSrc, blocksize); - } - - /** - * Set new caps on the basesrc source pad. - * - * Params: - * caps = a #GstCaps - * - * Returns: %TRUE if the caps could be set - */ - public bool setCaps(Caps caps) - { - return gst_base_src_set_caps(gstBaseSrc, (caps is null) ? null : caps.getCapsStruct()) != 0; - } - - /** - * Configure @src to automatically timestamp outgoing buffers based on the - * current running_time of the pipeline. This property is mostly useful for live - * sources. - * - * Params: - * timestamp = enable or disable timestamping - */ - public void setDoTimestamp(bool timestamp) - { - gst_base_src_set_do_timestamp(gstBaseSrc, timestamp); - } - - /** - * If not @dynamic, size is only updated when needed, such as when trying to - * read past current tracked size. Otherwise, size is checked for upon each - * read. - * - * Params: - * dynamic = new dynamic size mode - */ - public void setDynamicSize(bool dynamic) - { - gst_base_src_set_dynamic_size(gstBaseSrc, dynamic); - } - - /** - * Sets the default format of the source. This will be the format used - * for sending SEGMENT events and for performing seeks. - * - * If a format of GST_FORMAT_BYTES is set, the element will be able to - * operate in pull mode if the #GstBaseSrcClass.is_seekable() returns %TRUE. - * - * This function must only be called in states < %GST_STATE_PAUSED. - * - * Params: - * format = the format to use - */ - public void setFormat(GstFormat format) - { - gst_base_src_set_format(gstBaseSrc, format); - } - - /** - * If the element listens to a live source, @live should - * be set to %TRUE. - * - * A live source will not produce data in the PAUSED state and - * will therefore not be able to participate in the PREROLL phase - * of a pipeline. To signal this fact to the application and the - * pipeline, the state change return value of the live source will - * be GST_STATE_CHANGE_NO_PREROLL. - * - * Params: - * live = new live-mode - */ - public void setLive(bool live) - { - gst_base_src_set_live(gstBaseSrc, live); - } - - /** - * Complete an asynchronous start operation. When the subclass overrides the - * start method, it should call gst_base_src_start_complete() when the start - * operation completes either from the same thread or from an asynchronous - * helper thread. - * - * Params: - * ret = a #GstFlowReturn - */ - public void startComplete(GstFlowReturn ret) - { - gst_base_src_start_complete(gstBaseSrc, ret); - } - - /** - * Wait until the start operation completes. - * - * Returns: a #GstFlowReturn. - */ - public GstFlowReturn startWait() - { - return gst_base_src_start_wait(gstBaseSrc); - } - - /** - * Subclasses can call this from their create virtual method implementation - * to submit a buffer list to be pushed out later. This is useful in - * cases where the create function wants to produce multiple buffers to be - * pushed out in one go in form of a #GstBufferList, which can reduce overhead - * drastically, especially for packetised inputs (for data streams where - * the packetisation/chunking is not important it is usually more efficient - * to return larger buffers instead). - * - * Subclasses that use this function from their create function must return - * %GST_FLOW_OK and no buffer from their create virtual method implementation. - * If a buffer is returned after a buffer list has also been submitted via this - * function the behaviour is undefined. - * - * Subclasses must only call this function once per create function call and - * subclasses must only call this function when the source operates in push - * mode. - * - * Params: - * bufferList = a #GstBufferList - * - * Since: 1.14 - */ - public void submitBufferList(BufferList bufferList) - { - gst_base_src_submit_buffer_list(gstBaseSrc, (bufferList is null) ? null : bufferList.getBufferListStruct()); - } - - /** - * If the #GstBaseSrcClass.create() method performs its own synchronisation - * against the clock it must unblock when going from PLAYING to the PAUSED state - * and call this method before continuing to produce the remaining data. - * - * This function will block until a state change to PLAYING happens (in which - * case this function returns %GST_FLOW_OK) or the processing must be stopped due - * to a state change to READY or a FLUSH event (in which case this function - * returns %GST_FLOW_FLUSHING). - * - * Returns: %GST_FLOW_OK if @src is PLAYING and processing can - * continue. Any other return value should be returned from the create vmethod. - */ - public GstFlowReturn waitPlaying() - { - return gst_base_src_wait_playing(gstBaseSrc); - } -} diff --git a/generated/gstreamer/gst/base/BaseTransform.d b/generated/gstreamer/gst/base/BaseTransform.d deleted file mode 100644 index aac6e6955..000000000 --- a/generated/gstreamer/gst/base/BaseTransform.d +++ /dev/null @@ -1,424 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.BaseTransform; - -private import glib.MemorySlice; -private import gobject.ObjectG; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gstreamer.AllocationParams; -private import gstreamer.Allocator; -private import gstreamer.BufferPool; -private import gstreamer.Caps; -private import gstreamer.Element; - - -/** - * This base class is for filter elements that process data. Elements - * that are suitable for implementation using #GstBaseTransform are ones - * where the size and caps of the output is known entirely from the input - * caps and buffer sizes. These include elements that directly transform - * one buffer into another, modify the contents of a buffer in-place, as - * well as elements that collate multiple input buffers into one output buffer, - * or that expand one input buffer into multiple output buffers. See below - * for more concrete use cases. - * - * It provides for: - * - * * one sinkpad and one srcpad - * * Possible formats on sink and source pad implemented - * with custom transform_caps function. By default uses - * same format on sink and source. - * - * * Handles state changes - * * Does flushing - * * Push mode - * * Pull mode if the sub-class transform can operate on arbitrary data - * - * # Use Cases - * - * ## Passthrough mode - * - * * Element has no interest in modifying the buffer. It may want to inspect it, - * in which case the element should have a transform_ip function. If there - * is no transform_ip function in passthrough mode, the buffer is pushed - * intact. - * - * * The #GstBaseTransformClass.passthrough_on_same_caps variable - * will automatically set/unset passthrough based on whether the - * element negotiates the same caps on both pads. - * - * * #GstBaseTransformClass.passthrough_on_same_caps on an element that - * doesn't implement a transform_caps function is useful for elements that - * only inspect data (such as level) - * - * * Example elements - * - * * Level - * * Videoscale, audioconvert, videoconvert, audioresample in certain modes. - * - * ## Modifications in-place - input buffer and output buffer are the same thing. - * - * * The element must implement a transform_ip function. - * * Output buffer size must <= input buffer size - * * If the always_in_place flag is set, non-writable buffers will be copied - * and passed to the transform_ip function, otherwise a new buffer will be - * created and the transform function called. - * - * * Incoming writable buffers will be passed to the transform_ip function - * immediately. - * * only implementing transform_ip and not transform implies always_in_place = %TRUE - * - * * Example elements: - * * Volume - * * Audioconvert in certain modes (signed/unsigned conversion) - * * videoconvert in certain modes (endianness swapping) - * - * ## Modifications only to the caps/metadata of a buffer - * - * * The element does not require writable data, but non-writable buffers - * should be subbuffered so that the meta-information can be replaced. - * - * * Elements wishing to operate in this mode should replace the - * prepare_output_buffer method to create subbuffers of the input buffer - * and set always_in_place to %TRUE - * - * * Example elements - * * Capsfilter when setting caps on outgoing buffers that have - * none. - * * identity when it is going to re-timestamp buffers by - * datarate. - * - * ## Normal mode - * * always_in_place flag is not set, or there is no transform_ip function - * * Element will receive an input buffer and output buffer to operate on. - * * Output buffer is allocated by calling the prepare_output_buffer function. - * * Example elements: - * * Videoscale, videoconvert, audioconvert when doing - * scaling/conversions - * - * ## Special output buffer allocations - * * Elements which need to do special allocation of their output buffers - * beyond allocating output buffers via the negotiated allocator or - * buffer pool should implement the prepare_output_buffer method. - * - * * Example elements: - * * efence - * - * # Sub-class settable flags on GstBaseTransform - * - * * passthrough - * - * * Implies that in the current configuration, the sub-class is not interested in modifying the buffers. - * * Elements which are always in passthrough mode whenever the same caps has been negotiated on both pads can set the class variable passthrough_on_same_caps to have this behaviour automatically. - * - * * always_in_place - * * Determines whether a non-writable buffer will be copied before passing - * to the transform_ip function. - * - * * Implied %TRUE if no transform function is implemented. - * * Implied %FALSE if ONLY transform function is implemented. - */ -public class BaseTransform : Element -{ - /** the main Gtk struct */ - protected GstBaseTransform* gstBaseTransform; - - /** Get the main Gtk struct */ - public GstBaseTransform* getBaseTransformStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstBaseTransform; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstBaseTransform; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstBaseTransform* gstBaseTransform, bool ownedRef = false) - { - this.gstBaseTransform = gstBaseTransform; - super(cast(GstElement*)gstBaseTransform, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_base_transform_get_type(); - } - - /** - * Lets #GstBaseTransform sub-classes know the memory @allocator - * used by the base class and its @params. - * - * Unref the @allocator after use. - * - * Params: - * allocator = the #GstAllocator - * used - * params = the #GstAllocationParams of @allocator - */ - public void getAllocator(out Allocator allocator, out AllocationParams params) - { - GstAllocator* outallocator = null; - GstAllocationParams* outparams = sliceNew!GstAllocationParams(); - - gst_base_transform_get_allocator(gstBaseTransform, &outallocator, outparams); - - allocator = ObjectG.getDObject!(Allocator)(outallocator); - params = ObjectG.getDObject!(AllocationParams)(outparams, true); - } - - /** - * Returns: the instance of the #GstBufferPool used - * by @trans; free it after use - */ - public BufferPool getBufferPool() - { - auto __p = gst_base_transform_get_buffer_pool(gstBaseTransform); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(BufferPool)(cast(GstBufferPool*) __p, true); - } - - /** - * See if @trans is configured as a in_place transform. - * - * Returns: %TRUE if the transform is configured in in_place mode. - * - * MT safe. - */ - public bool isInPlace() - { - return gst_base_transform_is_in_place(gstBaseTransform) != 0; - } - - /** - * See if @trans is configured as a passthrough transform. - * - * Returns: %TRUE if the transform is configured in passthrough mode. - * - * MT safe. - */ - public bool isPassthrough() - { - return gst_base_transform_is_passthrough(gstBaseTransform) != 0; - } - - /** - * Queries if the transform will handle QoS. - * - * Returns: %TRUE if QoS is enabled. - * - * MT safe. - */ - public bool isQosEnabled() - { - return gst_base_transform_is_qos_enabled(gstBaseTransform) != 0; - } - - /** - * Negotiates src pad caps with downstream elements if the source pad is - * marked as needing reconfiguring. Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in - * any case. But marks it again if negotiation fails. - * - * Do not call this in the #GstBaseTransformClass.transform() or - * #GstBaseTransformClass.transform_ip() vmethod. Call this in - * #GstBaseTransformClass.submit_input_buffer(), - * #GstBaseTransformClass.prepare_output_buffer() or in - * #GstBaseTransformClass.generate_output() _before_ any output buffer is - * allocated. - * - * It will be default be called when handling an ALLOCATION query or at the - * very beginning of the default #GstBaseTransformClass.submit_input_buffer() - * implementation. - * - * Returns: %TRUE if the negotiation succeeded, else %FALSE. - * - * Since: 1.18 - */ - public bool reconfigure() - { - return gst_base_transform_reconfigure(gstBaseTransform) != 0; - } - - /** - * Instructs @trans to request renegotiation upstream. This function is - * typically called after properties on the transform were set that - * influence the input format. - */ - public void reconfigureSink() - { - gst_base_transform_reconfigure_sink(gstBaseTransform); - } - - /** - * Instructs @trans to renegotiate a new downstream transform on the next - * buffer. This function is typically called after properties on the transform - * were set that influence the output format. - */ - public void reconfigureSrc() - { - gst_base_transform_reconfigure_src(gstBaseTransform); - } - - /** - * If @gap_aware is %FALSE (the default), output buffers will have the - * %GST_BUFFER_FLAG_GAP flag unset. - * - * If set to %TRUE, the element must handle output buffers with this flag set - * correctly, i.e. it can assume that the buffer contains neutral data but must - * unset the flag if the output is no neutral data. - * - * MT safe. - * - * Params: - * gapAware = New state - */ - public void setGapAware(bool gapAware) - { - gst_base_transform_set_gap_aware(gstBaseTransform, gapAware); - } - - /** - * Determines whether a non-writable buffer will be copied before passing - * to the transform_ip function. - * - * * Always %TRUE if no transform function is implemented. - * * Always %FALSE if ONLY transform function is implemented. - * - * MT safe. - * - * Params: - * inPlace = Boolean value indicating that we would like to operate - * on in_place buffers. - */ - public void setInPlace(bool inPlace) - { - gst_base_transform_set_in_place(gstBaseTransform, inPlace); - } - - /** - * Set passthrough mode for this filter by default. This is mostly - * useful for filters that do not care about negotiation. - * - * Always %TRUE for filters which don't implement either a transform - * or transform_ip or generate_output method. - * - * MT safe. - * - * Params: - * passthrough = boolean indicating passthrough mode. - */ - public void setPassthrough(bool passthrough) - { - gst_base_transform_set_passthrough(gstBaseTransform, passthrough); - } - - /** - * If @prefer_passthrough is %TRUE (the default), @trans will check and - * prefer passthrough caps from the list of caps returned by the - * transform_caps vmethod. - * - * If set to %FALSE, the element must order the caps returned from the - * transform_caps function in such a way that the preferred format is - * first in the list. This can be interesting for transforms that can do - * passthrough transforms but prefer to do something else, like a - * capsfilter. - * - * MT safe. - * - * Params: - * preferPassthrough = New state - * - * Since: 1.0.1 - */ - public void setPreferPassthrough(bool preferPassthrough) - { - gst_base_transform_set_prefer_passthrough(gstBaseTransform, preferPassthrough); - } - - /** - * Enable or disable QoS handling in the transform. - * - * MT safe. - * - * Params: - * enabled = new state - */ - public void setQosEnabled(bool enabled) - { - gst_base_transform_set_qos_enabled(gstBaseTransform, enabled); - } - - /** - * Set the QoS parameters in the transform. This function is called internally - * when a QOS event is received but subclasses can provide custom information - * when needed. - * - * MT safe. - * - * Params: - * proportion = the proportion - * diff = the diff against the clock - * timestamp = the timestamp of the buffer generating the QoS expressed in - * running_time. - */ - public void updateQos(double proportion, GstClockTimeDiff diff, GstClockTime timestamp) - { - gst_base_transform_update_qos(gstBaseTransform, proportion, diff, timestamp); - } - - /** - * Updates the srcpad caps and sends the caps downstream. This function - * can be used by subclasses when they have already negotiated their caps - * but found a change in them (or computed new information). This way, - * they can notify downstream about that change without losing any - * buffer. - * - * Params: - * updatedCaps = An updated version of the srcpad caps to be pushed - * downstream - * - * Returns: %TRUE if the caps could be sent downstream %FALSE otherwise - * - * Since: 1.6 - */ - public bool updateSrcCaps(Caps updatedCaps) - { - return gst_base_transform_update_src_caps(gstBaseTransform, (updatedCaps is null) ? null : updatedCaps.getCapsStruct()) != 0; - } -} diff --git a/generated/gstreamer/gst/base/BitReader.d b/generated/gstreamer/gst/base/BitReader.d deleted file mode 100644 index 659790b1e..000000000 --- a/generated/gstreamer/gst/base/BitReader.d +++ /dev/null @@ -1,300 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.BitReader; - -private import glib.ConstructionException; -private import gobject.ObjectG; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gtkd.Loader; - - -/** - * #GstBitReader provides a bit reader that can read any number of bits - * from a memory buffer. It provides functions for reading any number of bits - * into 8, 16, 32 and 64 bit variables. - */ -public class BitReader -{ - /** the main Gtk struct */ - protected GstBitReader* gstBitReader; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstBitReader* getBitReaderStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstBitReader; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstBitReader; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstBitReader* gstBitReader, bool ownedRef = false) - { - this.gstBitReader = gstBitReader; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTBASE) && ownedRef ) - gst_bit_reader_free(gstBitReader); - } - - - /** - * Frees a #GstBitReader instance, which was previously allocated by - * gst_bit_reader_new(). - */ - public void free() - { - gst_bit_reader_free(gstBitReader); - ownedRef = false; - } - - /** - * Read @nbits bits into @val and update the current position. - * - * Params: - * val = Pointer to a #guint16 to store the result - * nbits = number of bits to read - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getBitsUint16(out ushort val, uint nbits) - { - return gst_bit_reader_get_bits_uint16(gstBitReader, &val, nbits) != 0; - } - - /** - * Read @nbits bits into @val and update the current position. - * - * Params: - * val = Pointer to a #guint32 to store the result - * nbits = number of bits to read - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getBitsUint32(out uint val, uint nbits) - { - return gst_bit_reader_get_bits_uint32(gstBitReader, &val, nbits) != 0; - } - - /** - * Read @nbits bits into @val and update the current position. - * - * Params: - * val = Pointer to a #guint64 to store the result - * nbits = number of bits to read - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getBitsUint64(out ulong val, uint nbits) - { - return gst_bit_reader_get_bits_uint64(gstBitReader, &val, nbits) != 0; - } - - /** - * Read @nbits bits into @val and update the current position. - * - * Params: - * val = Pointer to a #guint8 to store the result - * nbits = number of bits to read - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getBitsUint8(out ubyte val, uint nbits) - { - return gst_bit_reader_get_bits_uint8(gstBitReader, &val, nbits) != 0; - } - - /** - * Returns the current position of a #GstBitReader instance in bits. - * - * Returns: The current position of @reader in bits. - */ - public uint getPos() - { - return gst_bit_reader_get_pos(gstBitReader); - } - - /** - * Returns the remaining number of bits of a #GstBitReader instance. - * - * Returns: The remaining number of bits of @reader instance. - */ - public uint getRemaining() - { - return gst_bit_reader_get_remaining(gstBitReader); - } - - /** - * Returns the total number of bits of a #GstBitReader instance. - * - * Returns: The total number of bits of @reader instance. - */ - public uint getSize() - { - return gst_bit_reader_get_size(gstBitReader); - } - - /** - * Initializes a #GstBitReader instance to read from @data. This function - * can be called on already initialized instances. - * - * Params: - * data = data from which the bit reader should read - */ - public void init(ubyte[] data) - { - gst_bit_reader_init(gstBitReader, data.ptr, cast(uint)data.length); - } - - /** - * Read @nbits bits into @val but keep the current position. - * - * Params: - * val = Pointer to a #guint16 to store the result - * nbits = number of bits to read - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekBitsUint16(out ushort val, uint nbits) - { - return gst_bit_reader_peek_bits_uint16(gstBitReader, &val, nbits) != 0; - } - - /** - * Read @nbits bits into @val but keep the current position. - * - * Params: - * val = Pointer to a #guint32 to store the result - * nbits = number of bits to read - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekBitsUint32(out uint val, uint nbits) - { - return gst_bit_reader_peek_bits_uint32(gstBitReader, &val, nbits) != 0; - } - - /** - * Read @nbits bits into @val but keep the current position. - * - * Params: - * val = Pointer to a #guint64 to store the result - * nbits = number of bits to read - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekBitsUint64(out ulong val, uint nbits) - { - return gst_bit_reader_peek_bits_uint64(gstBitReader, &val, nbits) != 0; - } - - /** - * Read @nbits bits into @val but keep the current position. - * - * Params: - * val = Pointer to a #guint8 to store the result - * nbits = number of bits to read - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekBitsUint8(out ubyte val, uint nbits) - { - return gst_bit_reader_peek_bits_uint8(gstBitReader, &val, nbits) != 0; - } - - /** - * Sets the new position of a #GstBitReader instance to @pos in bits. - * - * Params: - * pos = The new position in bits - * - * Returns: %TRUE if the position could be set successfully, %FALSE - * otherwise. - */ - public bool setPos(uint pos) - { - return gst_bit_reader_set_pos(gstBitReader, pos) != 0; - } - - /** - * Skips @nbits bits of the #GstBitReader instance. - * - * Params: - * nbits = the number of bits to skip - * - * Returns: %TRUE if @nbits bits could be skipped, %FALSE otherwise. - */ - public bool skip(uint nbits) - { - return gst_bit_reader_skip(gstBitReader, nbits) != 0; - } - - /** - * Skips until the next byte. - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool skipToByte() - { - return gst_bit_reader_skip_to_byte(gstBitReader) != 0; - } - - /** - * Create a new #GstBitReader instance, which will read from @data. - * - * Free-function: gst_bit_reader_free - * - * Params: - * data = Data from which the #GstBitReader - * should read - * - * Returns: a new #GstBitReader instance - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ubyte[] data) - { - auto __p = gst_bit_reader_new(data.ptr, cast(uint)data.length); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstBitReader*) __p); - } -} diff --git a/generated/gstreamer/gst/base/BitWriter.d b/generated/gstreamer/gst/base/BitWriter.d deleted file mode 100644 index 30a65faef..000000000 --- a/generated/gstreamer/gst/base/BitWriter.d +++ /dev/null @@ -1,391 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.BitWriter; - -private import glib.ConstructionException; -private import gobject.ObjectG; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gstreamer.Buffer; -private import gtkd.Loader; - - -/** - * #GstBitWriter provides a bit writer that can write any number of - * bits into a memory buffer. It provides functions for writing any - * number of bits into 8, 16, 32 and 64 bit variables. - * - * Since: 1.16 - */ -public class BitWriter -{ - /** the main Gtk struct */ - protected GstBitWriter* gstBitWriter; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstBitWriter* getBitWriterStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstBitWriter; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstBitWriter; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstBitWriter* gstBitWriter, bool ownedRef = false) - { - this.gstBitWriter = gstBitWriter; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTBASE) && ownedRef ) - gst_bit_writer_free(gstBitWriter); - } - - - /** - * Write trailing bit to align last byte of @data. @trailing_bit can - * only be 1 or 0. - * - * Params: - * trailingBit = trailing bits of last byte, 0 or 1 - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool alignBytes(ubyte trailingBit) - { - return gst_bit_writer_align_bytes(gstBitWriter, trailingBit) != 0; - } - - /** - * Frees @bitwriter and the allocated data inside. - */ - public void free() - { - gst_bit_writer_free(gstBitWriter); - ownedRef = false; - } - - /** - * Frees @bitwriter without destroying the internal data, which is - * returned as #GstBuffer. - * - * Free-function: gst_buffer_unref - * - * Returns: a new allocated #GstBuffer wrapping the - * data inside. gst_buffer_unref() after usage. - */ - public Buffer freeAndGetBuffer() - { - auto __p = gst_bit_writer_free_and_get_buffer(gstBitWriter); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Frees @bitwriter without destroying the internal data, which is - * returned. - * - * Free-function: g_free - * - * Returns: the current data. g_free() after - * usage. - */ - public ubyte[] freeAndGetData() - { - auto __p = gst_bit_writer_free_and_get_data(gstBitWriter); - - return __p[0 .. getArrayLength(__p)]; - } - - /** - * Get written data pointer - * - * Returns: data pointer - */ - public ubyte* getData() - { - return gst_bit_writer_get_data(gstBitWriter); - } - - /** */ - public uint getRemaining() - { - return gst_bit_writer_get_remaining(gstBitWriter); - } - - /** - * Get size of written @data - * - * Returns: size of bits written in @data - */ - public uint getSize() - { - return gst_bit_writer_get_size(gstBitWriter); - } - - /** - * Initializes @bitwriter to an empty instance. - */ - public void init() - { - gst_bit_writer_init(gstBitWriter); - } - - /** - * Initializes @bitwriter with the given memory area @data. IF - * @initialized is %TRUE it is possible to read @size bits from the - * #GstBitWriter from the beginning. - * - * Params: - * data = Memory area for writing - * initialized = If %TRUE the complete data can be read from the beginning - */ - public void initWithData(ubyte[] data, bool initialized) - { - gst_bit_writer_init_with_data(gstBitWriter, data.ptr, cast(uint)data.length, initialized); - } - - /** - * Initializes a #GstBitWriter instance and allocates the given data - * @size. - * - * Params: - * size = the size on bytes to allocate for data - * fixed = If %TRUE the data can't be reallocated - */ - public void initWithSize(uint size, bool fixed) - { - gst_bit_writer_init_with_size(gstBitWriter, size, fixed); - } - - /** - * Write @nbits bits of @value to #GstBitWriter. - * - * Params: - * value = value of #guint16 to write - * nbits = number of bits to write - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool putBitsUint16(ushort value, uint nbits) - { - return gst_bit_writer_put_bits_uint16(gstBitWriter, value, nbits) != 0; - } - - /** - * Write @nbits bits of @value to #GstBitWriter. - * - * Params: - * value = value of #guint32 to write - * nbits = number of bits to write - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool putBitsUint32(uint value, uint nbits) - { - return gst_bit_writer_put_bits_uint32(gstBitWriter, value, nbits) != 0; - } - - /** - * Write @nbits bits of @value to #GstBitWriter. - * - * Params: - * value = value of #guint64 to write - * nbits = number of bits to write - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool putBitsUint64(ulong value, uint nbits) - { - return gst_bit_writer_put_bits_uint64(gstBitWriter, value, nbits) != 0; - } - - /** - * Write @nbits bits of @value to #GstBitWriter. - * - * Params: - * value = value of #guint8 to write - * nbits = number of bits to write - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool putBitsUint8(ubyte value, uint nbits) - { - return gst_bit_writer_put_bits_uint8(gstBitWriter, value, nbits) != 0; - } - - /** - * Write @nbytes bytes of @data to #GstBitWriter. - * - * Params: - * data = pointer of data to write - * nbytes = number of bytes to write - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool putBytes(ubyte* data, uint nbytes) - { - return gst_bit_writer_put_bytes(gstBitWriter, data, nbytes) != 0; - } - - /** - * Resets @bitwriter and frees the data if it's owned by @bitwriter. - */ - public void reset() - { - gst_bit_writer_reset(gstBitWriter); - } - - /** - * Resets @bitwriter and returns the current data as #GstBuffer. - * - * Free-function: gst_buffer_unref - * - * Returns: a new allocated #GstBuffer wrapping the - * current data. gst_buffer_unref() after usage. - */ - public Buffer resetAndGetBuffer() - { - auto __p = gst_bit_writer_reset_and_get_buffer(gstBitWriter); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Resets @bitwriter and returns the current data. - * - * Free-function: g_free - * - * Returns: the current data. g_free() after - * usage. - */ - public ubyte[] resetAndGetData() - { - auto __p = gst_bit_writer_reset_and_get_data(gstBitWriter); - - return __p[0 .. getArrayLength(__p)]; - } - - /** */ - public bool setPos(uint pos) - { - return gst_bit_writer_set_pos(gstBitWriter, pos) != 0; - } - - /** - * Creates a new, empty #GstBitWriter instance. - * - * Free-function: gst_bit_writer_free - * - * Returns: a new, empty #GstByteWriter instance - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_bit_writer_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstBitWriter*) __p); - } - - /** - * Creates a new #GstBitWriter instance with the given memory area. If - * @initialized is %TRUE it is possible to read @size bits from the - * #GstBitWriter from the beginning. - * - * Free-function: gst_bit_writer_free - * - * Params: - * data = Memory area for writing - * size = Size of @data in bytes - * initialized = if %TRUE the complete data can be read from the beginning - * - * Returns: a new #GstBitWriter instance - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ubyte* data, uint size, bool initialized) - { - auto __p = gst_bit_writer_new_with_data(data, size, initialized); - - if(__p is null) - { - throw new ConstructionException("null returned by new_with_data"); - } - - this(cast(GstBitWriter*) __p); - } - - /** - * Creates a #GstBitWriter instance with the given initial data size. - * - * Free-function: gst_bit_writer_free - * - * Params: - * size = Initial size of data in bytes - * fixed = If %TRUE the data can't be reallocated - * - * Returns: a new #GstBitWriter instance - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(uint size, bool fixed) - { - auto __p = gst_bit_writer_new_with_size(size, fixed); - - if(__p is null) - { - throw new ConstructionException("null returned by new_with_size"); - } - - this(cast(GstBitWriter*) __p); - } -} diff --git a/generated/gstreamer/gst/base/ByteReader.d b/generated/gstreamer/gst/base/ByteReader.d deleted file mode 100644 index ab9b9e970..000000000 --- a/generated/gstreamer/gst/base/ByteReader.d +++ /dev/null @@ -1,1179 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.ByteReader; - -private import glib.ConstructionException; -private import glib.Str; -private import gobject.ObjectG; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gtkd.Loader; - - -/** - * #GstByteReader provides a byte reader that can read different integer and - * floating point types from a memory buffer. It provides functions for reading - * signed/unsigned, little/big endian integers of 8, 16, 24, 32 and 64 bits - * and functions for reading little/big endian floating points numbers of - * 32 and 64 bits. It also provides functions to read NUL-terminated strings - * in various character encodings. - */ -public class ByteReader -{ - /** the main Gtk struct */ - protected GstByteReader* gstByteReader; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstByteReader* getByteReaderStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstByteReader; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstByteReader; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstByteReader* gstByteReader, bool ownedRef = false) - { - this.gstByteReader = gstByteReader; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTBASE) && ownedRef ) - gst_byte_reader_free(gstByteReader); - } - - - /** - * Free-function: g_free - * - * Returns a newly-allocated copy of the current data - * position if at least @size bytes are left and - * updates the current position. Free with g_free() when no longer needed. - * - * Params: - * val = address of a - * #guint8 pointer variable in which to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool dupData(out ubyte[] val) - { - ubyte* outval; - - auto __p = gst_byte_reader_dup_data(gstByteReader, cast(uint)val.length, &outval) != 0; - - val = outval[0 .. cast(uint)val.length]; - - return __p; - } - - /** - * Free-function: g_free - * - * Returns a newly-allocated copy of the current data position if there is - * a NUL-terminated UTF-16 string in the data (this could be an empty string - * as well), and advances the current position. - * - * No input checking for valid UTF-16 is done. This function is endianness - * agnostic - you should not assume the UTF-16 characters are in host - * endianness. - * - * This function will fail if no NUL-terminator was found in in the data. - * - * Note: there is no peek or get variant of this function to ensure correct - * byte alignment of the UTF-16 string. - * - * Params: - * str = address of a - * #guint16 pointer variable in which to store the result - * - * Returns: %TRUE if a string could be read, %FALSE otherwise. The - * string put into @str must be freed with g_free() when no longer needed. - */ - public bool dupStringUtf16(out ushort[] str) - { - ushort* outstr; - - auto __p = gst_byte_reader_dup_string_utf16(gstByteReader, &outstr) != 0; - - str = outstr[0 .. getArrayLength(outstr)]; - - return __p; - } - - /** - * Free-function: g_free - * - * Returns a newly-allocated copy of the current data position if there is - * a NUL-terminated UTF-32 string in the data (this could be an empty string - * as well), and advances the current position. - * - * No input checking for valid UTF-32 is done. This function is endianness - * agnostic - you should not assume the UTF-32 characters are in host - * endianness. - * - * This function will fail if no NUL-terminator was found in in the data. - * - * Note: there is no peek or get variant of this function to ensure correct - * byte alignment of the UTF-32 string. - * - * Params: - * str = address of a - * #guint32 pointer variable in which to store the result - * - * Returns: %TRUE if a string could be read, %FALSE otherwise. The - * string put into @str must be freed with g_free() when no longer needed. - */ - public bool dupStringUtf32(out uint[] str) - { - uint* outstr; - - auto __p = gst_byte_reader_dup_string_utf32(gstByteReader, &outstr) != 0; - - str = outstr[0 .. getArrayLength(outstr)]; - - return __p; - } - - /** - * Free-function: g_free - * - * FIXME:Reads (copies) a NUL-terminated string in the #GstByteReader instance, - * advancing the current position to the byte after the string. This will work - * for any NUL-terminated string with a character width of 8 bits, so ASCII, - * UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done. - * - * This function will fail if no NUL-terminator was found in in the data. - * - * Params: - * str = address of a - * #gchar pointer variable in which to store the result - * - * Returns: %TRUE if a string could be read into @str, %FALSE otherwise. The - * string put into @str must be freed with g_free() when no longer needed. - */ - public bool dupStringUtf8(out string str) - { - char* outstr = null; - - auto __p = gst_byte_reader_dup_string_utf8(gstByteReader, &outstr) != 0; - - str = Str.toString(outstr); - - return __p; - } - - /** - * Frees a #GstByteReader instance, which was previously allocated by - * gst_byte_reader_new(). - */ - public void free() - { - gst_byte_reader_free(gstByteReader); - ownedRef = false; - } - - /** - * Returns a constant pointer to the current data - * position if at least @size bytes are left and - * updates the current position. - * - * Params: - * val = address of a - * #guint8 pointer variable in which to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getData(out ubyte[] val) - { - ubyte* outval; - - auto __p = gst_byte_reader_get_data(gstByteReader, cast(uint)val.length, &outval) != 0; - - val = outval[0 .. cast(uint)val.length]; - - return __p; - } - - /** - * Read a 32 bit big endian floating point value into @val - * and update the current position. - * - * Params: - * val = Pointer to a #gfloat to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getFloat32Be(out float val) - { - return gst_byte_reader_get_float32_be(gstByteReader, &val) != 0; - } - - /** - * Read a 32 bit little endian floating point value into @val - * and update the current position. - * - * Params: - * val = Pointer to a #gfloat to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getFloat32Le(out float val) - { - return gst_byte_reader_get_float32_le(gstByteReader, &val) != 0; - } - - /** - * Read a 64 bit big endian floating point value into @val - * and update the current position. - * - * Params: - * val = Pointer to a #gdouble to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getFloat64Be(out double val) - { - return gst_byte_reader_get_float64_be(gstByteReader, &val) != 0; - } - - /** - * Read a 64 bit little endian floating point value into @val - * and update the current position. - * - * Params: - * val = Pointer to a #gdouble to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getFloat64Le(out double val) - { - return gst_byte_reader_get_float64_le(gstByteReader, &val) != 0; - } - - /** - * Read a signed 16 bit big endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #gint16 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getInt16Be(out short val) - { - return gst_byte_reader_get_int16_be(gstByteReader, &val) != 0; - } - - /** - * Read a signed 16 bit little endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #gint16 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getInt16Le(out short val) - { - return gst_byte_reader_get_int16_le(gstByteReader, &val) != 0; - } - - /** - * Read a signed 24 bit big endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #gint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getInt24Be(out int val) - { - return gst_byte_reader_get_int24_be(gstByteReader, &val) != 0; - } - - /** - * Read a signed 24 bit little endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #gint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getInt24Le(out int val) - { - return gst_byte_reader_get_int24_le(gstByteReader, &val) != 0; - } - - /** - * Read a signed 32 bit big endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #gint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getInt32Be(out int val) - { - return gst_byte_reader_get_int32_be(gstByteReader, &val) != 0; - } - - /** - * Read a signed 32 bit little endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #gint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getInt32Le(out int val) - { - return gst_byte_reader_get_int32_le(gstByteReader, &val) != 0; - } - - /** - * Read a signed 64 bit big endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #gint64 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getInt64Be(out long val) - { - return gst_byte_reader_get_int64_be(gstByteReader, &val) != 0; - } - - /** - * Read a signed 64 bit little endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #gint64 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getInt64Le(out long val) - { - return gst_byte_reader_get_int64_le(gstByteReader, &val) != 0; - } - - /** - * Read a signed 8 bit integer into @val and update the current position. - * - * Params: - * val = Pointer to a #gint8 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getInt8(out byte val) - { - return gst_byte_reader_get_int8(gstByteReader, &val) != 0; - } - - /** - * Returns the current position of a #GstByteReader instance in bytes. - * - * Returns: The current position of @reader in bytes. - */ - public uint getPos() - { - return gst_byte_reader_get_pos(gstByteReader); - } - - /** - * Returns the remaining number of bytes of a #GstByteReader instance. - * - * Returns: The remaining number of bytes of @reader instance. - */ - public uint getRemaining() - { - return gst_byte_reader_get_remaining(gstByteReader); - } - - /** - * Returns the total number of bytes of a #GstByteReader instance. - * - * Returns: The total number of bytes of @reader instance. - */ - public uint getSize() - { - return gst_byte_reader_get_size(gstByteReader); - } - - /** - * Returns a constant pointer to the current data position if there is - * a NUL-terminated string in the data (this could be just a NUL terminator), - * advancing the current position to the byte after the string. This will work - * for any NUL-terminated string with a character width of 8 bits, so ASCII, - * UTF-8, ISO-8859-N etc. - * - * No input checking for valid UTF-8 is done. - * - * This function will fail if no NUL-terminator was found in in the data. - * - * Params: - * str = address of a - * #gchar pointer variable in which to store the result - * - * Returns: %TRUE if a string could be found, %FALSE otherwise. - */ - public bool getStringUtf8(out string str) - { - char* outstr = null; - - auto __p = gst_byte_reader_get_string_utf8(gstByteReader, &outstr) != 0; - - str = Str.toString(outstr); - - return __p; - } - - /** - * Initializes a #GstByteReader sub-reader instance to contain @size bytes of - * data from the current position of @reader. This is useful to read chunked - * formats and make sure that one doesn't read beyond the size of the sub-chunk. - * - * Unlike gst_byte_reader_peek_sub_reader(), this function also modifies the - * position of @reader and moves it forward by @size bytes. - * - * Params: - * subReader = a #GstByteReader instance to initialize as sub-reader - * size = size of @sub_reader in bytes - * - * Returns: FALSE on error or if @reader does not contain @size more bytes from - * the current position, and otherwise TRUE - * - * Since: 1.6 - */ - public bool getSubReader(ByteReader subReader, uint size) - { - return gst_byte_reader_get_sub_reader(gstByteReader, (subReader is null) ? null : subReader.getByteReaderStruct(), size) != 0; - } - - /** - * Read an unsigned 16 bit big endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #guint16 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getUint16Be(out ushort val) - { - return gst_byte_reader_get_uint16_be(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 16 bit little endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #guint16 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getUint16Le(out ushort val) - { - return gst_byte_reader_get_uint16_le(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 24 bit big endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #guint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getUint24Be(out uint val) - { - return gst_byte_reader_get_uint24_be(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 24 bit little endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #guint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getUint24Le(out uint val) - { - return gst_byte_reader_get_uint24_le(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 32 bit big endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #guint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getUint32Be(out uint val) - { - return gst_byte_reader_get_uint32_be(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 32 bit little endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #guint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getUint32Le(out uint val) - { - return gst_byte_reader_get_uint32_le(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 64 bit big endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #guint64 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getUint64Be(out ulong val) - { - return gst_byte_reader_get_uint64_be(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 64 bit little endian integer into @val - * and update the current position. - * - * Params: - * val = Pointer to a #guint64 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getUint64Le(out ulong val) - { - return gst_byte_reader_get_uint64_le(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 8 bit integer into @val and update the current position. - * - * Params: - * val = Pointer to a #guint8 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool getUint8(out ubyte val) - { - return gst_byte_reader_get_uint8(gstByteReader, &val) != 0; - } - - /** - * Initializes a #GstByteReader instance to read from @data. This function - * can be called on already initialized instances. - * - * Params: - * data = data from which - * the #GstByteReader should read - */ - public void init(ubyte[] data) - { - gst_byte_reader_init(gstByteReader, data.ptr, cast(uint)data.length); - } - - /** - * Scan for pattern @pattern with applied mask @mask in the byte reader data, - * starting from offset @offset relative to the current position. - * - * The bytes in @pattern and @mask are interpreted left-to-right, regardless - * of endianness. All four bytes of the pattern must be present in the - * byte reader data for it to match, even if the first or last bytes are masked - * out. - * - * It is an error to call this function without making sure that there is - * enough data (offset+size bytes) in the byte reader. - * - * Params: - * mask = mask to apply to data before matching against @pattern - * pattern = pattern to match (after mask is applied) - * offset = offset from which to start scanning, relative to the current - * position - * size = number of bytes to scan from offset - * - * Returns: offset of the first match, or -1 if no match was found. - * - * Example: - * |[ - * // Assume the reader contains 0x00 0x01 0x02 ... 0xfe 0xff - * - * gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 0, 256); - * // -> returns 0 - * gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 1, 255); - * // -> returns -1 - * gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x01020304, 1, 255); - * // -> returns 1 - * gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0001, 0, 256); - * // -> returns -1 - * gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0203, 0, 256); - * // -> returns 0 - * gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 256); - * // -> returns 2 - * gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 4); - * // -> returns -1 - * ]| - */ - public uint maskedScanUint32(uint mask, uint pattern, uint offset, uint size) - { - return gst_byte_reader_masked_scan_uint32(gstByteReader, mask, pattern, offset, size); - } - - /** - * Scan for pattern @pattern with applied mask @mask in the byte reader data, - * starting from offset @offset relative to the current position. - * - * The bytes in @pattern and @mask are interpreted left-to-right, regardless - * of endianness. All four bytes of the pattern must be present in the - * byte reader data for it to match, even if the first or last bytes are masked - * out. - * - * It is an error to call this function without making sure that there is - * enough data (offset+size bytes) in the byte reader. - * - * Params: - * mask = mask to apply to data before matching against @pattern - * pattern = pattern to match (after mask is applied) - * offset = offset from which to start scanning, relative to the current - * position - * size = number of bytes to scan from offset - * value = pointer to uint32 to return matching data - * - * Returns: offset of the first match, or -1 if no match was found. - * - * Since: 1.6 - */ - public uint maskedScanUint32Peek(uint mask, uint pattern, uint offset, uint size, out uint value) - { - return gst_byte_reader_masked_scan_uint32_peek(gstByteReader, mask, pattern, offset, size, &value); - } - - /** - * Returns a constant pointer to the current data - * position if at least @size bytes are left and - * keeps the current position. - * - * Params: - * val = address of a - * #guint8 pointer variable in which to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekData(out ubyte[] val) - { - ubyte* outval; - - auto __p = gst_byte_reader_peek_data(gstByteReader, cast(uint)val.length, &outval) != 0; - - val = outval[0 .. cast(uint)val.length]; - - return __p; - } - - /** - * Read a 32 bit big endian floating point value into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #gfloat to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekFloat32Be(out float val) - { - return gst_byte_reader_peek_float32_be(gstByteReader, &val) != 0; - } - - /** - * Read a 32 bit little endian floating point value into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #gfloat to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekFloat32Le(out float val) - { - return gst_byte_reader_peek_float32_le(gstByteReader, &val) != 0; - } - - /** - * Read a 64 bit big endian floating point value into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #gdouble to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekFloat64Be(out double val) - { - return gst_byte_reader_peek_float64_be(gstByteReader, &val) != 0; - } - - /** - * Read a 64 bit little endian floating point value into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #gdouble to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekFloat64Le(out double val) - { - return gst_byte_reader_peek_float64_le(gstByteReader, &val) != 0; - } - - /** - * Read a signed 16 bit big endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #gint16 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekInt16Be(out short val) - { - return gst_byte_reader_peek_int16_be(gstByteReader, &val) != 0; - } - - /** - * Read a signed 16 bit little endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #gint16 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekInt16Le(out short val) - { - return gst_byte_reader_peek_int16_le(gstByteReader, &val) != 0; - } - - /** - * Read a signed 24 bit big endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #gint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekInt24Be(out int val) - { - return gst_byte_reader_peek_int24_be(gstByteReader, &val) != 0; - } - - /** - * Read a signed 24 bit little endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #gint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekInt24Le(out int val) - { - return gst_byte_reader_peek_int24_le(gstByteReader, &val) != 0; - } - - /** - * Read a signed 32 bit big endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #gint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekInt32Be(out int val) - { - return gst_byte_reader_peek_int32_be(gstByteReader, &val) != 0; - } - - /** - * Read a signed 32 bit little endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #gint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekInt32Le(out int val) - { - return gst_byte_reader_peek_int32_le(gstByteReader, &val) != 0; - } - - /** - * Read a signed 64 bit big endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #gint64 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekInt64Be(out long val) - { - return gst_byte_reader_peek_int64_be(gstByteReader, &val) != 0; - } - - /** - * Read a signed 64 bit little endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #gint64 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekInt64Le(out long val) - { - return gst_byte_reader_peek_int64_le(gstByteReader, &val) != 0; - } - - /** - * Read a signed 8 bit integer into @val but keep the current position. - * - * Params: - * val = Pointer to a #gint8 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekInt8(out byte val) - { - return gst_byte_reader_peek_int8(gstByteReader, &val) != 0; - } - - /** - * Returns a constant pointer to the current data position if there is - * a NUL-terminated string in the data (this could be just a NUL terminator). - * The current position will be maintained. This will work for any - * NUL-terminated string with a character width of 8 bits, so ASCII, - * UTF-8, ISO-8859-N etc. - * - * No input checking for valid UTF-8 is done. - * - * This function will fail if no NUL-terminator was found in in the data. - * - * Params: - * str = address of a - * #gchar pointer variable in which to store the result - * - * Returns: %TRUE if a string could be skipped, %FALSE otherwise. - */ - public bool peekStringUtf8(out string str) - { - char* outstr = null; - - auto __p = gst_byte_reader_peek_string_utf8(gstByteReader, &outstr) != 0; - - str = Str.toString(outstr); - - return __p; - } - - /** - * Initializes a #GstByteReader sub-reader instance to contain @size bytes of - * data from the current position of @reader. This is useful to read chunked - * formats and make sure that one doesn't read beyond the size of the sub-chunk. - * - * Unlike gst_byte_reader_get_sub_reader(), this function does not modify the - * current position of @reader. - * - * Params: - * subReader = a #GstByteReader instance to initialize as sub-reader - * size = size of @sub_reader in bytes - * - * Returns: FALSE on error or if @reader does not contain @size more bytes from - * the current position, and otherwise TRUE - * - * Since: 1.6 - */ - public bool peekSubReader(ByteReader subReader, uint size) - { - return gst_byte_reader_peek_sub_reader(gstByteReader, (subReader is null) ? null : subReader.getByteReaderStruct(), size) != 0; - } - - /** - * Read an unsigned 16 bit big endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #guint16 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekUint16Be(out ushort val) - { - return gst_byte_reader_peek_uint16_be(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 16 bit little endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #guint16 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekUint16Le(out ushort val) - { - return gst_byte_reader_peek_uint16_le(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 24 bit big endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #guint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekUint24Be(out uint val) - { - return gst_byte_reader_peek_uint24_be(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 24 bit little endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #guint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekUint24Le(out uint val) - { - return gst_byte_reader_peek_uint24_le(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 32 bit big endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #guint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekUint32Be(out uint val) - { - return gst_byte_reader_peek_uint32_be(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 32 bit little endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #guint32 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekUint32Le(out uint val) - { - return gst_byte_reader_peek_uint32_le(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 64 bit big endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #guint64 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekUint64Be(out ulong val) - { - return gst_byte_reader_peek_uint64_be(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 64 bit little endian integer into @val - * but keep the current position. - * - * Params: - * val = Pointer to a #guint64 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekUint64Le(out ulong val) - { - return gst_byte_reader_peek_uint64_le(gstByteReader, &val) != 0; - } - - /** - * Read an unsigned 8 bit integer into @val but keep the current position. - * - * Params: - * val = Pointer to a #guint8 to store the result - * - * Returns: %TRUE if successful, %FALSE otherwise. - */ - public bool peekUint8(out ubyte val) - { - return gst_byte_reader_peek_uint8(gstByteReader, &val) != 0; - } - - /** - * Sets the new position of a #GstByteReader instance to @pos in bytes. - * - * Params: - * pos = The new position in bytes - * - * Returns: %TRUE if the position could be set successfully, %FALSE - * otherwise. - */ - public bool setPos(uint pos) - { - return gst_byte_reader_set_pos(gstByteReader, pos) != 0; - } - - /** - * Skips @nbytes bytes of the #GstByteReader instance. - * - * Params: - * nbytes = the number of bytes to skip - * - * Returns: %TRUE if @nbytes bytes could be skipped, %FALSE otherwise. - */ - public bool skip(uint nbytes) - { - return gst_byte_reader_skip(gstByteReader, nbytes) != 0; - } - - /** - * Skips a NUL-terminated UTF-16 string in the #GstByteReader instance, - * advancing the current position to the byte after the string. - * - * No input checking for valid UTF-16 is done. - * - * This function will fail if no NUL-terminator was found in in the data. - * - * Returns: %TRUE if a string could be skipped, %FALSE otherwise. - */ - public bool skipStringUtf16() - { - return gst_byte_reader_skip_string_utf16(gstByteReader) != 0; - } - - /** - * Skips a NUL-terminated UTF-32 string in the #GstByteReader instance, - * advancing the current position to the byte after the string. - * - * No input checking for valid UTF-32 is done. - * - * This function will fail if no NUL-terminator was found in in the data. - * - * Returns: %TRUE if a string could be skipped, %FALSE otherwise. - */ - public bool skipStringUtf32() - { - return gst_byte_reader_skip_string_utf32(gstByteReader) != 0; - } - - /** - * Skips a NUL-terminated string in the #GstByteReader instance, advancing - * the current position to the byte after the string. This will work for - * any NUL-terminated string with a character width of 8 bits, so ASCII, - * UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done. - * - * This function will fail if no NUL-terminator was found in in the data. - * - * Returns: %TRUE if a string could be skipped, %FALSE otherwise. - */ - public bool skipStringUtf8() - { - return gst_byte_reader_skip_string_utf8(gstByteReader) != 0; - } - - /** - * Create a new #GstByteReader instance, which will read from @data. - * - * Free-function: gst_byte_reader_free - * - * Params: - * data = data from which the - * #GstByteReader should read - * - * Returns: a new #GstByteReader instance - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ubyte[] data) - { - auto __p = gst_byte_reader_new(data.ptr, cast(uint)data.length); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstByteReader*) __p); - } -} diff --git a/generated/gstreamer/gst/base/ByteWriter.d b/generated/gstreamer/gst/base/ByteWriter.d deleted file mode 100644 index e53782312..000000000 --- a/generated/gstreamer/gst/base/ByteWriter.d +++ /dev/null @@ -1,670 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.ByteWriter; - -private import glib.ConstructionException; -private import glib.Str; -private import gobject.ObjectG; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gstreamer.Buffer; -private import gtkd.Loader; - - -/** - * #GstByteWriter provides a byte writer and reader that can write/read different - * integer and floating point types to/from a memory buffer. It provides functions - * for writing/reading signed/unsigned, little/big endian integers of 8, 16, 24, - * 32 and 64 bits and functions for reading little/big endian floating points numbers of - * 32 and 64 bits. It also provides functions to write/read NUL-terminated strings - * in various character encodings. - */ -public class ByteWriter -{ - /** the main Gtk struct */ - protected GstByteWriter* gstByteWriter; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstByteWriter* getByteWriterStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstByteWriter; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstByteWriter; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstByteWriter* gstByteWriter, bool ownedRef = false) - { - this.gstByteWriter = gstByteWriter; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTBASE) && ownedRef ) - gst_byte_writer_free(gstByteWriter); - } - - /** - * Frees @writer and all memory allocated by it except - * the current data, which is returned. - * - * Free-function: g_free - * - * Returns: the current data. g_free() after usage. - */ - public ubyte[] freeAndGetData() - { - ubyte* p = gst_byte_writer_free_and_get_data(gstByteWriter); - ownedRef = false; - return p[0 .. gstByteWriter.parent.size]; - } - - /** - * Resets @writer and returns the current data. - * - * Free-function: g_free - * - * Returns: the current data. g_free() after - * usage. - */ - public ubyte[] resetAndGetData() - { - auto p = gst_byte_writer_reset_and_get_data(gstByteWriter); - - return p[0 .. gstByteWriter.parent.size]; - } - - /** - */ - - /** - * Checks if enough free space from the current write cursor is - * available and reallocates if necessary. - * - * Params: - * size = Number of bytes that should be available - * - * Returns: %TRUE if at least @size bytes are still available - */ - public bool ensureFreeSpace(uint size) - { - return gst_byte_writer_ensure_free_space(gstByteWriter, size) != 0; - } - - /** - * Writes @size bytes containing @value to @writer. - * - * Params: - * value = Value to be written - * size = Number of bytes to be written - * - * Returns: %TRUE if the value could be written - */ - public bool fill(ubyte value, uint size) - { - return gst_byte_writer_fill(gstByteWriter, value, size) != 0; - } - - /** - * Frees @writer and all memory allocated by it. - */ - public void free() - { - gst_byte_writer_free(gstByteWriter); - ownedRef = false; - } - - /** - * Frees @writer and all memory allocated by it except - * the current data, which is returned as #GstBuffer. - * - * Free-function: gst_buffer_unref - * - * Returns: the current data as buffer. gst_buffer_unref() - * after usage. - */ - public Buffer freeAndGetBuffer() - { - auto __p = gst_byte_writer_free_and_get_buffer(gstByteWriter); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Returns the remaining size of data that can still be written. If - * -1 is returned the remaining size is only limited by system resources. - * - * Returns: the remaining size of data that can still be written - */ - public uint getRemaining() - { - return gst_byte_writer_get_remaining(gstByteWriter); - } - - /** - * Initializes @writer to an empty instance - */ - public void init() - { - gst_byte_writer_init(gstByteWriter); - } - - /** - * Initializes @writer with the given - * memory area. If @initialized is %TRUE it is possible to - * read @size bytes from the #GstByteWriter from the beginning. - * - * Params: - * data = Memory area for writing - * initialized = If %TRUE the complete data can be read from the beginning - */ - public void initWithData(ubyte[] data, bool initialized) - { - gst_byte_writer_init_with_data(gstByteWriter, data.ptr, cast(uint)data.length, initialized); - } - - /** - * Initializes @writer with the given initial data size. - * - * Params: - * size = Initial size of data - * fixed = If %TRUE the data can't be reallocated - */ - public void initWithSize(uint size, bool fixed) - { - gst_byte_writer_init_with_size(gstByteWriter, size, fixed); - } - - /** - * Writes @size bytes of @data to @writer. - * - * Params: - * buffer = source #GstBuffer - * offset = offset to copy from - * size = total size to copy. If -1, all data is copied - * - * Returns: %TRUE if the data could be written - */ - public bool putBuffer(Buffer buffer, size_t offset, ptrdiff_t size) - { - return gst_byte_writer_put_buffer(gstByteWriter, (buffer is null) ? null : buffer.getBufferStruct(), offset, size) != 0; - } - - /** - * Writes @size bytes of @data to @writer. - * - * Params: - * data = Data to write - * - * Returns: %TRUE if the value could be written - */ - public bool putData(ubyte[] data) - { - return gst_byte_writer_put_data(gstByteWriter, data.ptr, cast(uint)data.length) != 0; - } - - /** - * Writes a big endian 32 bit float to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putFloat32Be(float val) - { - return gst_byte_writer_put_float32_be(gstByteWriter, val) != 0; - } - - /** - * Writes a little endian 32 bit float to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putFloat32Le(float val) - { - return gst_byte_writer_put_float32_le(gstByteWriter, val) != 0; - } - - /** - * Writes a big endian 64 bit float to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putFloat64Be(double val) - { - return gst_byte_writer_put_float64_be(gstByteWriter, val) != 0; - } - - /** - * Writes a little endian 64 bit float to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putFloat64Le(double val) - { - return gst_byte_writer_put_float64_le(gstByteWriter, val) != 0; - } - - /** - * Writes a signed big endian 16 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putInt16Be(short val) - { - return gst_byte_writer_put_int16_be(gstByteWriter, val) != 0; - } - - /** - * Writes a signed little endian 16 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putInt16Le(short val) - { - return gst_byte_writer_put_int16_le(gstByteWriter, val) != 0; - } - - /** - * Writes a signed big endian 24 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putInt24Be(int val) - { - return gst_byte_writer_put_int24_be(gstByteWriter, val) != 0; - } - - /** - * Writes a signed little endian 24 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putInt24Le(int val) - { - return gst_byte_writer_put_int24_le(gstByteWriter, val) != 0; - } - - /** - * Writes a signed big endian 32 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putInt32Be(int val) - { - return gst_byte_writer_put_int32_be(gstByteWriter, val) != 0; - } - - /** - * Writes a signed little endian 32 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putInt32Le(int val) - { - return gst_byte_writer_put_int32_le(gstByteWriter, val) != 0; - } - - /** - * Writes a signed big endian 64 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putInt64Be(long val) - { - return gst_byte_writer_put_int64_be(gstByteWriter, val) != 0; - } - - /** - * Writes a signed little endian 64 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putInt64Le(long val) - { - return gst_byte_writer_put_int64_le(gstByteWriter, val) != 0; - } - - /** - * Writes a signed 8 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putInt8(byte val) - { - return gst_byte_writer_put_int8(gstByteWriter, val) != 0; - } - - /** - * Writes a NUL-terminated UTF16 string to @writer (including the terminator). - * - * Params: - * data = UTF16 string to write - * - * Returns: %TRUE if the value could be written - */ - public bool putStringUtf16(ushort[] data) - { - return gst_byte_writer_put_string_utf16(gstByteWriter, data.ptr) != 0; - } - - /** - * Writes a NUL-terminated UTF32 string to @writer (including the terminator). - * - * Params: - * data = UTF32 string to write - * - * Returns: %TRUE if the value could be written - */ - public bool putStringUtf32(uint[] data) - { - return gst_byte_writer_put_string_utf32(gstByteWriter, data.ptr) != 0; - } - - /** - * Writes a NUL-terminated UTF8 string to @writer (including the terminator). - * - * Params: - * data = UTF8 string to write - * - * Returns: %TRUE if the value could be written - */ - public bool putStringUtf8(string data) - { - return gst_byte_writer_put_string_utf8(gstByteWriter, Str.toStringz(data)) != 0; - } - - /** - * Writes a unsigned big endian 16 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putUint16Be(ushort val) - { - return gst_byte_writer_put_uint16_be(gstByteWriter, val) != 0; - } - - /** - * Writes a unsigned little endian 16 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putUint16Le(ushort val) - { - return gst_byte_writer_put_uint16_le(gstByteWriter, val) != 0; - } - - /** - * Writes a unsigned big endian 24 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putUint24Be(uint val) - { - return gst_byte_writer_put_uint24_be(gstByteWriter, val) != 0; - } - - /** - * Writes a unsigned little endian 24 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putUint24Le(uint val) - { - return gst_byte_writer_put_uint24_le(gstByteWriter, val) != 0; - } - - /** - * Writes a unsigned big endian 32 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putUint32Be(uint val) - { - return gst_byte_writer_put_uint32_be(gstByteWriter, val) != 0; - } - - /** - * Writes a unsigned little endian 32 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putUint32Le(uint val) - { - return gst_byte_writer_put_uint32_le(gstByteWriter, val) != 0; - } - - /** - * Writes a unsigned big endian 64 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putUint64Be(ulong val) - { - return gst_byte_writer_put_uint64_be(gstByteWriter, val) != 0; - } - - /** - * Writes a unsigned little endian 64 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putUint64Le(ulong val) - { - return gst_byte_writer_put_uint64_le(gstByteWriter, val) != 0; - } - - /** - * Writes a unsigned 8 bit integer to @writer. - * - * Params: - * val = Value to write - * - * Returns: %TRUE if the value could be written - */ - public bool putUint8(ubyte val) - { - return gst_byte_writer_put_uint8(gstByteWriter, val) != 0; - } - - /** - * Resets @writer and frees the data if it's - * owned by @writer. - */ - public void reset() - { - gst_byte_writer_reset(gstByteWriter); - } - - /** - * Resets @writer and returns the current data as buffer. - * - * Free-function: gst_buffer_unref - * - * Returns: the current data as buffer. gst_buffer_unref() - * after usage. - */ - public Buffer resetAndGetBuffer() - { - auto __p = gst_byte_writer_reset_and_get_buffer(gstByteWriter); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Creates a new, empty #GstByteWriter instance - * - * Free-function: gst_byte_writer_free - * - * Returns: a new, empty #GstByteWriter instance - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_byte_writer_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstByteWriter*) __p); - } - - /** - * Creates a new #GstByteWriter instance with the given - * memory area. If @initialized is %TRUE it is possible to - * read @size bytes from the #GstByteWriter from the beginning. - * - * Free-function: gst_byte_writer_free - * - * Params: - * data = Memory area for writing - * initialized = If %TRUE the complete data can be read from the beginning - * - * Returns: a new #GstByteWriter instance - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ubyte[] data, bool initialized) - { - auto __p = gst_byte_writer_new_with_data(data.ptr, cast(uint)data.length, initialized); - - if(__p is null) - { - throw new ConstructionException("null returned by new_with_data"); - } - - this(cast(GstByteWriter*) __p); - } - - /** - * Creates a new #GstByteWriter instance with the given - * initial data size. - * - * Free-function: gst_byte_writer_free - * - * Params: - * size = Initial size of data - * fixed = If %TRUE the data can't be reallocated - * - * Returns: a new #GstByteWriter instance - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(uint size, bool fixed) - { - auto __p = gst_byte_writer_new_with_size(size, fixed); - - if(__p is null) - { - throw new ConstructionException("null returned by new_with_size"); - } - - this(cast(GstByteWriter*) __p); - } -} diff --git a/generated/gstreamer/gst/base/CollectPads.d b/generated/gstreamer/gst/base/CollectPads.d deleted file mode 100644 index 4855212b3..000000000 --- a/generated/gstreamer/gst/base/CollectPads.d +++ /dev/null @@ -1,586 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.CollectPads; - -private import glib.ConstructionException; -private import gobject.ObjectG; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gstreamer.Buffer; -private import gstreamer.Event; -private import gstreamer.ObjectGst; -private import gstreamer.Pad; -private import gstreamer.Query; - - -/** - * Manages a set of pads that operate in collect mode. This means that control - * is given to the manager of this object when all pads have data. - * - * * Collectpads are created with gst_collect_pads_new(). A callback should then - * be installed with gst_collect_pads_set_function (). - * - * * Pads are added to the collection with gst_collect_pads_add_pad()/ - * gst_collect_pads_remove_pad(). The pad has to be a sinkpad. When added, - * the chain, event and query functions of the pad are overridden. The - * element_private of the pad is used to store private information for the - * collectpads. - * - * * For each pad, data is queued in the _chain function or by - * performing a pull_range. - * - * * When data is queued on all pads in waiting mode, the callback function is called. - * - * * Data can be dequeued from the pad with the gst_collect_pads_pop() method. - * One can peek at the data with the gst_collect_pads_peek() function. - * These functions will return %NULL if the pad received an EOS event. When all - * pads return %NULL from a gst_collect_pads_peek(), the element can emit an EOS - * event itself. - * - * * Data can also be dequeued in byte units using the gst_collect_pads_available(), - * gst_collect_pads_read_buffer() and gst_collect_pads_flush() calls. - * - * * Elements should call gst_collect_pads_start() and gst_collect_pads_stop() in - * their state change functions to start and stop the processing of the collectpads. - * The gst_collect_pads_stop() call should be called before calling the parent - * element state change function in the PAUSED_TO_READY state change to ensure - * no pad is blocked and the element can finish streaming. - * - * * gst_collect_pads_set_waiting() sets a pad to waiting or non-waiting mode. - * CollectPads element is not waiting for data to be collected on non-waiting pads. - * Thus these pads may but need not have data when the callback is called. - * All pads are in waiting mode by default. - */ -public class CollectPads : ObjectGst -{ - /** the main Gtk struct */ - protected GstCollectPads* gstCollectPads; - - /** Get the main Gtk struct */ - public GstCollectPads* getCollectPadsStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstCollectPads; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstCollectPads; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstCollectPads* gstCollectPads, bool ownedRef = false) - { - this.gstCollectPads = gstCollectPads; - super(cast(GstObject*)gstCollectPads, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_collect_pads_get_type(); - } - - /** - * Create a new instance of #GstCollectPads. - * - * MT safe. - * - * Returns: a new #GstCollectPads, or %NULL in case of an error. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_collect_pads_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstCollectPads*) __p, true); - } - - /** - * Add a pad to the collection of collect pads. The pad has to be - * a sinkpad. The refcount of the pad is incremented. Use - * gst_collect_pads_remove_pad() to remove the pad from the collection - * again. - * - * You specify a size for the returned #GstCollectData structure - * so that you can use it to store additional information. - * - * You can also specify a #GstCollectDataDestroyNotify that will be called - * just before the #GstCollectData structure is freed. It is passed the - * pointer to the structure and should free any custom memory and resources - * allocated for it. - * - * Keeping a pad locked in waiting state is only relevant when using - * the default collection algorithm (providing the oldest buffer). - * It ensures a buffer must be available on this pad for a collection - * to take place. This is of typical use to a muxer element where - * non-subtitle streams should always be in waiting state, - * e.g. to assure that caps information is available on all these streams - * when initial headers have to be written. - * - * The pad will be automatically activated in push mode when @pads is - * started. - * - * MT safe. - * - * Params: - * pad = the pad to add - * size = the size of the returned #GstCollectData structure - * destroyNotify = function to be called before the returned - * #GstCollectData structure is freed - * lock = whether to lock this pad in usual waiting state - * - * Returns: a new #GstCollectData to identify the - * new pad. Or %NULL if wrong parameters are supplied. - */ - public GstCollectData* addPad(Pad pad, uint size, GstCollectDataDestroyNotify destroyNotify, bool lock) - { - return gst_collect_pads_add_pad(gstCollectPads, (pad is null) ? null : pad.getPadStruct(), size, destroyNotify, lock); - } - - /** - * Query how much bytes can be read from each queued buffer. This means - * that the result of this call is the maximum number of bytes that can - * be read from each of the pads. - * - * This function should be called with @pads STREAM_LOCK held, such as - * in the callback. - * - * MT safe. - * - * Returns: The maximum number of bytes queued on all pads. This function - * returns 0 if a pad has no queued buffer. - */ - public uint available() - { - return gst_collect_pads_available(gstCollectPads); - } - - /** - * Convenience clipping function that converts incoming buffer's timestamp - * to running time, or clips the buffer if outside configured segment. - * - * Since 1.6, this clipping function also sets the DTS parameter of the - * GstCollectData structure. This version of the running time DTS can be - * negative. G_MININT64 is used to indicate invalid value. - * - * Params: - * cdata = collect data of corresponding pad - * buf = buffer being clipped - * outbuf = output buffer with running time, or NULL if clipped - * userData = user data (unused) - */ - public GstFlowReturn clipRunningTime(GstCollectData* cdata, Buffer buf, out Buffer outbuf, void* userData) - { - GstBuffer* outoutbuf = null; - - auto __p = gst_collect_pads_clip_running_time(gstCollectPads, cdata, (buf is null) ? null : buf.getBufferStruct(), &outoutbuf, userData); - - outbuf = ObjectG.getDObject!(Buffer)(outoutbuf); - - return __p; - } - - /** - * Default #GstCollectPads event handling that elements should always - * chain up to to ensure proper operation. Element might however indicate - * event should not be forwarded downstream. - * - * Params: - * data = collect data of corresponding pad - * event = event being processed - * discard = process but do not send event downstream - */ - public bool eventDefault(GstCollectData* data, Event event, bool discard) - { - return gst_collect_pads_event_default(gstCollectPads, data, (event is null) ? null : event.getEventStruct(), discard) != 0; - } - - /** - * Flush @size bytes from the pad @data. - * - * This function should be called with @pads STREAM_LOCK held, such as - * in the callback. - * - * MT safe. - * - * Params: - * data = the data to use - * size = the number of bytes to flush - * - * Returns: The number of bytes flushed This can be less than @size and - * is 0 if the pad was end-of-stream. - */ - public uint flush(GstCollectData* data, uint size) - { - return gst_collect_pads_flush(gstCollectPads, data, size); - } - - /** - * Peek at the buffer currently queued in @data. This function - * should be called with the @pads STREAM_LOCK held, such as in the callback - * handler. - * - * MT safe. - * - * Params: - * data = the data to use - * - * Returns: The buffer in @data or %NULL if no - * buffer is queued. should unref the buffer after usage. - */ - public Buffer peek(GstCollectData* data) - { - auto __p = gst_collect_pads_peek(gstCollectPads, data); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Pop the buffer currently queued in @data. This function - * should be called with the @pads STREAM_LOCK held, such as in the callback - * handler. - * - * MT safe. - * - * Params: - * data = the data to use - * - * Returns: The buffer in @data or %NULL if no - * buffer was queued. You should unref the buffer after usage. - */ - public Buffer pop(GstCollectData* data) - { - auto __p = gst_collect_pads_pop(gstCollectPads, data); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Default #GstCollectPads query handling that elements should always - * chain up to to ensure proper operation. Element might however indicate - * query should not be forwarded downstream. - * - * Params: - * data = collect data of corresponding pad - * query = query being processed - * discard = process but do not send event downstream - */ - public bool queryDefault(GstCollectData* data, Query query, bool discard) - { - return gst_collect_pads_query_default(gstCollectPads, data, (query is null) ? null : query.getQueryStruct(), discard) != 0; - } - - /** - * Get a subbuffer of @size bytes from the given pad @data. - * - * This function should be called with @pads STREAM_LOCK held, such as in the - * callback. - * - * MT safe. - * - * Params: - * data = the data to use - * size = the number of bytes to read - * - * Returns: A sub buffer. The size of the buffer can - * be less that requested. A return of %NULL signals that the pad is - * end-of-stream. Unref the buffer after use. - */ - public Buffer readBuffer(GstCollectData* data, uint size) - { - auto __p = gst_collect_pads_read_buffer(gstCollectPads, data, size); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Remove a pad from the collection of collect pads. This function will also - * free the #GstCollectData and all the resources that were allocated with - * gst_collect_pads_add_pad(). - * - * The pad will be deactivated automatically when @pads is stopped. - * - * MT safe. - * - * Params: - * pad = the pad to remove - * - * Returns: %TRUE if the pad could be removed. - */ - public bool removePad(Pad pad) - { - return gst_collect_pads_remove_pad(gstCollectPads, (pad is null) ? null : pad.getPadStruct()) != 0; - } - - /** - * Set the callback function and user data that will be called with - * the oldest buffer when all pads have been collected, or %NULL on EOS. - * If a buffer is passed, the callback owns a reference and must unref - * it. - * - * MT safe. - * - * Params: - * func = the function to set - * userData = user data passed to the function - */ - public void setBufferFunction(GstCollectPadsBufferFunction func, void* userData) - { - gst_collect_pads_set_buffer_function(gstCollectPads, func, userData); - } - - /** - * Install a clipping function that is called right after a buffer is received - * on a pad managed by @pads. See #GstCollectPadsClipFunction for more info. - * - * Params: - * clipfunc = clip function to install - * userData = user data to pass to @clip_func - */ - public void setClipFunction(GstCollectPadsClipFunction clipfunc, void* userData) - { - gst_collect_pads_set_clip_function(gstCollectPads, clipfunc, userData); - } - - /** - * Set the timestamp comparison function. - * - * MT safe. - * - * Params: - * func = the function to set - * userData = user data passed to the function - */ - public void setCompareFunction(GstCollectPadsCompareFunction func, void* userData) - { - gst_collect_pads_set_compare_function(gstCollectPads, func, userData); - } - - /** - * Set the event callback function and user data that will be called when - * collectpads has received an event originating from one of the collected - * pads. If the event being processed is a serialized one, this callback is - * called with @pads STREAM_LOCK held, otherwise not. As this lock should be - * held when calling a number of CollectPads functions, it should be acquired - * if so (unusually) needed. - * - * MT safe. - * - * Params: - * func = the function to set - * userData = user data passed to the function - */ - public void setEventFunction(GstCollectPadsEventFunction func, void* userData) - { - gst_collect_pads_set_event_function(gstCollectPads, func, userData); - } - - /** - * Install a flush function that is called when the internal - * state of all pads should be flushed as part of flushing seek - * handling. See #GstCollectPadsFlushFunction for more info. - * - * Params: - * func = flush function to install - * userData = user data to pass to @func - * - * Since: 1.4 - */ - public void setFlushFunction(GstCollectPadsFlushFunction func, void* userData) - { - gst_collect_pads_set_flush_function(gstCollectPads, func, userData); - } - - /** - * Change the flushing state of all the pads in the collection. No pad - * is able to accept anymore data when @flushing is %TRUE. Calling this - * function with @flushing %FALSE makes @pads accept data again. - * Caller must ensure that downstream streaming (thread) is not blocked, - * e.g. by sending a FLUSH_START downstream. - * - * MT safe. - * - * Params: - * flushing = desired state of the pads - */ - public void setFlushing(bool flushing) - { - gst_collect_pads_set_flushing(gstCollectPads, flushing); - } - - /** - * CollectPads provides a default collection algorithm that will determine - * the oldest buffer available on all of its pads, and then delegate - * to a configured callback. - * However, if circumstances are more complicated and/or more control - * is desired, this sets a callback that will be invoked instead when - * all the pads added to the collection have buffers queued. - * Evidently, this callback is not compatible with - * gst_collect_pads_set_buffer_function() callback. - * If this callback is set, the former will be unset. - * - * MT safe. - * - * Params: - * func = the function to set - * userData = user data passed to the function - */ - public void setFunction(GstCollectPadsFunction func, void* userData) - { - gst_collect_pads_set_function(gstCollectPads, func, userData); - } - - /** - * Set the query callback function and user data that will be called after - * collectpads has received a query originating from one of the collected - * pads. If the query being processed is a serialized one, this callback is - * called with @pads STREAM_LOCK held, otherwise not. As this lock should be - * held when calling a number of CollectPads functions, it should be acquired - * if so (unusually) needed. - * - * MT safe. - * - * Params: - * func = the function to set - * userData = user data passed to the function - */ - public void setQueryFunction(GstCollectPadsQueryFunction func, void* userData) - { - gst_collect_pads_set_query_function(gstCollectPads, func, userData); - } - - /** - * Sets a pad to waiting or non-waiting mode, if at least this pad - * has not been created with locked waiting state, - * in which case nothing happens. - * - * This function should be called with @pads STREAM_LOCK held, such as - * in the callback. - * - * MT safe. - * - * Params: - * data = the data to use - * waiting = boolean indicating whether this pad should operate - * in waiting or non-waiting mode - */ - public void setWaiting(GstCollectData* data, bool waiting) - { - gst_collect_pads_set_waiting(gstCollectPads, data, waiting); - } - - /** - * Default #GstCollectPads event handling for the src pad of elements. - * Elements can chain up to this to let flushing seek event handling - * be done by #GstCollectPads. - * - * Params: - * pad = src #GstPad that received the event - * event = event being processed - * - * Since: 1.4 - */ - public bool srcEventDefault(Pad pad, Event event) - { - return gst_collect_pads_src_event_default(gstCollectPads, (pad is null) ? null : pad.getPadStruct(), (event is null) ? null : event.getEventStruct()) != 0; - } - - /** - * Starts the processing of data in the collect_pads. - * - * MT safe. - */ - public void start() - { - gst_collect_pads_start(gstCollectPads); - } - - /** - * Stops the processing of data in the collect_pads. this function - * will also unblock any blocking operations. - * - * MT safe. - */ - public void stop() - { - gst_collect_pads_stop(gstCollectPads); - } - - /** - * Get a subbuffer of @size bytes from the given pad @data. Flushes the amount - * of read bytes. - * - * This function should be called with @pads STREAM_LOCK held, such as in the - * callback. - * - * MT safe. - * - * Params: - * data = the data to use - * size = the number of bytes to read - * - * Returns: A sub buffer. The size of the buffer can - * be less that requested. A return of %NULL signals that the pad is - * end-of-stream. Unref the buffer after use. - */ - public Buffer takeBuffer(GstCollectData* data, uint size) - { - auto __p = gst_collect_pads_take_buffer(gstCollectPads, data, size); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } -} diff --git a/generated/gstreamer/gst/base/DataQueue.d b/generated/gstreamer/gst/base/DataQueue.d deleted file mode 100644 index 8730bd02a..000000000 --- a/generated/gstreamer/gst/base/DataQueue.d +++ /dev/null @@ -1,307 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.DataQueue; - -private import glib.ConstructionException; -private import gobject.ObjectG; -private import gobject.Signals; -private import gst.base.c.functions; -public import gst.base.c.types; -private import std.algorithm; - - -/** - * #GstDataQueue is an object that handles threadsafe queueing of objects. It - * also provides size-related functionality. This object should be used for - * any #GstElement that wishes to provide some sort of queueing functionality. - */ -public class DataQueue : ObjectG -{ - /** the main Gtk struct */ - protected GstDataQueue* gstDataQueue; - - /** Get the main Gtk struct */ - public GstDataQueue* getDataQueueStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstDataQueue; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstDataQueue; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstDataQueue* gstDataQueue, bool ownedRef = false) - { - this.gstDataQueue = gstDataQueue; - super(cast(GObject*)gstDataQueue, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_data_queue_get_type(); - } - - /** - * Creates a new #GstDataQueue. If @fullcallback or @emptycallback are supplied, then - * the #GstDataQueue will call the respective callback to signal full or empty condition. - * If the callbacks are NULL the #GstDataQueue will instead emit 'full' and 'empty' - * signals. - * - * Params: - * checkfull = the callback used to tell if the element considers the queue full - * or not. - * fullcallback = the callback which will be called when the queue is considered full. - * emptycallback = the callback which will be called when the queue is considered empty. - * checkdata = a #gpointer that will be passed to the @checkfull, @fullcallback, - * and @emptycallback callbacks. - * - * Returns: a new #GstDataQueue. - * - * Since: 1.2 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstDataQueueCheckFullFunction checkfull, GstDataQueueFullCallback fullcallback, GstDataQueueEmptyCallback emptycallback, void* checkdata) - { - auto __p = gst_data_queue_new(checkfull, fullcallback, emptycallback, checkdata); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstDataQueue*) __p, true); - } - - /** - * Pop and unref the head-most #GstMiniObject with the given #GType. - * - * Params: - * type = The #GType of the item to drop. - * - * Returns: %TRUE if an element was removed. - * - * Since: 1.2 - */ - public bool dropHead(GType type) - { - return gst_data_queue_drop_head(gstDataQueue, type) != 0; - } - - /** - * Flushes all the contents of the @queue. Any call to #gst_data_queue_push and - * #gst_data_queue_pop will be released. - * MT safe. - * - * Since: 1.2 - */ - public void flush() - { - gst_data_queue_flush(gstDataQueue); - } - - /** - * Get the current level of the queue. - * - * Params: - * level = the location to store the result - * - * Since: 1.2 - */ - public void getLevel(out GstDataQueueSize level) - { - gst_data_queue_get_level(gstDataQueue, &level); - } - - /** - * Queries if there are any items in the @queue. - * MT safe. - * - * Returns: %TRUE if @queue is empty. - * - * Since: 1.2 - */ - public bool isEmpty() - { - return gst_data_queue_is_empty(gstDataQueue) != 0; - } - - /** - * Queries if @queue is full. This check will be done using the - * #GstDataQueueCheckFullFunction registered with @queue. - * MT safe. - * - * Returns: %TRUE if @queue is full. - * - * Since: 1.2 - */ - public bool isFull() - { - return gst_data_queue_is_full(gstDataQueue) != 0; - } - - /** - * Inform the queue that the limits for the fullness check have changed and that - * any blocking gst_data_queue_push() should be unblocked to recheck the limits. - * - * Since: 1.2 - */ - public void limitsChanged() - { - gst_data_queue_limits_changed(gstDataQueue); - } - - /** - * Retrieves the first @item available on the @queue without removing it. - * If the queue is currently empty, the call will block until at least - * one item is available, OR the @queue is set to the flushing state. - * MT safe. - * - * Params: - * item = pointer to store the returned #GstDataQueueItem. - * - * Returns: %TRUE if an @item was successfully retrieved from the @queue. - * - * Since: 1.2 - */ - public bool peek(out GstDataQueueItem* item) - { - return gst_data_queue_peek(gstDataQueue, &item) != 0; - } - - /** - * Retrieves the first @item available on the @queue. If the queue is currently - * empty, the call will block until at least one item is available, OR the - * @queue is set to the flushing state. - * MT safe. - * - * Params: - * item = pointer to store the returned #GstDataQueueItem. - * - * Returns: %TRUE if an @item was successfully retrieved from the @queue. - * - * Since: 1.2 - */ - public bool pop(out GstDataQueueItem* item) - { - return gst_data_queue_pop(gstDataQueue, &item) != 0; - } - - /** - * Pushes a #GstDataQueueItem (or a structure that begins with the same fields) - * on the @queue. If the @queue is full, the call will block until space is - * available, OR the @queue is set to flushing state. - * MT safe. - * - * Note that this function has slightly different semantics than gst_pad_push() - * and gst_pad_push_event(): this function only takes ownership of @item and - * the #GstMiniObject contained in @item if the push was successful. If %FALSE - * is returned, the caller is responsible for freeing @item and its contents. - * - * Params: - * item = a #GstDataQueueItem. - * - * Returns: %TRUE if the @item was successfully pushed on the @queue. - * - * Since: 1.2 - */ - public bool push(GstDataQueueItem* item) - { - return gst_data_queue_push(gstDataQueue, item) != 0; - } - - /** - * Pushes a #GstDataQueueItem (or a structure that begins with the same fields) - * on the @queue. It ignores if the @queue is full or not and forces the @item - * to be pushed anyway. - * MT safe. - * - * Note that this function has slightly different semantics than gst_pad_push() - * and gst_pad_push_event(): this function only takes ownership of @item and - * the #GstMiniObject contained in @item if the push was successful. If %FALSE - * is returned, the caller is responsible for freeing @item and its contents. - * - * Params: - * item = a #GstDataQueueItem. - * - * Returns: %TRUE if the @item was successfully pushed on the @queue. - * - * Since: 1.2 - */ - public bool pushForce(GstDataQueueItem* item) - { - return gst_data_queue_push_force(gstDataQueue, item) != 0; - } - - /** - * Sets the queue to flushing state if @flushing is %TRUE. If set to flushing - * state, any incoming data on the @queue will be discarded. Any call currently - * blocking on #gst_data_queue_push or #gst_data_queue_pop will return straight - * away with a return value of %FALSE. While the @queue is in flushing state, - * all calls to those two functions will return %FALSE. - * - * MT Safe. - * - * Params: - * flushing = a #gboolean stating if the queue will be flushing or not. - * - * Since: 1.2 - */ - public void setFlushing(bool flushing) - { - gst_data_queue_set_flushing(gstDataQueue, flushing); - } - - /** - * Reports that the queue became empty (empty). - * A queue is empty if the total amount of visible items inside it (num-visible, time, - * size) is lower than the boundary values which can be set through the GObject - * properties. - */ - gulong addOnEmpty(void delegate(DataQueue) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "empty", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Reports that the queue became full (full). - * A queue is full if the total amount of data inside it (num-visible, time, - * size) is higher than the boundary values which can be set through the GObject - * properties. - */ - gulong addOnFull(void delegate(DataQueue) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "full", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gst/base/FlowCombiner.d b/generated/gstreamer/gst/base/FlowCombiner.d deleted file mode 100644 index 181b05d15..000000000 --- a/generated/gstreamer/gst/base/FlowCombiner.d +++ /dev/null @@ -1,261 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.FlowCombiner; - -private import glib.ConstructionException; -private import gobject.ObjectG; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gstreamer.Pad; -private import gtkd.Loader; - - -/** - * Utility struct to help handling #GstFlowReturn combination. Useful for - * #GstElements that have multiple source pads and need to combine - * the different #GstFlowReturn for those pads. - * - * #GstFlowCombiner works by using the last #GstFlowReturn for all #GstPad - * it has in its list and computes the combined return value and provides - * it to the caller. - * - * To add a new pad to the #GstFlowCombiner use gst_flow_combiner_add_pad(). - * The new #GstPad is stored with a default value of %GST_FLOW_OK. - * - * In case you want a #GstPad to be removed, use gst_flow_combiner_remove_pad(). - * - * Please be aware that this struct isn't thread safe as its designed to be - * used by demuxers, those usually will have a single thread operating it. - * - * These functions will take refs on the passed #GstPads. - * - * Aside from reducing the user's code size, the main advantage of using this - * helper struct is to follow the standard rules for #GstFlowReturn combination. - * These rules are: - * - * * %GST_FLOW_EOS: only if all returns are EOS too - * * %GST_FLOW_NOT_LINKED: only if all returns are NOT_LINKED too - * * %GST_FLOW_ERROR or below: if at least one returns an error return - * * %GST_FLOW_NOT_NEGOTIATED: if at least one returns a not-negotiated return - * * %GST_FLOW_FLUSHING: if at least one returns flushing - * * %GST_FLOW_OK: otherwise - * - * %GST_FLOW_ERROR or below, GST_FLOW_NOT_NEGOTIATED and GST_FLOW_FLUSHING are - * returned immediately from the gst_flow_combiner_update_flow() function. - * - * Since: 1.4 - */ -public class FlowCombiner -{ - /** the main Gtk struct */ - protected GstFlowCombiner* gstFlowCombiner; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstFlowCombiner* getFlowCombinerStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstFlowCombiner; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstFlowCombiner; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstFlowCombiner* gstFlowCombiner, bool ownedRef = false) - { - this.gstFlowCombiner = gstFlowCombiner; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTBASE) && ownedRef ) - gst_flow_combiner_unref(gstFlowCombiner); - } - - - /** */ - public static GType getType() - { - return gst_flow_combiner_get_type(); - } - - /** - * Creates a new #GstFlowCombiner, use gst_flow_combiner_free() to free it. - * - * Returns: A new #GstFlowCombiner - * - * Since: 1.4 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_flow_combiner_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstFlowCombiner*) __p); - } - - /** - * Adds a new #GstPad to the #GstFlowCombiner. - * - * Params: - * pad = the #GstPad that is being added - * - * Since: 1.4 - */ - public void addPad(Pad pad) - { - gst_flow_combiner_add_pad(gstFlowCombiner, (pad is null) ? null : pad.getPadStruct()); - } - - /** - * Removes all pads from a #GstFlowCombiner and resets it to its initial state. - * - * Since: 1.6 - */ - public void clear() - { - gst_flow_combiner_clear(gstFlowCombiner); - } - - /** - * Frees a #GstFlowCombiner struct and all its internal data. - * - * Since: 1.4 - */ - public void free() - { - gst_flow_combiner_free(gstFlowCombiner); - ownedRef = false; - } - - alias doref = ref_; - /** - * Increments the reference count on the #GstFlowCombiner. - * - * Returns: the #GstFlowCombiner. - * - * Since: 1.12.1 - */ - public FlowCombiner ref_() - { - auto __p = gst_flow_combiner_ref(gstFlowCombiner); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(FlowCombiner)(cast(GstFlowCombiner*) __p, true); - } - - /** - * Removes a #GstPad from the #GstFlowCombiner. - * - * Params: - * pad = the #GstPad to remove - * - * Since: 1.4 - */ - public void removePad(Pad pad) - { - gst_flow_combiner_remove_pad(gstFlowCombiner, (pad is null) ? null : pad.getPadStruct()); - } - - /** - * Reset flow combiner and all pads to their initial state without removing pads. - * - * Since: 1.6 - */ - public void reset() - { - gst_flow_combiner_reset(gstFlowCombiner); - } - - /** - * Decrements the reference count on the #GstFlowCombiner. - * - * Since: 1.12.1 - */ - public void unref() - { - gst_flow_combiner_unref(gstFlowCombiner); - } - - /** - * Computes the combined flow return for the pads in it. - * - * The #GstFlowReturn parameter should be the last flow return update for a pad - * in this #GstFlowCombiner. It will use this value to be able to shortcut some - * combinations and avoid looking over all pads again. e.g. The last combined - * return is the same as the latest obtained #GstFlowReturn. - * - * Params: - * fret = the latest #GstFlowReturn received for a pad in this #GstFlowCombiner - * - * Returns: The combined #GstFlowReturn - * - * Since: 1.4 - */ - public GstFlowReturn updateFlow(GstFlowReturn fret) - { - return gst_flow_combiner_update_flow(gstFlowCombiner, fret); - } - - /** - * Sets the provided pad's last flow return to provided value and computes - * the combined flow return for the pads in it. - * - * The #GstFlowReturn parameter should be the last flow return update for a pad - * in this #GstFlowCombiner. It will use this value to be able to shortcut some - * combinations and avoid looking over all pads again. e.g. The last combined - * return is the same as the latest obtained #GstFlowReturn. - * - * Params: - * pad = the #GstPad whose #GstFlowReturn to update - * fret = the latest #GstFlowReturn received for a pad in this #GstFlowCombiner - * - * Returns: The combined #GstFlowReturn - * - * Since: 1.6 - */ - public GstFlowReturn updatePadFlow(Pad pad, GstFlowReturn fret) - { - return gst_flow_combiner_update_pad_flow(gstFlowCombiner, (pad is null) ? null : pad.getPadStruct(), fret); - } -} diff --git a/generated/gstreamer/gst/base/PushSrc.d b/generated/gstreamer/gst/base/PushSrc.d deleted file mode 100644 index 33bb395f1..000000000 --- a/generated/gstreamer/gst/base/PushSrc.d +++ /dev/null @@ -1,87 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.PushSrc; - -private import gst.base.BaseSrc; -private import gst.base.c.functions; -public import gst.base.c.types; - - -/** - * This class is mostly useful for elements that cannot do - * random access, or at least very slowly. The source usually - * prefers to push out a fixed size buffer. - * - * Subclasses usually operate in a format that is different from the - * default GST_FORMAT_BYTES format of #GstBaseSrc. - * - * Classes extending this base class will usually be scheduled - * in a push based mode. If the peer accepts to operate without - * offsets and within the limits of the allowed block size, this - * class can operate in getrange based mode automatically. To make - * this possible, the subclass should implement and override the - * SCHEDULING query. - * - * The subclass should extend the methods from the baseclass in - * addition to the ::create method. - * - * Seeking, flushing, scheduling and sync is all handled by this - * base class. - */ -public class PushSrc : BaseSrc -{ - /** the main Gtk struct */ - protected GstPushSrc* gstPushSrc; - - /** Get the main Gtk struct */ - public GstPushSrc* getPushSrcStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstPushSrc; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstPushSrc; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstPushSrc* gstPushSrc, bool ownedRef = false) - { - this.gstPushSrc = gstPushSrc; - super(cast(GstBaseSrc*)gstPushSrc, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_push_src_get_type(); - } -} diff --git a/generated/gstreamer/gst/base/QueueArray.d b/generated/gstreamer/gst/base/QueueArray.d deleted file mode 100644 index d781a3132..000000000 --- a/generated/gstreamer/gst/base/QueueArray.d +++ /dev/null @@ -1,390 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.QueueArray; - -private import glib.ConstructionException; -private import gobject.ObjectG; -private import gst.base.c.functions; -public import gst.base.c.types; -private import gtkd.Loader; - - -/** - * #GstQueueArray is an object that provides standard queue functionality - * based on an array instead of linked lists. This reduces the overhead - * caused by memory management by a large factor. - */ -public class QueueArray -{ - /** the main Gtk struct */ - protected GstQueueArray* gstQueueArray; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstQueueArray* getQueueArrayStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstQueueArray; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstQueueArray; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstQueueArray* gstQueueArray, bool ownedRef = false) - { - this.gstQueueArray = gstQueueArray; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTBASE) && ownedRef ) - gst_queue_array_free(gstQueueArray); - } - - - /** - * Clears queue @array and frees all memory associated to it. - * - * Since: 1.16 - */ - public void clear() - { - gst_queue_array_clear(gstQueueArray); - } - - /** - * Drops the queue element at position @idx from queue @array. - * - * Params: - * idx = index to drop - * - * Returns: the dropped element - * - * Since: 1.2 - */ - public void* dropElement(uint idx) - { - return gst_queue_array_drop_element(gstQueueArray, idx); - } - - /** - * Drops the queue element at position @idx from queue @array and copies the - * data of the element or structure that was removed into @p_struct if - * @p_struct is set (not NULL). - * - * Params: - * idx = index to drop - * pStruct = address into which to store the data of the dropped structure, or NULL - * - * Returns: TRUE on success, or FALSE on error - * - * Since: 1.6 - */ - public bool dropStruct(uint idx, void* pStruct) - { - return gst_queue_array_drop_struct(gstQueueArray, idx, pStruct) != 0; - } - - /** - * Finds an element in the queue @array, either by comparing every element - * with @func or by looking up @data if no compare function @func is provided, - * and returning the index of the found element. - * - * Params: - * func = comparison function, or %NULL to find @data by value - * data = data for comparison function - * - * Returns: Index of the found element or -1 if nothing was found. - * - * Since: 1.2 - */ - public uint find(GCompareFunc func, void* data) - { - return gst_queue_array_find(gstQueueArray, func, data); - } - - /** - * Frees queue @array and all memory associated to it. - * - * Since: 1.2 - */ - public void free() - { - gst_queue_array_free(gstQueueArray); - ownedRef = false; - } - - /** - * Returns the length of the queue @array - * - * Returns: the length of the queue @array. - * - * Since: 1.2 - */ - public uint getLength() - { - return gst_queue_array_get_length(gstQueueArray); - } - - /** - * Checks if the queue @array is empty. - * - * Returns: %TRUE if the queue @array is empty - * - * Since: 1.2 - */ - public bool isEmpty() - { - return gst_queue_array_is_empty(gstQueueArray) != 0; - } - - /** - * Returns the head of the queue @array and does not - * remove it from the queue. - * - * Returns: The head of the queue - * - * Since: 1.2 - */ - public void* peekHead() - { - return gst_queue_array_peek_head(gstQueueArray); - } - - /** - * Returns the head of the queue @array without removing it from the queue. - * - * Returns: pointer to element or struct, or NULL if @array was empty. The - * data pointed to by the returned pointer stays valid only as long as - * the queue array is not modified further! - * - * Since: 1.6 - */ - public void* peekHeadStruct() - { - return gst_queue_array_peek_head_struct(gstQueueArray); - } - - /** - * Returns the item at @idx in @array, but does not remove it from the queue. - * - * Returns: The item, or %NULL if @idx was out of bounds - * - * Since: 1.16 - */ - public void* peekNth(uint idx) - { - return gst_queue_array_peek_nth(gstQueueArray, idx); - } - - /** - * Returns the item at @idx in @array, but does not remove it from the queue. - * - * Returns: The item, or %NULL if @idx was out of bounds - * - * Since: 1.16 - */ - public void* peekNthStruct(uint idx) - { - return gst_queue_array_peek_nth_struct(gstQueueArray, idx); - } - - /** - * Returns the tail of the queue @array, but does not remove it from the queue. - * - * Returns: The tail of the queue - * - * Since: 1.14 - */ - public void* peekTail() - { - return gst_queue_array_peek_tail(gstQueueArray); - } - - /** - * Returns the tail of the queue @array, but does not remove it from the queue. - * - * Returns: The tail of the queue - * - * Since: 1.14 - */ - public void* peekTailStruct() - { - return gst_queue_array_peek_tail_struct(gstQueueArray); - } - - /** - * Returns and head of the queue @array and removes - * it from the queue. - * - * Returns: The head of the queue - * - * Since: 1.2 - */ - public void* popHead() - { - return gst_queue_array_pop_head(gstQueueArray); - } - - /** - * Returns the head of the queue @array and removes it from the queue. - * - * Returns: pointer to element or struct, or NULL if @array was empty. The - * data pointed to by the returned pointer stays valid only as long as - * the queue array is not modified further! - * - * Since: 1.6 - */ - public void* popHeadStruct() - { - return gst_queue_array_pop_head_struct(gstQueueArray); - } - - /** - * Returns the tail of the queue @array and removes - * it from the queue. - * - * Returns: The tail of the queue - * - * Since: 1.14 - */ - public void* popTail() - { - return gst_queue_array_pop_tail(gstQueueArray); - } - - /** - * Returns the tail of the queue @array and removes - * it from the queue. - * - * Returns: The tail of the queue - * - * Since: 1.14 - */ - public void* popTailStruct() - { - return gst_queue_array_pop_tail_struct(gstQueueArray); - } - - /** - * Pushes @data to the tail of the queue @array. - * - * Params: - * data = object to push - * - * Since: 1.2 - */ - public void pushTail(void* data) - { - gst_queue_array_push_tail(gstQueueArray, data); - } - - /** */ - public void pushTailStruct(void* pStruct) - { - gst_queue_array_push_tail_struct(gstQueueArray, pStruct); - } - - /** - * Sets a function to clear an element of @array. - * - * The @clear_func will be called when an element in the array - * data segment is removed and when the array is freed and data - * segment is deallocated as well. @clear_func will be passed a - * pointer to the element to clear, rather than the element itself. - * - * Note that in contrast with other uses of #GDestroyNotify - * functions, @clear_func is expected to clear the contents of - * the array element it is given, but not free the element itself. - * - * Params: - * clearFunc = a function to clear an element of @array - * - * Since: 1.16 - */ - public void setClearFunc(GDestroyNotify clearFunc) - { - gst_queue_array_set_clear_func(gstQueueArray, clearFunc); - } - - /** - * Allocates a new #GstQueueArray object with an initial - * queue size of @initial_size. - * - * Params: - * initialSize = Initial size of the new queue - * - * Returns: a new #GstQueueArray object - * - * Since: 1.2 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(uint initialSize) - { - auto __p = gst_queue_array_new(initialSize); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstQueueArray*) __p); - } - - /** - * Allocates a new #GstQueueArray object for elements (e.g. structures) - * of size @struct_size, with an initial queue size of @initial_size. - * - * Params: - * structSize = Size of each element (e.g. structure) in the array - * initialSize = Initial size of the new queue - * - * Returns: a new #GstQueueArray object - * - * Since: 1.6 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(size_t structSize, uint initialSize) - { - auto __p = gst_queue_array_new_for_struct(structSize, initialSize); - - if(__p is null) - { - throw new ConstructionException("null returned by new_for_struct"); - } - - this(cast(GstQueueArray*) __p); - } -} diff --git a/generated/gstreamer/gst/base/c/functions.d b/generated/gstreamer/gst/base/c/functions.d deleted file mode 100644 index 2932a8f39..000000000 --- a/generated/gstreamer/gst/base/c/functions.d +++ /dev/null @@ -1,1325 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.c.functions; - -import std.stdio; -import gst.base.c.types; -import gtkd.Loader; - -version (Windows) - static immutable LIBRARY_GSTBASE = ["libgstbase-1.0-0.dll;gstbase-1.0-0.dll;gstbase-1.dll"]; -else version (OSX) - static immutable LIBRARY_GSTBASE = ["libgstbase-1.0.0.dylib"]; -else - static immutable LIBRARY_GSTBASE = ["libgstbase-1.0.so.0"]; - -shared static this() -{ - // gst.base.Adapter - - Linker.link(gst_adapter_get_type, "gst_adapter_get_type", LIBRARY_GSTBASE); - Linker.link(gst_adapter_new, "gst_adapter_new", LIBRARY_GSTBASE); - Linker.link(gst_adapter_available, "gst_adapter_available", LIBRARY_GSTBASE); - Linker.link(gst_adapter_available_fast, "gst_adapter_available_fast", LIBRARY_GSTBASE); - Linker.link(gst_adapter_clear, "gst_adapter_clear", LIBRARY_GSTBASE); - Linker.link(gst_adapter_copy, "gst_adapter_copy", LIBRARY_GSTBASE); - Linker.link(gst_adapter_copy_bytes, "gst_adapter_copy_bytes", LIBRARY_GSTBASE); - Linker.link(gst_adapter_distance_from_discont, "gst_adapter_distance_from_discont", LIBRARY_GSTBASE); - Linker.link(gst_adapter_dts_at_discont, "gst_adapter_dts_at_discont", LIBRARY_GSTBASE); - Linker.link(gst_adapter_flush, "gst_adapter_flush", LIBRARY_GSTBASE); - Linker.link(gst_adapter_get_buffer, "gst_adapter_get_buffer", LIBRARY_GSTBASE); - Linker.link(gst_adapter_get_buffer_fast, "gst_adapter_get_buffer_fast", LIBRARY_GSTBASE); - Linker.link(gst_adapter_get_buffer_list, "gst_adapter_get_buffer_list", LIBRARY_GSTBASE); - Linker.link(gst_adapter_get_list, "gst_adapter_get_list", LIBRARY_GSTBASE); - Linker.link(gst_adapter_map, "gst_adapter_map", LIBRARY_GSTBASE); - Linker.link(gst_adapter_masked_scan_uint32, "gst_adapter_masked_scan_uint32", LIBRARY_GSTBASE); - Linker.link(gst_adapter_masked_scan_uint32_peek, "gst_adapter_masked_scan_uint32_peek", LIBRARY_GSTBASE); - Linker.link(gst_adapter_offset_at_discont, "gst_adapter_offset_at_discont", LIBRARY_GSTBASE); - Linker.link(gst_adapter_prev_dts, "gst_adapter_prev_dts", LIBRARY_GSTBASE); - Linker.link(gst_adapter_prev_dts_at_offset, "gst_adapter_prev_dts_at_offset", LIBRARY_GSTBASE); - Linker.link(gst_adapter_prev_offset, "gst_adapter_prev_offset", LIBRARY_GSTBASE); - Linker.link(gst_adapter_prev_pts, "gst_adapter_prev_pts", LIBRARY_GSTBASE); - Linker.link(gst_adapter_prev_pts_at_offset, "gst_adapter_prev_pts_at_offset", LIBRARY_GSTBASE); - Linker.link(gst_adapter_pts_at_discont, "gst_adapter_pts_at_discont", LIBRARY_GSTBASE); - Linker.link(gst_adapter_push, "gst_adapter_push", LIBRARY_GSTBASE); - Linker.link(gst_adapter_take, "gst_adapter_take", LIBRARY_GSTBASE); - Linker.link(gst_adapter_take_buffer, "gst_adapter_take_buffer", LIBRARY_GSTBASE); - Linker.link(gst_adapter_take_buffer_fast, "gst_adapter_take_buffer_fast", LIBRARY_GSTBASE); - Linker.link(gst_adapter_take_buffer_list, "gst_adapter_take_buffer_list", LIBRARY_GSTBASE); - Linker.link(gst_adapter_take_list, "gst_adapter_take_list", LIBRARY_GSTBASE); - Linker.link(gst_adapter_unmap, "gst_adapter_unmap", LIBRARY_GSTBASE); - - // gst.base.Aggregator - - Linker.link(gst_aggregator_get_type, "gst_aggregator_get_type", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_finish_buffer, "gst_aggregator_finish_buffer", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_finish_buffer_list, "gst_aggregator_finish_buffer_list", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_get_allocator, "gst_aggregator_get_allocator", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_get_buffer_pool, "gst_aggregator_get_buffer_pool", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_get_latency, "gst_aggregator_get_latency", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_negotiate, "gst_aggregator_negotiate", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_peek_next_sample, "gst_aggregator_peek_next_sample", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_selected_samples, "gst_aggregator_selected_samples", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_set_latency, "gst_aggregator_set_latency", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_set_src_caps, "gst_aggregator_set_src_caps", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_simple_get_next_time, "gst_aggregator_simple_get_next_time", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_update_segment, "gst_aggregator_update_segment", LIBRARY_GSTBASE); - - // gst.base.AggregatorPad - - Linker.link(gst_aggregator_pad_get_type, "gst_aggregator_pad_get_type", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_pad_drop_buffer, "gst_aggregator_pad_drop_buffer", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_pad_has_buffer, "gst_aggregator_pad_has_buffer", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_pad_is_eos, "gst_aggregator_pad_is_eos", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_pad_peek_buffer, "gst_aggregator_pad_peek_buffer", LIBRARY_GSTBASE); - Linker.link(gst_aggregator_pad_pop_buffer, "gst_aggregator_pad_pop_buffer", LIBRARY_GSTBASE); - - // gst.base.BaseParse - - Linker.link(gst_base_parse_get_type, "gst_base_parse_get_type", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_add_index_entry, "gst_base_parse_add_index_entry", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_convert_default, "gst_base_parse_convert_default", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_drain, "gst_base_parse_drain", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_finish_frame, "gst_base_parse_finish_frame", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_merge_tags, "gst_base_parse_merge_tags", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_push_frame, "gst_base_parse_push_frame", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_set_average_bitrate, "gst_base_parse_set_average_bitrate", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_set_duration, "gst_base_parse_set_duration", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_set_frame_rate, "gst_base_parse_set_frame_rate", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_set_has_timing_info, "gst_base_parse_set_has_timing_info", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_set_infer_ts, "gst_base_parse_set_infer_ts", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_set_latency, "gst_base_parse_set_latency", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_set_min_frame_size, "gst_base_parse_set_min_frame_size", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_set_passthrough, "gst_base_parse_set_passthrough", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_set_pts_interpolation, "gst_base_parse_set_pts_interpolation", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_set_syncable, "gst_base_parse_set_syncable", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_set_ts_at_offset, "gst_base_parse_set_ts_at_offset", LIBRARY_GSTBASE); - - // gst.base.BaseParseFrame - - Linker.link(gst_base_parse_frame_get_type, "gst_base_parse_frame_get_type", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_frame_new, "gst_base_parse_frame_new", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_frame_copy, "gst_base_parse_frame_copy", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_frame_free, "gst_base_parse_frame_free", LIBRARY_GSTBASE); - Linker.link(gst_base_parse_frame_init, "gst_base_parse_frame_init", LIBRARY_GSTBASE); - - // gst.base.BaseSink - - Linker.link(gst_base_sink_get_type, "gst_base_sink_get_type", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_do_preroll, "gst_base_sink_do_preroll", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_get_blocksize, "gst_base_sink_get_blocksize", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_get_drop_out_of_segment, "gst_base_sink_get_drop_out_of_segment", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_get_last_sample, "gst_base_sink_get_last_sample", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_get_latency, "gst_base_sink_get_latency", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_get_max_bitrate, "gst_base_sink_get_max_bitrate", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_get_max_lateness, "gst_base_sink_get_max_lateness", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_get_processing_deadline, "gst_base_sink_get_processing_deadline", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_get_render_delay, "gst_base_sink_get_render_delay", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_get_stats, "gst_base_sink_get_stats", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_get_sync, "gst_base_sink_get_sync", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_get_throttle_time, "gst_base_sink_get_throttle_time", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_get_ts_offset, "gst_base_sink_get_ts_offset", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_is_async_enabled, "gst_base_sink_is_async_enabled", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_is_last_sample_enabled, "gst_base_sink_is_last_sample_enabled", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_is_qos_enabled, "gst_base_sink_is_qos_enabled", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_query_latency, "gst_base_sink_query_latency", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_set_async_enabled, "gst_base_sink_set_async_enabled", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_set_blocksize, "gst_base_sink_set_blocksize", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_set_drop_out_of_segment, "gst_base_sink_set_drop_out_of_segment", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_set_last_sample_enabled, "gst_base_sink_set_last_sample_enabled", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_set_max_bitrate, "gst_base_sink_set_max_bitrate", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_set_max_lateness, "gst_base_sink_set_max_lateness", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_set_processing_deadline, "gst_base_sink_set_processing_deadline", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_set_qos_enabled, "gst_base_sink_set_qos_enabled", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_set_render_delay, "gst_base_sink_set_render_delay", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_set_sync, "gst_base_sink_set_sync", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_set_throttle_time, "gst_base_sink_set_throttle_time", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_set_ts_offset, "gst_base_sink_set_ts_offset", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_wait, "gst_base_sink_wait", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_wait_clock, "gst_base_sink_wait_clock", LIBRARY_GSTBASE); - Linker.link(gst_base_sink_wait_preroll, "gst_base_sink_wait_preroll", LIBRARY_GSTBASE); - - // gst.base.BaseSrc - - Linker.link(gst_base_src_get_type, "gst_base_src_get_type", LIBRARY_GSTBASE); - Linker.link(gst_base_src_get_allocator, "gst_base_src_get_allocator", LIBRARY_GSTBASE); - Linker.link(gst_base_src_get_blocksize, "gst_base_src_get_blocksize", LIBRARY_GSTBASE); - Linker.link(gst_base_src_get_buffer_pool, "gst_base_src_get_buffer_pool", LIBRARY_GSTBASE); - Linker.link(gst_base_src_get_do_timestamp, "gst_base_src_get_do_timestamp", LIBRARY_GSTBASE); - Linker.link(gst_base_src_is_async, "gst_base_src_is_async", LIBRARY_GSTBASE); - Linker.link(gst_base_src_is_live, "gst_base_src_is_live", LIBRARY_GSTBASE); - Linker.link(gst_base_src_negotiate, "gst_base_src_negotiate", LIBRARY_GSTBASE); - Linker.link(gst_base_src_new_seamless_segment, "gst_base_src_new_seamless_segment", LIBRARY_GSTBASE); - Linker.link(gst_base_src_new_segment, "gst_base_src_new_segment", LIBRARY_GSTBASE); - Linker.link(gst_base_src_query_latency, "gst_base_src_query_latency", LIBRARY_GSTBASE); - Linker.link(gst_base_src_set_async, "gst_base_src_set_async", LIBRARY_GSTBASE); - Linker.link(gst_base_src_set_automatic_eos, "gst_base_src_set_automatic_eos", LIBRARY_GSTBASE); - Linker.link(gst_base_src_set_blocksize, "gst_base_src_set_blocksize", LIBRARY_GSTBASE); - Linker.link(gst_base_src_set_caps, "gst_base_src_set_caps", LIBRARY_GSTBASE); - Linker.link(gst_base_src_set_do_timestamp, "gst_base_src_set_do_timestamp", LIBRARY_GSTBASE); - Linker.link(gst_base_src_set_dynamic_size, "gst_base_src_set_dynamic_size", LIBRARY_GSTBASE); - Linker.link(gst_base_src_set_format, "gst_base_src_set_format", LIBRARY_GSTBASE); - Linker.link(gst_base_src_set_live, "gst_base_src_set_live", LIBRARY_GSTBASE); - Linker.link(gst_base_src_start_complete, "gst_base_src_start_complete", LIBRARY_GSTBASE); - Linker.link(gst_base_src_start_wait, "gst_base_src_start_wait", LIBRARY_GSTBASE); - Linker.link(gst_base_src_submit_buffer_list, "gst_base_src_submit_buffer_list", LIBRARY_GSTBASE); - Linker.link(gst_base_src_wait_playing, "gst_base_src_wait_playing", LIBRARY_GSTBASE); - - // gst.base.BaseTransform - - Linker.link(gst_base_transform_get_type, "gst_base_transform_get_type", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_get_allocator, "gst_base_transform_get_allocator", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_get_buffer_pool, "gst_base_transform_get_buffer_pool", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_is_in_place, "gst_base_transform_is_in_place", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_is_passthrough, "gst_base_transform_is_passthrough", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_is_qos_enabled, "gst_base_transform_is_qos_enabled", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_reconfigure, "gst_base_transform_reconfigure", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_reconfigure_sink, "gst_base_transform_reconfigure_sink", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_reconfigure_src, "gst_base_transform_reconfigure_src", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_set_gap_aware, "gst_base_transform_set_gap_aware", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_set_in_place, "gst_base_transform_set_in_place", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_set_passthrough, "gst_base_transform_set_passthrough", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_set_prefer_passthrough, "gst_base_transform_set_prefer_passthrough", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_set_qos_enabled, "gst_base_transform_set_qos_enabled", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_update_qos, "gst_base_transform_update_qos", LIBRARY_GSTBASE); - Linker.link(gst_base_transform_update_src_caps, "gst_base_transform_update_src_caps", LIBRARY_GSTBASE); - - // gst.base.BitReader - - Linker.link(gst_bit_reader_free, "gst_bit_reader_free", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_get_bits_uint16, "gst_bit_reader_get_bits_uint16", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_get_bits_uint32, "gst_bit_reader_get_bits_uint32", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_get_bits_uint64, "gst_bit_reader_get_bits_uint64", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_get_bits_uint8, "gst_bit_reader_get_bits_uint8", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_get_pos, "gst_bit_reader_get_pos", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_get_remaining, "gst_bit_reader_get_remaining", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_get_size, "gst_bit_reader_get_size", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_init, "gst_bit_reader_init", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_peek_bits_uint16, "gst_bit_reader_peek_bits_uint16", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_peek_bits_uint32, "gst_bit_reader_peek_bits_uint32", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_peek_bits_uint64, "gst_bit_reader_peek_bits_uint64", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_peek_bits_uint8, "gst_bit_reader_peek_bits_uint8", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_set_pos, "gst_bit_reader_set_pos", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_skip, "gst_bit_reader_skip", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_skip_to_byte, "gst_bit_reader_skip_to_byte", LIBRARY_GSTBASE); - Linker.link(gst_bit_reader_new, "gst_bit_reader_new", LIBRARY_GSTBASE); - - // gst.base.BitWriter - - Linker.link(gst_bit_writer_align_bytes, "gst_bit_writer_align_bytes", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_free, "gst_bit_writer_free", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_free_and_get_buffer, "gst_bit_writer_free_and_get_buffer", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_free_and_get_data, "gst_bit_writer_free_and_get_data", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_get_data, "gst_bit_writer_get_data", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_get_remaining, "gst_bit_writer_get_remaining", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_get_size, "gst_bit_writer_get_size", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_init, "gst_bit_writer_init", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_init_with_data, "gst_bit_writer_init_with_data", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_init_with_size, "gst_bit_writer_init_with_size", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_put_bits_uint16, "gst_bit_writer_put_bits_uint16", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_put_bits_uint32, "gst_bit_writer_put_bits_uint32", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_put_bits_uint64, "gst_bit_writer_put_bits_uint64", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_put_bits_uint8, "gst_bit_writer_put_bits_uint8", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_put_bytes, "gst_bit_writer_put_bytes", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_reset, "gst_bit_writer_reset", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_reset_and_get_buffer, "gst_bit_writer_reset_and_get_buffer", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_reset_and_get_data, "gst_bit_writer_reset_and_get_data", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_set_pos, "gst_bit_writer_set_pos", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_new, "gst_bit_writer_new", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_new_with_data, "gst_bit_writer_new_with_data", LIBRARY_GSTBASE); - Linker.link(gst_bit_writer_new_with_size, "gst_bit_writer_new_with_size", LIBRARY_GSTBASE); - - // gst.base.ByteReader - - Linker.link(gst_byte_reader_dup_data, "gst_byte_reader_dup_data", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_dup_string_utf16, "gst_byte_reader_dup_string_utf16", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_dup_string_utf32, "gst_byte_reader_dup_string_utf32", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_dup_string_utf8, "gst_byte_reader_dup_string_utf8", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_free, "gst_byte_reader_free", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_data, "gst_byte_reader_get_data", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_float32_be, "gst_byte_reader_get_float32_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_float32_le, "gst_byte_reader_get_float32_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_float64_be, "gst_byte_reader_get_float64_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_float64_le, "gst_byte_reader_get_float64_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_int16_be, "gst_byte_reader_get_int16_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_int16_le, "gst_byte_reader_get_int16_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_int24_be, "gst_byte_reader_get_int24_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_int24_le, "gst_byte_reader_get_int24_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_int32_be, "gst_byte_reader_get_int32_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_int32_le, "gst_byte_reader_get_int32_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_int64_be, "gst_byte_reader_get_int64_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_int64_le, "gst_byte_reader_get_int64_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_int8, "gst_byte_reader_get_int8", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_pos, "gst_byte_reader_get_pos", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_remaining, "gst_byte_reader_get_remaining", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_size, "gst_byte_reader_get_size", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_string_utf8, "gst_byte_reader_get_string_utf8", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_sub_reader, "gst_byte_reader_get_sub_reader", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_uint16_be, "gst_byte_reader_get_uint16_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_uint16_le, "gst_byte_reader_get_uint16_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_uint24_be, "gst_byte_reader_get_uint24_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_uint24_le, "gst_byte_reader_get_uint24_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_uint32_be, "gst_byte_reader_get_uint32_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_uint32_le, "gst_byte_reader_get_uint32_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_uint64_be, "gst_byte_reader_get_uint64_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_uint64_le, "gst_byte_reader_get_uint64_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_get_uint8, "gst_byte_reader_get_uint8", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_init, "gst_byte_reader_init", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_masked_scan_uint32, "gst_byte_reader_masked_scan_uint32", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_masked_scan_uint32_peek, "gst_byte_reader_masked_scan_uint32_peek", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_data, "gst_byte_reader_peek_data", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_float32_be, "gst_byte_reader_peek_float32_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_float32_le, "gst_byte_reader_peek_float32_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_float64_be, "gst_byte_reader_peek_float64_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_float64_le, "gst_byte_reader_peek_float64_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_int16_be, "gst_byte_reader_peek_int16_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_int16_le, "gst_byte_reader_peek_int16_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_int24_be, "gst_byte_reader_peek_int24_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_int24_le, "gst_byte_reader_peek_int24_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_int32_be, "gst_byte_reader_peek_int32_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_int32_le, "gst_byte_reader_peek_int32_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_int64_be, "gst_byte_reader_peek_int64_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_int64_le, "gst_byte_reader_peek_int64_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_int8, "gst_byte_reader_peek_int8", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_string_utf8, "gst_byte_reader_peek_string_utf8", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_sub_reader, "gst_byte_reader_peek_sub_reader", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_uint16_be, "gst_byte_reader_peek_uint16_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_uint16_le, "gst_byte_reader_peek_uint16_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_uint24_be, "gst_byte_reader_peek_uint24_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_uint24_le, "gst_byte_reader_peek_uint24_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_uint32_be, "gst_byte_reader_peek_uint32_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_uint32_le, "gst_byte_reader_peek_uint32_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_uint64_be, "gst_byte_reader_peek_uint64_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_uint64_le, "gst_byte_reader_peek_uint64_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_peek_uint8, "gst_byte_reader_peek_uint8", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_set_pos, "gst_byte_reader_set_pos", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_skip, "gst_byte_reader_skip", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_skip_string_utf16, "gst_byte_reader_skip_string_utf16", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_skip_string_utf32, "gst_byte_reader_skip_string_utf32", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_skip_string_utf8, "gst_byte_reader_skip_string_utf8", LIBRARY_GSTBASE); - Linker.link(gst_byte_reader_new, "gst_byte_reader_new", LIBRARY_GSTBASE); - - // gst.base.ByteWriter - - Linker.link(gst_byte_writer_ensure_free_space, "gst_byte_writer_ensure_free_space", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_fill, "gst_byte_writer_fill", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_free, "gst_byte_writer_free", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_free_and_get_buffer, "gst_byte_writer_free_and_get_buffer", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_free_and_get_data, "gst_byte_writer_free_and_get_data", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_get_remaining, "gst_byte_writer_get_remaining", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_init, "gst_byte_writer_init", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_init_with_data, "gst_byte_writer_init_with_data", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_init_with_size, "gst_byte_writer_init_with_size", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_buffer, "gst_byte_writer_put_buffer", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_data, "gst_byte_writer_put_data", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_float32_be, "gst_byte_writer_put_float32_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_float32_le, "gst_byte_writer_put_float32_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_float64_be, "gst_byte_writer_put_float64_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_float64_le, "gst_byte_writer_put_float64_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_int16_be, "gst_byte_writer_put_int16_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_int16_le, "gst_byte_writer_put_int16_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_int24_be, "gst_byte_writer_put_int24_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_int24_le, "gst_byte_writer_put_int24_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_int32_be, "gst_byte_writer_put_int32_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_int32_le, "gst_byte_writer_put_int32_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_int64_be, "gst_byte_writer_put_int64_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_int64_le, "gst_byte_writer_put_int64_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_int8, "gst_byte_writer_put_int8", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_string_utf16, "gst_byte_writer_put_string_utf16", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_string_utf32, "gst_byte_writer_put_string_utf32", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_string_utf8, "gst_byte_writer_put_string_utf8", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_uint16_be, "gst_byte_writer_put_uint16_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_uint16_le, "gst_byte_writer_put_uint16_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_uint24_be, "gst_byte_writer_put_uint24_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_uint24_le, "gst_byte_writer_put_uint24_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_uint32_be, "gst_byte_writer_put_uint32_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_uint32_le, "gst_byte_writer_put_uint32_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_uint64_be, "gst_byte_writer_put_uint64_be", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_uint64_le, "gst_byte_writer_put_uint64_le", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_put_uint8, "gst_byte_writer_put_uint8", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_reset, "gst_byte_writer_reset", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_reset_and_get_buffer, "gst_byte_writer_reset_and_get_buffer", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_reset_and_get_data, "gst_byte_writer_reset_and_get_data", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_new, "gst_byte_writer_new", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_new_with_data, "gst_byte_writer_new_with_data", LIBRARY_GSTBASE); - Linker.link(gst_byte_writer_new_with_size, "gst_byte_writer_new_with_size", LIBRARY_GSTBASE); - - // gst.base.CollectPads - - Linker.link(gst_collect_pads_get_type, "gst_collect_pads_get_type", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_new, "gst_collect_pads_new", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_add_pad, "gst_collect_pads_add_pad", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_available, "gst_collect_pads_available", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_clip_running_time, "gst_collect_pads_clip_running_time", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_event_default, "gst_collect_pads_event_default", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_flush, "gst_collect_pads_flush", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_peek, "gst_collect_pads_peek", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_pop, "gst_collect_pads_pop", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_query_default, "gst_collect_pads_query_default", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_read_buffer, "gst_collect_pads_read_buffer", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_remove_pad, "gst_collect_pads_remove_pad", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_set_buffer_function, "gst_collect_pads_set_buffer_function", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_set_clip_function, "gst_collect_pads_set_clip_function", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_set_compare_function, "gst_collect_pads_set_compare_function", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_set_event_function, "gst_collect_pads_set_event_function", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_set_flush_function, "gst_collect_pads_set_flush_function", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_set_flushing, "gst_collect_pads_set_flushing", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_set_function, "gst_collect_pads_set_function", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_set_query_function, "gst_collect_pads_set_query_function", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_set_waiting, "gst_collect_pads_set_waiting", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_src_event_default, "gst_collect_pads_src_event_default", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_start, "gst_collect_pads_start", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_stop, "gst_collect_pads_stop", LIBRARY_GSTBASE); - Linker.link(gst_collect_pads_take_buffer, "gst_collect_pads_take_buffer", LIBRARY_GSTBASE); - - // gst.base.DataQueue - - Linker.link(gst_data_queue_get_type, "gst_data_queue_get_type", LIBRARY_GSTBASE); - Linker.link(gst_data_queue_new, "gst_data_queue_new", LIBRARY_GSTBASE); - Linker.link(gst_data_queue_drop_head, "gst_data_queue_drop_head", LIBRARY_GSTBASE); - Linker.link(gst_data_queue_flush, "gst_data_queue_flush", LIBRARY_GSTBASE); - Linker.link(gst_data_queue_get_level, "gst_data_queue_get_level", LIBRARY_GSTBASE); - Linker.link(gst_data_queue_is_empty, "gst_data_queue_is_empty", LIBRARY_GSTBASE); - Linker.link(gst_data_queue_is_full, "gst_data_queue_is_full", LIBRARY_GSTBASE); - Linker.link(gst_data_queue_limits_changed, "gst_data_queue_limits_changed", LIBRARY_GSTBASE); - Linker.link(gst_data_queue_peek, "gst_data_queue_peek", LIBRARY_GSTBASE); - Linker.link(gst_data_queue_pop, "gst_data_queue_pop", LIBRARY_GSTBASE); - Linker.link(gst_data_queue_push, "gst_data_queue_push", LIBRARY_GSTBASE); - Linker.link(gst_data_queue_push_force, "gst_data_queue_push_force", LIBRARY_GSTBASE); - Linker.link(gst_data_queue_set_flushing, "gst_data_queue_set_flushing", LIBRARY_GSTBASE); - - // gst.base.FlowCombiner - - Linker.link(gst_flow_combiner_get_type, "gst_flow_combiner_get_type", LIBRARY_GSTBASE); - Linker.link(gst_flow_combiner_new, "gst_flow_combiner_new", LIBRARY_GSTBASE); - Linker.link(gst_flow_combiner_add_pad, "gst_flow_combiner_add_pad", LIBRARY_GSTBASE); - Linker.link(gst_flow_combiner_clear, "gst_flow_combiner_clear", LIBRARY_GSTBASE); - Linker.link(gst_flow_combiner_free, "gst_flow_combiner_free", LIBRARY_GSTBASE); - Linker.link(gst_flow_combiner_ref, "gst_flow_combiner_ref", LIBRARY_GSTBASE); - Linker.link(gst_flow_combiner_remove_pad, "gst_flow_combiner_remove_pad", LIBRARY_GSTBASE); - Linker.link(gst_flow_combiner_reset, "gst_flow_combiner_reset", LIBRARY_GSTBASE); - Linker.link(gst_flow_combiner_unref, "gst_flow_combiner_unref", LIBRARY_GSTBASE); - Linker.link(gst_flow_combiner_update_flow, "gst_flow_combiner_update_flow", LIBRARY_GSTBASE); - Linker.link(gst_flow_combiner_update_pad_flow, "gst_flow_combiner_update_pad_flow", LIBRARY_GSTBASE); - - // gst.base.PushSrc - - Linker.link(gst_push_src_get_type, "gst_push_src_get_type", LIBRARY_GSTBASE); - - // gst.base.QueueArray - - Linker.link(gst_queue_array_clear, "gst_queue_array_clear", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_drop_element, "gst_queue_array_drop_element", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_drop_struct, "gst_queue_array_drop_struct", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_find, "gst_queue_array_find", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_free, "gst_queue_array_free", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_get_length, "gst_queue_array_get_length", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_is_empty, "gst_queue_array_is_empty", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_peek_head, "gst_queue_array_peek_head", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_peek_head_struct, "gst_queue_array_peek_head_struct", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_peek_nth, "gst_queue_array_peek_nth", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_peek_nth_struct, "gst_queue_array_peek_nth_struct", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_peek_tail, "gst_queue_array_peek_tail", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_peek_tail_struct, "gst_queue_array_peek_tail_struct", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_pop_head, "gst_queue_array_pop_head", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_pop_head_struct, "gst_queue_array_pop_head_struct", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_pop_tail, "gst_queue_array_pop_tail", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_pop_tail_struct, "gst_queue_array_pop_tail_struct", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_push_tail, "gst_queue_array_push_tail", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_push_tail_struct, "gst_queue_array_push_tail_struct", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_set_clear_func, "gst_queue_array_set_clear_func", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_new, "gst_queue_array_new", LIBRARY_GSTBASE); - Linker.link(gst_queue_array_new_for_struct, "gst_queue_array_new_for_struct", LIBRARY_GSTBASE); - - // gst.base.Base - - Linker.link(gst_type_find_helper, "gst_type_find_helper", LIBRARY_GSTBASE); - Linker.link(gst_type_find_helper_for_buffer, "gst_type_find_helper_for_buffer", LIBRARY_GSTBASE); - Linker.link(gst_type_find_helper_for_data, "gst_type_find_helper_for_data", LIBRARY_GSTBASE); - Linker.link(gst_type_find_helper_for_extension, "gst_type_find_helper_for_extension", LIBRARY_GSTBASE); - Linker.link(gst_type_find_helper_get_range, "gst_type_find_helper_get_range", LIBRARY_GSTBASE); - Linker.link(gst_type_find_helper_for_buffer_with_extension, "gst_type_find_helper_for_buffer_with_extension", LIBRARY_GSTBASE); - Linker.link(gst_type_find_helper_for_data_with_extension, "gst_type_find_helper_for_data_with_extension", LIBRARY_GSTBASE); - Linker.link(gst_type_find_helper_get_range_full, "gst_type_find_helper_get_range_full", LIBRARY_GSTBASE); -} - -__gshared extern(C) -{ - - // gst.base.Adapter - - GType function() c_gst_adapter_get_type; - GstAdapter* function() c_gst_adapter_new; - size_t function(GstAdapter* adapter) c_gst_adapter_available; - size_t function(GstAdapter* adapter) c_gst_adapter_available_fast; - void function(GstAdapter* adapter) c_gst_adapter_clear; - void function(GstAdapter* adapter, void* dest, size_t offset, size_t size) c_gst_adapter_copy; - GBytes* function(GstAdapter* adapter, size_t offset, size_t size) c_gst_adapter_copy_bytes; - ulong function(GstAdapter* adapter) c_gst_adapter_distance_from_discont; - GstClockTime function(GstAdapter* adapter) c_gst_adapter_dts_at_discont; - void function(GstAdapter* adapter, size_t flush) c_gst_adapter_flush; - GstBuffer* function(GstAdapter* adapter, size_t nbytes) c_gst_adapter_get_buffer; - GstBuffer* function(GstAdapter* adapter, size_t nbytes) c_gst_adapter_get_buffer_fast; - GstBufferList* function(GstAdapter* adapter, size_t nbytes) c_gst_adapter_get_buffer_list; - GList* function(GstAdapter* adapter, size_t nbytes) c_gst_adapter_get_list; - void* function(GstAdapter* adapter, size_t size) c_gst_adapter_map; - ptrdiff_t function(GstAdapter* adapter, uint mask, uint pattern, size_t offset, size_t size) c_gst_adapter_masked_scan_uint32; - ptrdiff_t function(GstAdapter* adapter, uint mask, uint pattern, size_t offset, size_t size, uint* value) c_gst_adapter_masked_scan_uint32_peek; - ulong function(GstAdapter* adapter) c_gst_adapter_offset_at_discont; - GstClockTime function(GstAdapter* adapter, ulong* distance) c_gst_adapter_prev_dts; - GstClockTime function(GstAdapter* adapter, size_t offset, ulong* distance) c_gst_adapter_prev_dts_at_offset; - ulong function(GstAdapter* adapter, ulong* distance) c_gst_adapter_prev_offset; - GstClockTime function(GstAdapter* adapter, ulong* distance) c_gst_adapter_prev_pts; - GstClockTime function(GstAdapter* adapter, size_t offset, ulong* distance) c_gst_adapter_prev_pts_at_offset; - GstClockTime function(GstAdapter* adapter) c_gst_adapter_pts_at_discont; - void function(GstAdapter* adapter, GstBuffer* buf) c_gst_adapter_push; - void* function(GstAdapter* adapter, size_t nbytes) c_gst_adapter_take; - GstBuffer* function(GstAdapter* adapter, size_t nbytes) c_gst_adapter_take_buffer; - GstBuffer* function(GstAdapter* adapter, size_t nbytes) c_gst_adapter_take_buffer_fast; - GstBufferList* function(GstAdapter* adapter, size_t nbytes) c_gst_adapter_take_buffer_list; - GList* function(GstAdapter* adapter, size_t nbytes) c_gst_adapter_take_list; - void function(GstAdapter* adapter) c_gst_adapter_unmap; - - // gst.base.Aggregator - - GType function() c_gst_aggregator_get_type; - GstFlowReturn function(GstAggregator* aggregator, GstBuffer* buffer) c_gst_aggregator_finish_buffer; - GstFlowReturn function(GstAggregator* aggregator, GstBufferList* bufferlist) c_gst_aggregator_finish_buffer_list; - void function(GstAggregator* self, GstAllocator** allocator, GstAllocationParams* params) c_gst_aggregator_get_allocator; - GstBufferPool* function(GstAggregator* self) c_gst_aggregator_get_buffer_pool; - GstClockTime function(GstAggregator* self) c_gst_aggregator_get_latency; - int function(GstAggregator* self) c_gst_aggregator_negotiate; - GstSample* function(GstAggregator* self, GstAggregatorPad* pad) c_gst_aggregator_peek_next_sample; - void function(GstAggregator* self, GstClockTime pts, GstClockTime dts, GstClockTime duration, GstStructure* info) c_gst_aggregator_selected_samples; - void function(GstAggregator* self, GstClockTime minLatency, GstClockTime maxLatency) c_gst_aggregator_set_latency; - void function(GstAggregator* self, GstCaps* caps) c_gst_aggregator_set_src_caps; - GstClockTime function(GstAggregator* self) c_gst_aggregator_simple_get_next_time; - void function(GstAggregator* self, GstSegment* segment) c_gst_aggregator_update_segment; - - // gst.base.AggregatorPad - - GType function() c_gst_aggregator_pad_get_type; - int function(GstAggregatorPad* pad) c_gst_aggregator_pad_drop_buffer; - int function(GstAggregatorPad* pad) c_gst_aggregator_pad_has_buffer; - int function(GstAggregatorPad* pad) c_gst_aggregator_pad_is_eos; - GstBuffer* function(GstAggregatorPad* pad) c_gst_aggregator_pad_peek_buffer; - GstBuffer* function(GstAggregatorPad* pad) c_gst_aggregator_pad_pop_buffer; - - // gst.base.BaseParse - - GType function() c_gst_base_parse_get_type; - int function(GstBaseParse* parse, ulong offset, GstClockTime ts, int key, int force) c_gst_base_parse_add_index_entry; - int function(GstBaseParse* parse, GstFormat srcFormat, long srcValue, GstFormat destFormat, long* destValue) c_gst_base_parse_convert_default; - void function(GstBaseParse* parse) c_gst_base_parse_drain; - GstFlowReturn function(GstBaseParse* parse, GstBaseParseFrame* frame, int size) c_gst_base_parse_finish_frame; - void function(GstBaseParse* parse, GstTagList* tags, GstTagMergeMode mode) c_gst_base_parse_merge_tags; - GstFlowReturn function(GstBaseParse* parse, GstBaseParseFrame* frame) c_gst_base_parse_push_frame; - void function(GstBaseParse* parse, uint bitrate) c_gst_base_parse_set_average_bitrate; - void function(GstBaseParse* parse, GstFormat fmt, long duration, int interval) c_gst_base_parse_set_duration; - void function(GstBaseParse* parse, uint fpsNum, uint fpsDen, uint leadIn, uint leadOut) c_gst_base_parse_set_frame_rate; - void function(GstBaseParse* parse, int hasTiming) c_gst_base_parse_set_has_timing_info; - void function(GstBaseParse* parse, int inferTs) c_gst_base_parse_set_infer_ts; - void function(GstBaseParse* parse, GstClockTime minLatency, GstClockTime maxLatency) c_gst_base_parse_set_latency; - void function(GstBaseParse* parse, uint minSize) c_gst_base_parse_set_min_frame_size; - void function(GstBaseParse* parse, int passthrough) c_gst_base_parse_set_passthrough; - void function(GstBaseParse* parse, int ptsInterpolate) c_gst_base_parse_set_pts_interpolation; - void function(GstBaseParse* parse, int syncable) c_gst_base_parse_set_syncable; - void function(GstBaseParse* parse, size_t offset) c_gst_base_parse_set_ts_at_offset; - - // gst.base.BaseParseFrame - - GType function() c_gst_base_parse_frame_get_type; - GstBaseParseFrame* function(GstBuffer* buffer, GstBaseParseFrameFlags flags, int overhead) c_gst_base_parse_frame_new; - GstBaseParseFrame* function(GstBaseParseFrame* frame) c_gst_base_parse_frame_copy; - void function(GstBaseParseFrame* frame) c_gst_base_parse_frame_free; - void function(GstBaseParseFrame* frame) c_gst_base_parse_frame_init; - - // gst.base.BaseSink - - GType function() c_gst_base_sink_get_type; - GstFlowReturn function(GstBaseSink* sink, GstMiniObject* obj) c_gst_base_sink_do_preroll; - uint function(GstBaseSink* sink) c_gst_base_sink_get_blocksize; - int function(GstBaseSink* sink) c_gst_base_sink_get_drop_out_of_segment; - GstSample* function(GstBaseSink* sink) c_gst_base_sink_get_last_sample; - GstClockTime function(GstBaseSink* sink) c_gst_base_sink_get_latency; - ulong function(GstBaseSink* sink) c_gst_base_sink_get_max_bitrate; - long function(GstBaseSink* sink) c_gst_base_sink_get_max_lateness; - GstClockTime function(GstBaseSink* sink) c_gst_base_sink_get_processing_deadline; - GstClockTime function(GstBaseSink* sink) c_gst_base_sink_get_render_delay; - GstStructure* function(GstBaseSink* sink) c_gst_base_sink_get_stats; - int function(GstBaseSink* sink) c_gst_base_sink_get_sync; - ulong function(GstBaseSink* sink) c_gst_base_sink_get_throttle_time; - GstClockTimeDiff function(GstBaseSink* sink) c_gst_base_sink_get_ts_offset; - int function(GstBaseSink* sink) c_gst_base_sink_is_async_enabled; - int function(GstBaseSink* sink) c_gst_base_sink_is_last_sample_enabled; - int function(GstBaseSink* sink) c_gst_base_sink_is_qos_enabled; - int function(GstBaseSink* sink, int* live, int* upstreamLive, GstClockTime* minLatency, GstClockTime* maxLatency) c_gst_base_sink_query_latency; - void function(GstBaseSink* sink, int enabled) c_gst_base_sink_set_async_enabled; - void function(GstBaseSink* sink, uint blocksize) c_gst_base_sink_set_blocksize; - void function(GstBaseSink* sink, int dropOutOfSegment) c_gst_base_sink_set_drop_out_of_segment; - void function(GstBaseSink* sink, int enabled) c_gst_base_sink_set_last_sample_enabled; - void function(GstBaseSink* sink, ulong maxBitrate) c_gst_base_sink_set_max_bitrate; - void function(GstBaseSink* sink, long maxLateness) c_gst_base_sink_set_max_lateness; - void function(GstBaseSink* sink, GstClockTime processingDeadline) c_gst_base_sink_set_processing_deadline; - void function(GstBaseSink* sink, int enabled) c_gst_base_sink_set_qos_enabled; - void function(GstBaseSink* sink, GstClockTime delay) c_gst_base_sink_set_render_delay; - void function(GstBaseSink* sink, int sync) c_gst_base_sink_set_sync; - void function(GstBaseSink* sink, ulong throttle) c_gst_base_sink_set_throttle_time; - void function(GstBaseSink* sink, GstClockTimeDiff offset) c_gst_base_sink_set_ts_offset; - GstFlowReturn function(GstBaseSink* sink, GstClockTime time, GstClockTimeDiff* jitter) c_gst_base_sink_wait; - GstClockReturn function(GstBaseSink* sink, GstClockTime time, GstClockTimeDiff* jitter) c_gst_base_sink_wait_clock; - GstFlowReturn function(GstBaseSink* sink) c_gst_base_sink_wait_preroll; - - // gst.base.BaseSrc - - GType function() c_gst_base_src_get_type; - void function(GstBaseSrc* src, GstAllocator** allocator, GstAllocationParams* params) c_gst_base_src_get_allocator; - uint function(GstBaseSrc* src) c_gst_base_src_get_blocksize; - GstBufferPool* function(GstBaseSrc* src) c_gst_base_src_get_buffer_pool; - int function(GstBaseSrc* src) c_gst_base_src_get_do_timestamp; - int function(GstBaseSrc* src) c_gst_base_src_is_async; - int function(GstBaseSrc* src) c_gst_base_src_is_live; - int function(GstBaseSrc* src) c_gst_base_src_negotiate; - int function(GstBaseSrc* src, long start, long stop, long time) c_gst_base_src_new_seamless_segment; - int function(GstBaseSrc* src, GstSegment* segment) c_gst_base_src_new_segment; - int function(GstBaseSrc* src, int* live, GstClockTime* minLatency, GstClockTime* maxLatency) c_gst_base_src_query_latency; - void function(GstBaseSrc* src, int async) c_gst_base_src_set_async; - void function(GstBaseSrc* src, int automaticEos) c_gst_base_src_set_automatic_eos; - void function(GstBaseSrc* src, uint blocksize) c_gst_base_src_set_blocksize; - int function(GstBaseSrc* src, GstCaps* caps) c_gst_base_src_set_caps; - void function(GstBaseSrc* src, int timestamp) c_gst_base_src_set_do_timestamp; - void function(GstBaseSrc* src, int dynamic) c_gst_base_src_set_dynamic_size; - void function(GstBaseSrc* src, GstFormat format) c_gst_base_src_set_format; - void function(GstBaseSrc* src, int live) c_gst_base_src_set_live; - void function(GstBaseSrc* basesrc, GstFlowReturn ret) c_gst_base_src_start_complete; - GstFlowReturn function(GstBaseSrc* basesrc) c_gst_base_src_start_wait; - void function(GstBaseSrc* src, GstBufferList* bufferList) c_gst_base_src_submit_buffer_list; - GstFlowReturn function(GstBaseSrc* src) c_gst_base_src_wait_playing; - - // gst.base.BaseTransform - - GType function() c_gst_base_transform_get_type; - void function(GstBaseTransform* trans, GstAllocator** allocator, GstAllocationParams* params) c_gst_base_transform_get_allocator; - GstBufferPool* function(GstBaseTransform* trans) c_gst_base_transform_get_buffer_pool; - int function(GstBaseTransform* trans) c_gst_base_transform_is_in_place; - int function(GstBaseTransform* trans) c_gst_base_transform_is_passthrough; - int function(GstBaseTransform* trans) c_gst_base_transform_is_qos_enabled; - int function(GstBaseTransform* trans) c_gst_base_transform_reconfigure; - void function(GstBaseTransform* trans) c_gst_base_transform_reconfigure_sink; - void function(GstBaseTransform* trans) c_gst_base_transform_reconfigure_src; - void function(GstBaseTransform* trans, int gapAware) c_gst_base_transform_set_gap_aware; - void function(GstBaseTransform* trans, int inPlace) c_gst_base_transform_set_in_place; - void function(GstBaseTransform* trans, int passthrough) c_gst_base_transform_set_passthrough; - void function(GstBaseTransform* trans, int preferPassthrough) c_gst_base_transform_set_prefer_passthrough; - void function(GstBaseTransform* trans, int enabled) c_gst_base_transform_set_qos_enabled; - void function(GstBaseTransform* trans, double proportion, GstClockTimeDiff diff, GstClockTime timestamp) c_gst_base_transform_update_qos; - int function(GstBaseTransform* trans, GstCaps* updatedCaps) c_gst_base_transform_update_src_caps; - - // gst.base.BitReader - - void function(GstBitReader* reader) c_gst_bit_reader_free; - int function(GstBitReader* reader, ushort* val, uint nbits) c_gst_bit_reader_get_bits_uint16; - int function(GstBitReader* reader, uint* val, uint nbits) c_gst_bit_reader_get_bits_uint32; - int function(GstBitReader* reader, ulong* val, uint nbits) c_gst_bit_reader_get_bits_uint64; - int function(GstBitReader* reader, ubyte* val, uint nbits) c_gst_bit_reader_get_bits_uint8; - uint function(GstBitReader* reader) c_gst_bit_reader_get_pos; - uint function(GstBitReader* reader) c_gst_bit_reader_get_remaining; - uint function(GstBitReader* reader) c_gst_bit_reader_get_size; - void function(GstBitReader* reader, ubyte* data, uint size) c_gst_bit_reader_init; - int function(GstBitReader* reader, ushort* val, uint nbits) c_gst_bit_reader_peek_bits_uint16; - int function(GstBitReader* reader, uint* val, uint nbits) c_gst_bit_reader_peek_bits_uint32; - int function(GstBitReader* reader, ulong* val, uint nbits) c_gst_bit_reader_peek_bits_uint64; - int function(GstBitReader* reader, ubyte* val, uint nbits) c_gst_bit_reader_peek_bits_uint8; - int function(GstBitReader* reader, uint pos) c_gst_bit_reader_set_pos; - int function(GstBitReader* reader, uint nbits) c_gst_bit_reader_skip; - int function(GstBitReader* reader) c_gst_bit_reader_skip_to_byte; - GstBitReader* function(ubyte* data, uint size) c_gst_bit_reader_new; - - // gst.base.BitWriter - - int function(GstBitWriter* bitwriter, ubyte trailingBit) c_gst_bit_writer_align_bytes; - void function(GstBitWriter* bitwriter) c_gst_bit_writer_free; - GstBuffer* function(GstBitWriter* bitwriter) c_gst_bit_writer_free_and_get_buffer; - ubyte* function(GstBitWriter* bitwriter) c_gst_bit_writer_free_and_get_data; - ubyte* function(GstBitWriter* bitwriter) c_gst_bit_writer_get_data; - uint function(GstBitWriter* bitwriter) c_gst_bit_writer_get_remaining; - uint function(GstBitWriter* bitwriter) c_gst_bit_writer_get_size; - void function(GstBitWriter* bitwriter) c_gst_bit_writer_init; - void function(GstBitWriter* bitwriter, ubyte* data, uint size, int initialized) c_gst_bit_writer_init_with_data; - void function(GstBitWriter* bitwriter, uint size, int fixed) c_gst_bit_writer_init_with_size; - int function(GstBitWriter* bitwriter, ushort value, uint nbits) c_gst_bit_writer_put_bits_uint16; - int function(GstBitWriter* bitwriter, uint value, uint nbits) c_gst_bit_writer_put_bits_uint32; - int function(GstBitWriter* bitwriter, ulong value, uint nbits) c_gst_bit_writer_put_bits_uint64; - int function(GstBitWriter* bitwriter, ubyte value, uint nbits) c_gst_bit_writer_put_bits_uint8; - int function(GstBitWriter* bitwriter, ubyte* data, uint nbytes) c_gst_bit_writer_put_bytes; - void function(GstBitWriter* bitwriter) c_gst_bit_writer_reset; - GstBuffer* function(GstBitWriter* bitwriter) c_gst_bit_writer_reset_and_get_buffer; - ubyte* function(GstBitWriter* bitwriter) c_gst_bit_writer_reset_and_get_data; - int function(GstBitWriter* bitwriter, uint pos) c_gst_bit_writer_set_pos; - GstBitWriter* function() c_gst_bit_writer_new; - GstBitWriter* function(ubyte* data, uint size, int initialized) c_gst_bit_writer_new_with_data; - GstBitWriter* function(uint size, int fixed) c_gst_bit_writer_new_with_size; - - // gst.base.ByteReader - - int function(GstByteReader* reader, uint size, ubyte** val) c_gst_byte_reader_dup_data; - int function(GstByteReader* reader, ushort** str) c_gst_byte_reader_dup_string_utf16; - int function(GstByteReader* reader, uint** str) c_gst_byte_reader_dup_string_utf32; - int function(GstByteReader* reader, char** str) c_gst_byte_reader_dup_string_utf8; - void function(GstByteReader* reader) c_gst_byte_reader_free; - int function(GstByteReader* reader, uint size, ubyte** val) c_gst_byte_reader_get_data; - int function(GstByteReader* reader, float* val) c_gst_byte_reader_get_float32_be; - int function(GstByteReader* reader, float* val) c_gst_byte_reader_get_float32_le; - int function(GstByteReader* reader, double* val) c_gst_byte_reader_get_float64_be; - int function(GstByteReader* reader, double* val) c_gst_byte_reader_get_float64_le; - int function(GstByteReader* reader, short* val) c_gst_byte_reader_get_int16_be; - int function(GstByteReader* reader, short* val) c_gst_byte_reader_get_int16_le; - int function(GstByteReader* reader, int* val) c_gst_byte_reader_get_int24_be; - int function(GstByteReader* reader, int* val) c_gst_byte_reader_get_int24_le; - int function(GstByteReader* reader, int* val) c_gst_byte_reader_get_int32_be; - int function(GstByteReader* reader, int* val) c_gst_byte_reader_get_int32_le; - int function(GstByteReader* reader, long* val) c_gst_byte_reader_get_int64_be; - int function(GstByteReader* reader, long* val) c_gst_byte_reader_get_int64_le; - int function(GstByteReader* reader, byte* val) c_gst_byte_reader_get_int8; - uint function(GstByteReader* reader) c_gst_byte_reader_get_pos; - uint function(GstByteReader* reader) c_gst_byte_reader_get_remaining; - uint function(GstByteReader* reader) c_gst_byte_reader_get_size; - int function(GstByteReader* reader, char** str) c_gst_byte_reader_get_string_utf8; - int function(GstByteReader* reader, GstByteReader* subReader, uint size) c_gst_byte_reader_get_sub_reader; - int function(GstByteReader* reader, ushort* val) c_gst_byte_reader_get_uint16_be; - int function(GstByteReader* reader, ushort* val) c_gst_byte_reader_get_uint16_le; - int function(GstByteReader* reader, uint* val) c_gst_byte_reader_get_uint24_be; - int function(GstByteReader* reader, uint* val) c_gst_byte_reader_get_uint24_le; - int function(GstByteReader* reader, uint* val) c_gst_byte_reader_get_uint32_be; - int function(GstByteReader* reader, uint* val) c_gst_byte_reader_get_uint32_le; - int function(GstByteReader* reader, ulong* val) c_gst_byte_reader_get_uint64_be; - int function(GstByteReader* reader, ulong* val) c_gst_byte_reader_get_uint64_le; - int function(GstByteReader* reader, ubyte* val) c_gst_byte_reader_get_uint8; - void function(GstByteReader* reader, ubyte* data, uint size) c_gst_byte_reader_init; - uint function(GstByteReader* reader, uint mask, uint pattern, uint offset, uint size) c_gst_byte_reader_masked_scan_uint32; - uint function(GstByteReader* reader, uint mask, uint pattern, uint offset, uint size, uint* value) c_gst_byte_reader_masked_scan_uint32_peek; - int function(GstByteReader* reader, uint size, ubyte** val) c_gst_byte_reader_peek_data; - int function(GstByteReader* reader, float* val) c_gst_byte_reader_peek_float32_be; - int function(GstByteReader* reader, float* val) c_gst_byte_reader_peek_float32_le; - int function(GstByteReader* reader, double* val) c_gst_byte_reader_peek_float64_be; - int function(GstByteReader* reader, double* val) c_gst_byte_reader_peek_float64_le; - int function(GstByteReader* reader, short* val) c_gst_byte_reader_peek_int16_be; - int function(GstByteReader* reader, short* val) c_gst_byte_reader_peek_int16_le; - int function(GstByteReader* reader, int* val) c_gst_byte_reader_peek_int24_be; - int function(GstByteReader* reader, int* val) c_gst_byte_reader_peek_int24_le; - int function(GstByteReader* reader, int* val) c_gst_byte_reader_peek_int32_be; - int function(GstByteReader* reader, int* val) c_gst_byte_reader_peek_int32_le; - int function(GstByteReader* reader, long* val) c_gst_byte_reader_peek_int64_be; - int function(GstByteReader* reader, long* val) c_gst_byte_reader_peek_int64_le; - int function(GstByteReader* reader, byte* val) c_gst_byte_reader_peek_int8; - int function(GstByteReader* reader, char** str) c_gst_byte_reader_peek_string_utf8; - int function(GstByteReader* reader, GstByteReader* subReader, uint size) c_gst_byte_reader_peek_sub_reader; - int function(GstByteReader* reader, ushort* val) c_gst_byte_reader_peek_uint16_be; - int function(GstByteReader* reader, ushort* val) c_gst_byte_reader_peek_uint16_le; - int function(GstByteReader* reader, uint* val) c_gst_byte_reader_peek_uint24_be; - int function(GstByteReader* reader, uint* val) c_gst_byte_reader_peek_uint24_le; - int function(GstByteReader* reader, uint* val) c_gst_byte_reader_peek_uint32_be; - int function(GstByteReader* reader, uint* val) c_gst_byte_reader_peek_uint32_le; - int function(GstByteReader* reader, ulong* val) c_gst_byte_reader_peek_uint64_be; - int function(GstByteReader* reader, ulong* val) c_gst_byte_reader_peek_uint64_le; - int function(GstByteReader* reader, ubyte* val) c_gst_byte_reader_peek_uint8; - int function(GstByteReader* reader, uint pos) c_gst_byte_reader_set_pos; - int function(GstByteReader* reader, uint nbytes) c_gst_byte_reader_skip; - int function(GstByteReader* reader) c_gst_byte_reader_skip_string_utf16; - int function(GstByteReader* reader) c_gst_byte_reader_skip_string_utf32; - int function(GstByteReader* reader) c_gst_byte_reader_skip_string_utf8; - GstByteReader* function(ubyte* data, uint size) c_gst_byte_reader_new; - - // gst.base.ByteWriter - - int function(GstByteWriter* writer, uint size) c_gst_byte_writer_ensure_free_space; - int function(GstByteWriter* writer, ubyte value, uint size) c_gst_byte_writer_fill; - void function(GstByteWriter* writer) c_gst_byte_writer_free; - GstBuffer* function(GstByteWriter* writer) c_gst_byte_writer_free_and_get_buffer; - ubyte* function(GstByteWriter* writer) c_gst_byte_writer_free_and_get_data; - uint function(GstByteWriter* writer) c_gst_byte_writer_get_remaining; - void function(GstByteWriter* writer) c_gst_byte_writer_init; - void function(GstByteWriter* writer, ubyte* data, uint size, int initialized) c_gst_byte_writer_init_with_data; - void function(GstByteWriter* writer, uint size, int fixed) c_gst_byte_writer_init_with_size; - int function(GstByteWriter* writer, GstBuffer* buffer, size_t offset, ptrdiff_t size) c_gst_byte_writer_put_buffer; - int function(GstByteWriter* writer, ubyte* data, uint size) c_gst_byte_writer_put_data; - int function(GstByteWriter* writer, float val) c_gst_byte_writer_put_float32_be; - int function(GstByteWriter* writer, float val) c_gst_byte_writer_put_float32_le; - int function(GstByteWriter* writer, double val) c_gst_byte_writer_put_float64_be; - int function(GstByteWriter* writer, double val) c_gst_byte_writer_put_float64_le; - int function(GstByteWriter* writer, short val) c_gst_byte_writer_put_int16_be; - int function(GstByteWriter* writer, short val) c_gst_byte_writer_put_int16_le; - int function(GstByteWriter* writer, int val) c_gst_byte_writer_put_int24_be; - int function(GstByteWriter* writer, int val) c_gst_byte_writer_put_int24_le; - int function(GstByteWriter* writer, int val) c_gst_byte_writer_put_int32_be; - int function(GstByteWriter* writer, int val) c_gst_byte_writer_put_int32_le; - int function(GstByteWriter* writer, long val) c_gst_byte_writer_put_int64_be; - int function(GstByteWriter* writer, long val) c_gst_byte_writer_put_int64_le; - int function(GstByteWriter* writer, byte val) c_gst_byte_writer_put_int8; - int function(GstByteWriter* writer, ushort* data) c_gst_byte_writer_put_string_utf16; - int function(GstByteWriter* writer, uint* data) c_gst_byte_writer_put_string_utf32; - int function(GstByteWriter* writer, const(char)* data) c_gst_byte_writer_put_string_utf8; - int function(GstByteWriter* writer, ushort val) c_gst_byte_writer_put_uint16_be; - int function(GstByteWriter* writer, ushort val) c_gst_byte_writer_put_uint16_le; - int function(GstByteWriter* writer, uint val) c_gst_byte_writer_put_uint24_be; - int function(GstByteWriter* writer, uint val) c_gst_byte_writer_put_uint24_le; - int function(GstByteWriter* writer, uint val) c_gst_byte_writer_put_uint32_be; - int function(GstByteWriter* writer, uint val) c_gst_byte_writer_put_uint32_le; - int function(GstByteWriter* writer, ulong val) c_gst_byte_writer_put_uint64_be; - int function(GstByteWriter* writer, ulong val) c_gst_byte_writer_put_uint64_le; - int function(GstByteWriter* writer, ubyte val) c_gst_byte_writer_put_uint8; - void function(GstByteWriter* writer) c_gst_byte_writer_reset; - GstBuffer* function(GstByteWriter* writer) c_gst_byte_writer_reset_and_get_buffer; - ubyte* function(GstByteWriter* writer) c_gst_byte_writer_reset_and_get_data; - GstByteWriter* function() c_gst_byte_writer_new; - GstByteWriter* function(ubyte* data, uint size, int initialized) c_gst_byte_writer_new_with_data; - GstByteWriter* function(uint size, int fixed) c_gst_byte_writer_new_with_size; - - // gst.base.CollectPads - - GType function() c_gst_collect_pads_get_type; - GstCollectPads* function() c_gst_collect_pads_new; - GstCollectData* function(GstCollectPads* pads, GstPad* pad, uint size, GstCollectDataDestroyNotify destroyNotify, int lock) c_gst_collect_pads_add_pad; - uint function(GstCollectPads* pads) c_gst_collect_pads_available; - GstFlowReturn function(GstCollectPads* pads, GstCollectData* cdata, GstBuffer* buf, GstBuffer** outbuf, void* userData) c_gst_collect_pads_clip_running_time; - int function(GstCollectPads* pads, GstCollectData* data, GstEvent* event, int discard) c_gst_collect_pads_event_default; - uint function(GstCollectPads* pads, GstCollectData* data, uint size) c_gst_collect_pads_flush; - GstBuffer* function(GstCollectPads* pads, GstCollectData* data) c_gst_collect_pads_peek; - GstBuffer* function(GstCollectPads* pads, GstCollectData* data) c_gst_collect_pads_pop; - int function(GstCollectPads* pads, GstCollectData* data, GstQuery* query, int discard) c_gst_collect_pads_query_default; - GstBuffer* function(GstCollectPads* pads, GstCollectData* data, uint size) c_gst_collect_pads_read_buffer; - int function(GstCollectPads* pads, GstPad* pad) c_gst_collect_pads_remove_pad; - void function(GstCollectPads* pads, GstCollectPadsBufferFunction func, void* userData) c_gst_collect_pads_set_buffer_function; - void function(GstCollectPads* pads, GstCollectPadsClipFunction clipfunc, void* userData) c_gst_collect_pads_set_clip_function; - void function(GstCollectPads* pads, GstCollectPadsCompareFunction func, void* userData) c_gst_collect_pads_set_compare_function; - void function(GstCollectPads* pads, GstCollectPadsEventFunction func, void* userData) c_gst_collect_pads_set_event_function; - void function(GstCollectPads* pads, GstCollectPadsFlushFunction func, void* userData) c_gst_collect_pads_set_flush_function; - void function(GstCollectPads* pads, int flushing) c_gst_collect_pads_set_flushing; - void function(GstCollectPads* pads, GstCollectPadsFunction func, void* userData) c_gst_collect_pads_set_function; - void function(GstCollectPads* pads, GstCollectPadsQueryFunction func, void* userData) c_gst_collect_pads_set_query_function; - void function(GstCollectPads* pads, GstCollectData* data, int waiting) c_gst_collect_pads_set_waiting; - int function(GstCollectPads* pads, GstPad* pad, GstEvent* event) c_gst_collect_pads_src_event_default; - void function(GstCollectPads* pads) c_gst_collect_pads_start; - void function(GstCollectPads* pads) c_gst_collect_pads_stop; - GstBuffer* function(GstCollectPads* pads, GstCollectData* data, uint size) c_gst_collect_pads_take_buffer; - - // gst.base.DataQueue - - GType function() c_gst_data_queue_get_type; - GstDataQueue* function(GstDataQueueCheckFullFunction checkfull, GstDataQueueFullCallback fullcallback, GstDataQueueEmptyCallback emptycallback, void* checkdata) c_gst_data_queue_new; - int function(GstDataQueue* queue, GType type) c_gst_data_queue_drop_head; - void function(GstDataQueue* queue) c_gst_data_queue_flush; - void function(GstDataQueue* queue, GstDataQueueSize* level) c_gst_data_queue_get_level; - int function(GstDataQueue* queue) c_gst_data_queue_is_empty; - int function(GstDataQueue* queue) c_gst_data_queue_is_full; - void function(GstDataQueue* queue) c_gst_data_queue_limits_changed; - int function(GstDataQueue* queue, GstDataQueueItem** item) c_gst_data_queue_peek; - int function(GstDataQueue* queue, GstDataQueueItem** item) c_gst_data_queue_pop; - int function(GstDataQueue* queue, GstDataQueueItem* item) c_gst_data_queue_push; - int function(GstDataQueue* queue, GstDataQueueItem* item) c_gst_data_queue_push_force; - void function(GstDataQueue* queue, int flushing) c_gst_data_queue_set_flushing; - - // gst.base.FlowCombiner - - GType function() c_gst_flow_combiner_get_type; - GstFlowCombiner* function() c_gst_flow_combiner_new; - void function(GstFlowCombiner* combiner, GstPad* pad) c_gst_flow_combiner_add_pad; - void function(GstFlowCombiner* combiner) c_gst_flow_combiner_clear; - void function(GstFlowCombiner* combiner) c_gst_flow_combiner_free; - GstFlowCombiner* function(GstFlowCombiner* combiner) c_gst_flow_combiner_ref; - void function(GstFlowCombiner* combiner, GstPad* pad) c_gst_flow_combiner_remove_pad; - void function(GstFlowCombiner* combiner) c_gst_flow_combiner_reset; - void function(GstFlowCombiner* combiner) c_gst_flow_combiner_unref; - GstFlowReturn function(GstFlowCombiner* combiner, GstFlowReturn fret) c_gst_flow_combiner_update_flow; - GstFlowReturn function(GstFlowCombiner* combiner, GstPad* pad, GstFlowReturn fret) c_gst_flow_combiner_update_pad_flow; - - // gst.base.PushSrc - - GType function() c_gst_push_src_get_type; - - // gst.base.QueueArray - - void function(GstQueueArray* array) c_gst_queue_array_clear; - void* function(GstQueueArray* array, uint idx) c_gst_queue_array_drop_element; - int function(GstQueueArray* array, uint idx, void* pStruct) c_gst_queue_array_drop_struct; - uint function(GstQueueArray* array, GCompareFunc func, void* data) c_gst_queue_array_find; - void function(GstQueueArray* array) c_gst_queue_array_free; - uint function(GstQueueArray* array) c_gst_queue_array_get_length; - int function(GstQueueArray* array) c_gst_queue_array_is_empty; - void* function(GstQueueArray* array) c_gst_queue_array_peek_head; - void* function(GstQueueArray* array) c_gst_queue_array_peek_head_struct; - void* function(GstQueueArray* array, uint idx) c_gst_queue_array_peek_nth; - void* function(GstQueueArray* array, uint idx) c_gst_queue_array_peek_nth_struct; - void* function(GstQueueArray* array) c_gst_queue_array_peek_tail; - void* function(GstQueueArray* array) c_gst_queue_array_peek_tail_struct; - void* function(GstQueueArray* array) c_gst_queue_array_pop_head; - void* function(GstQueueArray* array) c_gst_queue_array_pop_head_struct; - void* function(GstQueueArray* array) c_gst_queue_array_pop_tail; - void* function(GstQueueArray* array) c_gst_queue_array_pop_tail_struct; - void function(GstQueueArray* array, void* data) c_gst_queue_array_push_tail; - void function(GstQueueArray* array, void* pStruct) c_gst_queue_array_push_tail_struct; - void function(GstQueueArray* array, GDestroyNotify clearFunc) c_gst_queue_array_set_clear_func; - GstQueueArray* function(uint initialSize) c_gst_queue_array_new; - GstQueueArray* function(size_t structSize, uint initialSize) c_gst_queue_array_new_for_struct; - - // gst.base.Base - - GstCaps* function(GstPad* src, ulong size) c_gst_type_find_helper; - GstCaps* function(GstObject* obj, GstBuffer* buf, GstTypeFindProbability* prob) c_gst_type_find_helper_for_buffer; - GstCaps* function(GstObject* obj, ubyte* data, size_t size, GstTypeFindProbability* prob) c_gst_type_find_helper_for_data; - GstCaps* function(GstObject* obj, const(char)* extension) c_gst_type_find_helper_for_extension; - GstCaps* function(GstObject* obj, GstObject* parent, GstTypeFindHelperGetRangeFunction func, ulong size, const(char)* extension, GstTypeFindProbability* prob) c_gst_type_find_helper_get_range; - GstCaps* function(GstObject* obj, GstBuffer* buf, const(char)* extension, GstTypeFindProbability* prob) c_gst_type_find_helper_for_buffer_with_extension; - GstCaps* function(GstObject* obj, ubyte* data, size_t size, const(char)* extension, GstTypeFindProbability* prob) c_gst_type_find_helper_for_data_with_extension; - GstFlowReturn function(GstObject* obj, GstObject* parent, GstTypeFindHelperGetRangeFunction func, ulong size, const(char)* extension, GstCaps** caps, GstTypeFindProbability* prob) c_gst_type_find_helper_get_range_full; -} - - -// gst.base.Adapter - -alias c_gst_adapter_get_type gst_adapter_get_type; -alias c_gst_adapter_new gst_adapter_new; -alias c_gst_adapter_available gst_adapter_available; -alias c_gst_adapter_available_fast gst_adapter_available_fast; -alias c_gst_adapter_clear gst_adapter_clear; -alias c_gst_adapter_copy gst_adapter_copy; -alias c_gst_adapter_copy_bytes gst_adapter_copy_bytes; -alias c_gst_adapter_distance_from_discont gst_adapter_distance_from_discont; -alias c_gst_adapter_dts_at_discont gst_adapter_dts_at_discont; -alias c_gst_adapter_flush gst_adapter_flush; -alias c_gst_adapter_get_buffer gst_adapter_get_buffer; -alias c_gst_adapter_get_buffer_fast gst_adapter_get_buffer_fast; -alias c_gst_adapter_get_buffer_list gst_adapter_get_buffer_list; -alias c_gst_adapter_get_list gst_adapter_get_list; -alias c_gst_adapter_map gst_adapter_map; -alias c_gst_adapter_masked_scan_uint32 gst_adapter_masked_scan_uint32; -alias c_gst_adapter_masked_scan_uint32_peek gst_adapter_masked_scan_uint32_peek; -alias c_gst_adapter_offset_at_discont gst_adapter_offset_at_discont; -alias c_gst_adapter_prev_dts gst_adapter_prev_dts; -alias c_gst_adapter_prev_dts_at_offset gst_adapter_prev_dts_at_offset; -alias c_gst_adapter_prev_offset gst_adapter_prev_offset; -alias c_gst_adapter_prev_pts gst_adapter_prev_pts; -alias c_gst_adapter_prev_pts_at_offset gst_adapter_prev_pts_at_offset; -alias c_gst_adapter_pts_at_discont gst_adapter_pts_at_discont; -alias c_gst_adapter_push gst_adapter_push; -alias c_gst_adapter_take gst_adapter_take; -alias c_gst_adapter_take_buffer gst_adapter_take_buffer; -alias c_gst_adapter_take_buffer_fast gst_adapter_take_buffer_fast; -alias c_gst_adapter_take_buffer_list gst_adapter_take_buffer_list; -alias c_gst_adapter_take_list gst_adapter_take_list; -alias c_gst_adapter_unmap gst_adapter_unmap; - -// gst.base.Aggregator - -alias c_gst_aggregator_get_type gst_aggregator_get_type; -alias c_gst_aggregator_finish_buffer gst_aggregator_finish_buffer; -alias c_gst_aggregator_finish_buffer_list gst_aggregator_finish_buffer_list; -alias c_gst_aggregator_get_allocator gst_aggregator_get_allocator; -alias c_gst_aggregator_get_buffer_pool gst_aggregator_get_buffer_pool; -alias c_gst_aggregator_get_latency gst_aggregator_get_latency; -alias c_gst_aggregator_negotiate gst_aggregator_negotiate; -alias c_gst_aggregator_peek_next_sample gst_aggregator_peek_next_sample; -alias c_gst_aggregator_selected_samples gst_aggregator_selected_samples; -alias c_gst_aggregator_set_latency gst_aggregator_set_latency; -alias c_gst_aggregator_set_src_caps gst_aggregator_set_src_caps; -alias c_gst_aggregator_simple_get_next_time gst_aggregator_simple_get_next_time; -alias c_gst_aggregator_update_segment gst_aggregator_update_segment; - -// gst.base.AggregatorPad - -alias c_gst_aggregator_pad_get_type gst_aggregator_pad_get_type; -alias c_gst_aggregator_pad_drop_buffer gst_aggregator_pad_drop_buffer; -alias c_gst_aggregator_pad_has_buffer gst_aggregator_pad_has_buffer; -alias c_gst_aggregator_pad_is_eos gst_aggregator_pad_is_eos; -alias c_gst_aggregator_pad_peek_buffer gst_aggregator_pad_peek_buffer; -alias c_gst_aggregator_pad_pop_buffer gst_aggregator_pad_pop_buffer; - -// gst.base.BaseParse - -alias c_gst_base_parse_get_type gst_base_parse_get_type; -alias c_gst_base_parse_add_index_entry gst_base_parse_add_index_entry; -alias c_gst_base_parse_convert_default gst_base_parse_convert_default; -alias c_gst_base_parse_drain gst_base_parse_drain; -alias c_gst_base_parse_finish_frame gst_base_parse_finish_frame; -alias c_gst_base_parse_merge_tags gst_base_parse_merge_tags; -alias c_gst_base_parse_push_frame gst_base_parse_push_frame; -alias c_gst_base_parse_set_average_bitrate gst_base_parse_set_average_bitrate; -alias c_gst_base_parse_set_duration gst_base_parse_set_duration; -alias c_gst_base_parse_set_frame_rate gst_base_parse_set_frame_rate; -alias c_gst_base_parse_set_has_timing_info gst_base_parse_set_has_timing_info; -alias c_gst_base_parse_set_infer_ts gst_base_parse_set_infer_ts; -alias c_gst_base_parse_set_latency gst_base_parse_set_latency; -alias c_gst_base_parse_set_min_frame_size gst_base_parse_set_min_frame_size; -alias c_gst_base_parse_set_passthrough gst_base_parse_set_passthrough; -alias c_gst_base_parse_set_pts_interpolation gst_base_parse_set_pts_interpolation; -alias c_gst_base_parse_set_syncable gst_base_parse_set_syncable; -alias c_gst_base_parse_set_ts_at_offset gst_base_parse_set_ts_at_offset; - -// gst.base.BaseParseFrame - -alias c_gst_base_parse_frame_get_type gst_base_parse_frame_get_type; -alias c_gst_base_parse_frame_new gst_base_parse_frame_new; -alias c_gst_base_parse_frame_copy gst_base_parse_frame_copy; -alias c_gst_base_parse_frame_free gst_base_parse_frame_free; -alias c_gst_base_parse_frame_init gst_base_parse_frame_init; - -// gst.base.BaseSink - -alias c_gst_base_sink_get_type gst_base_sink_get_type; -alias c_gst_base_sink_do_preroll gst_base_sink_do_preroll; -alias c_gst_base_sink_get_blocksize gst_base_sink_get_blocksize; -alias c_gst_base_sink_get_drop_out_of_segment gst_base_sink_get_drop_out_of_segment; -alias c_gst_base_sink_get_last_sample gst_base_sink_get_last_sample; -alias c_gst_base_sink_get_latency gst_base_sink_get_latency; -alias c_gst_base_sink_get_max_bitrate gst_base_sink_get_max_bitrate; -alias c_gst_base_sink_get_max_lateness gst_base_sink_get_max_lateness; -alias c_gst_base_sink_get_processing_deadline gst_base_sink_get_processing_deadline; -alias c_gst_base_sink_get_render_delay gst_base_sink_get_render_delay; -alias c_gst_base_sink_get_stats gst_base_sink_get_stats; -alias c_gst_base_sink_get_sync gst_base_sink_get_sync; -alias c_gst_base_sink_get_throttle_time gst_base_sink_get_throttle_time; -alias c_gst_base_sink_get_ts_offset gst_base_sink_get_ts_offset; -alias c_gst_base_sink_is_async_enabled gst_base_sink_is_async_enabled; -alias c_gst_base_sink_is_last_sample_enabled gst_base_sink_is_last_sample_enabled; -alias c_gst_base_sink_is_qos_enabled gst_base_sink_is_qos_enabled; -alias c_gst_base_sink_query_latency gst_base_sink_query_latency; -alias c_gst_base_sink_set_async_enabled gst_base_sink_set_async_enabled; -alias c_gst_base_sink_set_blocksize gst_base_sink_set_blocksize; -alias c_gst_base_sink_set_drop_out_of_segment gst_base_sink_set_drop_out_of_segment; -alias c_gst_base_sink_set_last_sample_enabled gst_base_sink_set_last_sample_enabled; -alias c_gst_base_sink_set_max_bitrate gst_base_sink_set_max_bitrate; -alias c_gst_base_sink_set_max_lateness gst_base_sink_set_max_lateness; -alias c_gst_base_sink_set_processing_deadline gst_base_sink_set_processing_deadline; -alias c_gst_base_sink_set_qos_enabled gst_base_sink_set_qos_enabled; -alias c_gst_base_sink_set_render_delay gst_base_sink_set_render_delay; -alias c_gst_base_sink_set_sync gst_base_sink_set_sync; -alias c_gst_base_sink_set_throttle_time gst_base_sink_set_throttle_time; -alias c_gst_base_sink_set_ts_offset gst_base_sink_set_ts_offset; -alias c_gst_base_sink_wait gst_base_sink_wait; -alias c_gst_base_sink_wait_clock gst_base_sink_wait_clock; -alias c_gst_base_sink_wait_preroll gst_base_sink_wait_preroll; - -// gst.base.BaseSrc - -alias c_gst_base_src_get_type gst_base_src_get_type; -alias c_gst_base_src_get_allocator gst_base_src_get_allocator; -alias c_gst_base_src_get_blocksize gst_base_src_get_blocksize; -alias c_gst_base_src_get_buffer_pool gst_base_src_get_buffer_pool; -alias c_gst_base_src_get_do_timestamp gst_base_src_get_do_timestamp; -alias c_gst_base_src_is_async gst_base_src_is_async; -alias c_gst_base_src_is_live gst_base_src_is_live; -alias c_gst_base_src_negotiate gst_base_src_negotiate; -alias c_gst_base_src_new_seamless_segment gst_base_src_new_seamless_segment; -alias c_gst_base_src_new_segment gst_base_src_new_segment; -alias c_gst_base_src_query_latency gst_base_src_query_latency; -alias c_gst_base_src_set_async gst_base_src_set_async; -alias c_gst_base_src_set_automatic_eos gst_base_src_set_automatic_eos; -alias c_gst_base_src_set_blocksize gst_base_src_set_blocksize; -alias c_gst_base_src_set_caps gst_base_src_set_caps; -alias c_gst_base_src_set_do_timestamp gst_base_src_set_do_timestamp; -alias c_gst_base_src_set_dynamic_size gst_base_src_set_dynamic_size; -alias c_gst_base_src_set_format gst_base_src_set_format; -alias c_gst_base_src_set_live gst_base_src_set_live; -alias c_gst_base_src_start_complete gst_base_src_start_complete; -alias c_gst_base_src_start_wait gst_base_src_start_wait; -alias c_gst_base_src_submit_buffer_list gst_base_src_submit_buffer_list; -alias c_gst_base_src_wait_playing gst_base_src_wait_playing; - -// gst.base.BaseTransform - -alias c_gst_base_transform_get_type gst_base_transform_get_type; -alias c_gst_base_transform_get_allocator gst_base_transform_get_allocator; -alias c_gst_base_transform_get_buffer_pool gst_base_transform_get_buffer_pool; -alias c_gst_base_transform_is_in_place gst_base_transform_is_in_place; -alias c_gst_base_transform_is_passthrough gst_base_transform_is_passthrough; -alias c_gst_base_transform_is_qos_enabled gst_base_transform_is_qos_enabled; -alias c_gst_base_transform_reconfigure gst_base_transform_reconfigure; -alias c_gst_base_transform_reconfigure_sink gst_base_transform_reconfigure_sink; -alias c_gst_base_transform_reconfigure_src gst_base_transform_reconfigure_src; -alias c_gst_base_transform_set_gap_aware gst_base_transform_set_gap_aware; -alias c_gst_base_transform_set_in_place gst_base_transform_set_in_place; -alias c_gst_base_transform_set_passthrough gst_base_transform_set_passthrough; -alias c_gst_base_transform_set_prefer_passthrough gst_base_transform_set_prefer_passthrough; -alias c_gst_base_transform_set_qos_enabled gst_base_transform_set_qos_enabled; -alias c_gst_base_transform_update_qos gst_base_transform_update_qos; -alias c_gst_base_transform_update_src_caps gst_base_transform_update_src_caps; - -// gst.base.BitReader - -alias c_gst_bit_reader_free gst_bit_reader_free; -alias c_gst_bit_reader_get_bits_uint16 gst_bit_reader_get_bits_uint16; -alias c_gst_bit_reader_get_bits_uint32 gst_bit_reader_get_bits_uint32; -alias c_gst_bit_reader_get_bits_uint64 gst_bit_reader_get_bits_uint64; -alias c_gst_bit_reader_get_bits_uint8 gst_bit_reader_get_bits_uint8; -alias c_gst_bit_reader_get_pos gst_bit_reader_get_pos; -alias c_gst_bit_reader_get_remaining gst_bit_reader_get_remaining; -alias c_gst_bit_reader_get_size gst_bit_reader_get_size; -alias c_gst_bit_reader_init gst_bit_reader_init; -alias c_gst_bit_reader_peek_bits_uint16 gst_bit_reader_peek_bits_uint16; -alias c_gst_bit_reader_peek_bits_uint32 gst_bit_reader_peek_bits_uint32; -alias c_gst_bit_reader_peek_bits_uint64 gst_bit_reader_peek_bits_uint64; -alias c_gst_bit_reader_peek_bits_uint8 gst_bit_reader_peek_bits_uint8; -alias c_gst_bit_reader_set_pos gst_bit_reader_set_pos; -alias c_gst_bit_reader_skip gst_bit_reader_skip; -alias c_gst_bit_reader_skip_to_byte gst_bit_reader_skip_to_byte; -alias c_gst_bit_reader_new gst_bit_reader_new; - -// gst.base.BitWriter - -alias c_gst_bit_writer_align_bytes gst_bit_writer_align_bytes; -alias c_gst_bit_writer_free gst_bit_writer_free; -alias c_gst_bit_writer_free_and_get_buffer gst_bit_writer_free_and_get_buffer; -alias c_gst_bit_writer_free_and_get_data gst_bit_writer_free_and_get_data; -alias c_gst_bit_writer_get_data gst_bit_writer_get_data; -alias c_gst_bit_writer_get_remaining gst_bit_writer_get_remaining; -alias c_gst_bit_writer_get_size gst_bit_writer_get_size; -alias c_gst_bit_writer_init gst_bit_writer_init; -alias c_gst_bit_writer_init_with_data gst_bit_writer_init_with_data; -alias c_gst_bit_writer_init_with_size gst_bit_writer_init_with_size; -alias c_gst_bit_writer_put_bits_uint16 gst_bit_writer_put_bits_uint16; -alias c_gst_bit_writer_put_bits_uint32 gst_bit_writer_put_bits_uint32; -alias c_gst_bit_writer_put_bits_uint64 gst_bit_writer_put_bits_uint64; -alias c_gst_bit_writer_put_bits_uint8 gst_bit_writer_put_bits_uint8; -alias c_gst_bit_writer_put_bytes gst_bit_writer_put_bytes; -alias c_gst_bit_writer_reset gst_bit_writer_reset; -alias c_gst_bit_writer_reset_and_get_buffer gst_bit_writer_reset_and_get_buffer; -alias c_gst_bit_writer_reset_and_get_data gst_bit_writer_reset_and_get_data; -alias c_gst_bit_writer_set_pos gst_bit_writer_set_pos; -alias c_gst_bit_writer_new gst_bit_writer_new; -alias c_gst_bit_writer_new_with_data gst_bit_writer_new_with_data; -alias c_gst_bit_writer_new_with_size gst_bit_writer_new_with_size; - -// gst.base.ByteReader - -alias c_gst_byte_reader_dup_data gst_byte_reader_dup_data; -alias c_gst_byte_reader_dup_string_utf16 gst_byte_reader_dup_string_utf16; -alias c_gst_byte_reader_dup_string_utf32 gst_byte_reader_dup_string_utf32; -alias c_gst_byte_reader_dup_string_utf8 gst_byte_reader_dup_string_utf8; -alias c_gst_byte_reader_free gst_byte_reader_free; -alias c_gst_byte_reader_get_data gst_byte_reader_get_data; -alias c_gst_byte_reader_get_float32_be gst_byte_reader_get_float32_be; -alias c_gst_byte_reader_get_float32_le gst_byte_reader_get_float32_le; -alias c_gst_byte_reader_get_float64_be gst_byte_reader_get_float64_be; -alias c_gst_byte_reader_get_float64_le gst_byte_reader_get_float64_le; -alias c_gst_byte_reader_get_int16_be gst_byte_reader_get_int16_be; -alias c_gst_byte_reader_get_int16_le gst_byte_reader_get_int16_le; -alias c_gst_byte_reader_get_int24_be gst_byte_reader_get_int24_be; -alias c_gst_byte_reader_get_int24_le gst_byte_reader_get_int24_le; -alias c_gst_byte_reader_get_int32_be gst_byte_reader_get_int32_be; -alias c_gst_byte_reader_get_int32_le gst_byte_reader_get_int32_le; -alias c_gst_byte_reader_get_int64_be gst_byte_reader_get_int64_be; -alias c_gst_byte_reader_get_int64_le gst_byte_reader_get_int64_le; -alias c_gst_byte_reader_get_int8 gst_byte_reader_get_int8; -alias c_gst_byte_reader_get_pos gst_byte_reader_get_pos; -alias c_gst_byte_reader_get_remaining gst_byte_reader_get_remaining; -alias c_gst_byte_reader_get_size gst_byte_reader_get_size; -alias c_gst_byte_reader_get_string_utf8 gst_byte_reader_get_string_utf8; -alias c_gst_byte_reader_get_sub_reader gst_byte_reader_get_sub_reader; -alias c_gst_byte_reader_get_uint16_be gst_byte_reader_get_uint16_be; -alias c_gst_byte_reader_get_uint16_le gst_byte_reader_get_uint16_le; -alias c_gst_byte_reader_get_uint24_be gst_byte_reader_get_uint24_be; -alias c_gst_byte_reader_get_uint24_le gst_byte_reader_get_uint24_le; -alias c_gst_byte_reader_get_uint32_be gst_byte_reader_get_uint32_be; -alias c_gst_byte_reader_get_uint32_le gst_byte_reader_get_uint32_le; -alias c_gst_byte_reader_get_uint64_be gst_byte_reader_get_uint64_be; -alias c_gst_byte_reader_get_uint64_le gst_byte_reader_get_uint64_le; -alias c_gst_byte_reader_get_uint8 gst_byte_reader_get_uint8; -alias c_gst_byte_reader_init gst_byte_reader_init; -alias c_gst_byte_reader_masked_scan_uint32 gst_byte_reader_masked_scan_uint32; -alias c_gst_byte_reader_masked_scan_uint32_peek gst_byte_reader_masked_scan_uint32_peek; -alias c_gst_byte_reader_peek_data gst_byte_reader_peek_data; -alias c_gst_byte_reader_peek_float32_be gst_byte_reader_peek_float32_be; -alias c_gst_byte_reader_peek_float32_le gst_byte_reader_peek_float32_le; -alias c_gst_byte_reader_peek_float64_be gst_byte_reader_peek_float64_be; -alias c_gst_byte_reader_peek_float64_le gst_byte_reader_peek_float64_le; -alias c_gst_byte_reader_peek_int16_be gst_byte_reader_peek_int16_be; -alias c_gst_byte_reader_peek_int16_le gst_byte_reader_peek_int16_le; -alias c_gst_byte_reader_peek_int24_be gst_byte_reader_peek_int24_be; -alias c_gst_byte_reader_peek_int24_le gst_byte_reader_peek_int24_le; -alias c_gst_byte_reader_peek_int32_be gst_byte_reader_peek_int32_be; -alias c_gst_byte_reader_peek_int32_le gst_byte_reader_peek_int32_le; -alias c_gst_byte_reader_peek_int64_be gst_byte_reader_peek_int64_be; -alias c_gst_byte_reader_peek_int64_le gst_byte_reader_peek_int64_le; -alias c_gst_byte_reader_peek_int8 gst_byte_reader_peek_int8; -alias c_gst_byte_reader_peek_string_utf8 gst_byte_reader_peek_string_utf8; -alias c_gst_byte_reader_peek_sub_reader gst_byte_reader_peek_sub_reader; -alias c_gst_byte_reader_peek_uint16_be gst_byte_reader_peek_uint16_be; -alias c_gst_byte_reader_peek_uint16_le gst_byte_reader_peek_uint16_le; -alias c_gst_byte_reader_peek_uint24_be gst_byte_reader_peek_uint24_be; -alias c_gst_byte_reader_peek_uint24_le gst_byte_reader_peek_uint24_le; -alias c_gst_byte_reader_peek_uint32_be gst_byte_reader_peek_uint32_be; -alias c_gst_byte_reader_peek_uint32_le gst_byte_reader_peek_uint32_le; -alias c_gst_byte_reader_peek_uint64_be gst_byte_reader_peek_uint64_be; -alias c_gst_byte_reader_peek_uint64_le gst_byte_reader_peek_uint64_le; -alias c_gst_byte_reader_peek_uint8 gst_byte_reader_peek_uint8; -alias c_gst_byte_reader_set_pos gst_byte_reader_set_pos; -alias c_gst_byte_reader_skip gst_byte_reader_skip; -alias c_gst_byte_reader_skip_string_utf16 gst_byte_reader_skip_string_utf16; -alias c_gst_byte_reader_skip_string_utf32 gst_byte_reader_skip_string_utf32; -alias c_gst_byte_reader_skip_string_utf8 gst_byte_reader_skip_string_utf8; -alias c_gst_byte_reader_new gst_byte_reader_new; - -// gst.base.ByteWriter - -alias c_gst_byte_writer_ensure_free_space gst_byte_writer_ensure_free_space; -alias c_gst_byte_writer_fill gst_byte_writer_fill; -alias c_gst_byte_writer_free gst_byte_writer_free; -alias c_gst_byte_writer_free_and_get_buffer gst_byte_writer_free_and_get_buffer; -alias c_gst_byte_writer_free_and_get_data gst_byte_writer_free_and_get_data; -alias c_gst_byte_writer_get_remaining gst_byte_writer_get_remaining; -alias c_gst_byte_writer_init gst_byte_writer_init; -alias c_gst_byte_writer_init_with_data gst_byte_writer_init_with_data; -alias c_gst_byte_writer_init_with_size gst_byte_writer_init_with_size; -alias c_gst_byte_writer_put_buffer gst_byte_writer_put_buffer; -alias c_gst_byte_writer_put_data gst_byte_writer_put_data; -alias c_gst_byte_writer_put_float32_be gst_byte_writer_put_float32_be; -alias c_gst_byte_writer_put_float32_le gst_byte_writer_put_float32_le; -alias c_gst_byte_writer_put_float64_be gst_byte_writer_put_float64_be; -alias c_gst_byte_writer_put_float64_le gst_byte_writer_put_float64_le; -alias c_gst_byte_writer_put_int16_be gst_byte_writer_put_int16_be; -alias c_gst_byte_writer_put_int16_le gst_byte_writer_put_int16_le; -alias c_gst_byte_writer_put_int24_be gst_byte_writer_put_int24_be; -alias c_gst_byte_writer_put_int24_le gst_byte_writer_put_int24_le; -alias c_gst_byte_writer_put_int32_be gst_byte_writer_put_int32_be; -alias c_gst_byte_writer_put_int32_le gst_byte_writer_put_int32_le; -alias c_gst_byte_writer_put_int64_be gst_byte_writer_put_int64_be; -alias c_gst_byte_writer_put_int64_le gst_byte_writer_put_int64_le; -alias c_gst_byte_writer_put_int8 gst_byte_writer_put_int8; -alias c_gst_byte_writer_put_string_utf16 gst_byte_writer_put_string_utf16; -alias c_gst_byte_writer_put_string_utf32 gst_byte_writer_put_string_utf32; -alias c_gst_byte_writer_put_string_utf8 gst_byte_writer_put_string_utf8; -alias c_gst_byte_writer_put_uint16_be gst_byte_writer_put_uint16_be; -alias c_gst_byte_writer_put_uint16_le gst_byte_writer_put_uint16_le; -alias c_gst_byte_writer_put_uint24_be gst_byte_writer_put_uint24_be; -alias c_gst_byte_writer_put_uint24_le gst_byte_writer_put_uint24_le; -alias c_gst_byte_writer_put_uint32_be gst_byte_writer_put_uint32_be; -alias c_gst_byte_writer_put_uint32_le gst_byte_writer_put_uint32_le; -alias c_gst_byte_writer_put_uint64_be gst_byte_writer_put_uint64_be; -alias c_gst_byte_writer_put_uint64_le gst_byte_writer_put_uint64_le; -alias c_gst_byte_writer_put_uint8 gst_byte_writer_put_uint8; -alias c_gst_byte_writer_reset gst_byte_writer_reset; -alias c_gst_byte_writer_reset_and_get_buffer gst_byte_writer_reset_and_get_buffer; -alias c_gst_byte_writer_reset_and_get_data gst_byte_writer_reset_and_get_data; -alias c_gst_byte_writer_new gst_byte_writer_new; -alias c_gst_byte_writer_new_with_data gst_byte_writer_new_with_data; -alias c_gst_byte_writer_new_with_size gst_byte_writer_new_with_size; - -// gst.base.CollectPads - -alias c_gst_collect_pads_get_type gst_collect_pads_get_type; -alias c_gst_collect_pads_new gst_collect_pads_new; -alias c_gst_collect_pads_add_pad gst_collect_pads_add_pad; -alias c_gst_collect_pads_available gst_collect_pads_available; -alias c_gst_collect_pads_clip_running_time gst_collect_pads_clip_running_time; -alias c_gst_collect_pads_event_default gst_collect_pads_event_default; -alias c_gst_collect_pads_flush gst_collect_pads_flush; -alias c_gst_collect_pads_peek gst_collect_pads_peek; -alias c_gst_collect_pads_pop gst_collect_pads_pop; -alias c_gst_collect_pads_query_default gst_collect_pads_query_default; -alias c_gst_collect_pads_read_buffer gst_collect_pads_read_buffer; -alias c_gst_collect_pads_remove_pad gst_collect_pads_remove_pad; -alias c_gst_collect_pads_set_buffer_function gst_collect_pads_set_buffer_function; -alias c_gst_collect_pads_set_clip_function gst_collect_pads_set_clip_function; -alias c_gst_collect_pads_set_compare_function gst_collect_pads_set_compare_function; -alias c_gst_collect_pads_set_event_function gst_collect_pads_set_event_function; -alias c_gst_collect_pads_set_flush_function gst_collect_pads_set_flush_function; -alias c_gst_collect_pads_set_flushing gst_collect_pads_set_flushing; -alias c_gst_collect_pads_set_function gst_collect_pads_set_function; -alias c_gst_collect_pads_set_query_function gst_collect_pads_set_query_function; -alias c_gst_collect_pads_set_waiting gst_collect_pads_set_waiting; -alias c_gst_collect_pads_src_event_default gst_collect_pads_src_event_default; -alias c_gst_collect_pads_start gst_collect_pads_start; -alias c_gst_collect_pads_stop gst_collect_pads_stop; -alias c_gst_collect_pads_take_buffer gst_collect_pads_take_buffer; - -// gst.base.DataQueue - -alias c_gst_data_queue_get_type gst_data_queue_get_type; -alias c_gst_data_queue_new gst_data_queue_new; -alias c_gst_data_queue_drop_head gst_data_queue_drop_head; -alias c_gst_data_queue_flush gst_data_queue_flush; -alias c_gst_data_queue_get_level gst_data_queue_get_level; -alias c_gst_data_queue_is_empty gst_data_queue_is_empty; -alias c_gst_data_queue_is_full gst_data_queue_is_full; -alias c_gst_data_queue_limits_changed gst_data_queue_limits_changed; -alias c_gst_data_queue_peek gst_data_queue_peek; -alias c_gst_data_queue_pop gst_data_queue_pop; -alias c_gst_data_queue_push gst_data_queue_push; -alias c_gst_data_queue_push_force gst_data_queue_push_force; -alias c_gst_data_queue_set_flushing gst_data_queue_set_flushing; - -// gst.base.FlowCombiner - -alias c_gst_flow_combiner_get_type gst_flow_combiner_get_type; -alias c_gst_flow_combiner_new gst_flow_combiner_new; -alias c_gst_flow_combiner_add_pad gst_flow_combiner_add_pad; -alias c_gst_flow_combiner_clear gst_flow_combiner_clear; -alias c_gst_flow_combiner_free gst_flow_combiner_free; -alias c_gst_flow_combiner_ref gst_flow_combiner_ref; -alias c_gst_flow_combiner_remove_pad gst_flow_combiner_remove_pad; -alias c_gst_flow_combiner_reset gst_flow_combiner_reset; -alias c_gst_flow_combiner_unref gst_flow_combiner_unref; -alias c_gst_flow_combiner_update_flow gst_flow_combiner_update_flow; -alias c_gst_flow_combiner_update_pad_flow gst_flow_combiner_update_pad_flow; - -// gst.base.PushSrc - -alias c_gst_push_src_get_type gst_push_src_get_type; - -// gst.base.QueueArray - -alias c_gst_queue_array_clear gst_queue_array_clear; -alias c_gst_queue_array_drop_element gst_queue_array_drop_element; -alias c_gst_queue_array_drop_struct gst_queue_array_drop_struct; -alias c_gst_queue_array_find gst_queue_array_find; -alias c_gst_queue_array_free gst_queue_array_free; -alias c_gst_queue_array_get_length gst_queue_array_get_length; -alias c_gst_queue_array_is_empty gst_queue_array_is_empty; -alias c_gst_queue_array_peek_head gst_queue_array_peek_head; -alias c_gst_queue_array_peek_head_struct gst_queue_array_peek_head_struct; -alias c_gst_queue_array_peek_nth gst_queue_array_peek_nth; -alias c_gst_queue_array_peek_nth_struct gst_queue_array_peek_nth_struct; -alias c_gst_queue_array_peek_tail gst_queue_array_peek_tail; -alias c_gst_queue_array_peek_tail_struct gst_queue_array_peek_tail_struct; -alias c_gst_queue_array_pop_head gst_queue_array_pop_head; -alias c_gst_queue_array_pop_head_struct gst_queue_array_pop_head_struct; -alias c_gst_queue_array_pop_tail gst_queue_array_pop_tail; -alias c_gst_queue_array_pop_tail_struct gst_queue_array_pop_tail_struct; -alias c_gst_queue_array_push_tail gst_queue_array_push_tail; -alias c_gst_queue_array_push_tail_struct gst_queue_array_push_tail_struct; -alias c_gst_queue_array_set_clear_func gst_queue_array_set_clear_func; -alias c_gst_queue_array_new gst_queue_array_new; -alias c_gst_queue_array_new_for_struct gst_queue_array_new_for_struct; - -// gst.base.Base - -alias c_gst_type_find_helper gst_type_find_helper; -alias c_gst_type_find_helper_for_buffer gst_type_find_helper_for_buffer; -alias c_gst_type_find_helper_for_data gst_type_find_helper_for_data; -alias c_gst_type_find_helper_for_extension gst_type_find_helper_for_extension; -alias c_gst_type_find_helper_get_range gst_type_find_helper_get_range; -alias c_gst_type_find_helper_for_buffer_with_extension gst_type_find_helper_for_buffer_with_extension; -alias c_gst_type_find_helper_for_data_with_extension gst_type_find_helper_for_data_with_extension; -alias c_gst_type_find_helper_get_range_full gst_type_find_helper_get_range_full; diff --git a/generated/gstreamer/gst/base/c/types.d b/generated/gstreamer/gst/base/c/types.d deleted file mode 100644 index ab91a194f..000000000 --- a/generated/gstreamer/gst/base/c/types.d +++ /dev/null @@ -1,1016 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.base.c.types; - -public import glib.c.types; -public import gobject.c.types; -public import gstreamer.c.types; - - -public enum GstAggregatorStartTimeSelection -{ - /** - * Start at running time 0. - */ - ZERO = 0, - /** - * Start at the running time of - * the first buffer that is received. - */ - FIRST = 1, - /** - * Start at the running time - * selected by the `start-time` property. - */ - SET = 2, -} -alias GstAggregatorStartTimeSelection AggregatorStartTimeSelection; - -/** - * Flags to be used in a #GstBaseParseFrame. - */ -public enum GstBaseParseFrameFlags -{ - /** - * no flag - */ - NONE = 0, - /** - * set by baseclass if current frame - * is passed for processing to the subclass for the first time - * (and not set on subsequent calls with same data). - */ - NEW_FRAME = 1, - /** - * set to indicate this buffer should not be - * counted as frame, e.g. if this frame is dependent on a previous one. - * As it is not counted as a frame, bitrate increases but frame to time - * conversions are maintained. - */ - NO_FRAME = 2, - /** - * @pre_push_frame can set this to indicate - * that regular segment clipping can still be performed (as opposed to - * any custom one having been done). - */ - CLIP = 4, - /** - * indicates to @finish_frame that the - * the frame should be dropped (and might be handled internally by subclass) - */ - DROP = 8, - /** - * indicates to @finish_frame that the - * the frame should be queued for now and processed fully later - * when the first non-queued frame is finished - */ - QUEUE = 16, -} -alias GstBaseParseFrameFlags BaseParseFrameFlags; - -/** - * The #GstElement flags that a basesrc element may have. - */ -public enum GstBaseSrcFlags -{ - /** - * has source is starting - */ - STARTING = 16384, - /** - * has source been started - */ - STARTED = 32768, - /** - * offset to define more flags - */ - LAST = 1048576, -} -alias GstBaseSrcFlags BaseSrcFlags; - -public enum GstCollectPadsStateFlags -{ - /** - * Set if collectdata's pad is EOS. - */ - EOS = 1, - /** - * Set if collectdata's pad is flushing. - */ - FLUSHING = 2, - /** - * Set if collectdata's pad received a - * new_segment event. - */ - NEW_SEGMENT = 4, - /** - * Set if collectdata's pad must be waited - * for when collecting. - */ - WAITING = 8, - /** - * Set collectdata's pad WAITING state must - * not be changed. - * #GstCollectPadsStateFlags indicate private state of a collectdata('s pad). - */ - LOCKED = 16, -} -alias GstCollectPadsStateFlags CollectPadsStateFlags; - -struct GstAdapter; - -struct GstAdapterClass; - -struct GstAggregator -{ - GstElement parent; - /** - * the aggregator's source pad - */ - GstPad* srcpad; - GstAggregatorPrivate* priv; - void*[20] GstReserved; -} - -/** - * The aggregator base class will handle in a thread-safe way all manners of - * concurrent flushes, seeks, pad additions and removals, leaving to the - * subclass the responsibility of clipping buffers, and aggregating buffers in - * the way the implementor sees fit. - * - * It will also take care of event ordering (stream-start, segment, eos). - * - * Basically, a simple implementation will override @aggregate, and call - * _finish_buffer from inside that function. - * - * Since: 1.14 - */ -struct GstAggregatorClass -{ - GstElementClass parentClass; - /** */ - extern(C) GstFlowReturn function(GstAggregator* aggregator) flush; - /** */ - extern(C) GstBuffer* function(GstAggregator* aggregator, GstAggregatorPad* aggregatorPad, GstBuffer* buf) clip; - /** */ - extern(C) GstFlowReturn function(GstAggregator* aggregator, GstBuffer* buffer) finishBuffer; - /** */ - extern(C) int function(GstAggregator* aggregator, GstAggregatorPad* aggregatorPad, GstEvent* event) sinkEvent; - /** */ - extern(C) int function(GstAggregator* aggregator, GstAggregatorPad* aggregatorPad, GstQuery* query) sinkQuery; - /** */ - extern(C) int function(GstAggregator* aggregator, GstEvent* event) srcEvent; - /** */ - extern(C) int function(GstAggregator* aggregator, GstQuery* query) srcQuery; - /** */ - extern(C) int function(GstAggregator* aggregator, GstPadMode mode, int active) srcActivate; - /** */ - extern(C) GstFlowReturn function(GstAggregator* aggregator, int timeout) aggregate; - /** */ - extern(C) int function(GstAggregator* aggregator) stop; - /** */ - extern(C) int function(GstAggregator* aggregator) start; - /** */ - extern(C) GstClockTime function(GstAggregator* aggregator) getNextTime; - /** */ - extern(C) GstAggregatorPad* function(GstAggregator* self, GstPadTemplate* templ, const(char)* reqName, GstCaps* caps) createNewPad; - /** */ - extern(C) GstFlowReturn function(GstAggregator* self, GstCaps* caps, GstCaps** ret) updateSrcCaps; - /** */ - extern(C) GstCaps* function(GstAggregator* self, GstCaps* caps) fixateSrcCaps; - /** */ - extern(C) int function(GstAggregator* self, GstCaps* caps) negotiatedSrcCaps; - /** */ - extern(C) int function(GstAggregator* self, GstQuery* query) decideAllocation; - /** */ - extern(C) int function(GstAggregator* self, GstAggregatorPad* pad, GstQuery* decideQuery, GstQuery* query) proposeAllocation; - /** - * - * Params: - * self = a #GstAggregator - * Returns: %TRUE if the negotiation succeeded, else %FALSE. - */ - extern(C) int function(GstAggregator* self) negotiate; - /** */ - extern(C) GstFlowReturn function(GstAggregator* aggregator, GstAggregatorPad* aggregatorPad, GstEvent* event) sinkEventPreQueue; - /** */ - extern(C) int function(GstAggregator* aggregator, GstAggregatorPad* aggregatorPad, GstQuery* query) sinkQueryPreQueue; - /** */ - extern(C) GstFlowReturn function(GstAggregator* aggregator, GstBufferList* bufferlist) finishBufferList; - /** - * Returns: The sample that is about to be aggregated. It may hold a #GstBuffer - * or a #GstBufferList. The contents of its info structure is subclass-dependent, - * and documented on a subclass basis. The buffers held by the sample are - * not writable. - */ - extern(C) GstSample* function(GstAggregator* aggregator, GstAggregatorPad* aggregatorPad) peekNextSample; - void*[15] GstReserved; -} - -struct GstAggregatorPad -{ - GstPad parent; - /** - * last segment received. - */ - GstSegment segment; - GstAggregatorPadPrivate* priv; - void*[4] GstReserved; -} - -struct GstAggregatorPadClass -{ - GstPadClass parentClass; - /** */ - extern(C) GstFlowReturn function(GstAggregatorPad* aggpad, GstAggregator* aggregator) flush; - /** */ - extern(C) int function(GstAggregatorPad* aggpad, GstAggregator* aggregator, GstBuffer* buffer) skipBuffer; - void*[20] GstReserved; -} - -struct GstAggregatorPadPrivate; - -struct GstAggregatorPrivate; - -struct GstBaseParse -{ - /** - * the parent element. - */ - GstElement element; - GstPad* sinkpad; - GstPad* srcpad; - uint flags; - GstSegment segment; - void*[20] GstReserved; - GstBaseParsePrivate* priv; -} - -/** - * Subclasses can override any of the available virtual methods or not, as - * needed. At minimum @handle_frame needs to be overridden. - */ -struct GstBaseParseClass -{ - /** - * the parent class - */ - GstElementClass parentClass; - /** */ - extern(C) int function(GstBaseParse* parse) start; - /** */ - extern(C) int function(GstBaseParse* parse) stop; - /** */ - extern(C) int function(GstBaseParse* parse, GstCaps* caps) setSinkCaps; - /** */ - extern(C) GstFlowReturn function(GstBaseParse* parse, GstBaseParseFrame* frame, int* skipsize) handleFrame; - /** */ - extern(C) GstFlowReturn function(GstBaseParse* parse, GstBaseParseFrame* frame) prePushFrame; - /** */ - extern(C) int function(GstBaseParse* parse, GstFormat srcFormat, long srcValue, GstFormat destFormat, long* destValue) convert; - /** */ - extern(C) int function(GstBaseParse* parse, GstEvent* event) sinkEvent; - /** */ - extern(C) int function(GstBaseParse* parse, GstEvent* event) srcEvent; - /** */ - extern(C) GstCaps* function(GstBaseParse* parse, GstCaps* filter) getSinkCaps; - /** */ - extern(C) GstFlowReturn function(GstBaseParse* parse, GstBuffer* buffer) detect; - /** */ - extern(C) int function(GstBaseParse* parse, GstQuery* query) sinkQuery; - /** */ - extern(C) int function(GstBaseParse* parse, GstQuery* query) srcQuery; - void*[18] GstReserved; -} - -struct GstBaseParseFrame -{ - /** - * input data to be parsed for frames. - */ - GstBuffer* buffer; - /** - * output data. - */ - GstBuffer* outBuffer; - /** - * a combination of input and output #GstBaseParseFrameFlags that - * convey additional context to subclass or allow subclass to tune - * subsequent #GstBaseParse actions. - */ - uint flags; - /** - * media specific offset of input frame - * Note that a converter may have a different one on the frame's buffer. - */ - ulong offset; - /** - * subclass can set this to indicates the metadata overhead - * for the given frame, which is then used to enable more accurate bitrate - * computations. If this is -1, it is assumed that this frame should be - * skipped in bitrate calculation. - */ - int overhead; - int size; - uint[2] GstReservedI; - void*[2] GstReservedP; - uint PrivateFlags; -} - -struct GstBaseParsePrivate; - -struct GstBaseSink -{ - GstElement element; - GstPad* sinkpad; - GstPadMode padMode; - ulong offset; - bool canActivatePull; - bool canActivatePush; - GMutex prerollLock; - GCond prerollCond; - bool eos; - bool needPreroll; - bool havePreroll; - bool playingAsync; - bool haveNewsegment; - GstSegment segment; - GstClockID clockId; - bool sync; - bool flushing; - bool running; - long maxLateness; - GstBaseSinkPrivate* priv; - void*[20] GstReserved; -} - -/** - * Subclasses can override any of the available virtual methods or not, as - * needed. At the minimum, the @render method should be overridden to - * output/present buffers. - */ -struct GstBaseSinkClass -{ - /** - * Element parent class - */ - GstElementClass parentClass; - /** */ - extern(C) GstCaps* function(GstBaseSink* sink, GstCaps* filter) getCaps; - /** */ - extern(C) int function(GstBaseSink* sink, GstCaps* caps) setCaps; - /** */ - extern(C) GstCaps* function(GstBaseSink* sink, GstCaps* caps) fixate; - /** */ - extern(C) int function(GstBaseSink* sink, int active) activatePull; - /** */ - extern(C) void function(GstBaseSink* sink, GstBuffer* buffer, GstClockTime* start, GstClockTime* end) getTimes; - /** */ - extern(C) int function(GstBaseSink* sink, GstQuery* query) proposeAllocation; - /** */ - extern(C) int function(GstBaseSink* sink) start; - /** */ - extern(C) int function(GstBaseSink* sink) stop; - /** */ - extern(C) int function(GstBaseSink* sink) unlock; - /** */ - extern(C) int function(GstBaseSink* sink) unlockStop; - /** */ - extern(C) int function(GstBaseSink* sink, GstQuery* query) query; - /** */ - extern(C) int function(GstBaseSink* sink, GstEvent* event) event; - /** */ - extern(C) GstFlowReturn function(GstBaseSink* sink, GstEvent* event) waitEvent; - /** */ - extern(C) GstFlowReturn function(GstBaseSink* sink, GstBuffer* buffer) prepare; - /** */ - extern(C) GstFlowReturn function(GstBaseSink* sink, GstBufferList* bufferList) prepareList; - /** */ - extern(C) GstFlowReturn function(GstBaseSink* sink, GstBuffer* buffer) preroll; - /** */ - extern(C) GstFlowReturn function(GstBaseSink* sink, GstBuffer* buffer) render; - /** */ - extern(C) GstFlowReturn function(GstBaseSink* sink, GstBufferList* bufferList) renderList; - void*[20] GstReserved; -} - -struct GstBaseSinkPrivate; - -struct GstBaseSrc -{ - GstElement element; - GstPad* srcpad; - GMutex liveLock; - GCond liveCond; - bool isLive; - bool liveRunning; - uint blocksize; - bool canActivatePush; - bool randomAccess; - GstClockID clockId; - GstSegment segment; - bool needNewsegment; - int numBuffers; - int numBuffersLeft; - bool typefind; - bool running; - GstEvent* pendingSeek; - GstBaseSrcPrivate* priv; - void*[20] GstReserved; -} - -/** - * Subclasses can override any of the available virtual methods or not, as - * needed. At the minimum, the @create method should be overridden to produce - * buffers. - */ -struct GstBaseSrcClass -{ - /** - * Element parent class - */ - GstElementClass parentClass; - /** */ - extern(C) GstCaps* function(GstBaseSrc* src, GstCaps* filter) getCaps; - /** - * - * Params: - * src = base source instance - * Returns: %TRUE if the negotiation succeeded, else %FALSE. - */ - extern(C) int function(GstBaseSrc* src) negotiate; - /** */ - extern(C) GstCaps* function(GstBaseSrc* src, GstCaps* caps) fixate; - /** - * - * Params: - * src = a #GstBaseSrc - * caps = a #GstCaps - * Returns: %TRUE if the caps could be set - */ - extern(C) int function(GstBaseSrc* src, GstCaps* caps) setCaps; - /** */ - extern(C) int function(GstBaseSrc* src, GstQuery* query) decideAllocation; - /** */ - extern(C) int function(GstBaseSrc* src) start; - /** */ - extern(C) int function(GstBaseSrc* src) stop; - /** */ - extern(C) void function(GstBaseSrc* src, GstBuffer* buffer, GstClockTime* start, GstClockTime* end) getTimes; - /** */ - extern(C) int function(GstBaseSrc* src, ulong* size) getSize; - /** */ - extern(C) int function(GstBaseSrc* src) isSeekable; - /** */ - extern(C) int function(GstBaseSrc* src, GstEvent* seek, GstSegment* segment) prepareSeekSegment; - /** */ - extern(C) int function(GstBaseSrc* src, GstSegment* segment) doSeek; - /** */ - extern(C) int function(GstBaseSrc* src) unlock; - /** */ - extern(C) int function(GstBaseSrc* src) unlockStop; - /** */ - extern(C) int function(GstBaseSrc* src, GstQuery* query) query; - /** */ - extern(C) int function(GstBaseSrc* src, GstEvent* event) event; - /** */ - extern(C) GstFlowReturn function(GstBaseSrc* src, ulong offset, uint size, GstBuffer** buf) create; - /** */ - extern(C) GstFlowReturn function(GstBaseSrc* src, ulong offset, uint size, GstBuffer** buf) alloc; - /** */ - extern(C) GstFlowReturn function(GstBaseSrc* src, ulong offset, uint size, GstBuffer* buf) fill; - void*[20] GstReserved; -} - -struct GstBaseSrcPrivate; - -struct GstBaseTransform -{ - GstElement element; - GstPad* sinkpad; - GstPad* srcpad; - bool haveSegment; - GstSegment segment; - GstBuffer* queuedBuf; - GstBaseTransformPrivate* priv; - void*[19] GstReserved; -} - -/** - * Subclasses can override any of the available virtual methods or not, as - * needed. At minimum either @transform or @transform_ip need to be overridden. - * If the element can overwrite the input data with the results (data is of the - * same type and quantity) it should provide @transform_ip. - */ -struct GstBaseTransformClass -{ - /** - * Element parent class - */ - GstElementClass parentClass; - /** - * If set to %TRUE, passthrough mode will be - * automatically enabled if the caps are the same. - * Set to %FALSE by default. - */ - bool passthroughOnSameCaps; - /** - * If set to %TRUE, @transform_ip will be called in - * passthrough mode. The passed buffer might not be - * writable. When %FALSE, neither @transform nor - * @transform_ip will be called in passthrough mode. - * Set to %TRUE by default. - */ - bool transformIpOnPassthrough; - /** */ - extern(C) GstCaps* function(GstBaseTransform* trans, GstPadDirection direction, GstCaps* caps, GstCaps* filter) transformCaps; - /** */ - extern(C) GstCaps* function(GstBaseTransform* trans, GstPadDirection direction, GstCaps* caps, GstCaps* othercaps) fixateCaps; - /** */ - extern(C) int function(GstBaseTransform* trans, GstPadDirection direction, GstCaps* caps) acceptCaps; - /** */ - extern(C) int function(GstBaseTransform* trans, GstCaps* incaps, GstCaps* outcaps) setCaps; - /** */ - extern(C) int function(GstBaseTransform* trans, GstPadDirection direction, GstQuery* query) query; - /** */ - extern(C) int function(GstBaseTransform* trans, GstQuery* query) decideAllocation; - /** */ - extern(C) int function(GstBaseTransform* trans, GstQuery* query, GType api, GstStructure* params) filterMeta; - /** */ - extern(C) int function(GstBaseTransform* trans, GstQuery* decideQuery, GstQuery* query) proposeAllocation; - /** */ - extern(C) int function(GstBaseTransform* trans, GstPadDirection direction, GstCaps* caps, size_t size, GstCaps* othercaps, size_t* othersize) transformSize; - /** */ - extern(C) int function(GstBaseTransform* trans, GstCaps* caps, size_t* size) getUnitSize; - /** */ - extern(C) int function(GstBaseTransform* trans) start; - /** */ - extern(C) int function(GstBaseTransform* trans) stop; - /** */ - extern(C) int function(GstBaseTransform* trans, GstEvent* event) sinkEvent; - /** */ - extern(C) int function(GstBaseTransform* trans, GstEvent* event) srcEvent; - /** */ - extern(C) GstFlowReturn function(GstBaseTransform* trans, GstBuffer* input, GstBuffer** outbuf) prepareOutputBuffer; - /** */ - extern(C) int function(GstBaseTransform* trans, GstBuffer* input, GstBuffer* outbuf) copyMetadata; - /** */ - extern(C) int function(GstBaseTransform* trans, GstBuffer* outbuf, GstMeta* meta, GstBuffer* inbuf) transformMeta; - /** */ - extern(C) void function(GstBaseTransform* trans, GstBuffer* buffer) beforeTransform; - /** */ - extern(C) GstFlowReturn function(GstBaseTransform* trans, GstBuffer* inbuf, GstBuffer* outbuf) transform; - /** */ - extern(C) GstFlowReturn function(GstBaseTransform* trans, GstBuffer* buf) transformIp; - /** */ - extern(C) GstFlowReturn function(GstBaseTransform* trans, int isDiscont, GstBuffer* input) submitInputBuffer; - /** */ - extern(C) GstFlowReturn function(GstBaseTransform* trans, GstBuffer** outbuf) generateOutput; - void*[18] GstReserved; -} - -struct GstBaseTransformPrivate; - -struct GstBitReader -{ - /** - * Data from which the bit reader will - * read - */ - ubyte* data; - /** - * Size of @data in bytes - */ - uint size; - /** - * Current byte position - */ - uint byte_; - /** - * Bit position in the current byte - */ - uint bit; - void*[4] GstReserved; -} - -struct GstBitWriter -{ - /** - * Allocated @data for bit writer to write - */ - ubyte* data; - /** - * Size of written @data in bits - */ - uint bitSize; - uint bitCapacity; - bool autoGrow; - bool owned; - void*[4] GstReserved; -} - -struct GstByteReader -{ - /** - * Data from which the bit reader will - * read - */ - ubyte* data; - /** - * Size of @data in bytes - */ - uint size; - /** - * Current byte position - */ - uint byte_; - void*[4] GstReserved; -} - -struct GstByteWriter -{ - /** - * #GstByteReader parent - */ - GstByteReader parent; - /** - * Allocation size of the data - */ - uint allocSize; - /** - * If %TRUE no reallocations are allowed - */ - bool fixed; - /** - * If %FALSE no reallocations are allowed and copies of data are returned - */ - bool owned; - void*[4] GstReserved; -} - -/** - * Structure used by the collect_pads. - */ -struct GstCollectData -{ - /** - * owner #GstCollectPads - */ - GstCollectPads* collect; - /** - * #GstPad managed by this data - */ - GstPad* pad; - /** - * currently queued buffer. - */ - GstBuffer* buffer; - /** - * position in the buffer - */ - uint pos; - /** - * last segment received. - */ - GstSegment segment; - GstCollectPadsStateFlags state; - GstCollectDataPrivate* priv; - union ABI - { - struct Abi - { - long dts; - } - Abi abi; - void*[4] GstReserved; - } - ABI abi; -} - -struct GstCollectDataPrivate; - -struct GstCollectPads -{ - GstObject object; - /** - * #GList of #GstCollectData managed - * by this #GstCollectPads. - */ - GSList* data; - GRecMutex streamLock; - GstCollectPadsPrivate* priv; - void*[4] GstReserved; -} - -struct GstCollectPadsClass -{ - GstObjectClass parentClass; - void*[4] GstReserved; -} - -struct GstCollectPadsPrivate; - -struct GstDataQueue -{ - /** - * the parent structure - */ - GObject object; - GstDataQueuePrivate* priv; - void*[4] GstReserved; -} - -struct GstDataQueueClass -{ - GObjectClass parentClass; - /** */ - extern(C) void function(GstDataQueue* queue) empty; - /** */ - extern(C) void function(GstDataQueue* queue) full; - void*[4] GstReserved; -} - -/** - * Structure used by #GstDataQueue. You can supply a different structure, as - * long as the top of the structure is identical to this structure. - */ -struct GstDataQueueItem -{ - /** - * the #GstMiniObject to queue. - */ - GstMiniObject* object; - /** - * the size in bytes of the miniobject. - */ - uint size; - /** - * the duration in #GstClockTime of the miniobject. Can not be - * %GST_CLOCK_TIME_NONE. - */ - ulong duration; - /** - * %TRUE if @object should be considered as a visible object. - */ - bool visible; - /** - * The #GDestroyNotify function to use to free the #GstDataQueueItem. - * This function should also drop the reference to @object the owner of the - * #GstDataQueueItem is assumed to hold. - */ - GDestroyNotify destroy; - void*[4] GstReserved; -} - -struct GstDataQueuePrivate; - -/** - * Structure describing the size of a queue. - */ -struct GstDataQueueSize -{ - /** - * number of buffers - */ - uint visible; - /** - * number of bytes - */ - uint bytes; - /** - * amount of time - */ - ulong time; -} - -struct GstFlowCombiner; - -struct GstPushSrc -{ - GstBaseSrc parent; - void*[4] GstReserved; -} - -/** - * Subclasses can override any of the available virtual methods or not, as - * needed. At the minimum, the @fill method should be overridden to produce - * buffers. - */ -struct GstPushSrcClass -{ - /** - * Element parent class - */ - GstBaseSrcClass parentClass; - /** */ - extern(C) GstFlowReturn function(GstPushSrc* src, GstBuffer** buf) create; - /** */ - extern(C) GstFlowReturn function(GstPushSrc* src, GstBuffer** buf) alloc; - /** */ - extern(C) GstFlowReturn function(GstPushSrc* src, GstBuffer* buf) fill; - void*[4] GstReserved; -} - -struct GstQueueArray; - -/** - * A function that will be called when the #GstCollectData will be freed. - * It is passed the pointer to the structure and should free any custom - * memory and resources allocated for it. - * - * Params: - * data = the #GstCollectData that will be freed - */ -public alias extern(C) void function(GstCollectData* data) GstCollectDataDestroyNotify; - -/** - * A function that will be called when a (considered oldest) buffer can be muxed. - * If all pads have reached EOS, this function is called with %NULL @buffer - * and %NULL @data. - * - * Params: - * pads = the #GstCollectPads that triggered the callback - * data = the #GstCollectData of pad that has received the buffer - * buffer = the #GstBuffer - * userData = user data passed to gst_collect_pads_set_buffer_function() - * - * Returns: %GST_FLOW_OK for success - */ -public alias extern(C) GstFlowReturn function(GstCollectPads* pads, GstCollectData* data, GstBuffer* buffer, void* userData) GstCollectPadsBufferFunction; - -/** - * A function that will be called when @inbuffer is received on the pad managed - * by @data in the collectpad object @pads. - * - * The function should use the segment of @data and the negotiated media type on - * the pad to perform clipping of @inbuffer. - * - * This function takes ownership of @inbuffer and should output a buffer in - * @outbuffer or return %NULL in @outbuffer if the buffer should be dropped. - * - * Params: - * pads = a #GstCollectPads - * data = a #GstCollectData - * inbuffer = the input #GstBuffer - * outbuffer = the output #GstBuffer - * userData = user data - * - * Returns: a #GstFlowReturn that corresponds to the result of clipping. - */ -public alias extern(C) GstFlowReturn function(GstCollectPads* pads, GstCollectData* data, GstBuffer* inbuffer, GstBuffer** outbuffer, void* userData) GstCollectPadsClipFunction; - -/** - * A function for comparing two timestamps of buffers or newsegments collected on one pad. - * - * Params: - * pads = the #GstCollectPads that is comparing the timestamps - * data1 = the first #GstCollectData - * timestamp1 = the first timestamp - * data2 = the second #GstCollectData - * timestamp2 = the second timestamp - * userData = user data passed to gst_collect_pads_set_compare_function() - * - * Returns: Integer less than zero when first timestamp is deemed older than the second one. - * Zero if the timestamps are deemed equally old. - * Integer greater than zero when second timestamp is deemed older than the first one. - */ -public alias extern(C) int function(GstCollectPads* pads, GstCollectData* data1, GstClockTime timestamp1, GstCollectData* data2, GstClockTime timestamp2, void* userData) GstCollectPadsCompareFunction; - -/** - * A function that will be called while processing an event. It takes - * ownership of the event and is responsible for chaining up (to - * gst_collect_pads_event_default()) or dropping events (such typical cases - * being handled by the default handler). - * - * Params: - * pads = the #GstCollectPads that triggered the callback - * pad = the #GstPad that received an event - * event = the #GstEvent received - * userData = user data passed to gst_collect_pads_set_event_function() - * - * Returns: %TRUE if the pad could handle the event - */ -public alias extern(C) int function(GstCollectPads* pads, GstCollectData* pad, GstEvent* event, void* userData) GstCollectPadsEventFunction; - -/** - * A function that will be called while processing a flushing seek event. - * - * The function should flush any internal state of the element and the state of - * all the pads. It should clear only the state not directly managed by the - * @pads object. It is therefore not necessary to call - * gst_collect_pads_set_flushing nor gst_collect_pads_clear from this function. - * - * Params: - * pads = a #GstCollectPads - * userData = user data - * - * Since: 1.4 - */ -public alias extern(C) void function(GstCollectPads* pads, void* userData) GstCollectPadsFlushFunction; - -/** - * A function that will be called when all pads have received data. - * - * Params: - * pads = the #GstCollectPads that triggered the callback - * userData = user data passed to gst_collect_pads_set_function() - * - * Returns: %GST_FLOW_OK for success - */ -public alias extern(C) GstFlowReturn function(GstCollectPads* pads, void* userData) GstCollectPadsFunction; - -/** - * A function that will be called while processing a query. It takes - * ownership of the query and is responsible for chaining up (to - * events downstream (with gst_pad_event_default()). - * - * Params: - * pads = the #GstCollectPads that triggered the callback - * pad = the #GstPad that received an event - * query = the #GstEvent received - * userData = user data passed to gst_collect_pads_set_query_function() - * - * Returns: %TRUE if the pad could handle the event - */ -public alias extern(C) int function(GstCollectPads* pads, GstCollectData* pad, GstQuery* query, void* userData) GstCollectPadsQueryFunction; - -/** - * The prototype of the function used to inform the queue that it should be - * considered as full. - * - * Params: - * queue = a #GstDataQueue. - * visible = The number of visible items currently in the queue. - * bytes = The amount of bytes currently in the queue. - * time = The accumulated duration of the items currently in the queue. - * checkdata = The #gpointer registered when the #GstDataQueue was created. - * - * Returns: %TRUE if the queue should be considered full. - */ -public alias extern(C) int function(GstDataQueue* queue, uint visible, uint bytes, ulong time, void* checkdata) GstDataQueueCheckFullFunction; - -/** */ -public alias extern(C) void function(GstDataQueue* queue, void* checkdata) GstDataQueueEmptyCallback; - -/** */ -public alias extern(C) void function(GstDataQueue* queue, void* checkdata) GstDataQueueFullCallback; - -/** - * This function will be called by gst_type_find_helper_get_range() when - * typefinding functions request to peek at the data of a stream at certain - * offsets. If this function returns GST_FLOW_OK, the result buffer will be - * stored in @buffer. The contents of @buffer is invalid for any other - * return value. - * - * This function is supposed to behave exactly like a #GstPadGetRangeFunction. - * - * Params: - * obj = a #GstObject that will handle the getrange request - * parent = the parent of @obj or %NULL - * offset = the offset of the range - * length = the length of the range - * buffer = a memory location to hold the result buffer - * - * Returns: GST_FLOW_OK for success - */ -public alias extern(C) GstFlowReturn function(GstObject* obj, GstObject* parent, ulong offset, uint length, GstBuffer** buffer) GstTypeFindHelperGetRangeFunction; - -enum BASE_PARSE_FLAG_DRAINING = 2; -alias GST_BASE_PARSE_FLAG_DRAINING = BASE_PARSE_FLAG_DRAINING; - -enum BASE_PARSE_FLAG_LOST_SYNC = 1; -alias GST_BASE_PARSE_FLAG_LOST_SYNC = BASE_PARSE_FLAG_LOST_SYNC; - -/** - * The name of the templates for the sink pad. - */ -enum BASE_TRANSFORM_SINK_NAME = "sink"; -alias GST_BASE_TRANSFORM_SINK_NAME = BASE_TRANSFORM_SINK_NAME; - -/** - * The name of the templates for the source pad. - */ -enum BASE_TRANSFORM_SRC_NAME = "src"; -alias GST_BASE_TRANSFORM_SRC_NAME = BASE_TRANSFORM_SRC_NAME; diff --git a/generated/gstreamer/gst/mpegts/AtscEIT.d b/generated/gstreamer/gst/mpegts/AtscEIT.d deleted file mode 100644 index 6203fad93..000000000 --- a/generated/gstreamer/gst/mpegts/AtscEIT.d +++ /dev/null @@ -1,120 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.AtscEIT; - -private import glib.MemorySlice; -private import glib.PtrArray; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Event Information Table (ATSC) - */ -public final class AtscEIT -{ - /** the main Gtk struct */ - protected GstMpegtsAtscEIT* gstMpegtsAtscEIT; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsAtscEIT* getAtscEITStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsAtscEIT; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsAtscEIT; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsAtscEIT* gstMpegtsAtscEIT, bool ownedRef = false) - { - this.gstMpegtsAtscEIT = gstMpegtsAtscEIT; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsAtscEIT); - } - - - /** - * The source id - */ - public @property ushort sourceId() - { - return gstMpegtsAtscEIT.sourceId; - } - - /** Ditto */ - public @property void sourceId(ushort value) - { - gstMpegtsAtscEIT.sourceId = value; - } - - /** - * The protocol version - */ - public @property ubyte protocolVersion() - { - return gstMpegtsAtscEIT.protocolVersion; - } - - /** Ditto */ - public @property void protocolVersion(ubyte value) - { - gstMpegtsAtscEIT.protocolVersion = value; - } - - /** - * Events - */ - public @property PtrArray events() - { - return new PtrArray(gstMpegtsAtscEIT.events, false); - } - - /** Ditto */ - public @property void events(PtrArray value) - { - gstMpegtsAtscEIT.events = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_atsc_eit_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/AtscEITEvent.d b/generated/gstreamer/gst/mpegts/AtscEITEvent.d deleted file mode 100644 index cb93fa014..000000000 --- a/generated/gstreamer/gst/mpegts/AtscEITEvent.d +++ /dev/null @@ -1,162 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.AtscEITEvent; - -private import glib.MemorySlice; -private import glib.PtrArray; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * An ATSC EIT Event - */ -public final class AtscEITEvent -{ - /** the main Gtk struct */ - protected GstMpegtsAtscEITEvent* gstMpegtsAtscEITEvent; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsAtscEITEvent* getAtscEITEventStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsAtscEITEvent; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsAtscEITEvent; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsAtscEITEvent* gstMpegtsAtscEITEvent, bool ownedRef = false) - { - this.gstMpegtsAtscEITEvent = gstMpegtsAtscEITEvent; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsAtscEITEvent); - } - - - /** - * The event id - */ - public @property ushort eventId() - { - return gstMpegtsAtscEITEvent.eventId; - } - - /** Ditto */ - public @property void eventId(ushort value) - { - gstMpegtsAtscEITEvent.eventId = value; - } - - /** - * The start time - */ - public @property uint startTime() - { - return gstMpegtsAtscEITEvent.startTime; - } - - /** Ditto */ - public @property void startTime(uint value) - { - gstMpegtsAtscEITEvent.startTime = value; - } - - /** - * The etm location - */ - public @property ubyte etmLocation() - { - return gstMpegtsAtscEITEvent.etmLocation; - } - - /** Ditto */ - public @property void etmLocation(ubyte value) - { - gstMpegtsAtscEITEvent.etmLocation = value; - } - - /** - * The length in seconds - */ - public @property uint lengthInSeconds() - { - return gstMpegtsAtscEITEvent.lengthInSeconds; - } - - /** Ditto */ - public @property void lengthInSeconds(uint value) - { - gstMpegtsAtscEITEvent.lengthInSeconds = value; - } - - /** - * the titles - */ - public @property PtrArray titles() - { - return new PtrArray(gstMpegtsAtscEITEvent.titles, false); - } - - /** Ditto */ - public @property void titles(PtrArray value) - { - gstMpegtsAtscEITEvent.titles = value.getPtrArrayStruct(); - } - - /** - * descriptors - */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsAtscEITEvent.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsAtscEITEvent.descriptors = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_atsc_eit_event_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/AtscETT.d b/generated/gstreamer/gst/mpegts/AtscETT.d deleted file mode 100644 index 4c0d58739..000000000 --- a/generated/gstreamer/gst/mpegts/AtscETT.d +++ /dev/null @@ -1,132 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.AtscETT; - -private import glib.MemorySlice; -private import glib.PtrArray; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Extended Text Table (ATSC) - */ -public final class AtscETT -{ - /** the main Gtk struct */ - protected GstMpegtsAtscETT* gstMpegtsAtscETT; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsAtscETT* getAtscETTStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsAtscETT; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsAtscETT; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsAtscETT* gstMpegtsAtscETT, bool ownedRef = false) - { - this.gstMpegtsAtscETT = gstMpegtsAtscETT; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsAtscETT); - } - - - /** */ - public @property ushort ettTableIdExtension() - { - return gstMpegtsAtscETT.ettTableIdExtension; - } - - /** Ditto */ - public @property void ettTableIdExtension(ushort value) - { - gstMpegtsAtscETT.ettTableIdExtension = value; - } - - /** - * The protocol version - */ - public @property ushort protocolVersion() - { - return gstMpegtsAtscETT.protocolVersion; - } - - /** Ditto */ - public @property void protocolVersion(ushort value) - { - gstMpegtsAtscETT.protocolVersion = value; - } - - /** - * The etm id - */ - public @property uint etmId() - { - return gstMpegtsAtscETT.etmId; - } - - /** Ditto */ - public @property void etmId(uint value) - { - gstMpegtsAtscETT.etmId = value; - } - - /** - * List of texts - */ - public @property PtrArray messages() - { - return new PtrArray(gstMpegtsAtscETT.messages, false); - } - - /** Ditto */ - public @property void messages(PtrArray value) - { - gstMpegtsAtscETT.messages = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_atsc_ett_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/AtscMGT.d b/generated/gstreamer/gst/mpegts/AtscMGT.d deleted file mode 100644 index f9bdb3ae0..000000000 --- a/generated/gstreamer/gst/mpegts/AtscMGT.d +++ /dev/null @@ -1,149 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.AtscMGT; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Master Guide Table (A65) - */ -public final class AtscMGT -{ - /** the main Gtk struct */ - protected GstMpegtsAtscMGT* gstMpegtsAtscMGT; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsAtscMGT* getAtscMGTStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsAtscMGT; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsAtscMGT; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsAtscMGT* gstMpegtsAtscMGT, bool ownedRef = false) - { - this.gstMpegtsAtscMGT = gstMpegtsAtscMGT; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsAtscMGT); - } - - - /** - * The protocol version - */ - public @property ubyte protocolVersion() - { - return gstMpegtsAtscMGT.protocolVersion; - } - - /** Ditto */ - public @property void protocolVersion(ubyte value) - { - gstMpegtsAtscMGT.protocolVersion = value; - } - - /** - * The numbers of subtables - */ - public @property ushort tablesDefined() - { - return gstMpegtsAtscMGT.tablesDefined; - } - - /** Ditto */ - public @property void tablesDefined(ushort value) - { - gstMpegtsAtscMGT.tablesDefined = value; - } - - /** - * the tables - */ - public @property PtrArray tables() - { - return new PtrArray(gstMpegtsAtscMGT.tables, false); - } - - /** Ditto */ - public @property void tables(PtrArray value) - { - gstMpegtsAtscMGT.tables = value.getPtrArrayStruct(); - } - - /** - * descriptors - */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsAtscMGT.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsAtscMGT.descriptors = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_atsc_mgt_get_type(); - } - - /** */ - public this() - { - auto __p = gst_mpegts_atsc_mgt_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsAtscMGT*) __p); - } -} diff --git a/generated/gstreamer/gst/mpegts/AtscMGTTable.d b/generated/gstreamer/gst/mpegts/AtscMGTTable.d deleted file mode 100644 index bd0839818..000000000 --- a/generated/gstreamer/gst/mpegts/AtscMGTTable.d +++ /dev/null @@ -1,146 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.AtscMGTTable; - -private import glib.MemorySlice; -private import glib.PtrArray; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Source from a @GstMpegtsAtscMGT - */ -public final class AtscMGTTable -{ - /** the main Gtk struct */ - protected GstMpegtsAtscMGTTable* gstMpegtsAtscMGTTable; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsAtscMGTTable* getAtscMGTTableStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsAtscMGTTable; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsAtscMGTTable; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsAtscMGTTable* gstMpegtsAtscMGTTable, bool ownedRef = false) - { - this.gstMpegtsAtscMGTTable = gstMpegtsAtscMGTTable; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsAtscMGTTable); - } - - - /** - * #GstMpegtsAtscMGTTableType - */ - public @property ushort tableType() - { - return gstMpegtsAtscMGTTable.tableType; - } - - /** Ditto */ - public @property void tableType(ushort value) - { - gstMpegtsAtscMGTTable.tableType = value; - } - - /** - * The packet ID - */ - public @property ushort pid() - { - return gstMpegtsAtscMGTTable.pid; - } - - /** Ditto */ - public @property void pid(ushort value) - { - gstMpegtsAtscMGTTable.pid = value; - } - - /** - * The version number - */ - public @property ubyte versionNumber() - { - return gstMpegtsAtscMGTTable.versionNumber; - } - - /** Ditto */ - public @property void versionNumber(ubyte value) - { - gstMpegtsAtscMGTTable.versionNumber = value; - } - - /** */ - public @property uint numberBytes() - { - return gstMpegtsAtscMGTTable.numberBytes; - } - - /** Ditto */ - public @property void numberBytes(uint value) - { - gstMpegtsAtscMGTTable.numberBytes = value; - } - - /** - * descriptors - */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsAtscMGTTable.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsAtscMGTTable.descriptors = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_atsc_mgt_table_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/AtscMultString.d b/generated/gstreamer/gst/mpegts/AtscMultString.d deleted file mode 100644 index b10dcf9fe..000000000 --- a/generated/gstreamer/gst/mpegts/AtscMultString.d +++ /dev/null @@ -1,104 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.AtscMultString; - -private import glib.MemorySlice; -private import glib.PtrArray; -private import glib.Str; -private import glib.c.functions; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class AtscMultString -{ - /** the main Gtk struct */ - protected GstMpegtsAtscMultString* gstMpegtsAtscMultString; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsAtscMultString* getAtscMultStringStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsAtscMultString; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsAtscMultString; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsAtscMultString* gstMpegtsAtscMultString, bool ownedRef = false) - { - this.gstMpegtsAtscMultString = gstMpegtsAtscMultString; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsAtscMultString); - } - - - /** - * The ISO639 language code - */ - public @property char[4] iso639Langcode() - { - return gstMpegtsAtscMultString.iso639Langcode; - } - - /** Ditto */ - public @property void iso639Langcode(char[4] value) - { - gstMpegtsAtscMultString.iso639Langcode = value; - } - - /** */ - public @property PtrArray segments() - { - return new PtrArray(gstMpegtsAtscMultString.segments, false); - } - - /** Ditto */ - public @property void segments(PtrArray value) - { - gstMpegtsAtscMultString.segments = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_atsc_mult_string_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/AtscRRT.d b/generated/gstreamer/gst/mpegts/AtscRRT.d deleted file mode 100644 index 239f926e7..000000000 --- a/generated/gstreamer/gst/mpegts/AtscRRT.d +++ /dev/null @@ -1,165 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.AtscRRT; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Region Rating Table (A65) - * - * Since: 1.18 - */ -public final class AtscRRT -{ - /** the main Gtk struct */ - protected GstMpegtsAtscRRT* gstMpegtsAtscRRT; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsAtscRRT* getAtscRRTStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsAtscRRT; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsAtscRRT; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsAtscRRT* gstMpegtsAtscRRT, bool ownedRef = false) - { - this.gstMpegtsAtscRRT = gstMpegtsAtscRRT; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsAtscRRT); - } - - - /** - * The protocol version - */ - public @property ubyte protocolVersion() - { - return gstMpegtsAtscRRT.protocolVersion; - } - - /** Ditto */ - public @property void protocolVersion(ubyte value) - { - gstMpegtsAtscRRT.protocolVersion = value; - } - - /** - * the names - */ - public @property PtrArray names() - { - return new PtrArray(gstMpegtsAtscRRT.names, false); - } - - /** Ditto */ - public @property void names(PtrArray value) - { - gstMpegtsAtscRRT.names = value.getPtrArrayStruct(); - } - - /** - * the number of dimensions defined for this rating table - */ - public @property ubyte dimensionsDefined() - { - return gstMpegtsAtscRRT.dimensionsDefined; - } - - /** Ditto */ - public @property void dimensionsDefined(ubyte value) - { - gstMpegtsAtscRRT.dimensionsDefined = value; - } - - /** - * A set of dimensions - */ - public @property PtrArray dimensions() - { - return new PtrArray(gstMpegtsAtscRRT.dimensions, false); - } - - /** Ditto */ - public @property void dimensions(PtrArray value) - { - gstMpegtsAtscRRT.dimensions = value.getPtrArrayStruct(); - } - - /** - * descriptors - */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsAtscRRT.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsAtscRRT.descriptors = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_atsc_rrt_get_type(); - } - - /** */ - public this() - { - auto __p = gst_mpegts_atsc_rrt_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsAtscRRT*) __p); - } -} diff --git a/generated/gstreamer/gst/mpegts/AtscRRTDimension.d b/generated/gstreamer/gst/mpegts/AtscRRTDimension.d deleted file mode 100644 index 789734ff6..000000000 --- a/generated/gstreamer/gst/mpegts/AtscRRTDimension.d +++ /dev/null @@ -1,139 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.AtscRRTDimension; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class AtscRRTDimension -{ - /** the main Gtk struct */ - protected GstMpegtsAtscRRTDimension* gstMpegtsAtscRRTDimension; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsAtscRRTDimension* getAtscRRTDimensionStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsAtscRRTDimension; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsAtscRRTDimension; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsAtscRRTDimension* gstMpegtsAtscRRTDimension, bool ownedRef = false) - { - this.gstMpegtsAtscRRTDimension = gstMpegtsAtscRRTDimension; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsAtscRRTDimension); - } - - - /** */ - public @property PtrArray names() - { - return new PtrArray(gstMpegtsAtscRRTDimension.names, false); - } - - /** Ditto */ - public @property void names(PtrArray value) - { - gstMpegtsAtscRRTDimension.names = value.getPtrArrayStruct(); - } - - /** */ - public @property bool graduatedScale() - { - return gstMpegtsAtscRRTDimension.graduatedScale != 0; - } - - /** Ditto */ - public @property void graduatedScale(bool value) - { - gstMpegtsAtscRRTDimension.graduatedScale = value; - } - - /** */ - public @property ubyte valuesDefined() - { - return gstMpegtsAtscRRTDimension.valuesDefined; - } - - /** Ditto */ - public @property void valuesDefined(ubyte value) - { - gstMpegtsAtscRRTDimension.valuesDefined = value; - } - - /** */ - public @property PtrArray values() - { - return new PtrArray(gstMpegtsAtscRRTDimension.values, false); - } - - /** Ditto */ - public @property void values(PtrArray value) - { - gstMpegtsAtscRRTDimension.values = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_atsc_rrt_dimension_get_type(); - } - - /** */ - public this() - { - auto __p = gst_mpegts_atsc_rrt_dimension_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsAtscRRTDimension*) __p); - } -} diff --git a/generated/gstreamer/gst/mpegts/AtscRRTDimensionValue.d b/generated/gstreamer/gst/mpegts/AtscRRTDimensionValue.d deleted file mode 100644 index de108a8a7..000000000 --- a/generated/gstreamer/gst/mpegts/AtscRRTDimensionValue.d +++ /dev/null @@ -1,119 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.AtscRRTDimensionValue; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class AtscRRTDimensionValue -{ - /** the main Gtk struct */ - protected GstMpegtsAtscRRTDimensionValue* gstMpegtsAtscRRTDimensionValue; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsAtscRRTDimensionValue* getAtscRRTDimensionValueStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsAtscRRTDimensionValue; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsAtscRRTDimensionValue; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsAtscRRTDimensionValue* gstMpegtsAtscRRTDimensionValue, bool ownedRef = false) - { - this.gstMpegtsAtscRRTDimensionValue = gstMpegtsAtscRRTDimensionValue; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsAtscRRTDimensionValue); - } - - - /** - * the abbreviated ratings - */ - public @property PtrArray abbrevRatings() - { - return new PtrArray(gstMpegtsAtscRRTDimensionValue.abbrevRatings, false); - } - - /** Ditto */ - public @property void abbrevRatings(PtrArray value) - { - gstMpegtsAtscRRTDimensionValue.abbrevRatings = value.getPtrArrayStruct(); - } - - /** - * the ratings - */ - public @property PtrArray ratings() - { - return new PtrArray(gstMpegtsAtscRRTDimensionValue.ratings, false); - } - - /** Ditto */ - public @property void ratings(PtrArray value) - { - gstMpegtsAtscRRTDimensionValue.ratings = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_atsc_rrt_dimension_value_get_type(); - } - - /** */ - public this() - { - auto __p = gst_mpegts_atsc_rrt_dimension_value_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsAtscRRTDimensionValue*) __p); - } -} diff --git a/generated/gstreamer/gst/mpegts/AtscSTT.d b/generated/gstreamer/gst/mpegts/AtscSTT.d deleted file mode 100644 index 748e00bdb..000000000 --- a/generated/gstreamer/gst/mpegts/AtscSTT.d +++ /dev/null @@ -1,217 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.AtscSTT; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gstreamer.DateTime; -private import gtkd.Loader; - - -/** - * System Time Table (A65) - */ -public final class AtscSTT -{ - /** the main Gtk struct */ - protected GstMpegtsAtscSTT* gstMpegtsAtscSTT; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsAtscSTT* getAtscSTTStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsAtscSTT; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsAtscSTT; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsAtscSTT* gstMpegtsAtscSTT, bool ownedRef = false) - { - this.gstMpegtsAtscSTT = gstMpegtsAtscSTT; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsAtscSTT); - } - - - /** - * The protocol version - */ - public @property ubyte protocolVersion() - { - return gstMpegtsAtscSTT.protocolVersion; - } - - /** Ditto */ - public @property void protocolVersion(ubyte value) - { - gstMpegtsAtscSTT.protocolVersion = value; - } - - /** - * The system time - */ - public @property uint systemTime() - { - return gstMpegtsAtscSTT.systemTime; - } - - /** Ditto */ - public @property void systemTime(uint value) - { - gstMpegtsAtscSTT.systemTime = value; - } - - /** - * The GPS to UTC offset - */ - public @property ubyte gpsUtcOffset() - { - return gstMpegtsAtscSTT.gpsUtcOffset; - } - - /** Ditto */ - public @property void gpsUtcOffset(ubyte value) - { - gstMpegtsAtscSTT.gpsUtcOffset = value; - } - - /** */ - public @property bool dsStatus() - { - return gstMpegtsAtscSTT.dsStatus != 0; - } - - /** Ditto */ - public @property void dsStatus(bool value) - { - gstMpegtsAtscSTT.dsStatus = value; - } - - /** - * The day of month - */ - public @property ubyte dsDayofmonth() - { - return gstMpegtsAtscSTT.dsDayofmonth; - } - - /** Ditto */ - public @property void dsDayofmonth(ubyte value) - { - gstMpegtsAtscSTT.dsDayofmonth = value; - } - - /** - * The hour - */ - public @property ubyte dsHour() - { - return gstMpegtsAtscSTT.dsHour; - } - - /** Ditto */ - public @property void dsHour(ubyte value) - { - gstMpegtsAtscSTT.dsHour = value; - } - - /** - * descriptors - */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsAtscSTT.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsAtscSTT.descriptors = value.getPtrArrayStruct(); - } - - /** - * The UTC date and time - */ - public @property DateTime utcDatetime() - { - return ObjectG.getDObject!(DateTime)(gstMpegtsAtscSTT.utcDatetime, false); - } - - /** Ditto */ - public @property void utcDatetime(DateTime value) - { - gstMpegtsAtscSTT.utcDatetime = value.getDateTimeStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_atsc_stt_get_type(); - } - - /** */ - public this() - { - auto __p = gst_mpegts_atsc_stt_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsAtscSTT*) __p); - } - - /** */ - public DateTime getDatetimeUtc() - { - auto __p = gst_mpegts_atsc_stt_get_datetime_utc(gstMpegtsAtscSTT); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(DateTime)(cast(GstDateTime*) __p, true); - } -} diff --git a/generated/gstreamer/gst/mpegts/AtscStringSegment.d b/generated/gstreamer/gst/mpegts/AtscStringSegment.d deleted file mode 100644 index f045f4101..000000000 --- a/generated/gstreamer/gst/mpegts/AtscStringSegment.d +++ /dev/null @@ -1,147 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.AtscStringSegment; - -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * A string segment - */ -public final class AtscStringSegment -{ - /** the main Gtk struct */ - protected GstMpegtsAtscStringSegment* gstMpegtsAtscStringSegment; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsAtscStringSegment* getAtscStringSegmentStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsAtscStringSegment; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsAtscStringSegment; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsAtscStringSegment* gstMpegtsAtscStringSegment, bool ownedRef = false) - { - this.gstMpegtsAtscStringSegment = gstMpegtsAtscStringSegment; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsAtscStringSegment); - } - - - /** - * The compression type - */ - public @property ubyte compressionType() - { - return gstMpegtsAtscStringSegment.compressionType; - } - - /** Ditto */ - public @property void compressionType(ubyte value) - { - gstMpegtsAtscStringSegment.compressionType = value; - } - - /** - * The mode - */ - public @property ubyte mode() - { - return gstMpegtsAtscStringSegment.mode; - } - - /** Ditto */ - public @property void mode(ubyte value) - { - gstMpegtsAtscStringSegment.mode = value; - } - - - /** - * The compressed data - */ - public @property ubyte[] compressedData() - { - return gstMpegtsAtscStringSegment.compressedData[0..gstMpegtsAtscStringSegment.compressedDataSize]; - } - - /** Ditto */ - public @property void compressedData(ubyte[] value) - { - gstMpegtsAtscStringSegment.compressedData = value.ptr; - gstMpegtsAtscStringSegment.compressedDataSize = cast(ubyte)value.length; - } - - /** */ - public @property string cachedString() - { - return Str.toString(gstMpegtsAtscStringSegment.cachedString); - } - - /** Ditto */ - public @property void cachedString(string value) - { - gstMpegtsAtscStringSegment.cachedString = Str.toStringz(value); - } - - /** */ - public static GType getType() - { - return gst_mpegts_atsc_string_segment_get_type(); - } - - /** */ - public string getString() - { - return Str.toString(gst_mpegts_atsc_string_segment_get_string(gstMpegtsAtscStringSegment)); - } - - /** */ - public bool setString(string string_, ubyte compressionType, ubyte mode) - { - return gst_mpegts_atsc_string_segment_set_string(gstMpegtsAtscStringSegment, Str.toStringz(string_), compressionType, mode) != 0; - } -} diff --git a/generated/gstreamer/gst/mpegts/AtscVCT.d b/generated/gstreamer/gst/mpegts/AtscVCT.d deleted file mode 100644 index c77d4a6f1..000000000 --- a/generated/gstreamer/gst/mpegts/AtscVCT.d +++ /dev/null @@ -1,136 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.AtscVCT; - -private import glib.MemorySlice; -private import glib.PtrArray; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Represents both: - * Terrestrial Virtual Channel Table (A65) - * Cable Virtual Channel Table (A65) - */ -public final class AtscVCT -{ - /** the main Gtk struct */ - protected GstMpegtsAtscVCT* gstMpegtsAtscVCT; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsAtscVCT* getAtscVCTStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsAtscVCT; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsAtscVCT; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsAtscVCT* gstMpegtsAtscVCT, bool ownedRef = false) - { - this.gstMpegtsAtscVCT = gstMpegtsAtscVCT; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsAtscVCT); - } - - - /** - * The transport stream - */ - public @property ushort transportStreamId() - { - return gstMpegtsAtscVCT.transportStreamId; - } - - /** Ditto */ - public @property void transportStreamId(ushort value) - { - gstMpegtsAtscVCT.transportStreamId = value; - } - - /** - * The protocol version - */ - public @property ubyte protocolVersion() - { - return gstMpegtsAtscVCT.protocolVersion; - } - - /** Ditto */ - public @property void protocolVersion(ubyte value) - { - gstMpegtsAtscVCT.protocolVersion = value; - } - - /** - * sources - */ - public @property PtrArray sources() - { - return new PtrArray(gstMpegtsAtscVCT.sources, false); - } - - /** Ditto */ - public @property void sources(PtrArray value) - { - gstMpegtsAtscVCT.sources = value.getPtrArrayStruct(); - } - - /** - * descriptors - */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsAtscVCT.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsAtscVCT.descriptors = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_atsc_vct_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/AtscVCTSource.d b/generated/gstreamer/gst/mpegts/AtscVCTSource.d deleted file mode 100644 index 001809c34..000000000 --- a/generated/gstreamer/gst/mpegts/AtscVCTSource.d +++ /dev/null @@ -1,304 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.AtscVCTSource; - -private import glib.MemorySlice; -private import glib.PtrArray; -private import glib.Str; -private import glib.c.functions; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Source from a @GstMpegtsAtscVCT, can be used both for TVCT and CVCT tables - */ -public final class AtscVCTSource -{ - /** the main Gtk struct */ - protected GstMpegtsAtscVCTSource* gstMpegtsAtscVCTSource; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsAtscVCTSource* getAtscVCTSourceStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsAtscVCTSource; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsAtscVCTSource; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsAtscVCTSource* gstMpegtsAtscVCTSource, bool ownedRef = false) - { - this.gstMpegtsAtscVCTSource = gstMpegtsAtscVCTSource; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsAtscVCTSource); - } - - - /** - * The short name of a source - */ - public @property string shortName() - { - return Str.toString(gstMpegtsAtscVCTSource.shortName); - } - - /** Ditto */ - public @property void shortName(string value) - { - gstMpegtsAtscVCTSource.shortName = Str.toStringz(value); - } - - /** - * The major channel number - */ - public @property ushort majorChannelNumber() - { - return gstMpegtsAtscVCTSource.majorChannelNumber; - } - - /** Ditto */ - public @property void majorChannelNumber(ushort value) - { - gstMpegtsAtscVCTSource.majorChannelNumber = value; - } - - /** - * The minor channel number - */ - public @property ushort minorChannelNumber() - { - return gstMpegtsAtscVCTSource.minorChannelNumber; - } - - /** Ditto */ - public @property void minorChannelNumber(ushort value) - { - gstMpegtsAtscVCTSource.minorChannelNumber = value; - } - - /** - * The modulation mode - */ - public @property ubyte modulationMode() - { - return gstMpegtsAtscVCTSource.modulationMode; - } - - /** Ditto */ - public @property void modulationMode(ubyte value) - { - gstMpegtsAtscVCTSource.modulationMode = value; - } - - /** - * The carrier frequency - */ - public @property uint carrierFrequency() - { - return gstMpegtsAtscVCTSource.carrierFrequency; - } - - /** Ditto */ - public @property void carrierFrequency(uint value) - { - gstMpegtsAtscVCTSource.carrierFrequency = value; - } - - /** - * The transport stream ID - */ - public @property ushort channelTSID() - { - return gstMpegtsAtscVCTSource.channelTSID; - } - - /** Ditto */ - public @property void channelTSID(ushort value) - { - gstMpegtsAtscVCTSource.channelTSID = value; - } - - /** - * The program number (see #GstMpegtsPatProgram) - */ - public @property ushort programNumber() - { - return gstMpegtsAtscVCTSource.programNumber; - } - - /** Ditto */ - public @property void programNumber(ushort value) - { - gstMpegtsAtscVCTSource.programNumber = value; - } - - /** - * The ETM location - */ - public @property ubyte ETMLocation() - { - return gstMpegtsAtscVCTSource.ETMLocation; - } - - /** Ditto */ - public @property void ETMLocation(ubyte value) - { - gstMpegtsAtscVCTSource.ETMLocation = value; - } - - /** - * is access controlled - */ - public @property bool accessControlled() - { - return gstMpegtsAtscVCTSource.accessControlled != 0; - } - - /** Ditto */ - public @property void accessControlled(bool value) - { - gstMpegtsAtscVCTSource.accessControlled = value; - } - - /** - * is hidden - */ - public @property bool hidden() - { - return gstMpegtsAtscVCTSource.hidden != 0; - } - - /** Ditto */ - public @property void hidden(bool value) - { - gstMpegtsAtscVCTSource.hidden = value; - } - - /** - * is path select, CVCT only - */ - public @property bool pathSelect() - { - return gstMpegtsAtscVCTSource.pathSelect != 0; - } - - /** Ditto */ - public @property void pathSelect(bool value) - { - gstMpegtsAtscVCTSource.pathSelect = value; - } - - /** - * is out of band, CVCT only - */ - public @property bool outOfBand() - { - return gstMpegtsAtscVCTSource.outOfBand != 0; - } - - /** Ditto */ - public @property void outOfBand(bool value) - { - gstMpegtsAtscVCTSource.outOfBand = value; - } - - /** - * is hide guide - */ - public @property bool hideGuide() - { - return gstMpegtsAtscVCTSource.hideGuide != 0; - } - - /** Ditto */ - public @property void hideGuide(bool value) - { - gstMpegtsAtscVCTSource.hideGuide = value; - } - - /** - * The service type - */ - public @property ubyte serviceType() - { - return gstMpegtsAtscVCTSource.serviceType; - } - - /** Ditto */ - public @property void serviceType(ubyte value) - { - gstMpegtsAtscVCTSource.serviceType = value; - } - - /** - * The source id - */ - public @property ushort sourceId() - { - return gstMpegtsAtscVCTSource.sourceId; - } - - /** Ditto */ - public @property void sourceId(ushort value) - { - gstMpegtsAtscVCTSource.sourceId = value; - } - - /** - * an array of #GstMpegtsDescriptor - */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsAtscVCTSource.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsAtscVCTSource.descriptors = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_atsc_vct_source_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/BATStream.d b/generated/gstreamer/gst/mpegts/BATStream.d deleted file mode 100644 index 5f9e16c47..000000000 --- a/generated/gstreamer/gst/mpegts/BATStream.d +++ /dev/null @@ -1,112 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.BATStream; - -private import glib.MemorySlice; -private import glib.PtrArray; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class BATStream -{ - /** the main Gtk struct */ - protected GstMpegtsBATStream* gstMpegtsBATStream; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsBATStream* getBATStreamStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsBATStream; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsBATStream; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsBATStream* gstMpegtsBATStream, bool ownedRef = false) - { - this.gstMpegtsBATStream = gstMpegtsBATStream; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsBATStream); - } - - - /** */ - public @property ushort transportStreamId() - { - return gstMpegtsBATStream.transportStreamId; - } - - /** Ditto */ - public @property void transportStreamId(ushort value) - { - gstMpegtsBATStream.transportStreamId = value; - } - - /** */ - public @property ushort originalNetworkId() - { - return gstMpegtsBATStream.originalNetworkId; - } - - /** Ditto */ - public @property void originalNetworkId(ushort value) - { - gstMpegtsBATStream.originalNetworkId = value; - } - - /** */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsBATStream.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsBATStream.descriptors = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_bat_stream_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/CableDeliverySystemDescriptor.d b/generated/gstreamer/gst/mpegts/CableDeliverySystemDescriptor.d deleted file mode 100644 index b941b2c28..000000000 --- a/generated/gstreamer/gst/mpegts/CableDeliverySystemDescriptor.d +++ /dev/null @@ -1,154 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.CableDeliverySystemDescriptor; - -private import glib.MemorySlice; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Cable Delivery System Descriptor (EN 300 468 v.1.13.1) - */ -public final class CableDeliverySystemDescriptor -{ - /** the main Gtk struct */ - protected GstMpegtsCableDeliverySystemDescriptor* gstMpegtsCableDeliverySystemDescriptor; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsCableDeliverySystemDescriptor* getCableDeliverySystemDescriptorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsCableDeliverySystemDescriptor; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsCableDeliverySystemDescriptor; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsCableDeliverySystemDescriptor* gstMpegtsCableDeliverySystemDescriptor, bool ownedRef = false) - { - this.gstMpegtsCableDeliverySystemDescriptor = gstMpegtsCableDeliverySystemDescriptor; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - gst_mpegts_dvb_cable_delivery_system_descriptor_free(gstMpegtsCableDeliverySystemDescriptor); - } - - - /** - * the frequency in Hz (Hertz) - */ - public @property uint frequency() - { - return gstMpegtsCableDeliverySystemDescriptor.frequency; - } - - /** Ditto */ - public @property void frequency(uint value) - { - gstMpegtsCableDeliverySystemDescriptor.frequency = value; - } - - /** - * the outer FEC scheme used - */ - public @property GstMpegtsCableOuterFECScheme outerFec() - { - return gstMpegtsCableDeliverySystemDescriptor.outerFec; - } - - /** Ditto */ - public @property void outerFec(GstMpegtsCableOuterFECScheme value) - { - gstMpegtsCableDeliverySystemDescriptor.outerFec = value; - } - - /** - * Modulation scheme used - */ - public @property GstMpegtsModulationType modulation() - { - return gstMpegtsCableDeliverySystemDescriptor.modulation; - } - - /** Ditto */ - public @property void modulation(GstMpegtsModulationType value) - { - gstMpegtsCableDeliverySystemDescriptor.modulation = value; - } - - /** - * Symbol rate (in symbols per second) - */ - public @property uint symbolRate() - { - return gstMpegtsCableDeliverySystemDescriptor.symbolRate; - } - - /** Ditto */ - public @property void symbolRate(uint value) - { - gstMpegtsCableDeliverySystemDescriptor.symbolRate = value; - } - - /** - * inner FEC scheme used - */ - public @property GstMpegtsDVBCodeRate fecInner() - { - return gstMpegtsCableDeliverySystemDescriptor.fecInner; - } - - /** Ditto */ - public @property void fecInner(GstMpegtsDVBCodeRate value) - { - gstMpegtsCableDeliverySystemDescriptor.fecInner = value; - } - - /** */ - public static GType getType() - { - return gst_mpegts_dvb_cable_delivery_system_descriptor_get_type(); - } - - /** */ - public void free() - { - gst_mpegts_dvb_cable_delivery_system_descriptor_free(gstMpegtsCableDeliverySystemDescriptor); - ownedRef = false; - } -} diff --git a/generated/gstreamer/gst/mpegts/ComponentDescriptor.d b/generated/gstreamer/gst/mpegts/ComponentDescriptor.d deleted file mode 100644 index b64b9621e..000000000 --- a/generated/gstreamer/gst/mpegts/ComponentDescriptor.d +++ /dev/null @@ -1,143 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.ComponentDescriptor; - -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class ComponentDescriptor -{ - /** the main Gtk struct */ - protected GstMpegtsComponentDescriptor* gstMpegtsComponentDescriptor; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsComponentDescriptor* getComponentDescriptorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsComponentDescriptor; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsComponentDescriptor; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsComponentDescriptor* gstMpegtsComponentDescriptor, bool ownedRef = false) - { - this.gstMpegtsComponentDescriptor = gstMpegtsComponentDescriptor; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsComponentDescriptor); - } - - - /** */ - public @property ubyte streamContent() - { - return gstMpegtsComponentDescriptor.streamContent; - } - - /** Ditto */ - public @property void streamContent(ubyte value) - { - gstMpegtsComponentDescriptor.streamContent = value; - } - - /** */ - public @property ubyte componentType() - { - return gstMpegtsComponentDescriptor.componentType; - } - - /** Ditto */ - public @property void componentType(ubyte value) - { - gstMpegtsComponentDescriptor.componentType = value; - } - - /** */ - public @property ubyte componentTag() - { - return gstMpegtsComponentDescriptor.componentTag; - } - - /** Ditto */ - public @property void componentTag(ubyte value) - { - gstMpegtsComponentDescriptor.componentTag = value; - } - - /** */ - public @property string languageCode() - { - return Str.toString(gstMpegtsComponentDescriptor.languageCode); - } - - /** Ditto */ - public @property void languageCode(string value) - { - gstMpegtsComponentDescriptor.languageCode = Str.toStringz(value); - } - - /** */ - public @property string text() - { - return Str.toString(gstMpegtsComponentDescriptor.text); - } - - /** Ditto */ - public @property void text(string value) - { - gstMpegtsComponentDescriptor.text = Str.toStringz(value); - } - - /** */ - public static GType getType() - { - return gst_mpegts_component_descriptor_get_type(); - } - - /** */ - public static void free(ComponentDescriptor source) - { - gst_mpegts_dvb_component_descriptor_free((source is null) ? null : source.getComponentDescriptorStruct()); - } -} diff --git a/generated/gstreamer/gst/mpegts/Content.d b/generated/gstreamer/gst/mpegts/Content.d deleted file mode 100644 index 0d82ccc63..000000000 --- a/generated/gstreamer/gst/mpegts/Content.d +++ /dev/null @@ -1,111 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.Content; - -private import glib.MemorySlice; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class Content -{ - /** the main Gtk struct */ - protected GstMpegtsContent* gstMpegtsContent; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsContent* getContentStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsContent; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsContent; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsContent* gstMpegtsContent, bool ownedRef = false) - { - this.gstMpegtsContent = gstMpegtsContent; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsContent); - } - - - /** */ - public @property GstMpegtsContentNibbleHi contentNibble1() - { - return gstMpegtsContent.contentNibble1; - } - - /** Ditto */ - public @property void contentNibble1(GstMpegtsContentNibbleHi value) - { - gstMpegtsContent.contentNibble1 = value; - } - - /** */ - public @property ubyte contentNibble2() - { - return gstMpegtsContent.contentNibble2; - } - - /** Ditto */ - public @property void contentNibble2(ubyte value) - { - gstMpegtsContent.contentNibble2 = value; - } - - /** */ - public @property ubyte userByte() - { - return gstMpegtsContent.userByte; - } - - /** Ditto */ - public @property void userByte(ubyte value) - { - gstMpegtsContent.userByte = value; - } - - /** */ - public static GType getType() - { - return gst_mpegts_content_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/DVBLinkageDescriptor.d b/generated/gstreamer/gst/mpegts/DVBLinkageDescriptor.d deleted file mode 100644 index 70ef750f4..000000000 --- a/generated/gstreamer/gst/mpegts/DVBLinkageDescriptor.d +++ /dev/null @@ -1,130 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.DVBLinkageDescriptor; - -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.DVBLinkageEvent; -private import gst.mpegts.DVBLinkageMobileHandOver; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public class DVBLinkageDescriptor -{ - /** the main Gtk struct */ - protected GstMpegtsDVBLinkageDescriptor* gstMpegtsDVBLinkageDescriptor; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsDVBLinkageDescriptor* getDVBLinkageDescriptorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsDVBLinkageDescriptor; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsDVBLinkageDescriptor; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsDVBLinkageDescriptor* gstMpegtsDVBLinkageDescriptor, bool ownedRef = false) - { - this.gstMpegtsDVBLinkageDescriptor = gstMpegtsDVBLinkageDescriptor; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - gst_mpegts_dvb_linkage_descriptor_free(gstMpegtsDVBLinkageDescriptor); - } - - - /** */ - public static GType getType() - { - return gst_mpegts_dvb_linkage_descriptor_get_type(); - } - - /** */ - public void free() - { - gst_mpegts_dvb_linkage_descriptor_free(gstMpegtsDVBLinkageDescriptor); - ownedRef = false; - } - - /** - * Returns: The #GstMpegtsDVBLinkageEvent or %NULL if an error happened - */ - public DVBLinkageEvent getEvent() - { - auto __p = gst_mpegts_dvb_linkage_descriptor_get_event(gstMpegtsDVBLinkageDescriptor); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(DVBLinkageEvent)(cast(GstMpegtsDVBLinkageEvent*) __p); - } - - /** - * Returns: an #GstMpegtsDVBLinkageExtendedEvent array or %NULL if an error happened - */ - public PtrArray getExtendedEvent() - { - auto __p = gst_mpegts_dvb_linkage_descriptor_get_extended_event(gstMpegtsDVBLinkageDescriptor); - - if(__p is null) - { - return null; - } - - return new PtrArray(cast(GPtrArray*) __p); - } - - /** - * Returns: The #GstMpegtsDVBLinkageMobileHandOver or %NULL if an error happened - */ - public DVBLinkageMobileHandOver getMobileHandOver() - { - auto __p = gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over(gstMpegtsDVBLinkageDescriptor); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(DVBLinkageMobileHandOver)(cast(GstMpegtsDVBLinkageMobileHandOver*) __p); - } -} diff --git a/generated/gstreamer/gst/mpegts/DVBLinkageEvent.d b/generated/gstreamer/gst/mpegts/DVBLinkageEvent.d deleted file mode 100644 index 325ab778e..000000000 --- a/generated/gstreamer/gst/mpegts/DVBLinkageEvent.d +++ /dev/null @@ -1,111 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.DVBLinkageEvent; - -private import glib.MemorySlice; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class DVBLinkageEvent -{ - /** the main Gtk struct */ - protected GstMpegtsDVBLinkageEvent* gstMpegtsDVBLinkageEvent; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsDVBLinkageEvent* getDVBLinkageEventStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsDVBLinkageEvent; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsDVBLinkageEvent; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsDVBLinkageEvent* gstMpegtsDVBLinkageEvent, bool ownedRef = false) - { - this.gstMpegtsDVBLinkageEvent = gstMpegtsDVBLinkageEvent; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsDVBLinkageEvent); - } - - - /** */ - public @property ushort targetEventId() - { - return gstMpegtsDVBLinkageEvent.targetEventId; - } - - /** Ditto */ - public @property void targetEventId(ushort value) - { - gstMpegtsDVBLinkageEvent.targetEventId = value; - } - - /** */ - public @property bool targetListed() - { - return gstMpegtsDVBLinkageEvent.targetListed != 0; - } - - /** Ditto */ - public @property void targetListed(bool value) - { - gstMpegtsDVBLinkageEvent.targetListed = value; - } - - /** */ - public @property bool eventSimulcast() - { - return gstMpegtsDVBLinkageEvent.eventSimulcast != 0; - } - - /** Ditto */ - public @property void eventSimulcast(bool value) - { - gstMpegtsDVBLinkageEvent.eventSimulcast = value; - } - - /** */ - public static GType getType() - { - return gst_mpegts_dvb_linkage_event_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/DVBLinkageExtendedEvent.d b/generated/gstreamer/gst/mpegts/DVBLinkageExtendedEvent.d deleted file mode 100644 index 764c32a48..000000000 --- a/generated/gstreamer/gst/mpegts/DVBLinkageExtendedEvent.d +++ /dev/null @@ -1,207 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.DVBLinkageExtendedEvent; - -private import glib.MemorySlice; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class DVBLinkageExtendedEvent -{ - /** the main Gtk struct */ - protected GstMpegtsDVBLinkageExtendedEvent* gstMpegtsDVBLinkageExtendedEvent; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsDVBLinkageExtendedEvent* getDVBLinkageExtendedEventStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsDVBLinkageExtendedEvent; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsDVBLinkageExtendedEvent; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsDVBLinkageExtendedEvent* gstMpegtsDVBLinkageExtendedEvent, bool ownedRef = false) - { - this.gstMpegtsDVBLinkageExtendedEvent = gstMpegtsDVBLinkageExtendedEvent; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsDVBLinkageExtendedEvent); - } - - - /** */ - public @property ushort targetEventId() - { - return gstMpegtsDVBLinkageExtendedEvent.targetEventId; - } - - /** Ditto */ - public @property void targetEventId(ushort value) - { - gstMpegtsDVBLinkageExtendedEvent.targetEventId = value; - } - - /** */ - public @property bool targetListed() - { - return gstMpegtsDVBLinkageExtendedEvent.targetListed != 0; - } - - /** Ditto */ - public @property void targetListed(bool value) - { - gstMpegtsDVBLinkageExtendedEvent.targetListed = value; - } - - /** */ - public @property bool eventSimulcast() - { - return gstMpegtsDVBLinkageExtendedEvent.eventSimulcast != 0; - } - - /** Ditto */ - public @property void eventSimulcast(bool value) - { - gstMpegtsDVBLinkageExtendedEvent.eventSimulcast = value; - } - - /** */ - public @property ubyte linkType() - { - return gstMpegtsDVBLinkageExtendedEvent.linkType; - } - - /** Ditto */ - public @property void linkType(ubyte value) - { - gstMpegtsDVBLinkageExtendedEvent.linkType = value; - } - - /** */ - public @property ubyte targetIdType() - { - return gstMpegtsDVBLinkageExtendedEvent.targetIdType; - } - - /** Ditto */ - public @property void targetIdType(ubyte value) - { - gstMpegtsDVBLinkageExtendedEvent.targetIdType = value; - } - - /** */ - public @property bool originalNetworkIdFlag() - { - return gstMpegtsDVBLinkageExtendedEvent.originalNetworkIdFlag != 0; - } - - /** Ditto */ - public @property void originalNetworkIdFlag(bool value) - { - gstMpegtsDVBLinkageExtendedEvent.originalNetworkIdFlag = value; - } - - /** */ - public @property bool serviceIdFlag() - { - return gstMpegtsDVBLinkageExtendedEvent.serviceIdFlag != 0; - } - - /** Ditto */ - public @property void serviceIdFlag(bool value) - { - gstMpegtsDVBLinkageExtendedEvent.serviceIdFlag = value; - } - - /** */ - public @property ushort userDefinedId() - { - return gstMpegtsDVBLinkageExtendedEvent.userDefinedId; - } - - /** Ditto */ - public @property void userDefinedId(ushort value) - { - gstMpegtsDVBLinkageExtendedEvent.userDefinedId = value; - } - - /** */ - public @property ushort targetTransportStreamId() - { - return gstMpegtsDVBLinkageExtendedEvent.targetTransportStreamId; - } - - /** Ditto */ - public @property void targetTransportStreamId(ushort value) - { - gstMpegtsDVBLinkageExtendedEvent.targetTransportStreamId = value; - } - - /** */ - public @property ushort targetOriginalNetworkId() - { - return gstMpegtsDVBLinkageExtendedEvent.targetOriginalNetworkId; - } - - /** Ditto */ - public @property void targetOriginalNetworkId(ushort value) - { - gstMpegtsDVBLinkageExtendedEvent.targetOriginalNetworkId = value; - } - - /** */ - public @property ushort targetServiceId() - { - return gstMpegtsDVBLinkageExtendedEvent.targetServiceId; - } - - /** Ditto */ - public @property void targetServiceId(ushort value) - { - gstMpegtsDVBLinkageExtendedEvent.targetServiceId = value; - } - - /** */ - public static GType getType() - { - return gst_mpegts_dvb_linkage_extended_event_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/DVBLinkageMobileHandOver.d b/generated/gstreamer/gst/mpegts/DVBLinkageMobileHandOver.d deleted file mode 100644 index 2dae3494d..000000000 --- a/generated/gstreamer/gst/mpegts/DVBLinkageMobileHandOver.d +++ /dev/null @@ -1,123 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.DVBLinkageMobileHandOver; - -private import glib.MemorySlice; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class DVBLinkageMobileHandOver -{ - /** the main Gtk struct */ - protected GstMpegtsDVBLinkageMobileHandOver* gstMpegtsDVBLinkageMobileHandOver; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsDVBLinkageMobileHandOver* getDVBLinkageMobileHandOverStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsDVBLinkageMobileHandOver; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsDVBLinkageMobileHandOver; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsDVBLinkageMobileHandOver* gstMpegtsDVBLinkageMobileHandOver, bool ownedRef = false) - { - this.gstMpegtsDVBLinkageMobileHandOver = gstMpegtsDVBLinkageMobileHandOver; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsDVBLinkageMobileHandOver); - } - - - /** */ - public @property GstMpegtsDVBLinkageHandOverType handOverType() - { - return gstMpegtsDVBLinkageMobileHandOver.handOverType; - } - - /** Ditto */ - public @property void handOverType(GstMpegtsDVBLinkageHandOverType value) - { - gstMpegtsDVBLinkageMobileHandOver.handOverType = value; - } - - /** */ - public @property bool originType() - { - return gstMpegtsDVBLinkageMobileHandOver.originType != 0; - } - - /** Ditto */ - public @property void originType(bool value) - { - gstMpegtsDVBLinkageMobileHandOver.originType = value; - } - - /** */ - public @property ushort networkId() - { - return gstMpegtsDVBLinkageMobileHandOver.networkId; - } - - /** Ditto */ - public @property void networkId(ushort value) - { - gstMpegtsDVBLinkageMobileHandOver.networkId = value; - } - - /** */ - public @property ushort initialServiceId() - { - return gstMpegtsDVBLinkageMobileHandOver.initialServiceId; - } - - /** Ditto */ - public @property void initialServiceId(ushort value) - { - gstMpegtsDVBLinkageMobileHandOver.initialServiceId = value; - } - - /** */ - public static GType getType() - { - return gst_mpegts_dvb_linkage_mobile_hand_over_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/DVBParentalRatingItem.d b/generated/gstreamer/gst/mpegts/DVBParentalRatingItem.d deleted file mode 100644 index 61207184f..000000000 --- a/generated/gstreamer/gst/mpegts/DVBParentalRatingItem.d +++ /dev/null @@ -1,101 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.DVBParentalRatingItem; - -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class DVBParentalRatingItem -{ - /** the main Gtk struct */ - protected GstMpegtsDVBParentalRatingItem* gstMpegtsDVBParentalRatingItem; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsDVBParentalRatingItem* getDVBParentalRatingItemStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsDVBParentalRatingItem; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsDVBParentalRatingItem; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsDVBParentalRatingItem* gstMpegtsDVBParentalRatingItem, bool ownedRef = false) - { - this.gstMpegtsDVBParentalRatingItem = gstMpegtsDVBParentalRatingItem; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsDVBParentalRatingItem); - } - - - /** */ - public @property string countryCode() - { - return Str.toString(gstMpegtsDVBParentalRatingItem.countryCode); - } - - /** Ditto */ - public @property void countryCode(string value) - { - gstMpegtsDVBParentalRatingItem.countryCode = Str.toStringz(value); - } - - /** */ - public @property ubyte rating() - { - return gstMpegtsDVBParentalRatingItem.rating; - } - - /** Ditto */ - public @property void rating(ubyte value) - { - gstMpegtsDVBParentalRatingItem.rating = value; - } - - /** */ - public static GType getType() - { - return gst_mpegts_dvb_parental_rating_item_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/DVBServiceListItem.d b/generated/gstreamer/gst/mpegts/DVBServiceListItem.d deleted file mode 100644 index 958abf6ca..000000000 --- a/generated/gstreamer/gst/mpegts/DVBServiceListItem.d +++ /dev/null @@ -1,103 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.DVBServiceListItem; - -private import glib.MemorySlice; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class DVBServiceListItem -{ - /** the main Gtk struct */ - protected GstMpegtsDVBServiceListItem* gstMpegtsDVBServiceListItem; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsDVBServiceListItem* getDVBServiceListItemStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsDVBServiceListItem; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsDVBServiceListItem; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsDVBServiceListItem* gstMpegtsDVBServiceListItem, bool ownedRef = false) - { - this.gstMpegtsDVBServiceListItem = gstMpegtsDVBServiceListItem; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsDVBServiceListItem); - } - - - /** - * the id of a service - */ - public @property ushort serviceId() - { - return gstMpegtsDVBServiceListItem.serviceId; - } - - /** Ditto */ - public @property void serviceId(ushort value) - { - gstMpegtsDVBServiceListItem.serviceId = value; - } - - /** - * the type of a service - */ - public @property GstMpegtsDVBServiceType type() - { - return gstMpegtsDVBServiceListItem.type; - } - - /** Ditto */ - public @property void type(GstMpegtsDVBServiceType value) - { - gstMpegtsDVBServiceListItem.type = value; - } - - /** */ - public static GType getType() - { - return gst_mpegts_dvb_service_list_item_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/DataBroadcastDescriptor.d b/generated/gstreamer/gst/mpegts/DataBroadcastDescriptor.d deleted file mode 100644 index 0d4422302..000000000 --- a/generated/gstreamer/gst/mpegts/DataBroadcastDescriptor.d +++ /dev/null @@ -1,156 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.DataBroadcastDescriptor; - -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class DataBroadcastDescriptor -{ - /** the main Gtk struct */ - protected GstMpegtsDataBroadcastDescriptor* gstMpegtsDataBroadcastDescriptor; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsDataBroadcastDescriptor* getDataBroadcastDescriptorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsDataBroadcastDescriptor; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsDataBroadcastDescriptor; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsDataBroadcastDescriptor* gstMpegtsDataBroadcastDescriptor, bool ownedRef = false) - { - this.gstMpegtsDataBroadcastDescriptor = gstMpegtsDataBroadcastDescriptor; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - gst_mpegts_dvb_data_broadcast_descriptor_free(gstMpegtsDataBroadcastDescriptor); - } - - - /** - * the data broadcast id - */ - public @property ushort dataBroadcastId() - { - return gstMpegtsDataBroadcastDescriptor.dataBroadcastId; - } - - /** Ditto */ - public @property void dataBroadcastId(ushort value) - { - gstMpegtsDataBroadcastDescriptor.dataBroadcastId = value; - } - - /** - * the component tag - */ - public @property ubyte componentTag() - { - return gstMpegtsDataBroadcastDescriptor.componentTag; - } - - /** Ditto */ - public @property void componentTag(ubyte value) - { - gstMpegtsDataBroadcastDescriptor.componentTag = value; - } - - - /** - * the selector byte field - */ - public @property ubyte[] selectorBytes() - { - return gstMpegtsDataBroadcastDescriptor.selectorBytes[0..gstMpegtsDataBroadcastDescriptor.length]; - } - - /** Ditto */ - public @property void selectorBytes(ubyte[] value) - { - gstMpegtsDataBroadcastDescriptor.selectorBytes = value.ptr; - gstMpegtsDataBroadcastDescriptor.length = cast(ubyte)value.length; - } - - /** - * language of @text - */ - public @property string languageCode() - { - return Str.toString(gstMpegtsDataBroadcastDescriptor.languageCode); - } - - /** Ditto */ - public @property void languageCode(string value) - { - gstMpegtsDataBroadcastDescriptor.languageCode = Str.toStringz(value); - } - - /** - * description of data broadcast - */ - public @property string text() - { - return Str.toString(gstMpegtsDataBroadcastDescriptor.text); - } - - /** Ditto */ - public @property void text(string value) - { - gstMpegtsDataBroadcastDescriptor.text = Str.toStringz(value); - } - - /** */ - public static GType getType() - { - return gst_mpegts_dvb_data_broadcast_descriptor_get_type(); - } - - /** */ - public void free() - { - gst_mpegts_dvb_data_broadcast_descriptor_free(gstMpegtsDataBroadcastDescriptor); - ownedRef = false; - } -} diff --git a/generated/gstreamer/gst/mpegts/Descriptor.d b/generated/gstreamer/gst/mpegts/Descriptor.d deleted file mode 100644 index 1f096de3f..000000000 --- a/generated/gstreamer/gst/mpegts/Descriptor.d +++ /dev/null @@ -1,976 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.Descriptor; - -private import glib.ArrayG; -private import glib.MemorySlice; -private import glib.PtrArray; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gst.mpegts.CableDeliverySystemDescriptor; -private import gst.mpegts.ComponentDescriptor; -private import gst.mpegts.Content; -private import gst.mpegts.DVBLinkageDescriptor; -private import gst.mpegts.DVBParentalRatingItem; -private import gst.mpegts.DVBServiceListItem; -private import gst.mpegts.DataBroadcastDescriptor; -private import gst.mpegts.DvbMultilingualBouquetNameItem; -private import gst.mpegts.DvbMultilingualComponentItem; -private import gst.mpegts.DvbMultilingualNetworkNameItem; -private import gst.mpegts.DvbMultilingualServiceNameItem; -private import gst.mpegts.ExtendedEventDescriptor; -private import gst.mpegts.ISO639LanguageDescriptor; -private import gst.mpegts.LogicalChannelDescriptor; -private import gst.mpegts.SatelliteDeliverySystemDescriptor; -private import gst.mpegts.T2DeliverySystemDescriptor; -private import gst.mpegts.TerrestrialDeliverySystemDescriptor; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * These are the base descriptor types and methods. - * - * For more details, refer to the ITU H.222.0 or ISO/IEC 13818-1 specifications - * and other specifications mentioned in the documentation. - */ -public class Descriptor -{ - /** the main Gtk struct */ - protected GstMpegtsDescriptor* gstMpegtsDescriptor; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsDescriptor* getDescriptorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsDescriptor; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsDescriptor; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsDescriptor* gstMpegtsDescriptor, bool ownedRef = false) - { - this.gstMpegtsDescriptor = gstMpegtsDescriptor; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - gst_mpegts_descriptor_free(gstMpegtsDescriptor); - } - - /** - * Parses out the stuffing bytes from the @descriptor. - * - * Params: - * stuffingBytes = the stuffing bytes - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbStuffing(out ubyte[] stuffingBytes) - { - ubyte* outstuffingBytes = null; - - auto p = gst_mpegts_descriptor_parse_dvb_stuffing(gstMpegtsDescriptor, &outstuffingBytes) != 0; - - stuffingBytes = outstuffingBytes[0 .. gstMpegtsDescriptor.length]; - - return p; - } - - /** - */ - - /** */ - public static GType getType() - { - return gst_mpegts_descriptor_get_type(); - } - - /** - * Frees @desc - */ - public void free() - { - gst_mpegts_descriptor_free(gstMpegtsDescriptor); - ownedRef = false; - } - - /** - * Extracts the Conditional Access information from @descriptor. - * - * Params: - * caSystemId = the type of CA system used - * caPid = The PID containing ECM or EMM data - * privateData = The private data - * - * Returns: %TRUE if parsing succeeded, else %FALSE. - */ - public bool parseCa(out ushort caSystemId, out ushort caPid, out ubyte[] privateData) - { - ubyte* outprivateData; - size_t privateDataSize; - - auto __p = gst_mpegts_descriptor_parse_ca(gstMpegtsDescriptor, &caSystemId, &caPid, &outprivateData, &privateDataSize) != 0; - - privateData = outprivateData[0 .. privateDataSize]; - - return __p; - } - - /** - * Extracts the cable delivery system information from @descriptor. - * - * Params: - * res = the #GstMpegtsCableDeliverySystemDescriptor to fill - * - * Returns: %TRUE if parsing succeeded, else %FALSE. - */ - public bool parseCableDeliverySystem(out CableDeliverySystemDescriptor res) - { - GstMpegtsCableDeliverySystemDescriptor* outres = sliceNew!GstMpegtsCableDeliverySystemDescriptor(); - - auto __p = gst_mpegts_descriptor_parse_cable_delivery_system(gstMpegtsDescriptor, outres) != 0; - - res = ObjectG.getDObject!(CableDeliverySystemDescriptor)(outres, true); - - return __p; - } - - /** - * Extracts the bouquet name from @descriptor. - * - * Params: - * bouquetName = the bouquet name - * - * Returns: %TRUE if parsing succeeded, else %FALSE. - */ - public bool parseDvbBouquetName(out string bouquetName) - { - char* outbouquetName = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_bouquet_name(gstMpegtsDescriptor, &outbouquetName) != 0; - - bouquetName = Str.toString(outbouquetName); - - return __p; - } - - /** - * Extracts ca id's from @descriptor. - * - * Params: - * list = a list of ca identifier. - * Edge entry identifies the CA system. Allocations of the value of this field - * are found in http://www.dvbservices.com - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbCaIdentifier(out ArrayG list) - { - GArray* outlist = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_ca_identifier(gstMpegtsDescriptor, &outlist) != 0; - - list = new ArrayG(outlist); - - return __p; - } - - /** - * Extracts the DVB component information from @descriptor. - * - * Params: - * res = the #GstMpegtsComponentDescriptor to fill - * - * Returns: %TRUE if parsing succeeded, else %FALSE. - */ - public bool parseDvbComponent(out ComponentDescriptor res) - { - GstMpegtsComponentDescriptor* outres = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_component(gstMpegtsDescriptor, &outres) != 0; - - res = ObjectG.getDObject!(ComponentDescriptor)(outres); - - return __p; - } - - /** - * Extracts the DVB content information from @descriptor. - * - * Params: - * content = #GstMpegtsContent - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbContent(out PtrArray content) - { - GPtrArray* outcontent = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_content(gstMpegtsDescriptor, &outcontent) != 0; - - content = new PtrArray(outcontent); - - return __p; - } - - /** - * Parses out the data broadcast from the @descriptor. - * - * Params: - * res = #GstMpegtsDataBroadcastDescriptor - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbDataBroadcast(out DataBroadcastDescriptor res) - { - GstMpegtsDataBroadcastDescriptor* outres = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_data_broadcast(gstMpegtsDescriptor, &outres) != 0; - - res = ObjectG.getDObject!(DataBroadcastDescriptor)(outres); - - return __p; - } - - /** - * Parses out the data broadcast id from the @descriptor. - * - * Params: - * dataBroadcastId = the data broadcast id - * idSelectorBytes = the selector bytes, if present - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbDataBroadcastId(out ushort dataBroadcastId, out ubyte[] idSelectorBytes) - { - ubyte* outidSelectorBytes; - ubyte len; - - auto __p = gst_mpegts_descriptor_parse_dvb_data_broadcast_id(gstMpegtsDescriptor, &dataBroadcastId, &outidSelectorBytes, &len) != 0; - - idSelectorBytes = outidSelectorBytes[0 .. len]; - - return __p; - } - - /** - * Extracts the DVB extended event information from @descriptor. - * - * Params: - * res = the #GstMpegtsExtendedEventDescriptor to fill - * - * Returns: %TRUE if parsing succeeded, else %FALSE. - */ - public bool parseDvbExtendedEvent(out ExtendedEventDescriptor res) - { - GstMpegtsExtendedEventDescriptor* outres = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_extended_event(gstMpegtsDescriptor, &outres) != 0; - - res = ObjectG.getDObject!(ExtendedEventDescriptor)(outres); - - return __p; - } - - /** - * Parses out a list of frequencies from the @descriptor. - * - * Params: - * offset = %FALSE in Hz, %TRUE in kHz - * list = a list of all frequencies in Hz/kHz - * depending on @offset - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbFrequencyList(out bool offset, out ArrayG list) - { - int outoffset; - GArray* outlist = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_frequency_list(gstMpegtsDescriptor, &outoffset, &outlist) != 0; - - offset = (outoffset == 1); - list = new ArrayG(outlist); - - return __p; - } - - /** - * Extracts the DVB linkage information from @descriptor. - * - * Params: - * res = the #GstMpegtsDVBLinkageDescriptor to fill - * - * Returns: %TRUE if parsing succeeded, else %FALSE. - */ - public bool parseDvbLinkage(out DVBLinkageDescriptor res) - { - GstMpegtsDVBLinkageDescriptor* outres = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_linkage(gstMpegtsDescriptor, &outres) != 0; - - res = ObjectG.getDObject!(DVBLinkageDescriptor)(outres); - - return __p; - } - - /** - * Parses out the multilingual bouquet name from the @descriptor. - * - * Params: - * bouquetNameItems = a #GstMpegtsDvbMultilingualBouquetNameItem - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbMultilingualBouquetName(out PtrArray bouquetNameItems) - { - GPtrArray* outbouquetNameItems = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name(gstMpegtsDescriptor, &outbouquetNameItems) != 0; - - bouquetNameItems = new PtrArray(outbouquetNameItems); - - return __p; - } - - /** - * Parses out the multilingual component from the @descriptor. - * - * Params: - * componentTag = the component tag - * componentDescriptionItems = a #GstMpegtsDvbMultilingualComponentItem - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbMultilingualComponent(out ubyte componentTag, out PtrArray componentDescriptionItems) - { - GPtrArray* outcomponentDescriptionItems = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_multilingual_component(gstMpegtsDescriptor, &componentTag, &outcomponentDescriptionItems) != 0; - - componentDescriptionItems = new PtrArray(outcomponentDescriptionItems); - - return __p; - } - - /** - * Parses out the multilingual network name from the @descriptor. - * - * Params: - * networkNameItems = a #GstMpegtsDvbMultilingualNetworkNameItem - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbMultilingualNetworkName(out PtrArray networkNameItems) - { - GPtrArray* outnetworkNameItems = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_multilingual_network_name(gstMpegtsDescriptor, &outnetworkNameItems) != 0; - - networkNameItems = new PtrArray(outnetworkNameItems); - - return __p; - } - - /** - * Parses out the multilingual service name from the @descriptor. - * - * Params: - * serviceNameItems = a #GstMpegtsDvbMultilingualServiceNameItem - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbMultilingualServiceName(out PtrArray serviceNameItems) - { - GPtrArray* outserviceNameItems = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_multilingual_service_name(gstMpegtsDescriptor, &outserviceNameItems) != 0; - - serviceNameItems = new PtrArray(outserviceNameItems); - - return __p; - } - - /** - * Parses out the dvb network name from the @descriptor: - * - * Params: - * name = the extracted name - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbNetworkName(out string name) - { - char* outname = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_network_name(gstMpegtsDescriptor, &outname) != 0; - - name = Str.toString(outname); - - return __p; - } - - /** - * Extracts the DVB parental rating information from @descriptor. - * - * Params: - * rating = #GstMpegtsDVBParentalRatingItem - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbParentalRating(out PtrArray rating) - { - GPtrArray* outrating = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_parental_rating(gstMpegtsDescriptor, &outrating) != 0; - - rating = new PtrArray(outrating); - - return __p; - } - - /** - * Parses out the private data specifier from the @descriptor. - * - * Params: - * privateDataSpecifier = the private data specifier id - * registered by http://www.dvbservices.com/ - * privateData = additional data or NULL - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbPrivateDataSpecifier(out uint privateDataSpecifier, out ubyte[] privateData) - { - ubyte* outprivateData; - ubyte length; - - auto __p = gst_mpegts_descriptor_parse_dvb_private_data_specifier(gstMpegtsDescriptor, &privateDataSpecifier, &outprivateData, &length) != 0; - - privateData = outprivateData[0 .. length]; - - return __p; - } - - /** - * Parses out the scrambling mode from the @descriptor. - * - * Params: - * scramblingMode = This 8-bit field identifies the selected - * mode of the scrambling algorithm (#GstMpegtsDVBScramblingModeType). - * The technical details of the scrambling algorithm are available only - * to bona-fide users upon signature of a Non Disclosure Agreement (NDA) - * administered by the DVB Common Scrambling Algorithm Custodian. - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbScrambling(out GstMpegtsDVBScramblingModeType scramblingMode) - { - return gst_mpegts_descriptor_parse_dvb_scrambling(gstMpegtsDescriptor, &scramblingMode) != 0; - } - - /** - * Extracts the dvb service information from @descriptor. - * - * Params: - * serviceType = the service type - * serviceName = the service name - * providerName = the provider name - * - * Returns: %TRUE if parsing succeeded, else %FALSE. - */ - public bool parseDvbService(out GstMpegtsDVBServiceType serviceType, out string serviceName, out string providerName) - { - char* outserviceName = null; - char* outproviderName = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_service(gstMpegtsDescriptor, &serviceType, &outserviceName, &outproviderName) != 0; - - serviceName = Str.toString(outserviceName); - providerName = Str.toString(outproviderName); - - return __p; - } - - /** - * Parses out a list of services from the @descriptor: - * - * Params: - * list = the list of services - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbServiceList(out PtrArray list) - { - GPtrArray* outlist = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_service_list(gstMpegtsDescriptor, &outlist) != 0; - - list = new PtrArray(outlist); - - return __p; - } - - /** - * Extracts the DVB short event information from @descriptor. - * - * Params: - * languageCode = the language code - * eventName = the event name - * text = the event text - * - * Returns: %TRUE if parsing succeeded, else %FALSE. - */ - public bool parseDvbShortEvent(out string languageCode, out string eventName, out string text) - { - char* outlanguageCode = null; - char* outeventName = null; - char* outtext = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_short_event(gstMpegtsDescriptor, &outlanguageCode, &outeventName, &outtext) != 0; - - languageCode = Str.toString(outlanguageCode); - eventName = Str.toString(outeventName); - text = Str.toString(outtext); - - return __p; - } - - /** - * Extracts the component tag from @descriptor. - * - * Params: - * componentTag = the component tag - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbStreamIdentifier(out ubyte componentTag) - { - return gst_mpegts_descriptor_parse_dvb_stream_identifier(gstMpegtsDescriptor, &componentTag) != 0; - } - - /** - * Extracts the DVB subtitling informatio from specific table id in @descriptor. - * - * Note: Use #gst_tag_get_language_code if you want to get the the - * ISO 639-1 language code from the returned ISO 639-2 one. - * - * Params: - * idx = Table id of the entry to parse - * lang = the language code - * type = the type of subtitling - * compositionPageId = the composition page id - * ancillaryPageId = the ancillary page id - * - * Returns: %TRUE if parsing succeeded, else %FALSE. - */ - public bool parseDvbSubtitlingIdx(uint idx, out string lang, out ubyte type, out ushort compositionPageId, out ushort ancillaryPageId) - { - char* outlang = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_subtitling_idx(gstMpegtsDescriptor, idx, &outlang, &type, &compositionPageId, &ancillaryPageId) != 0; - - lang = Str.toString(outlang); - - return __p; - } - - /** - * Returns: The number of entries in @descriptor - */ - public uint parseDvbSubtitlingNb() - { - return gst_mpegts_descriptor_parse_dvb_subtitling_nb(gstMpegtsDescriptor); - } - - /** - * Parses out the DVB-T2 delivery system from the @descriptor. - * - * Params: - * res = #GstMpegtsT2DeliverySystemDescriptor - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseDvbT2DeliverySystem(out T2DeliverySystemDescriptor res) - { - GstMpegtsT2DeliverySystemDescriptor* outres = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_t2_delivery_system(gstMpegtsDescriptor, &outres) != 0; - - res = ObjectG.getDObject!(T2DeliverySystemDescriptor)(outres); - - return __p; - } - - /** - * Parses teletext number @idx in the @descriptor. The language is in ISO639 format. - * - * Params: - * idx = The id of the teletext to get - * languageCode = a null-terminated string - * teletextType = #GstMpegtsDVBTeletextType - * - * Returns: FALSE on out-of-bounds and errors - */ - public bool parseDvbTeletextIdx(uint idx, out string languageCode, out GstMpegtsDVBTeletextType teletextType, out ubyte magazineNumber, out ubyte pageNumber) - { - char* outlanguageCode = null; - - auto __p = gst_mpegts_descriptor_parse_dvb_teletext_idx(gstMpegtsDescriptor, idx, &outlanguageCode, &teletextType, &magazineNumber, &pageNumber) != 0; - - languageCode = Str.toString(outlanguageCode); - - return __p; - } - - /** - * Find the number of teletext entries in @descriptor - * - * Returns: Number of teletext entries - */ - public uint parseDvbTeletextNb() - { - return gst_mpegts_descriptor_parse_dvb_teletext_nb(gstMpegtsDescriptor); - } - - /** - * Extracts the iso 639-2 language information from @descriptor. - * - * Note: Use #gst_tag_get_language_code if you want to get the the - * ISO 639-1 language code from the returned ISO 639-2 one. - * - * Params: - * res = the #GstMpegtsISO639LanguageDescriptor to fill - * - * Returns: %TRUE if parsing succeeded, else %FALSE. - */ - public bool parseIso639Language(out ISO639LanguageDescriptor res) - { - GstMpegtsISO639LanguageDescriptor* outres = null; - - auto __p = gst_mpegts_descriptor_parse_iso_639_language(gstMpegtsDescriptor, &outres) != 0; - - res = ObjectG.getDObject!(ISO639LanguageDescriptor)(outres); - - return __p; - } - - /** - * Extracts the iso 639-2 language information from specific table id in @descriptor. - * - * Note: Use #gst_tag_get_language_code if you want to get the the - * ISO 639-1 language code from the returned ISO 639-2 one. - * - * Params: - * idx = Table id of the language to parse - * lang = 4-byte gchar array to hold the language code - * audioType = the #GstMpegtsIso639AudioType to set - * - * Returns: %TRUE if parsing succeeded, else %FALSE. - */ - public bool parseIso639LanguageIdx(uint idx, out string lang, out GstMpegtsIso639AudioType audioType) - { - char* outlang = null; - - auto __p = gst_mpegts_descriptor_parse_iso_639_language_idx(gstMpegtsDescriptor, idx, &outlang, &audioType) != 0; - - lang = Str.toString(outlang); - - return __p; - } - - /** - * Returns: The number of languages in @descriptor - */ - public uint parseIso639LanguageNb() - { - return gst_mpegts_descriptor_parse_iso_639_language_nb(gstMpegtsDescriptor); - } - - /** - * Extracts the logical channels from @descriptor. - * - * Params: - * res = the #GstMpegtsLogicalChannelDescriptor to fill - * - * Returns: %TRUE if parsing succeeded, else %FALSE. - */ - public bool parseLogicalChannel(out LogicalChannelDescriptor res) - { - GstMpegtsLogicalChannelDescriptor* outres = sliceNew!GstMpegtsLogicalChannelDescriptor(); - - auto __p = gst_mpegts_descriptor_parse_logical_channel(gstMpegtsDescriptor, outres) != 0; - - res = ObjectG.getDObject!(LogicalChannelDescriptor)(outres, true); - - return __p; - } - - /** - * Extracts the satellite delivery system information from @descriptor. - * - * Params: - * res = the #GstMpegtsSatelliteDeliverySystemDescriptor to fill - * - * Returns: %TRUE if parsing succeeded, else %FALSE. - */ - public bool parseSatelliteDeliverySystem(out SatelliteDeliverySystemDescriptor res) - { - GstMpegtsSatelliteDeliverySystemDescriptor* outres = sliceNew!GstMpegtsSatelliteDeliverySystemDescriptor(); - - auto __p = gst_mpegts_descriptor_parse_satellite_delivery_system(gstMpegtsDescriptor, outres) != 0; - - res = ObjectG.getDObject!(SatelliteDeliverySystemDescriptor)(outres, true); - - return __p; - } - - /** - * Parses out the terrestrial delivery system from the @descriptor. - * - * Params: - * res = #GstMpegtsTerrestrialDeliverySystemDescriptor - * - * Returns: %TRUE if the parsing happened correctly, else %FALSE. - */ - public bool parseTerrestrialDeliverySystem(out TerrestrialDeliverySystemDescriptor res) - { - GstMpegtsTerrestrialDeliverySystemDescriptor* outres = sliceNew!GstMpegtsTerrestrialDeliverySystemDescriptor(); - - auto __p = gst_mpegts_descriptor_parse_terrestrial_delivery_system(gstMpegtsDescriptor, outres) != 0; - - res = ObjectG.getDObject!(TerrestrialDeliverySystemDescriptor)(outres, true); - - return __p; - } - - /** - * Creates a #GstMpegtsDescriptor with custom @tag and @data - * - * Params: - * tag = descriptor tag - * data = descriptor data (after tag and length field) - * - * Returns: #GstMpegtsDescriptor - */ - public static Descriptor fromCustom(ubyte tag, ubyte[] data) - { - auto __p = gst_mpegts_descriptor_from_custom(tag, data.ptr, cast(size_t)data.length); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Descriptor)(cast(GstMpegtsDescriptor*) __p, true); - } - - /** - * Creates a #GstMpegtsDescriptor with custom @tag, @tag_extension and @data - * - * Params: - * tag = descriptor tag - * tagExtension = descriptor tag extension - * data = descriptor data (after tag and length field) - * - * Returns: #GstMpegtsDescriptor - */ - public static Descriptor fromCustomWithExtension(ubyte tag, ubyte tagExtension, ubyte[] data) - { - auto __p = gst_mpegts_descriptor_from_custom_with_extension(tag, tagExtension, data.ptr, cast(size_t)data.length); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Descriptor)(cast(GstMpegtsDescriptor*) __p, true); - } - - /** - * Creates a #GstMpegtsDescriptor to be a %GST_MTS_DESC_DVB_NETWORK_NAME, - * with the network name @name. The data field of the #GstMpegtsDescriptor - * will be allocated, and transferred to the caller. - * - * Params: - * name = the network name to set - * - * Returns: the #GstMpegtsDescriptor or %NULL on fail - */ - public static Descriptor fromDvbNetworkName(string name) - { - auto __p = gst_mpegts_descriptor_from_dvb_network_name(Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Descriptor)(cast(GstMpegtsDescriptor*) __p, true); - } - - /** - * Fills a #GstMpegtsDescriptor to be a %GST_MTS_DESC_DVB_SERVICE. - * The data field of the #GstMpegtsDescriptor will be allocated, - * and transferred to the caller. - * - * Params: - * serviceType = Service type defined as a #GstMpegtsDVBServiceType - * serviceName = Name of the service - * serviceProvider = Name of the service provider - * - * Returns: the #GstMpegtsDescriptor or %NULL on fail - */ - public static Descriptor fromDvbService(GstMpegtsDVBServiceType serviceType, string serviceName, string serviceProvider) - { - auto __p = gst_mpegts_descriptor_from_dvb_service(serviceType, Str.toStringz(serviceName), Str.toStringz(serviceProvider)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Descriptor)(cast(GstMpegtsDescriptor*) __p, true); - } - - /** */ - public static Descriptor fromDvbSubtitling(string lang, ubyte type, ushort composition, ushort ancillary) - { - auto __p = gst_mpegts_descriptor_from_dvb_subtitling(Str.toStringz(lang), type, composition, ancillary); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Descriptor)(cast(GstMpegtsDescriptor*) __p, true); - } - - /** - * Creates a %GST_MTS_DESC_ISO_639_LANGUAGE #GstMpegtsDescriptor with - * a single language - * - * Params: - * language = ISO-639-2 language 3-char code - * - * Returns: #GstMpegtsDescriptor, %NULL on failure - */ - public static Descriptor fromIso639Language(string language) - { - auto __p = gst_mpegts_descriptor_from_iso_639_language(Str.toStringz(language)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Descriptor)(cast(GstMpegtsDescriptor*) __p, true); - } - - /** - * Creates a %GST_MTS_DESC_REGISTRATION #GstMpegtsDescriptor - * - * Params: - * formatIdentifier = a 4 character format identifier string - * additionalInfo = pointer to optional additional info - * - * Returns: #GstMpegtsDescriptor, %NULL on failure - */ - public static Descriptor fromRegistration(string formatIdentifier, ubyte[] additionalInfo) - { - auto __p = gst_mpegts_descriptor_from_registration(Str.toStringz(formatIdentifier), additionalInfo.ptr, cast(size_t)additionalInfo.length); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Descriptor)(cast(GstMpegtsDescriptor*) __p, true); - } - - /** - * Finds the first descriptor of type @tag in the array. - * - * Note: To look for descriptors that can be present more than once in an - * array of descriptors, iterate the #GArray manually. - * - * Params: - * descriptors = an array - * of #GstMpegtsDescriptor - * tag = the tag to look for - * - * Returns: the first descriptor matching @tag, else %NULL. - */ - public static Descriptor findDescriptor(PtrArray descriptors, ubyte tag) - { - auto __p = gst_mpegts_find_descriptor((descriptors is null) ? null : descriptors.getPtrArrayStruct(), tag); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Descriptor)(cast(GstMpegtsDescriptor*) __p); - } - - /** - * Parses the descriptors present in @buffer and returns them as an - * array. - * - * Note: The data provided in @buffer will not be copied. - * - * Params: - * buffer = descriptors to parse - * bufLen = Size of @buffer - * - * Returns: an - * array of the parsed descriptors or %NULL if there was an error. - * Release with #g_array_unref when done with it. - */ - public static PtrArray parseDescriptors(ubyte* buffer, size_t bufLen) - { - auto __p = gst_mpegts_parse_descriptors(buffer, bufLen); - - if(__p is null) - { - return null; - } - - return new PtrArray(cast(GPtrArray*) __p, true); - } -} diff --git a/generated/gstreamer/gst/mpegts/DvbMultilingualBouquetNameItem.d b/generated/gstreamer/gst/mpegts/DvbMultilingualBouquetNameItem.d deleted file mode 100644 index 93d75fbdf..000000000 --- a/generated/gstreamer/gst/mpegts/DvbMultilingualBouquetNameItem.d +++ /dev/null @@ -1,107 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.DvbMultilingualBouquetNameItem; - -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * a multilingual bouquet name entry - */ -public final class DvbMultilingualBouquetNameItem -{ - /** the main Gtk struct */ - protected GstMpegtsDvbMultilingualBouquetNameItem* gstMpegtsDvbMultilingualBouquetNameItem; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsDvbMultilingualBouquetNameItem* getDvbMultilingualBouquetNameItemStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsDvbMultilingualBouquetNameItem; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsDvbMultilingualBouquetNameItem; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsDvbMultilingualBouquetNameItem* gstMpegtsDvbMultilingualBouquetNameItem, bool ownedRef = false) - { - this.gstMpegtsDvbMultilingualBouquetNameItem = gstMpegtsDvbMultilingualBouquetNameItem; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsDvbMultilingualBouquetNameItem); - } - - - /** - * the ISO 639 language code - */ - public @property string languageCode() - { - return Str.toString(gstMpegtsDvbMultilingualBouquetNameItem.languageCode); - } - - /** Ditto */ - public @property void languageCode(string value) - { - gstMpegtsDvbMultilingualBouquetNameItem.languageCode = Str.toStringz(value); - } - - /** - * the bouquet name - */ - public @property string bouquetName() - { - return Str.toString(gstMpegtsDvbMultilingualBouquetNameItem.bouquetName); - } - - /** Ditto */ - public @property void bouquetName(string value) - { - gstMpegtsDvbMultilingualBouquetNameItem.bouquetName = Str.toStringz(value); - } - - /** */ - public static GType getType() - { - return gst_mpegts_dvb_multilingual_bouquet_name_item_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/DvbMultilingualComponentItem.d b/generated/gstreamer/gst/mpegts/DvbMultilingualComponentItem.d deleted file mode 100644 index 802c29872..000000000 --- a/generated/gstreamer/gst/mpegts/DvbMultilingualComponentItem.d +++ /dev/null @@ -1,105 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.DvbMultilingualComponentItem; - -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class DvbMultilingualComponentItem -{ - /** the main Gtk struct */ - protected GstMpegtsDvbMultilingualComponentItem* gstMpegtsDvbMultilingualComponentItem; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsDvbMultilingualComponentItem* getDvbMultilingualComponentItemStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsDvbMultilingualComponentItem; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsDvbMultilingualComponentItem; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsDvbMultilingualComponentItem* gstMpegtsDvbMultilingualComponentItem, bool ownedRef = false) - { - this.gstMpegtsDvbMultilingualComponentItem = gstMpegtsDvbMultilingualComponentItem; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsDvbMultilingualComponentItem); - } - - - /** - * the ISO 639 language code - */ - public @property string languageCode() - { - return Str.toString(gstMpegtsDvbMultilingualComponentItem.languageCode); - } - - /** Ditto */ - public @property void languageCode(string value) - { - gstMpegtsDvbMultilingualComponentItem.languageCode = Str.toStringz(value); - } - - /** - * the component description - */ - public @property string description() - { - return Str.toString(gstMpegtsDvbMultilingualComponentItem.description); - } - - /** Ditto */ - public @property void description(string value) - { - gstMpegtsDvbMultilingualComponentItem.description = Str.toStringz(value); - } - - /** */ - public static GType getType() - { - return gst_mpegts_dvb_multilingual_component_item_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/DvbMultilingualNetworkNameItem.d b/generated/gstreamer/gst/mpegts/DvbMultilingualNetworkNameItem.d deleted file mode 100644 index 51823ef7a..000000000 --- a/generated/gstreamer/gst/mpegts/DvbMultilingualNetworkNameItem.d +++ /dev/null @@ -1,107 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.DvbMultilingualNetworkNameItem; - -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * a multilingual network name entry - */ -public final class DvbMultilingualNetworkNameItem -{ - /** the main Gtk struct */ - protected GstMpegtsDvbMultilingualNetworkNameItem* gstMpegtsDvbMultilingualNetworkNameItem; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsDvbMultilingualNetworkNameItem* getDvbMultilingualNetworkNameItemStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsDvbMultilingualNetworkNameItem; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsDvbMultilingualNetworkNameItem; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsDvbMultilingualNetworkNameItem* gstMpegtsDvbMultilingualNetworkNameItem, bool ownedRef = false) - { - this.gstMpegtsDvbMultilingualNetworkNameItem = gstMpegtsDvbMultilingualNetworkNameItem; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsDvbMultilingualNetworkNameItem); - } - - - /** - * the ISO 639 language code - */ - public @property string languageCode() - { - return Str.toString(gstMpegtsDvbMultilingualNetworkNameItem.languageCode); - } - - /** Ditto */ - public @property void languageCode(string value) - { - gstMpegtsDvbMultilingualNetworkNameItem.languageCode = Str.toStringz(value); - } - - /** - * the network name - */ - public @property string networkName() - { - return Str.toString(gstMpegtsDvbMultilingualNetworkNameItem.networkName); - } - - /** Ditto */ - public @property void networkName(string value) - { - gstMpegtsDvbMultilingualNetworkNameItem.networkName = Str.toStringz(value); - } - - /** */ - public static GType getType() - { - return gst_mpegts_dvb_multilingual_network_name_item_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/DvbMultilingualServiceNameItem.d b/generated/gstreamer/gst/mpegts/DvbMultilingualServiceNameItem.d deleted file mode 100644 index 9631e2704..000000000 --- a/generated/gstreamer/gst/mpegts/DvbMultilingualServiceNameItem.d +++ /dev/null @@ -1,121 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.DvbMultilingualServiceNameItem; - -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * a multilingual service name entry - */ -public final class DvbMultilingualServiceNameItem -{ - /** the main Gtk struct */ - protected GstMpegtsDvbMultilingualServiceNameItem* gstMpegtsDvbMultilingualServiceNameItem; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsDvbMultilingualServiceNameItem* getDvbMultilingualServiceNameItemStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsDvbMultilingualServiceNameItem; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsDvbMultilingualServiceNameItem; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsDvbMultilingualServiceNameItem* gstMpegtsDvbMultilingualServiceNameItem, bool ownedRef = false) - { - this.gstMpegtsDvbMultilingualServiceNameItem = gstMpegtsDvbMultilingualServiceNameItem; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsDvbMultilingualServiceNameItem); - } - - - /** - * the ISO 639 language code - */ - public @property string languageCode() - { - return Str.toString(gstMpegtsDvbMultilingualServiceNameItem.languageCode); - } - - /** Ditto */ - public @property void languageCode(string value) - { - gstMpegtsDvbMultilingualServiceNameItem.languageCode = Str.toStringz(value); - } - - /** - * the provider name - */ - public @property string providerName() - { - return Str.toString(gstMpegtsDvbMultilingualServiceNameItem.providerName); - } - - /** Ditto */ - public @property void providerName(string value) - { - gstMpegtsDvbMultilingualServiceNameItem.providerName = Str.toStringz(value); - } - - /** - * the service name - */ - public @property string serviceName() - { - return Str.toString(gstMpegtsDvbMultilingualServiceNameItem.serviceName); - } - - /** Ditto */ - public @property void serviceName(string value) - { - gstMpegtsDvbMultilingualServiceNameItem.serviceName = Str.toStringz(value); - } - - /** */ - public static GType getType() - { - return gst_mpegts_dvb_multilingual_service_name_item_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/EIT.d b/generated/gstreamer/gst/mpegts/EIT.d deleted file mode 100644 index 9c5e5bbbc..000000000 --- a/generated/gstreamer/gst/mpegts/EIT.d +++ /dev/null @@ -1,164 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.EIT; - -private import glib.MemorySlice; -private import glib.PtrArray; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Event Information Table (EN 300 468) - */ -public final class EIT -{ - /** the main Gtk struct */ - protected GstMpegtsEIT* gstMpegtsEIT; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsEIT* getEITStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsEIT; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsEIT; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsEIT* gstMpegtsEIT, bool ownedRef = false) - { - this.gstMpegtsEIT = gstMpegtsEIT; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsEIT); - } - - - /** */ - public @property ushort transportStreamId() - { - return gstMpegtsEIT.transportStreamId; - } - - /** Ditto */ - public @property void transportStreamId(ushort value) - { - gstMpegtsEIT.transportStreamId = value; - } - - /** */ - public @property ushort originalNetworkId() - { - return gstMpegtsEIT.originalNetworkId; - } - - /** Ditto */ - public @property void originalNetworkId(ushort value) - { - gstMpegtsEIT.originalNetworkId = value; - } - - /** */ - public @property ubyte segmentLastSectionNumber() - { - return gstMpegtsEIT.segmentLastSectionNumber; - } - - /** Ditto */ - public @property void segmentLastSectionNumber(ubyte value) - { - gstMpegtsEIT.segmentLastSectionNumber = value; - } - - /** */ - public @property ubyte lastTableId() - { - return gstMpegtsEIT.lastTableId; - } - - /** Ditto */ - public @property void lastTableId(ubyte value) - { - gstMpegtsEIT.lastTableId = value; - } - - /** */ - public @property bool actualStream() - { - return gstMpegtsEIT.actualStream != 0; - } - - /** Ditto */ - public @property void actualStream(bool value) - { - gstMpegtsEIT.actualStream = value; - } - - /** */ - public @property bool presentFollowing() - { - return gstMpegtsEIT.presentFollowing != 0; - } - - /** Ditto */ - public @property void presentFollowing(bool value) - { - gstMpegtsEIT.presentFollowing = value; - } - - /** - * List of events - */ - public @property PtrArray events() - { - return new PtrArray(gstMpegtsEIT.events, false); - } - - /** Ditto */ - public @property void events(PtrArray value) - { - gstMpegtsEIT.events = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_eit_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/EITEvent.d b/generated/gstreamer/gst/mpegts/EITEvent.d deleted file mode 100644 index 16decd5fa..000000000 --- a/generated/gstreamer/gst/mpegts/EITEvent.d +++ /dev/null @@ -1,154 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.EITEvent; - -private import glib.MemorySlice; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gstreamer.DateTime; -private import gtkd.Loader; - - -/** - * Event from a @GstMpegtsEIT - */ -public final class EITEvent -{ - /** the main Gtk struct */ - protected GstMpegtsEITEvent* gstMpegtsEITEvent; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsEITEvent* getEITEventStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsEITEvent; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsEITEvent; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsEITEvent* gstMpegtsEITEvent, bool ownedRef = false) - { - this.gstMpegtsEITEvent = gstMpegtsEITEvent; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsEITEvent); - } - - - /** */ - public @property ushort eventId() - { - return gstMpegtsEITEvent.eventId; - } - - /** Ditto */ - public @property void eventId(ushort value) - { - gstMpegtsEITEvent.eventId = value; - } - - /** */ - public @property DateTime startTime() - { - return ObjectG.getDObject!(DateTime)(gstMpegtsEITEvent.startTime, false); - } - - /** Ditto */ - public @property void startTime(DateTime value) - { - gstMpegtsEITEvent.startTime = value.getDateTimeStruct(); - } - - /** */ - public @property uint duration() - { - return gstMpegtsEITEvent.duration; - } - - /** Ditto */ - public @property void duration(uint value) - { - gstMpegtsEITEvent.duration = value; - } - - /** */ - public @property GstMpegtsRunningStatus runningStatus() - { - return gstMpegtsEITEvent.runningStatus; - } - - /** Ditto */ - public @property void runningStatus(GstMpegtsRunningStatus value) - { - gstMpegtsEITEvent.runningStatus = value; - } - - /** */ - public @property bool freeCAMode() - { - return gstMpegtsEITEvent.freeCAMode != 0; - } - - /** Ditto */ - public @property void freeCAMode(bool value) - { - gstMpegtsEITEvent.freeCAMode = value; - } - - /** - * List of descriptors - */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsEITEvent.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsEITEvent.descriptors = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_eit_event_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/ExtendedEventDescriptor.d b/generated/gstreamer/gst/mpegts/ExtendedEventDescriptor.d deleted file mode 100644 index a972839a2..000000000 --- a/generated/gstreamer/gst/mpegts/ExtendedEventDescriptor.d +++ /dev/null @@ -1,151 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.ExtendedEventDescriptor; - -private import glib.MemorySlice; -private import glib.PtrArray; -private import glib.Str; -private import glib.c.functions; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Extended Event Descriptor (EN 300 468 v.1.13.1) - */ -public final class ExtendedEventDescriptor -{ - /** the main Gtk struct */ - protected GstMpegtsExtendedEventDescriptor* gstMpegtsExtendedEventDescriptor; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsExtendedEventDescriptor* getExtendedEventDescriptorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsExtendedEventDescriptor; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsExtendedEventDescriptor; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsExtendedEventDescriptor* gstMpegtsExtendedEventDescriptor, bool ownedRef = false) - { - this.gstMpegtsExtendedEventDescriptor = gstMpegtsExtendedEventDescriptor; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - gst_mpegts_extended_event_descriptor_free(gstMpegtsExtendedEventDescriptor); - } - - - /** */ - public @property ubyte descriptorNumber() - { - return gstMpegtsExtendedEventDescriptor.descriptorNumber; - } - - /** Ditto */ - public @property void descriptorNumber(ubyte value) - { - gstMpegtsExtendedEventDescriptor.descriptorNumber = value; - } - - /** */ - public @property ubyte lastDescriptorNumber() - { - return gstMpegtsExtendedEventDescriptor.lastDescriptorNumber; - } - - /** Ditto */ - public @property void lastDescriptorNumber(ubyte value) - { - gstMpegtsExtendedEventDescriptor.lastDescriptorNumber = value; - } - - /** - * NULL terminated language code. - */ - public @property string languageCode() - { - return Str.toString(gstMpegtsExtendedEventDescriptor.languageCode); - } - - /** Ditto */ - public @property void languageCode(string value) - { - gstMpegtsExtendedEventDescriptor.languageCode = Str.toStringz(value); - } - - /** - * the #GstMpegtsExtendedEventItem - */ - public @property PtrArray items() - { - return new PtrArray(gstMpegtsExtendedEventDescriptor.items, false); - } - - /** Ditto */ - public @property void items(PtrArray value) - { - gstMpegtsExtendedEventDescriptor.items = value.getPtrArrayStruct(); - } - - /** */ - public @property string text() - { - return Str.toString(gstMpegtsExtendedEventDescriptor.text); - } - - /** Ditto */ - public @property void text(string value) - { - gstMpegtsExtendedEventDescriptor.text = Str.toStringz(value); - } - - /** */ - public static GType getType() - { - return gst_mpegts_extended_event_descriptor_get_type(); - } - - /** */ - public void free() - { - gst_mpegts_extended_event_descriptor_free(gstMpegtsExtendedEventDescriptor); - ownedRef = false; - } -} diff --git a/generated/gstreamer/gst/mpegts/ExtendedEventItem.d b/generated/gstreamer/gst/mpegts/ExtendedEventItem.d deleted file mode 100644 index 1b03d8bea..000000000 --- a/generated/gstreamer/gst/mpegts/ExtendedEventItem.d +++ /dev/null @@ -1,101 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.ExtendedEventItem; - -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class ExtendedEventItem -{ - /** the main Gtk struct */ - protected GstMpegtsExtendedEventItem* gstMpegtsExtendedEventItem; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsExtendedEventItem* getExtendedEventItemStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsExtendedEventItem; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsExtendedEventItem; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsExtendedEventItem* gstMpegtsExtendedEventItem, bool ownedRef = false) - { - this.gstMpegtsExtendedEventItem = gstMpegtsExtendedEventItem; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsExtendedEventItem); - } - - - /** */ - public @property string itemDescription() - { - return Str.toString(gstMpegtsExtendedEventItem.itemDescription); - } - - /** Ditto */ - public @property void itemDescription(string value) - { - gstMpegtsExtendedEventItem.itemDescription = Str.toStringz(value); - } - - /** */ - public @property string item() - { - return Str.toString(gstMpegtsExtendedEventItem.item); - } - - /** Ditto */ - public @property void item(string value) - { - gstMpegtsExtendedEventItem.item = Str.toStringz(value); - } - - /** */ - public static GType getType() - { - return gst_mpegts_extended_event_item_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/ISO639LanguageDescriptor.d b/generated/gstreamer/gst/mpegts/ISO639LanguageDescriptor.d deleted file mode 100644 index 5f893ffbb..000000000 --- a/generated/gstreamer/gst/mpegts/ISO639LanguageDescriptor.d +++ /dev/null @@ -1,129 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.ISO639LanguageDescriptor; - -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class ISO639LanguageDescriptor -{ - /** the main Gtk struct */ - protected GstMpegtsISO639LanguageDescriptor* gstMpegtsISO639LanguageDescriptor; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsISO639LanguageDescriptor* getISO639LanguageDescriptorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsISO639LanguageDescriptor; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsISO639LanguageDescriptor; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsISO639LanguageDescriptor* gstMpegtsISO639LanguageDescriptor, bool ownedRef = false) - { - this.gstMpegtsISO639LanguageDescriptor = gstMpegtsISO639LanguageDescriptor; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsISO639LanguageDescriptor); - } - - - /** */ - public @property uint nbLanguage() - { - return gstMpegtsISO639LanguageDescriptor.nbLanguage; - } - - /** Ditto */ - public @property void nbLanguage(uint value) - { - gstMpegtsISO639LanguageDescriptor.nbLanguage = value; - } - - /** */ - public @property string[64] language() - { - string[64] arr; - foreach( i, str; gstMpegtsISO639LanguageDescriptor.language ) - { - arr[i] = Str.toString(str); - } - return arr; - } - - /** Ditto */ - public @property void language(string[64] value) - { - char*[64] arr; - foreach( i, str; value ) - { - arr[i] = Str.toStringz(str); - } - gstMpegtsISO639LanguageDescriptor.language = arr; - } - - /** */ - public @property GstMpegtsIso639AudioType[64] audioType() - { - return gstMpegtsISO639LanguageDescriptor.audioType; - } - - /** Ditto */ - public @property void audioType(GstMpegtsIso639AudioType[64] value) - { - gstMpegtsISO639LanguageDescriptor.audioType = value; - } - - /** */ - public static GType getType() - { - return gst_mpegts_iso_639_language_get_type(); - } - - /** */ - public void descriptorFree() - { - gst_mpegts_iso_639_language_descriptor_free(gstMpegtsISO639LanguageDescriptor); - } -} diff --git a/generated/gstreamer/gst/mpegts/LogicalChannel.d b/generated/gstreamer/gst/mpegts/LogicalChannel.d deleted file mode 100644 index 2b7b405d2..000000000 --- a/generated/gstreamer/gst/mpegts/LogicalChannel.d +++ /dev/null @@ -1,111 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.LogicalChannel; - -private import glib.MemorySlice; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class LogicalChannel -{ - /** the main Gtk struct */ - protected GstMpegtsLogicalChannel* gstMpegtsLogicalChannel; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsLogicalChannel* getLogicalChannelStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsLogicalChannel; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsLogicalChannel; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsLogicalChannel* gstMpegtsLogicalChannel, bool ownedRef = false) - { - this.gstMpegtsLogicalChannel = gstMpegtsLogicalChannel; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsLogicalChannel); - } - - - /** */ - public @property ushort serviceId() - { - return gstMpegtsLogicalChannel.serviceId; - } - - /** Ditto */ - public @property void serviceId(ushort value) - { - gstMpegtsLogicalChannel.serviceId = value; - } - - /** */ - public @property bool visibleService() - { - return gstMpegtsLogicalChannel.visibleService != 0; - } - - /** Ditto */ - public @property void visibleService(bool value) - { - gstMpegtsLogicalChannel.visibleService = value; - } - - /** */ - public @property ushort logicalChannelNumber() - { - return gstMpegtsLogicalChannel.logicalChannelNumber; - } - - /** Ditto */ - public @property void logicalChannelNumber(ushort value) - { - gstMpegtsLogicalChannel.logicalChannelNumber = value; - } - - /** */ - public static GType getType() - { - return gst_mpegts_logical_channel_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/LogicalChannelDescriptor.d b/generated/gstreamer/gst/mpegts/LogicalChannelDescriptor.d deleted file mode 100644 index 25cc62b76..000000000 --- a/generated/gstreamer/gst/mpegts/LogicalChannelDescriptor.d +++ /dev/null @@ -1,110 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.LogicalChannelDescriptor; - -private import glib.MemorySlice; -private import gobject.ObjectG; -private import gst.mpegts.LogicalChannel; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class LogicalChannelDescriptor -{ - /** the main Gtk struct */ - protected GstMpegtsLogicalChannelDescriptor* gstMpegtsLogicalChannelDescriptor; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsLogicalChannelDescriptor* getLogicalChannelDescriptorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsLogicalChannelDescriptor; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsLogicalChannelDescriptor; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsLogicalChannelDescriptor* gstMpegtsLogicalChannelDescriptor, bool ownedRef = false) - { - this.gstMpegtsLogicalChannelDescriptor = gstMpegtsLogicalChannelDescriptor; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsLogicalChannelDescriptor); - } - - - /** */ - public @property uint nbChannels() - { - return gstMpegtsLogicalChannelDescriptor.nbChannels; - } - - /** Ditto */ - public @property void nbChannels(uint value) - { - gstMpegtsLogicalChannelDescriptor.nbChannels = value; - } - - /** */ - public @property LogicalChannel[64] channels() - { - LogicalChannel[64] arr; - for ( int i = 0; i < arr.length; i++ ) - { - arr[i] = ObjectG.getDObject!(LogicalChannel)(&(gstMpegtsLogicalChannelDescriptor.channels[i]), false); - } - - return arr; - } - - /** Ditto */ - public @property void channels(LogicalChannel[64] value) - { - for ( int i = 0; i < value.length; i++ ) - { - gstMpegtsLogicalChannelDescriptor.channels[i] = *(value[i].getLogicalChannelStruct()); - } - } - - /** */ - public static GType getType() - { - return gst_mpegts_logical_channel_descriptor_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/NIT.d b/generated/gstreamer/gst/mpegts/NIT.d deleted file mode 100644 index 4c8e0fe9c..000000000 --- a/generated/gstreamer/gst/mpegts/NIT.d +++ /dev/null @@ -1,155 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.NIT; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Network Information Table (ISO/IEC 13818-1 / EN 300 468) - */ -public final class NIT -{ - /** the main Gtk struct */ - protected GstMpegtsNIT* gstMpegtsNIT; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsNIT* getNITStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsNIT; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsNIT; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsNIT* gstMpegtsNIT, bool ownedRef = false) - { - this.gstMpegtsNIT = gstMpegtsNIT; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsNIT); - } - - - /** - * Whether this NIT corresponds to the actual stream - */ - public @property bool actualNetwork() - { - return gstMpegtsNIT.actualNetwork != 0; - } - - /** Ditto */ - public @property void actualNetwork(bool value) - { - gstMpegtsNIT.actualNetwork = value; - } - - /** - * ID of the network that this NIT describes - */ - public @property ushort networkId() - { - return gstMpegtsNIT.networkId; - } - - /** Ditto */ - public @property void networkId(ushort value) - { - gstMpegtsNIT.networkId = value; - } - - /** - * the global descriptors - */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsNIT.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsNIT.descriptors = value.getPtrArrayStruct(); - } - - /** - * the streams - */ - public @property PtrArray streams() - { - return new PtrArray(gstMpegtsNIT.streams, false); - } - - /** Ditto */ - public @property void streams(PtrArray value) - { - gstMpegtsNIT.streams = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_nit_get_type(); - } - - /** - * Allocates and initializes a #GstMpegtsNIT. - * - * Returns: A newly allocated #GstMpegtsNIT - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_mpegts_nit_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsNIT*) __p); - } -} diff --git a/generated/gstreamer/gst/mpegts/NITStream.d b/generated/gstreamer/gst/mpegts/NITStream.d deleted file mode 100644 index a4387cdfa..000000000 --- a/generated/gstreamer/gst/mpegts/NITStream.d +++ /dev/null @@ -1,133 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.NITStream; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class NITStream -{ - /** the main Gtk struct */ - protected GstMpegtsNITStream* gstMpegtsNITStream; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsNITStream* getNITStreamStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsNITStream; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsNITStream; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsNITStream* gstMpegtsNITStream, bool ownedRef = false) - { - this.gstMpegtsNITStream = gstMpegtsNITStream; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsNITStream); - } - - - /** */ - public @property ushort transportStreamId() - { - return gstMpegtsNITStream.transportStreamId; - } - - /** Ditto */ - public @property void transportStreamId(ushort value) - { - gstMpegtsNITStream.transportStreamId = value; - } - - /** */ - public @property ushort originalNetworkId() - { - return gstMpegtsNITStream.originalNetworkId; - } - - /** Ditto */ - public @property void originalNetworkId(ushort value) - { - gstMpegtsNITStream.originalNetworkId = value; - } - - /** */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsNITStream.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsNITStream.descriptors = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_nit_stream_get_type(); - } - - /** - * Allocates and initializes a #GstMpegtsNITStream - * - * Returns: A newly allocated #GstMpegtsNITStream - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_mpegts_nit_stream_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsNITStream*) __p); - } -} diff --git a/generated/gstreamer/gst/mpegts/PMT.d b/generated/gstreamer/gst/mpegts/PMT.d deleted file mode 100644 index c8962ada3..000000000 --- a/generated/gstreamer/gst/mpegts/PMT.d +++ /dev/null @@ -1,156 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.PMT; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Program Map Table (ISO/IEC 13818-1). - * - * The program_number is contained in the subtable_extension field of the - * container #GstMpegtsSection. - */ -public final class PMT -{ - /** the main Gtk struct */ - protected GstMpegtsPMT* gstMpegtsPMT; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsPMT* getPMTStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsPMT; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsPMT; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsPMT* gstMpegtsPMT, bool ownedRef = false) - { - this.gstMpegtsPMT = gstMpegtsPMT; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsPMT); - } - - - /** - * PID of the stream containing PCR - */ - public @property ushort pcrPid() - { - return gstMpegtsPMT.pcrPid; - } - - /** Ditto */ - public @property void pcrPid(ushort value) - { - gstMpegtsPMT.pcrPid = value; - } - - /** */ - public @property ushort programNumber() - { - return gstMpegtsPMT.programNumber; - } - - /** Ditto */ - public @property void programNumber(ushort value) - { - gstMpegtsPMT.programNumber = value; - } - - /** - * array of #GstMpegtsDescriptor - */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsPMT.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsPMT.descriptors = value.getPtrArrayStruct(); - } - - /** - * Array of #GstMpegtsPMTStream - */ - public @property PtrArray streams() - { - return new PtrArray(gstMpegtsPMT.streams, false); - } - - /** Ditto */ - public @property void streams(PtrArray value) - { - gstMpegtsPMT.streams = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_pmt_get_type(); - } - - /** - * Allocates and initializes a new #GstMpegtsPMT. - * - * Returns: #GstMpegtsPMT - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_mpegts_pmt_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsPMT*) __p); - } -} diff --git a/generated/gstreamer/gst/mpegts/PMTStream.d b/generated/gstreamer/gst/mpegts/PMTStream.d deleted file mode 100644 index 595d64e8a..000000000 --- a/generated/gstreamer/gst/mpegts/PMTStream.d +++ /dev/null @@ -1,142 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.PMTStream; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * An individual stream definition. - */ -public final class PMTStream -{ - /** the main Gtk struct */ - protected GstMpegtsPMTStream* gstMpegtsPMTStream; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsPMTStream* getPMTStreamStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsPMTStream; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsPMTStream; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsPMTStream* gstMpegtsPMTStream, bool ownedRef = false) - { - this.gstMpegtsPMTStream = gstMpegtsPMTStream; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsPMTStream); - } - - - /** - * the type of stream. See #GstMpegtsStreamType - */ - public @property ubyte streamType() - { - return gstMpegtsPMTStream.streamType; - } - - /** Ditto */ - public @property void streamType(ubyte value) - { - gstMpegtsPMTStream.streamType = value; - } - - /** - * the PID of the stream - */ - public @property ushort pid() - { - return gstMpegtsPMTStream.pid; - } - - /** Ditto */ - public @property void pid(ushort value) - { - gstMpegtsPMTStream.pid = value; - } - - /** - * the descriptors of the - * stream - */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsPMTStream.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsPMTStream.descriptors = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_pmt_stream_get_type(); - } - - /** - * Allocates and initializes a new #GstMpegtsPMTStream. - * - * Returns: #GstMpegtsPMTStream - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_mpegts_pmt_stream_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsPMTStream*) __p); - } -} diff --git a/generated/gstreamer/gst/mpegts/PatProgram.d b/generated/gstreamer/gst/mpegts/PatProgram.d deleted file mode 100644 index c679b2edd..000000000 --- a/generated/gstreamer/gst/mpegts/PatProgram.d +++ /dev/null @@ -1,144 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.PatProgram; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * A program entry from a Program Association Table (ITU H.222.0, ISO/IEC 13818-1). - */ -public final class PatProgram -{ - /** the main Gtk struct */ - protected GstMpegtsPatProgram* gstMpegtsPatProgram; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsPatProgram* getPatProgramStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsPatProgram; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsPatProgram; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsPatProgram* gstMpegtsPatProgram, bool ownedRef = false) - { - this.gstMpegtsPatProgram = gstMpegtsPatProgram; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsPatProgram); - } - - - /** - * the program number - */ - public @property ushort programNumber() - { - return gstMpegtsPatProgram.programNumber; - } - - /** Ditto */ - public @property void programNumber(ushort value) - { - gstMpegtsPatProgram.programNumber = value; - } - - /** - * the network of program map PID - */ - public @property ushort networkOrProgramMapPID() - { - return gstMpegtsPatProgram.networkOrProgramMapPID; - } - - /** Ditto */ - public @property void networkOrProgramMapPID(ushort value) - { - gstMpegtsPatProgram.networkOrProgramMapPID = value; - } - - /** */ - public static GType getType() - { - return gst_mpegts_pat_program_get_type(); - } - - /** - * Allocates a new #GstMpegtsPatProgram. - * - * Returns: A newly allocated #GstMpegtsPatProgram - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_mpegts_pat_program_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsPatProgram*) __p); - } - - /** - * Allocates a new #GPtrArray for #GstMpegtsPatProgram - * - * Returns: A newly allocated #GPtrArray - */ - public static PtrArray patNew() - { - auto __p = gst_mpegts_pat_new(); - - if(__p is null) - { - return null; - } - - return new PtrArray(cast(GPtrArray*) __p, true); - } -} diff --git a/generated/gstreamer/gst/mpegts/SCTESIT.d b/generated/gstreamer/gst/mpegts/SCTESIT.d deleted file mode 100644 index 1478940f4..000000000 --- a/generated/gstreamer/gst/mpegts/SCTESIT.d +++ /dev/null @@ -1,229 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.SCTESIT; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class SCTESIT -{ - /** the main Gtk struct */ - protected GstMpegtsSCTESIT* gstMpegtsSCTESIT; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsSCTESIT* getSCTESITStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsSCTESIT; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsSCTESIT; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsSCTESIT* gstMpegtsSCTESIT, bool ownedRef = false) - { - this.gstMpegtsSCTESIT = gstMpegtsSCTESIT; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsSCTESIT); - } - - - /** */ - public @property bool encryptedPacket() - { - return gstMpegtsSCTESIT.encryptedPacket != 0; - } - - /** Ditto */ - public @property void encryptedPacket(bool value) - { - gstMpegtsSCTESIT.encryptedPacket = value; - } - - /** */ - public @property ubyte encryptionAlgorithm() - { - return gstMpegtsSCTESIT.encryptionAlgorithm; - } - - /** Ditto */ - public @property void encryptionAlgorithm(ubyte value) - { - gstMpegtsSCTESIT.encryptionAlgorithm = value; - } - - /** */ - public @property ulong ptsAdjustment() - { - return gstMpegtsSCTESIT.ptsAdjustment; - } - - /** Ditto */ - public @property void ptsAdjustment(ulong value) - { - gstMpegtsSCTESIT.ptsAdjustment = value; - } - - /** */ - public @property ubyte cwIndex() - { - return gstMpegtsSCTESIT.cwIndex; - } - - /** Ditto */ - public @property void cwIndex(ubyte value) - { - gstMpegtsSCTESIT.cwIndex = value; - } - - /** */ - public @property ushort tier() - { - return gstMpegtsSCTESIT.tier; - } - - /** Ditto */ - public @property void tier(ushort value) - { - gstMpegtsSCTESIT.tier = value; - } - - /** */ - public @property ushort spliceCommandLength() - { - return gstMpegtsSCTESIT.spliceCommandLength; - } - - /** Ditto */ - public @property void spliceCommandLength(ushort value) - { - gstMpegtsSCTESIT.spliceCommandLength = value; - } - - /** */ - public @property GstMpegtsSCTESpliceCommandType spliceCommandType() - { - return gstMpegtsSCTESIT.spliceCommandType; - } - - /** Ditto */ - public @property void spliceCommandType(GstMpegtsSCTESpliceCommandType value) - { - gstMpegtsSCTESIT.spliceCommandType = value; - } - - /** */ - public @property bool spliceTimeSpecified() - { - return gstMpegtsSCTESIT.spliceTimeSpecified != 0; - } - - /** Ditto */ - public @property void spliceTimeSpecified(bool value) - { - gstMpegtsSCTESIT.spliceTimeSpecified = value; - } - - /** */ - public @property ulong spliceTime() - { - return gstMpegtsSCTESIT.spliceTime; - } - - /** Ditto */ - public @property void spliceTime(ulong value) - { - gstMpegtsSCTESIT.spliceTime = value; - } - - /** */ - public @property PtrArray splices() - { - return new PtrArray(gstMpegtsSCTESIT.splices, false); - } - - /** Ditto */ - public @property void splices(PtrArray value) - { - gstMpegtsSCTESIT.splices = value.getPtrArrayStruct(); - } - - /** */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsSCTESIT.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsSCTESIT.descriptors = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_scte_sit_get_type(); - } - - /** - * Allocates and initializes a #GstMpegtsSCTESIT. - * - * Returns: A newly allocated #GstMpegtsSCTESIT - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_mpegts_scte_sit_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsSCTESIT*) __p); - } -} diff --git a/generated/gstreamer/gst/mpegts/SCTESpliceEvent.d b/generated/gstreamer/gst/mpegts/SCTESpliceEvent.d deleted file mode 100644 index 20bd4dd66..000000000 --- a/generated/gstreamer/gst/mpegts/SCTESpliceEvent.d +++ /dev/null @@ -1,264 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.SCTESpliceEvent; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class SCTESpliceEvent -{ - /** the main Gtk struct */ - protected GstMpegtsSCTESpliceEvent* gstMpegtsSCTESpliceEvent; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsSCTESpliceEvent* getSCTESpliceEventStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsSCTESpliceEvent; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsSCTESpliceEvent; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsSCTESpliceEvent* gstMpegtsSCTESpliceEvent, bool ownedRef = false) - { - this.gstMpegtsSCTESpliceEvent = gstMpegtsSCTESpliceEvent; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsSCTESpliceEvent); - } - - - /** */ - public @property bool insertEvent() - { - return gstMpegtsSCTESpliceEvent.insertEvent != 0; - } - - /** Ditto */ - public @property void insertEvent(bool value) - { - gstMpegtsSCTESpliceEvent.insertEvent = value; - } - - /** */ - public @property uint spliceEventId() - { - return gstMpegtsSCTESpliceEvent.spliceEventId; - } - - /** Ditto */ - public @property void spliceEventId(uint value) - { - gstMpegtsSCTESpliceEvent.spliceEventId = value; - } - - /** */ - public @property bool spliceEventCancelIndicator() - { - return gstMpegtsSCTESpliceEvent.spliceEventCancelIndicator != 0; - } - - /** Ditto */ - public @property void spliceEventCancelIndicator(bool value) - { - gstMpegtsSCTESpliceEvent.spliceEventCancelIndicator = value; - } - - /** */ - public @property bool outOfNetworkIndicator() - { - return gstMpegtsSCTESpliceEvent.outOfNetworkIndicator != 0; - } - - /** Ditto */ - public @property void outOfNetworkIndicator(bool value) - { - gstMpegtsSCTESpliceEvent.outOfNetworkIndicator = value; - } - - /** */ - public @property bool programSpliceFlag() - { - return gstMpegtsSCTESpliceEvent.programSpliceFlag != 0; - } - - /** Ditto */ - public @property void programSpliceFlag(bool value) - { - gstMpegtsSCTESpliceEvent.programSpliceFlag = value; - } - - /** */ - public @property bool durationFlag() - { - return gstMpegtsSCTESpliceEvent.durationFlag != 0; - } - - /** Ditto */ - public @property void durationFlag(bool value) - { - gstMpegtsSCTESpliceEvent.durationFlag = value; - } - - /** */ - public @property bool spliceImmediateFlag() - { - return gstMpegtsSCTESpliceEvent.spliceImmediateFlag != 0; - } - - /** Ditto */ - public @property void spliceImmediateFlag(bool value) - { - gstMpegtsSCTESpliceEvent.spliceImmediateFlag = value; - } - - /** */ - public @property bool programSpliceTimeSpecified() - { - return gstMpegtsSCTESpliceEvent.programSpliceTimeSpecified != 0; - } - - /** Ditto */ - public @property void programSpliceTimeSpecified(bool value) - { - gstMpegtsSCTESpliceEvent.programSpliceTimeSpecified = value; - } - - /** */ - public @property ulong programSpliceTime() - { - return gstMpegtsSCTESpliceEvent.programSpliceTime; - } - - /** Ditto */ - public @property void programSpliceTime(ulong value) - { - gstMpegtsSCTESpliceEvent.programSpliceTime = value; - } - - /** */ - public @property bool breakDurationAutoReturn() - { - return gstMpegtsSCTESpliceEvent.breakDurationAutoReturn != 0; - } - - /** Ditto */ - public @property void breakDurationAutoReturn(bool value) - { - gstMpegtsSCTESpliceEvent.breakDurationAutoReturn = value; - } - - /** */ - public @property ulong breakDuration() - { - return gstMpegtsSCTESpliceEvent.breakDuration; - } - - /** Ditto */ - public @property void breakDuration(ulong value) - { - gstMpegtsSCTESpliceEvent.breakDuration = value; - } - - /** */ - public @property ushort uniqueProgramId() - { - return gstMpegtsSCTESpliceEvent.uniqueProgramId; - } - - /** Ditto */ - public @property void uniqueProgramId(ushort value) - { - gstMpegtsSCTESpliceEvent.uniqueProgramId = value; - } - - /** */ - public @property ubyte availNum() - { - return gstMpegtsSCTESpliceEvent.availNum; - } - - /** Ditto */ - public @property void availNum(ubyte value) - { - gstMpegtsSCTESpliceEvent.availNum = value; - } - - /** */ - public @property ubyte availsExpected() - { - return gstMpegtsSCTESpliceEvent.availsExpected; - } - - /** Ditto */ - public @property void availsExpected(ubyte value) - { - gstMpegtsSCTESpliceEvent.availsExpected = value; - } - - /** */ - public static GType getType() - { - return gst_mpegts_scte_splice_event_get_type(); - } - - /** - * Allocates and initializes a #GstMpegtsSCTESpliceEvent. - * - * Returns: A newly allocated #GstMpegtsSCTESpliceEvent - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_mpegts_scte_splice_event_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsSCTESpliceEvent*) __p); - } -} diff --git a/generated/gstreamer/gst/mpegts/SDT.d b/generated/gstreamer/gst/mpegts/SDT.d deleted file mode 100644 index 72c68b238..000000000 --- a/generated/gstreamer/gst/mpegts/SDT.d +++ /dev/null @@ -1,155 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.SDT; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Service Description Table (EN 300 468) - */ -public final class SDT -{ - /** the main Gtk struct */ - protected GstMpegtsSDT* gstMpegtsSDT; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsSDT* getSDTStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsSDT; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsSDT; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsSDT* gstMpegtsSDT, bool ownedRef = false) - { - this.gstMpegtsSDT = gstMpegtsSDT; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsSDT); - } - - - /** - * Network ID of the originating delivery system - */ - public @property ushort originalNetworkId() - { - return gstMpegtsSDT.originalNetworkId; - } - - /** Ditto */ - public @property void originalNetworkId(ushort value) - { - gstMpegtsSDT.originalNetworkId = value; - } - - /** - * True if the table describes this transport stream - */ - public @property bool actualTs() - { - return gstMpegtsSDT.actualTs != 0; - } - - /** Ditto */ - public @property void actualTs(bool value) - { - gstMpegtsSDT.actualTs = value; - } - - /** - * ID of this transport stream - */ - public @property ushort transportStreamId() - { - return gstMpegtsSDT.transportStreamId; - } - - /** Ditto */ - public @property void transportStreamId(ushort value) - { - gstMpegtsSDT.transportStreamId = value; - } - - /** - * List of services - */ - public @property PtrArray services() - { - return new PtrArray(gstMpegtsSDT.services, false); - } - - /** Ditto */ - public @property void services(PtrArray value) - { - gstMpegtsSDT.services = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_sdt_get_type(); - } - - /** - * Allocates and initializes a #GstMpegtsSDT. - * - * Returns: A newly allocated #GstMpegtsSDT - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_mpegts_sdt_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsSDT*) __p); - } -} diff --git a/generated/gstreamer/gst/mpegts/SDTService.d b/generated/gstreamer/gst/mpegts/SDTService.d deleted file mode 100644 index e8b06599c..000000000 --- a/generated/gstreamer/gst/mpegts/SDTService.d +++ /dev/null @@ -1,181 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.SDTService; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class SDTService -{ - /** the main Gtk struct */ - protected GstMpegtsSDTService* gstMpegtsSDTService; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsSDTService* getSDTServiceStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsSDTService; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsSDTService; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsSDTService* gstMpegtsSDTService, bool ownedRef = false) - { - this.gstMpegtsSDTService = gstMpegtsSDTService; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsSDTService); - } - - - /** - * The program number this table belongs to - */ - public @property ushort serviceId() - { - return gstMpegtsSDTService.serviceId; - } - - /** Ditto */ - public @property void serviceId(ushort value) - { - gstMpegtsSDTService.serviceId = value; - } - - /** - * EIT schedule information is present in this transport stream - */ - public @property bool EITScheduleFlag() - { - return gstMpegtsSDTService.EITScheduleFlag != 0; - } - - /** Ditto */ - public @property void EITScheduleFlag(bool value) - { - gstMpegtsSDTService.EITScheduleFlag = value; - } - - /** - * EIT present/following information is present in this transport stream - */ - public @property bool EITPresentFollowingFlag() - { - return gstMpegtsSDTService.EITPresentFollowingFlag != 0; - } - - /** Ditto */ - public @property void EITPresentFollowingFlag(bool value) - { - gstMpegtsSDTService.EITPresentFollowingFlag = value; - } - - /** - * Status of this service - */ - public @property GstMpegtsRunningStatus runningStatus() - { - return gstMpegtsSDTService.runningStatus; - } - - /** Ditto */ - public @property void runningStatus(GstMpegtsRunningStatus value) - { - gstMpegtsSDTService.runningStatus = value; - } - - /** - * True if one or more streams is controlled by a CA system - */ - public @property bool freeCAMode() - { - return gstMpegtsSDTService.freeCAMode != 0; - } - - /** Ditto */ - public @property void freeCAMode(bool value) - { - gstMpegtsSDTService.freeCAMode = value; - } - - /** - * List of descriptors - */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsSDTService.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsSDTService.descriptors = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_sdt_service_get_type(); - } - - /** - * Allocates and initializes a #GstMpegtsSDTService. - * - * Returns: A newly allocated #GstMpegtsSDTService - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_mpegts_sdt_service_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsSDTService*) __p); - } -} diff --git a/generated/gstreamer/gst/mpegts/SatelliteDeliverySystemDescriptor.d b/generated/gstreamer/gst/mpegts/SatelliteDeliverySystemDescriptor.d deleted file mode 100644 index b0e0f018c..000000000 --- a/generated/gstreamer/gst/mpegts/SatelliteDeliverySystemDescriptor.d +++ /dev/null @@ -1,204 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.SatelliteDeliverySystemDescriptor; - -private import glib.MemorySlice; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Satellite Delivery System Descriptor (EN 300 468 v.1.13.1) - */ -public final class SatelliteDeliverySystemDescriptor -{ - /** the main Gtk struct */ - protected GstMpegtsSatelliteDeliverySystemDescriptor* gstMpegtsSatelliteDeliverySystemDescriptor; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsSatelliteDeliverySystemDescriptor* getSatelliteDeliverySystemDescriptorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsSatelliteDeliverySystemDescriptor; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsSatelliteDeliverySystemDescriptor; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsSatelliteDeliverySystemDescriptor* gstMpegtsSatelliteDeliverySystemDescriptor, bool ownedRef = false) - { - this.gstMpegtsSatelliteDeliverySystemDescriptor = gstMpegtsSatelliteDeliverySystemDescriptor; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsSatelliteDeliverySystemDescriptor); - } - - - /** - * the frequency in kHz (kiloHertz) - */ - public @property uint frequency() - { - return gstMpegtsSatelliteDeliverySystemDescriptor.frequency; - } - - /** Ditto */ - public @property void frequency(uint value) - { - gstMpegtsSatelliteDeliverySystemDescriptor.frequency = value; - } - - /** - * the orbital position in degrees - */ - public @property float orbitalPosition() - { - return gstMpegtsSatelliteDeliverySystemDescriptor.orbitalPosition; - } - - /** Ditto */ - public @property void orbitalPosition(float value) - { - gstMpegtsSatelliteDeliverySystemDescriptor.orbitalPosition = value; - } - - /** - * If %TRUE, the satellite is in the eastern part of the orbit, - * else in the western part. - */ - public @property bool westEast() - { - return gstMpegtsSatelliteDeliverySystemDescriptor.westEast != 0; - } - - /** Ditto */ - public @property void westEast(bool value) - { - gstMpegtsSatelliteDeliverySystemDescriptor.westEast = value; - } - - /** - * The polarization of the transmitted signal - */ - public @property GstMpegtsSatellitePolarizationType polarization() - { - return gstMpegtsSatelliteDeliverySystemDescriptor.polarization; - } - - /** Ditto */ - public @property void polarization(GstMpegtsSatellitePolarizationType value) - { - gstMpegtsSatelliteDeliverySystemDescriptor.polarization = value; - } - - /** - * Roll-off factor used in DVB-S2 - */ - public @property GstMpegtsSatelliteRolloff rollOff() - { - return gstMpegtsSatelliteDeliverySystemDescriptor.rollOff; - } - - /** Ditto */ - public @property void rollOff(GstMpegtsSatelliteRolloff value) - { - gstMpegtsSatelliteDeliverySystemDescriptor.rollOff = value; - } - - /** - * modulation system, %TRUE if DVB-S2, else DVB-S - */ - public @property bool modulationSystem() - { - return gstMpegtsSatelliteDeliverySystemDescriptor.modulationSystem != 0; - } - - /** Ditto */ - public @property void modulationSystem(bool value) - { - gstMpegtsSatelliteDeliverySystemDescriptor.modulationSystem = value; - } - - /** - * Modulation scheme used - */ - public @property GstMpegtsModulationType modulationType() - { - return gstMpegtsSatelliteDeliverySystemDescriptor.modulationType; - } - - /** Ditto */ - public @property void modulationType(GstMpegtsModulationType value) - { - gstMpegtsSatelliteDeliverySystemDescriptor.modulationType = value; - } - - /** - * Symbol rate (in symbols per second) - */ - public @property uint symbolRate() - { - return gstMpegtsSatelliteDeliverySystemDescriptor.symbolRate; - } - - /** Ditto */ - public @property void symbolRate(uint value) - { - gstMpegtsSatelliteDeliverySystemDescriptor.symbolRate = value; - } - - /** - * inner FEC scheme used - */ - public @property GstMpegtsDVBCodeRate fecInner() - { - return gstMpegtsSatelliteDeliverySystemDescriptor.fecInner; - } - - /** Ditto */ - public @property void fecInner(GstMpegtsDVBCodeRate value) - { - gstMpegtsSatelliteDeliverySystemDescriptor.fecInner = value; - } - - /** */ - public static GType getType() - { - return gst_mpegts_satellite_delivery_system_descriptor_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/Section.d b/generated/gstreamer/gst/mpegts/Section.d deleted file mode 100644 index cbdc82865..000000000 --- a/generated/gstreamer/gst/mpegts/Section.d +++ /dev/null @@ -1,716 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.Section; - -private import glib.Bytes; -private import glib.ConstructionException; -private import glib.PtrArray; -private import gobject.ObjectG; -private import gst.mpegts.AtscEIT; -private import gst.mpegts.AtscETT; -private import gst.mpegts.AtscMGT; -private import gst.mpegts.AtscRRT; -private import gst.mpegts.AtscSTT; -private import gst.mpegts.AtscVCT; -private import gst.mpegts.BAT; -private import gst.mpegts.EIT; -private import gst.mpegts.NIT; -private import gst.mpegts.PMT; -private import gst.mpegts.PatProgram; -private import gst.mpegts.SCTESIT; -private import gst.mpegts.SDT; -private import gst.mpegts.TOT; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gstreamer.DateTime; -private import gstreamer.Element; -private import gstreamer.Event; -private import gstreamer.Message; -private import gstreamer.ObjectGst; - - -/** - * For more details, refer to the ITU H.222.0 or ISO/IEC 13818-1 specifications - * and other specifications mentioned in the documentation. - */ -public class Section -{ - /** the main Gtk struct */ - protected GstMpegtsSection* gstMpegtsSection; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsSection* getSectionStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsSection; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsSection; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsSection* gstMpegtsSection, bool ownedRef = false) - { - this.gstMpegtsSection = gstMpegtsSection; - this.ownedRef = ownedRef; - } - - - /** */ - public static GType getType() - { - return gst_mpegts_section_get_type(); - } - - /** - * Creates a new #GstMpegtsSection from the provided @data. - * - * Note: Ensuring @data is big enough to contain the full section is the - * responsibility of the caller. If it is not big enough, %NULL will be - * returned. - * - * Note: it is the responsibility of the caller to ensure @data does point - * to the beginning of the section. - * - * Params: - * pid = the PID to which this section belongs - * data = a pointer to the beginning of the section (i.e. the first byte - * should contain the table_id field). - * - * Returns: A new #GstMpegtsSection if the data was valid, - * else %NULL - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ushort pid, ubyte[] data) - { - auto __p = gst_mpegts_section_new(pid, data.ptr, cast(size_t)data.length); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstMpegtsSection*) __p); - } - - /** - * Returns the #GstMpegtsAtscVCT contained in the @section - * - * Returns: The #GstMpegtsAtscVCT contained in the section, or %NULL if an error - * happened. - */ - public AtscVCT getAtscCvct() - { - auto __p = gst_mpegts_section_get_atsc_cvct(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(AtscVCT)(cast(GstMpegtsAtscVCT*) __p); - } - - /** - * Returns the #GstMpegtsAtscEIT contained in the @section. - * - * Returns: The #GstMpegtsAtscEIT contained in the section, or %NULL if an error - * happened. - */ - public AtscEIT getAtscEit() - { - auto __p = gst_mpegts_section_get_atsc_eit(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(AtscEIT)(cast(GstMpegtsAtscEIT*) __p); - } - - /** - * Returns the #GstMpegtsAtscETT contained in the @section. - * - * Returns: The #GstMpegtsAtscETT contained in the section, or %NULL if an error - * happened. - */ - public AtscETT getAtscEtt() - { - auto __p = gst_mpegts_section_get_atsc_ett(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(AtscETT)(cast(GstMpegtsAtscETT*) __p); - } - - /** - * Returns the #GstMpegtsAtscMGT contained in the @section. - * - * Returns: The #GstMpegtsAtscMGT contained in the section, or %NULL if an error - * happened. - */ - public AtscMGT getAtscMgt() - { - auto __p = gst_mpegts_section_get_atsc_mgt(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(AtscMGT)(cast(GstMpegtsAtscMGT*) __p); - } - - /** - * Returns the #GstMpegtsAtscRRT contained in the @section. - * - * Returns: The #GstMpegtsAtscRRT contained in the section, or %NULL if an error - * happened. - * - * Since: 1.18 - */ - public AtscRRT getAtscRrt() - { - auto __p = gst_mpegts_section_get_atsc_rrt(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(AtscRRT)(cast(GstMpegtsAtscRRT*) __p); - } - - /** - * Returns the #GstMpegtsAtscSTT contained in the @section. - * - * Returns: The #GstMpegtsAtscSTT contained in the section, or %NULL if an error - * happened. - */ - public AtscSTT getAtscStt() - { - auto __p = gst_mpegts_section_get_atsc_stt(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(AtscSTT)(cast(GstMpegtsAtscSTT*) __p); - } - - /** - * Returns the #GstMpegtsAtscVCT contained in the @section - * - * Returns: The #GstMpegtsAtscVCT contained in the section, or %NULL if an error - * happened. - */ - public AtscVCT getAtscTvct() - { - auto __p = gst_mpegts_section_get_atsc_tvct(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(AtscVCT)(cast(GstMpegtsAtscVCT*) __p); - } - - /** - * Returns the #GstMpegtsBAT contained in the @section. - * - * Returns: The #GstMpegtsBAT contained in the section, or %NULL if an error - * happened. - */ - public BAT getBat() - { - auto __p = gst_mpegts_section_get_bat(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(BAT)(cast(GstMpegtsBAT*) __p); - } - - /** - * Returns the array of #GstMpegtsDescriptor contained in the Conditional - * Access Table. - * - * Returns: The - * #GstMpegtsDescriptor contained in the section, or %NULL if an error - * happened. Release with #g_array_unref when done. - */ - public PtrArray getCat() - { - auto __p = gst_mpegts_section_get_cat(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return new PtrArray(cast(GPtrArray*) __p); - } - - /** - * Gets the original unparsed section data. - * - * Returns: The original unparsed section data. - */ - public Bytes getData() - { - auto __p = gst_mpegts_section_get_data(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return new Bytes(cast(GBytes*) __p, true); - } - - /** - * Returns the #GstMpegtsEIT contained in the @section. - * - * Returns: The #GstMpegtsEIT contained in the section, or %NULL if an error - * happened. - */ - public EIT getEit() - { - auto __p = gst_mpegts_section_get_eit(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(EIT)(cast(GstMpegtsEIT*) __p); - } - - /** - * Returns the #GstMpegtsNIT contained in the @section. - * - * Returns: The #GstMpegtsNIT contained in the section, or %NULL if an error - * happened. - */ - public NIT getNit() - { - auto __p = gst_mpegts_section_get_nit(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(NIT)(cast(GstMpegtsNIT*) __p); - } - - /** - * Parses a Program Association Table (ITU H.222.0, ISO/IEC 13818-1). - * - * Returns the array of #GstMpegtsPatProgram contained in the section. - * - * Note: The PAT "transport_id" field corresponds to the "subtable_extension" - * field of the provided @section. - * - * Returns: The - * #GstMpegtsPatProgram contained in the section, or %NULL if an error - * happened. Release with #g_ptr_array_unref when done. - */ - public PtrArray getPat() - { - auto __p = gst_mpegts_section_get_pat(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return new PtrArray(cast(GPtrArray*) __p); - } - - /** - * Returns the #GstMpegtsPMT contained in the @section. - * - * Returns: The #GstMpegtsPMT contained in the section, or %NULL if an error - * happened. - */ - public PMT getPmt() - { - auto __p = gst_mpegts_section_get_pmt(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(PMT)(cast(GstMpegtsPMT*) __p); - } - - /** - * Returns the #GstMpegtsSCTESIT contained in the @section. - * - * Returns: The #GstMpegtsSCTESIT contained in the section, or %NULL if an error - * happened. - */ - public SCTESIT getScteSit() - { - auto __p = gst_mpegts_section_get_scte_sit(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(SCTESIT)(cast(GstMpegtsSCTESIT*) __p); - } - - /** - * Returns the #GstMpegtsSDT contained in the @section. - * - * Returns: The #GstMpegtsSDT contained in the section, or %NULL if an error - * happened. - */ - public SDT getSdt() - { - auto __p = gst_mpegts_section_get_sdt(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(SDT)(cast(GstMpegtsSDT*) __p); - } - - /** - * Returns the #GstDateTime of the TDT - * - * Returns: The #GstDateTime contained in the section, or %NULL - * if an error happened. Release with #gst_date_time_unref when done. - */ - public DateTime getTdt() - { - auto __p = gst_mpegts_section_get_tdt(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(DateTime)(cast(GstDateTime*) __p, true); - } - - /** - * Returns the #GstMpegtsTOT contained in the @section. - * - * Returns: The #GstMpegtsTOT contained in the section, or %NULL if an error - * happened. - */ - public TOT getTot() - { - auto __p = gst_mpegts_section_get_tot(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(TOT)(cast(GstMpegtsTOT*) __p); - } - - /** - * Returns the array of #GstMpegtsDescriptor contained in the section - * - * Returns: The - * #GstMpegtsDescriptor contained in the section, or %NULL if an error - * happened. Release with #g_array_unref when done. - */ - public PtrArray getTsdt() - { - auto __p = gst_mpegts_section_get_tsdt(gstMpegtsSection); - - if(__p is null) - { - return null; - } - - return new PtrArray(cast(GPtrArray*) __p); - } - - /** - * If the data in @section has already been packetized, the data pointer is returned - * immediately. Otherwise, the data field is allocated and populated. - * - * Returns: pointer to section data, or %NULL on fail - */ - public ubyte[] packetize() - { - size_t outputSize; - - auto __p = gst_mpegts_section_packetize(gstMpegtsSection, &outputSize); - - return __p[0 .. outputSize]; - } - - /** - * Creates a custom #GstEvent with a @GstMpegtsSection. - * The #GstEvent is sent to the @element #GstElement. - * - * Params: - * element = The #GstElement to send to section event to - * - * Returns: %TRUE if the event is sent - */ - public bool sendEvent(Element element) - { - return gst_mpegts_section_send_event(gstMpegtsSection, (element is null) ? null : element.getElementStruct()) != 0; - } - - /** - * - * Params: - * mgt = a #GstMpegtsAtscMGT to create the #GstMpegtsSection from - * Returns: the #GstMpegtsSection - * - * Since: 1.18 - */ - public static Section fromAtscMgt(AtscMGT mgt) - { - auto __p = gst_mpegts_section_from_atsc_mgt((mgt is null) ? null : mgt.getAtscMGTStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Section)(cast(GstMpegtsSection*) __p, true); - } - - /** */ - public static Section fromAtscRrt(AtscRRT rrt) - { - auto __p = gst_mpegts_section_from_atsc_rrt((rrt is null) ? null : rrt.getAtscRRTStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Section)(cast(GstMpegtsSection*) __p, true); - } - - /** */ - public static Section fromAtscStt(AtscSTT stt) - { - auto __p = gst_mpegts_section_from_atsc_stt((stt is null) ? null : stt.getAtscSTTStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Section)(cast(GstMpegtsSection*) __p, true); - } - - /** - * Ownership of @nit is taken. The data in @nit is managed by the #GstMpegtsSection - * - * Params: - * nit = a #GstMpegtsNIT to create the #GstMpegtsSection from - * - * Returns: the #GstMpegtsSection - */ - public static Section fromNit(NIT nit) - { - auto __p = gst_mpegts_section_from_nit((nit is null) ? null : nit.getNITStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Section)(cast(GstMpegtsSection*) __p, true); - } - - /** - * Creates a PAT #GstMpegtsSection from the @programs array of #GstMpegtsPatPrograms - * - * Params: - * programs = an array of #GstMpegtsPatProgram - * tsId = Transport stream ID of the PAT - * - * Returns: a #GstMpegtsSection - */ - public static Section fromPat(PtrArray programs, ushort tsId) - { - auto __p = gst_mpegts_section_from_pat((programs is null) ? null : programs.getPtrArrayStruct(), tsId); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Section)(cast(GstMpegtsSection*) __p, true); - } - - /** - * Creates a #GstMpegtsSection from @pmt that is bound to @pid - * - * Params: - * pmt = a #GstMpegtsPMT to create a #GstMpegtsSection from - * pid = The PID that the #GstMpegtsPMT belongs to - * - * Returns: #GstMpegtsSection - */ - public static Section fromPmt(PMT pmt, ushort pid) - { - auto __p = gst_mpegts_section_from_pmt((pmt is null) ? null : pmt.getPMTStruct(), pid); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Section)(cast(GstMpegtsSection*) __p, true); - } - - /** - * Ownership of @sit is taken. The data in @sit is managed by the #GstMpegtsSection - * - * Params: - * sit = a #GstMpegtsSCTESIT to create the #GstMpegtsSection from - * - * Returns: the #GstMpegtsSection - */ - public static Section fromScteSit(SCTESIT sit, ushort pid) - { - auto __p = gst_mpegts_section_from_scte_sit((sit is null) ? null : sit.getSCTESITStruct(), pid); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Section)(cast(GstMpegtsSection*) __p, true); - } - - /** - * Ownership of @sdt is taken. The data in @sdt is managed by the #GstMpegtsSection - * - * Params: - * sdt = a #GstMpegtsSDT to create the #GstMpegtsSection from - * - * Returns: the #GstMpegtsSection - */ - public static Section fromSdt(SDT sdt) - { - auto __p = gst_mpegts_section_from_sdt((sdt is null) ? null : sdt.getSDTStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Section)(cast(GstMpegtsSection*) __p, true); - } - - /** - * Extracts the #GstMpegtsSection contained in the @event #GstEvent - * - * Params: - * event = #GstEvent containing a #GstMpegtsSection - * - * Returns: The extracted #GstMpegtsSection - */ - public static Section eventParseMpegtsSection(Event event) - { - auto __p = gst_event_parse_mpegts_section((event is null) ? null : event.getEventStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Section)(cast(GstMpegtsSection*) __p, true); - } - - /** - * Creates a new #GstMessage for a @GstMpegtsSection. - * - * Params: - * parent = The creator of the message - * section = The #GstMpegtsSection to put in a message - * - * Returns: The new #GstMessage to be posted, or %NULL if the - * section is not valid. - */ - public static Message messageNewMpegtsSection(ObjectGst parent, Section section) - { - auto __p = gst_message_new_mpegts_section((parent is null) ? null : parent.getObjectGstStruct(), (section is null) ? null : section.getSectionStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Message)(cast(GstMessage*) __p, true); - } - - /** - * Returns the #GstMpegtsSection contained in a message. - * - * Params: - * message = a #GstMessage - * - * Returns: the contained #GstMpegtsSection, or %NULL. - */ - public static Section messageParseMpegtsSection(Message message) - { - auto __p = gst_message_parse_mpegts_section((message is null) ? null : message.getMessageStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Section)(cast(GstMpegtsSection*) __p, true); - } -} diff --git a/generated/gstreamer/gst/mpegts/T2DeliverySystemCell.d b/generated/gstreamer/gst/mpegts/T2DeliverySystemCell.d deleted file mode 100644 index ff45a6f22..000000000 --- a/generated/gstreamer/gst/mpegts/T2DeliverySystemCell.d +++ /dev/null @@ -1,117 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.T2DeliverySystemCell; - -private import glib.ArrayG; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class T2DeliverySystemCell -{ - /** the main Gtk struct */ - protected GstMpegtsT2DeliverySystemCell* gstMpegtsT2DeliverySystemCell; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsT2DeliverySystemCell* getT2DeliverySystemCellStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsT2DeliverySystemCell; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsT2DeliverySystemCell; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsT2DeliverySystemCell* gstMpegtsT2DeliverySystemCell, bool ownedRef = false) - { - this.gstMpegtsT2DeliverySystemCell = gstMpegtsT2DeliverySystemCell; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsT2DeliverySystemCell); - } - - - /** - * id of the cell - */ - public @property ushort cellId() - { - return gstMpegtsT2DeliverySystemCell.cellId; - } - - /** Ditto */ - public @property void cellId(ushort value) - { - gstMpegtsT2DeliverySystemCell.cellId = value; - } - - /** - * centre frequencies in Hz - */ - public @property ArrayG centreFrequencies() - { - return new ArrayG(gstMpegtsT2DeliverySystemCell.centreFrequencies, false); - } - - /** Ditto */ - public @property void centreFrequencies(ArrayG value) - { - gstMpegtsT2DeliverySystemCell.centreFrequencies = value.getArrayGStruct(); - } - - /** */ - public @property PtrArray subCells() - { - return new PtrArray(gstMpegtsT2DeliverySystemCell.subCells, false); - } - - /** Ditto */ - public @property void subCells(PtrArray value) - { - gstMpegtsT2DeliverySystemCell.subCells = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_t2_delivery_system_cell_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/T2DeliverySystemCellExtension.d b/generated/gstreamer/gst/mpegts/T2DeliverySystemCellExtension.d deleted file mode 100644 index eee8e826f..000000000 --- a/generated/gstreamer/gst/mpegts/T2DeliverySystemCellExtension.d +++ /dev/null @@ -1,103 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.T2DeliverySystemCellExtension; - -private import glib.MemorySlice; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** */ -public final class T2DeliverySystemCellExtension -{ - /** the main Gtk struct */ - protected GstMpegtsT2DeliverySystemCellExtension* gstMpegtsT2DeliverySystemCellExtension; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsT2DeliverySystemCellExtension* getT2DeliverySystemCellExtensionStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsT2DeliverySystemCellExtension; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsT2DeliverySystemCellExtension; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsT2DeliverySystemCellExtension* gstMpegtsT2DeliverySystemCellExtension, bool ownedRef = false) - { - this.gstMpegtsT2DeliverySystemCellExtension = gstMpegtsT2DeliverySystemCellExtension; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsT2DeliverySystemCellExtension); - } - - - /** - * id of the sub cell - */ - public @property ubyte cellIdExtension() - { - return gstMpegtsT2DeliverySystemCellExtension.cellIdExtension; - } - - /** Ditto */ - public @property void cellIdExtension(ubyte value) - { - gstMpegtsT2DeliverySystemCellExtension.cellIdExtension = value; - } - - /** - * centre frequency of the sub cell in Hz - */ - public @property uint transposerFrequency() - { - return gstMpegtsT2DeliverySystemCellExtension.transposerFrequency; - } - - /** Ditto */ - public @property void transposerFrequency(uint value) - { - gstMpegtsT2DeliverySystemCellExtension.transposerFrequency = value; - } - - /** */ - public static GType getType() - { - return gst_mpegts_t2_delivery_system_cell_extension_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/T2DeliverySystemDescriptor.d b/generated/gstreamer/gst/mpegts/T2DeliverySystemDescriptor.d deleted file mode 100644 index 9272c5824..000000000 --- a/generated/gstreamer/gst/mpegts/T2DeliverySystemDescriptor.d +++ /dev/null @@ -1,193 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.T2DeliverySystemDescriptor; - -private import glib.MemorySlice; -private import glib.PtrArray; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * describe DVB-T2 transmissions according to EN 302 755 - */ -public final class T2DeliverySystemDescriptor -{ - /** the main Gtk struct */ - protected GstMpegtsT2DeliverySystemDescriptor* gstMpegtsT2DeliverySystemDescriptor; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsT2DeliverySystemDescriptor* getT2DeliverySystemDescriptorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsT2DeliverySystemDescriptor; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsT2DeliverySystemDescriptor; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsT2DeliverySystemDescriptor* gstMpegtsT2DeliverySystemDescriptor, bool ownedRef = false) - { - this.gstMpegtsT2DeliverySystemDescriptor = gstMpegtsT2DeliverySystemDescriptor; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - gst_mpegts_t2_delivery_system_descriptor_free(gstMpegtsT2DeliverySystemDescriptor); - } - - - /** */ - public @property ubyte plpId() - { - return gstMpegtsT2DeliverySystemDescriptor.plpId; - } - - /** Ditto */ - public @property void plpId(ubyte value) - { - gstMpegtsT2DeliverySystemDescriptor.plpId = value; - } - - /** */ - public @property ushort t2SystemId() - { - return gstMpegtsT2DeliverySystemDescriptor.t2SystemId; - } - - /** Ditto */ - public @property void t2SystemId(ushort value) - { - gstMpegtsT2DeliverySystemDescriptor.t2SystemId = value; - } - - /** */ - public @property ubyte sisoMiso() - { - return gstMpegtsT2DeliverySystemDescriptor.sisoMiso; - } - - /** Ditto */ - public @property void sisoMiso(ubyte value) - { - gstMpegtsT2DeliverySystemDescriptor.sisoMiso = value; - } - - /** */ - public @property uint bandwidth() - { - return gstMpegtsT2DeliverySystemDescriptor.bandwidth; - } - - /** Ditto */ - public @property void bandwidth(uint value) - { - gstMpegtsT2DeliverySystemDescriptor.bandwidth = value; - } - - /** */ - public @property GstMpegtsTerrestrialGuardInterval guardInterval() - { - return gstMpegtsT2DeliverySystemDescriptor.guardInterval; - } - - /** Ditto */ - public @property void guardInterval(GstMpegtsTerrestrialGuardInterval value) - { - gstMpegtsT2DeliverySystemDescriptor.guardInterval = value; - } - - /** */ - public @property GstMpegtsTerrestrialTransmissionMode transmissionMode() - { - return gstMpegtsT2DeliverySystemDescriptor.transmissionMode; - } - - /** Ditto */ - public @property void transmissionMode(GstMpegtsTerrestrialTransmissionMode value) - { - gstMpegtsT2DeliverySystemDescriptor.transmissionMode = value; - } - - /** */ - public @property bool otherFrequency() - { - return gstMpegtsT2DeliverySystemDescriptor.otherFrequency != 0; - } - - /** Ditto */ - public @property void otherFrequency(bool value) - { - gstMpegtsT2DeliverySystemDescriptor.otherFrequency = value; - } - - /** */ - public @property bool tfs() - { - return gstMpegtsT2DeliverySystemDescriptor.tfs != 0; - } - - /** Ditto */ - public @property void tfs(bool value) - { - gstMpegtsT2DeliverySystemDescriptor.tfs = value; - } - - /** */ - public @property PtrArray cells() - { - return new PtrArray(gstMpegtsT2DeliverySystemDescriptor.cells, false); - } - - /** Ditto */ - public @property void cells(PtrArray value) - { - gstMpegtsT2DeliverySystemDescriptor.cells = value.getPtrArrayStruct(); - } - - /** */ - public static GType getType() - { - return gst_mpegts_t2_delivery_system_descriptor_get_type(); - } - - /** */ - public void free() - { - gst_mpegts_t2_delivery_system_descriptor_free(gstMpegtsT2DeliverySystemDescriptor); - ownedRef = false; - } -} diff --git a/generated/gstreamer/gst/mpegts/TerrestrialDeliverySystemDescriptor.d b/generated/gstreamer/gst/mpegts/TerrestrialDeliverySystemDescriptor.d deleted file mode 100644 index dcf749d16..000000000 --- a/generated/gstreamer/gst/mpegts/TerrestrialDeliverySystemDescriptor.d +++ /dev/null @@ -1,237 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.TerrestrialDeliverySystemDescriptor; - -private import glib.MemorySlice; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; - - -/** - * Terrestrial Delivery System Descriptor (EN 300 468 v.1.13.1) - */ -public final class TerrestrialDeliverySystemDescriptor -{ - /** the main Gtk struct */ - protected GstMpegtsTerrestrialDeliverySystemDescriptor* gstMpegtsTerrestrialDeliverySystemDescriptor; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMpegtsTerrestrialDeliverySystemDescriptor* getTerrestrialDeliverySystemDescriptorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMpegtsTerrestrialDeliverySystemDescriptor; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMpegtsTerrestrialDeliverySystemDescriptor; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMpegtsTerrestrialDeliverySystemDescriptor* gstMpegtsTerrestrialDeliverySystemDescriptor, bool ownedRef = false) - { - this.gstMpegtsTerrestrialDeliverySystemDescriptor = gstMpegtsTerrestrialDeliverySystemDescriptor; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsTerrestrialDeliverySystemDescriptor); - } - - - /** - * the frequency in Hz (Hertz) - */ - public @property uint frequency() - { - return gstMpegtsTerrestrialDeliverySystemDescriptor.frequency; - } - - /** Ditto */ - public @property void frequency(uint value) - { - gstMpegtsTerrestrialDeliverySystemDescriptor.frequency = value; - } - - /** - * the bandwidth in Hz (Hertz) - */ - public @property uint bandwidth() - { - return gstMpegtsTerrestrialDeliverySystemDescriptor.bandwidth; - } - - /** Ditto */ - public @property void bandwidth(uint value) - { - gstMpegtsTerrestrialDeliverySystemDescriptor.bandwidth = value; - } - - /** - * %TRUE High Priority %FALSE Low Priority - */ - public @property bool priority() - { - return gstMpegtsTerrestrialDeliverySystemDescriptor.priority != 0; - } - - /** Ditto */ - public @property void priority(bool value) - { - gstMpegtsTerrestrialDeliverySystemDescriptor.priority = value; - } - - /** - * %TRUE no time slicing %FALSE time slicing - */ - public @property bool timeSlicing() - { - return gstMpegtsTerrestrialDeliverySystemDescriptor.timeSlicing != 0; - } - - /** Ditto */ - public @property void timeSlicing(bool value) - { - gstMpegtsTerrestrialDeliverySystemDescriptor.timeSlicing = value; - } - - /** - * %TRUE no mpe-fec is used %FALSE mpe-fec is use - */ - public @property bool mpeFec() - { - return gstMpegtsTerrestrialDeliverySystemDescriptor.mpeFec != 0; - } - - /** Ditto */ - public @property void mpeFec(bool value) - { - gstMpegtsTerrestrialDeliverySystemDescriptor.mpeFec = value; - } - - /** - * the constellation - */ - public @property GstMpegtsModulationType constellation() - { - return gstMpegtsTerrestrialDeliverySystemDescriptor.constellation; - } - - /** Ditto */ - public @property void constellation(GstMpegtsModulationType value) - { - gstMpegtsTerrestrialDeliverySystemDescriptor.constellation = value; - } - - /** - * the hierarchy - */ - public @property GstMpegtsTerrestrialHierarchy hierarchy() - { - return gstMpegtsTerrestrialDeliverySystemDescriptor.hierarchy; - } - - /** Ditto */ - public @property void hierarchy(GstMpegtsTerrestrialHierarchy value) - { - gstMpegtsTerrestrialDeliverySystemDescriptor.hierarchy = value; - } - - /** */ - public @property GstMpegtsDVBCodeRate codeRateHp() - { - return gstMpegtsTerrestrialDeliverySystemDescriptor.codeRateHp; - } - - /** Ditto */ - public @property void codeRateHp(GstMpegtsDVBCodeRate value) - { - gstMpegtsTerrestrialDeliverySystemDescriptor.codeRateHp = value; - } - - /** */ - public @property GstMpegtsDVBCodeRate codeRateLp() - { - return gstMpegtsTerrestrialDeliverySystemDescriptor.codeRateLp; - } - - /** Ditto */ - public @property void codeRateLp(GstMpegtsDVBCodeRate value) - { - gstMpegtsTerrestrialDeliverySystemDescriptor.codeRateLp = value; - } - - /** */ - public @property GstMpegtsTerrestrialGuardInterval guardInterval() - { - return gstMpegtsTerrestrialDeliverySystemDescriptor.guardInterval; - } - - /** Ditto */ - public @property void guardInterval(GstMpegtsTerrestrialGuardInterval value) - { - gstMpegtsTerrestrialDeliverySystemDescriptor.guardInterval = value; - } - - /** */ - public @property GstMpegtsTerrestrialTransmissionMode transmissionMode() - { - return gstMpegtsTerrestrialDeliverySystemDescriptor.transmissionMode; - } - - /** Ditto */ - public @property void transmissionMode(GstMpegtsTerrestrialTransmissionMode value) - { - gstMpegtsTerrestrialDeliverySystemDescriptor.transmissionMode = value; - } - - /** - * %TRUE more frequency are use, else not - */ - public @property bool otherFrequency() - { - return gstMpegtsTerrestrialDeliverySystemDescriptor.otherFrequency != 0; - } - - /** Ditto */ - public @property void otherFrequency(bool value) - { - gstMpegtsTerrestrialDeliverySystemDescriptor.otherFrequency = value; - } - - /** */ - public static GType getType() - { - return gst_mpegts_terrestrial_delivery_system_descriptor_get_type(); - } -} diff --git a/generated/gstreamer/gst/mpegts/c/functions.d b/generated/gstreamer/gst/mpegts/c/functions.d deleted file mode 100644 index 41146df50..000000000 --- a/generated/gstreamer/gst/mpegts/c/functions.d +++ /dev/null @@ -1,1010 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.c.functions; - -import std.stdio; -import gst.mpegts.c.types; -import gtkd.Loader; - -version (Windows) - static immutable LIBRARY_GSTMPEGTS = ["libgstmpegts-1.0-0.dll;gstmpegts-1.0-0.dll;gstmpegts-1.dll"]; -else version (OSX) - static immutable LIBRARY_GSTMPEGTS = ["libgstmpegts-1.0.0.dylib"]; -else - static immutable LIBRARY_GSTMPEGTS = ["libgstmpegts-1.0.so.0"]; - -shared static this() -{ - // gst.mpegts.AtscEIT - - Linker.link(gst_mpegts_atsc_eit_get_type, "gst_mpegts_atsc_eit_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.AtscEITEvent - - Linker.link(gst_mpegts_atsc_eit_event_get_type, "gst_mpegts_atsc_eit_event_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.AtscETT - - Linker.link(gst_mpegts_atsc_ett_get_type, "gst_mpegts_atsc_ett_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.AtscMGT - - Linker.link(gst_mpegts_atsc_mgt_get_type, "gst_mpegts_atsc_mgt_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_atsc_mgt_new, "gst_mpegts_atsc_mgt_new", LIBRARY_GSTMPEGTS); - - // gst.mpegts.AtscMGTTable - - Linker.link(gst_mpegts_atsc_mgt_table_get_type, "gst_mpegts_atsc_mgt_table_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.AtscMultString - - Linker.link(gst_mpegts_atsc_mult_string_get_type, "gst_mpegts_atsc_mult_string_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.AtscRRT - - Linker.link(gst_mpegts_atsc_rrt_get_type, "gst_mpegts_atsc_rrt_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_atsc_rrt_new, "gst_mpegts_atsc_rrt_new", LIBRARY_GSTMPEGTS); - - // gst.mpegts.AtscRRTDimension - - Linker.link(gst_mpegts_atsc_rrt_dimension_get_type, "gst_mpegts_atsc_rrt_dimension_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_atsc_rrt_dimension_new, "gst_mpegts_atsc_rrt_dimension_new", LIBRARY_GSTMPEGTS); - - // gst.mpegts.AtscRRTDimensionValue - - Linker.link(gst_mpegts_atsc_rrt_dimension_value_get_type, "gst_mpegts_atsc_rrt_dimension_value_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_atsc_rrt_dimension_value_new, "gst_mpegts_atsc_rrt_dimension_value_new", LIBRARY_GSTMPEGTS); - - // gst.mpegts.AtscSTT - - Linker.link(gst_mpegts_atsc_stt_get_type, "gst_mpegts_atsc_stt_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_atsc_stt_new, "gst_mpegts_atsc_stt_new", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_atsc_stt_get_datetime_utc, "gst_mpegts_atsc_stt_get_datetime_utc", LIBRARY_GSTMPEGTS); - - // gst.mpegts.AtscStringSegment - - Linker.link(gst_mpegts_atsc_string_segment_get_type, "gst_mpegts_atsc_string_segment_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_atsc_string_segment_get_string, "gst_mpegts_atsc_string_segment_get_string", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_atsc_string_segment_set_string, "gst_mpegts_atsc_string_segment_set_string", LIBRARY_GSTMPEGTS); - - // gst.mpegts.AtscVCT - - Linker.link(gst_mpegts_atsc_vct_get_type, "gst_mpegts_atsc_vct_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.AtscVCTSource - - Linker.link(gst_mpegts_atsc_vct_source_get_type, "gst_mpegts_atsc_vct_source_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.BAT - - Linker.link(gst_mpegts_bat_get_type, "gst_mpegts_bat_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.BATStream - - Linker.link(gst_mpegts_bat_stream_get_type, "gst_mpegts_bat_stream_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.CableDeliverySystemDescriptor - - Linker.link(gst_mpegts_dvb_cable_delivery_system_descriptor_get_type, "gst_mpegts_dvb_cable_delivery_system_descriptor_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_dvb_cable_delivery_system_descriptor_free, "gst_mpegts_dvb_cable_delivery_system_descriptor_free", LIBRARY_GSTMPEGTS); - - // gst.mpegts.ComponentDescriptor - - Linker.link(gst_mpegts_component_descriptor_get_type, "gst_mpegts_component_descriptor_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_dvb_component_descriptor_free, "gst_mpegts_dvb_component_descriptor_free", LIBRARY_GSTMPEGTS); - - // gst.mpegts.Content - - Linker.link(gst_mpegts_content_get_type, "gst_mpegts_content_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.DVBLinkageDescriptor - - Linker.link(gst_mpegts_dvb_linkage_descriptor_get_type, "gst_mpegts_dvb_linkage_descriptor_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_dvb_linkage_descriptor_free, "gst_mpegts_dvb_linkage_descriptor_free", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_dvb_linkage_descriptor_get_event, "gst_mpegts_dvb_linkage_descriptor_get_event", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_dvb_linkage_descriptor_get_extended_event, "gst_mpegts_dvb_linkage_descriptor_get_extended_event", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over, "gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over", LIBRARY_GSTMPEGTS); - - // gst.mpegts.DVBLinkageEvent - - Linker.link(gst_mpegts_dvb_linkage_event_get_type, "gst_mpegts_dvb_linkage_event_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.DVBLinkageExtendedEvent - - Linker.link(gst_mpegts_dvb_linkage_extended_event_get_type, "gst_mpegts_dvb_linkage_extended_event_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.DVBLinkageMobileHandOver - - Linker.link(gst_mpegts_dvb_linkage_mobile_hand_over_get_type, "gst_mpegts_dvb_linkage_mobile_hand_over_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.DVBParentalRatingItem - - Linker.link(gst_mpegts_dvb_parental_rating_item_get_type, "gst_mpegts_dvb_parental_rating_item_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.DVBServiceListItem - - Linker.link(gst_mpegts_dvb_service_list_item_get_type, "gst_mpegts_dvb_service_list_item_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.DataBroadcastDescriptor - - Linker.link(gst_mpegts_dvb_data_broadcast_descriptor_get_type, "gst_mpegts_dvb_data_broadcast_descriptor_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_dvb_data_broadcast_descriptor_free, "gst_mpegts_dvb_data_broadcast_descriptor_free", LIBRARY_GSTMPEGTS); - - // gst.mpegts.Descriptor - - Linker.link(gst_mpegts_descriptor_get_type, "gst_mpegts_descriptor_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_free, "gst_mpegts_descriptor_free", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_ca, "gst_mpegts_descriptor_parse_ca", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_cable_delivery_system, "gst_mpegts_descriptor_parse_cable_delivery_system", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_bouquet_name, "gst_mpegts_descriptor_parse_dvb_bouquet_name", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_ca_identifier, "gst_mpegts_descriptor_parse_dvb_ca_identifier", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_component, "gst_mpegts_descriptor_parse_dvb_component", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_content, "gst_mpegts_descriptor_parse_dvb_content", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_data_broadcast, "gst_mpegts_descriptor_parse_dvb_data_broadcast", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_data_broadcast_id, "gst_mpegts_descriptor_parse_dvb_data_broadcast_id", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_extended_event, "gst_mpegts_descriptor_parse_dvb_extended_event", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_frequency_list, "gst_mpegts_descriptor_parse_dvb_frequency_list", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_linkage, "gst_mpegts_descriptor_parse_dvb_linkage", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name, "gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_multilingual_component, "gst_mpegts_descriptor_parse_dvb_multilingual_component", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_multilingual_network_name, "gst_mpegts_descriptor_parse_dvb_multilingual_network_name", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_multilingual_service_name, "gst_mpegts_descriptor_parse_dvb_multilingual_service_name", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_network_name, "gst_mpegts_descriptor_parse_dvb_network_name", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_parental_rating, "gst_mpegts_descriptor_parse_dvb_parental_rating", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_private_data_specifier, "gst_mpegts_descriptor_parse_dvb_private_data_specifier", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_scrambling, "gst_mpegts_descriptor_parse_dvb_scrambling", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_service, "gst_mpegts_descriptor_parse_dvb_service", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_service_list, "gst_mpegts_descriptor_parse_dvb_service_list", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_short_event, "gst_mpegts_descriptor_parse_dvb_short_event", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_stream_identifier, "gst_mpegts_descriptor_parse_dvb_stream_identifier", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_stuffing, "gst_mpegts_descriptor_parse_dvb_stuffing", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_subtitling_idx, "gst_mpegts_descriptor_parse_dvb_subtitling_idx", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_subtitling_nb, "gst_mpegts_descriptor_parse_dvb_subtitling_nb", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_t2_delivery_system, "gst_mpegts_descriptor_parse_dvb_t2_delivery_system", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_teletext_idx, "gst_mpegts_descriptor_parse_dvb_teletext_idx", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_dvb_teletext_nb, "gst_mpegts_descriptor_parse_dvb_teletext_nb", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_iso_639_language, "gst_mpegts_descriptor_parse_iso_639_language", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_iso_639_language_idx, "gst_mpegts_descriptor_parse_iso_639_language_idx", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_iso_639_language_nb, "gst_mpegts_descriptor_parse_iso_639_language_nb", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_logical_channel, "gst_mpegts_descriptor_parse_logical_channel", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_satellite_delivery_system, "gst_mpegts_descriptor_parse_satellite_delivery_system", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_parse_terrestrial_delivery_system, "gst_mpegts_descriptor_parse_terrestrial_delivery_system", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_from_custom, "gst_mpegts_descriptor_from_custom", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_from_custom_with_extension, "gst_mpegts_descriptor_from_custom_with_extension", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_from_dvb_network_name, "gst_mpegts_descriptor_from_dvb_network_name", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_from_dvb_service, "gst_mpegts_descriptor_from_dvb_service", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_from_dvb_subtitling, "gst_mpegts_descriptor_from_dvb_subtitling", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_from_iso_639_language, "gst_mpegts_descriptor_from_iso_639_language", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_descriptor_from_registration, "gst_mpegts_descriptor_from_registration", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_find_descriptor, "gst_mpegts_find_descriptor", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_parse_descriptors, "gst_mpegts_parse_descriptors", LIBRARY_GSTMPEGTS); - - // gst.mpegts.DvbMultilingualBouquetNameItem - - Linker.link(gst_mpegts_dvb_multilingual_bouquet_name_item_get_type, "gst_mpegts_dvb_multilingual_bouquet_name_item_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.DvbMultilingualComponentItem - - Linker.link(gst_mpegts_dvb_multilingual_component_item_get_type, "gst_mpegts_dvb_multilingual_component_item_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.DvbMultilingualNetworkNameItem - - Linker.link(gst_mpegts_dvb_multilingual_network_name_item_get_type, "gst_mpegts_dvb_multilingual_network_name_item_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.DvbMultilingualServiceNameItem - - Linker.link(gst_mpegts_dvb_multilingual_service_name_item_get_type, "gst_mpegts_dvb_multilingual_service_name_item_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.EIT - - Linker.link(gst_mpegts_eit_get_type, "gst_mpegts_eit_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.EITEvent - - Linker.link(gst_mpegts_eit_event_get_type, "gst_mpegts_eit_event_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.ExtendedEventDescriptor - - Linker.link(gst_mpegts_extended_event_descriptor_get_type, "gst_mpegts_extended_event_descriptor_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_extended_event_descriptor_free, "gst_mpegts_extended_event_descriptor_free", LIBRARY_GSTMPEGTS); - - // gst.mpegts.ExtendedEventItem - - Linker.link(gst_mpegts_extended_event_item_get_type, "gst_mpegts_extended_event_item_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.ISO639LanguageDescriptor - - Linker.link(gst_mpegts_iso_639_language_get_type, "gst_mpegts_iso_639_language_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_iso_639_language_descriptor_free, "gst_mpegts_iso_639_language_descriptor_free", LIBRARY_GSTMPEGTS); - - // gst.mpegts.LogicalChannel - - Linker.link(gst_mpegts_logical_channel_get_type, "gst_mpegts_logical_channel_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.LogicalChannelDescriptor - - Linker.link(gst_mpegts_logical_channel_descriptor_get_type, "gst_mpegts_logical_channel_descriptor_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.NIT - - Linker.link(gst_mpegts_nit_get_type, "gst_mpegts_nit_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_nit_new, "gst_mpegts_nit_new", LIBRARY_GSTMPEGTS); - - // gst.mpegts.NITStream - - Linker.link(gst_mpegts_nit_stream_get_type, "gst_mpegts_nit_stream_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_nit_stream_new, "gst_mpegts_nit_stream_new", LIBRARY_GSTMPEGTS); - - // gst.mpegts.PMT - - Linker.link(gst_mpegts_pmt_get_type, "gst_mpegts_pmt_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_pmt_new, "gst_mpegts_pmt_new", LIBRARY_GSTMPEGTS); - - // gst.mpegts.PMTStream - - Linker.link(gst_mpegts_pmt_stream_get_type, "gst_mpegts_pmt_stream_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_pmt_stream_new, "gst_mpegts_pmt_stream_new", LIBRARY_GSTMPEGTS); - - // gst.mpegts.PatProgram - - Linker.link(gst_mpegts_pat_program_get_type, "gst_mpegts_pat_program_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_pat_program_new, "gst_mpegts_pat_program_new", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_pat_new, "gst_mpegts_pat_new", LIBRARY_GSTMPEGTS); - - // gst.mpegts.SCTESIT - - Linker.link(gst_mpegts_scte_sit_get_type, "gst_mpegts_scte_sit_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_scte_sit_new, "gst_mpegts_scte_sit_new", LIBRARY_GSTMPEGTS); - - // gst.mpegts.SCTESpliceEvent - - Linker.link(gst_mpegts_scte_splice_event_get_type, "gst_mpegts_scte_splice_event_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_scte_splice_event_new, "gst_mpegts_scte_splice_event_new", LIBRARY_GSTMPEGTS); - - // gst.mpegts.SDT - - Linker.link(gst_mpegts_sdt_get_type, "gst_mpegts_sdt_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_sdt_new, "gst_mpegts_sdt_new", LIBRARY_GSTMPEGTS); - - // gst.mpegts.SDTService - - Linker.link(gst_mpegts_sdt_service_get_type, "gst_mpegts_sdt_service_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_sdt_service_new, "gst_mpegts_sdt_service_new", LIBRARY_GSTMPEGTS); - - // gst.mpegts.SatelliteDeliverySystemDescriptor - - Linker.link(gst_mpegts_satellite_delivery_system_descriptor_get_type, "gst_mpegts_satellite_delivery_system_descriptor_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.Section - - Linker.link(gst_mpegts_section_get_type, "gst_mpegts_section_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_new, "gst_mpegts_section_new", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_atsc_cvct, "gst_mpegts_section_get_atsc_cvct", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_atsc_eit, "gst_mpegts_section_get_atsc_eit", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_atsc_ett, "gst_mpegts_section_get_atsc_ett", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_atsc_mgt, "gst_mpegts_section_get_atsc_mgt", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_atsc_rrt, "gst_mpegts_section_get_atsc_rrt", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_atsc_stt, "gst_mpegts_section_get_atsc_stt", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_atsc_tvct, "gst_mpegts_section_get_atsc_tvct", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_bat, "gst_mpegts_section_get_bat", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_cat, "gst_mpegts_section_get_cat", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_data, "gst_mpegts_section_get_data", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_eit, "gst_mpegts_section_get_eit", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_nit, "gst_mpegts_section_get_nit", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_pat, "gst_mpegts_section_get_pat", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_pmt, "gst_mpegts_section_get_pmt", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_scte_sit, "gst_mpegts_section_get_scte_sit", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_sdt, "gst_mpegts_section_get_sdt", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_tdt, "gst_mpegts_section_get_tdt", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_tot, "gst_mpegts_section_get_tot", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_get_tsdt, "gst_mpegts_section_get_tsdt", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_packetize, "gst_mpegts_section_packetize", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_send_event, "gst_mpegts_section_send_event", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_from_atsc_mgt, "gst_mpegts_section_from_atsc_mgt", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_from_atsc_rrt, "gst_mpegts_section_from_atsc_rrt", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_from_atsc_stt, "gst_mpegts_section_from_atsc_stt", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_from_nit, "gst_mpegts_section_from_nit", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_from_pat, "gst_mpegts_section_from_pat", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_from_pmt, "gst_mpegts_section_from_pmt", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_from_scte_sit, "gst_mpegts_section_from_scte_sit", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_section_from_sdt, "gst_mpegts_section_from_sdt", LIBRARY_GSTMPEGTS); - Linker.link(gst_event_parse_mpegts_section, "gst_event_parse_mpegts_section", LIBRARY_GSTMPEGTS); - Linker.link(gst_message_new_mpegts_section, "gst_message_new_mpegts_section", LIBRARY_GSTMPEGTS); - Linker.link(gst_message_parse_mpegts_section, "gst_message_parse_mpegts_section", LIBRARY_GSTMPEGTS); - - // gst.mpegts.T2DeliverySystemCell - - Linker.link(gst_mpegts_t2_delivery_system_cell_get_type, "gst_mpegts_t2_delivery_system_cell_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.T2DeliverySystemCellExtension - - Linker.link(gst_mpegts_t2_delivery_system_cell_extension_get_type, "gst_mpegts_t2_delivery_system_cell_extension_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.T2DeliverySystemDescriptor - - Linker.link(gst_mpegts_t2_delivery_system_descriptor_get_type, "gst_mpegts_t2_delivery_system_descriptor_get_type", LIBRARY_GSTMPEGTS); - Linker.link(gst_mpegts_t2_delivery_system_descriptor_free, "gst_mpegts_t2_delivery_system_descriptor_free", LIBRARY_GSTMPEGTS); - - // gst.mpegts.TOT - - Linker.link(gst_mpegts_tot_get_type, "gst_mpegts_tot_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.TerrestrialDeliverySystemDescriptor - - Linker.link(gst_mpegts_terrestrial_delivery_system_descriptor_get_type, "gst_mpegts_terrestrial_delivery_system_descriptor_get_type", LIBRARY_GSTMPEGTS); - - // gst.mpegts.Mpegts - - Linker.link(gst_mpegts_initialize, "gst_mpegts_initialize", LIBRARY_GSTMPEGTS); -} - -__gshared extern(C) -{ - - // gst.mpegts.AtscEIT - - GType function() c_gst_mpegts_atsc_eit_get_type; - - // gst.mpegts.AtscEITEvent - - GType function() c_gst_mpegts_atsc_eit_event_get_type; - - // gst.mpegts.AtscETT - - GType function() c_gst_mpegts_atsc_ett_get_type; - - // gst.mpegts.AtscMGT - - GType function() c_gst_mpegts_atsc_mgt_get_type; - GstMpegtsAtscMGT* function() c_gst_mpegts_atsc_mgt_new; - - // gst.mpegts.AtscMGTTable - - GType function() c_gst_mpegts_atsc_mgt_table_get_type; - - // gst.mpegts.AtscMultString - - GType function() c_gst_mpegts_atsc_mult_string_get_type; - - // gst.mpegts.AtscRRT - - GType function() c_gst_mpegts_atsc_rrt_get_type; - GstMpegtsAtscRRT* function() c_gst_mpegts_atsc_rrt_new; - - // gst.mpegts.AtscRRTDimension - - GType function() c_gst_mpegts_atsc_rrt_dimension_get_type; - GstMpegtsAtscRRTDimension* function() c_gst_mpegts_atsc_rrt_dimension_new; - - // gst.mpegts.AtscRRTDimensionValue - - GType function() c_gst_mpegts_atsc_rrt_dimension_value_get_type; - GstMpegtsAtscRRTDimensionValue* function() c_gst_mpegts_atsc_rrt_dimension_value_new; - - // gst.mpegts.AtscSTT - - GType function() c_gst_mpegts_atsc_stt_get_type; - GstMpegtsAtscSTT* function() c_gst_mpegts_atsc_stt_new; - GstDateTime* function(GstMpegtsAtscSTT* stt) c_gst_mpegts_atsc_stt_get_datetime_utc; - - // gst.mpegts.AtscStringSegment - - GType function() c_gst_mpegts_atsc_string_segment_get_type; - const(char)* function(GstMpegtsAtscStringSegment* seg) c_gst_mpegts_atsc_string_segment_get_string; - int function(GstMpegtsAtscStringSegment* seg, char* string_, ubyte compressionType, ubyte mode) c_gst_mpegts_atsc_string_segment_set_string; - - // gst.mpegts.AtscVCT - - GType function() c_gst_mpegts_atsc_vct_get_type; - - // gst.mpegts.AtscVCTSource - - GType function() c_gst_mpegts_atsc_vct_source_get_type; - - // gst.mpegts.BAT - - GType function() c_gst_mpegts_bat_get_type; - - // gst.mpegts.BATStream - - GType function() c_gst_mpegts_bat_stream_get_type; - - // gst.mpegts.CableDeliverySystemDescriptor - - GType function() c_gst_mpegts_dvb_cable_delivery_system_descriptor_get_type; - void function(GstMpegtsCableDeliverySystemDescriptor* source) c_gst_mpegts_dvb_cable_delivery_system_descriptor_free; - - // gst.mpegts.ComponentDescriptor - - GType function() c_gst_mpegts_component_descriptor_get_type; - void function(GstMpegtsComponentDescriptor* source) c_gst_mpegts_dvb_component_descriptor_free; - - // gst.mpegts.Content - - GType function() c_gst_mpegts_content_get_type; - - // gst.mpegts.DVBLinkageDescriptor - - GType function() c_gst_mpegts_dvb_linkage_descriptor_get_type; - void function(GstMpegtsDVBLinkageDescriptor* source) c_gst_mpegts_dvb_linkage_descriptor_free; - GstMpegtsDVBLinkageEvent* function(GstMpegtsDVBLinkageDescriptor* desc) c_gst_mpegts_dvb_linkage_descriptor_get_event; - GPtrArray* function(GstMpegtsDVBLinkageDescriptor* desc) c_gst_mpegts_dvb_linkage_descriptor_get_extended_event; - GstMpegtsDVBLinkageMobileHandOver* function(GstMpegtsDVBLinkageDescriptor* desc) c_gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over; - - // gst.mpegts.DVBLinkageEvent - - GType function() c_gst_mpegts_dvb_linkage_event_get_type; - - // gst.mpegts.DVBLinkageExtendedEvent - - GType function() c_gst_mpegts_dvb_linkage_extended_event_get_type; - - // gst.mpegts.DVBLinkageMobileHandOver - - GType function() c_gst_mpegts_dvb_linkage_mobile_hand_over_get_type; - - // gst.mpegts.DVBParentalRatingItem - - GType function() c_gst_mpegts_dvb_parental_rating_item_get_type; - - // gst.mpegts.DVBServiceListItem - - GType function() c_gst_mpegts_dvb_service_list_item_get_type; - - // gst.mpegts.DataBroadcastDescriptor - - GType function() c_gst_mpegts_dvb_data_broadcast_descriptor_get_type; - void function(GstMpegtsDataBroadcastDescriptor* source) c_gst_mpegts_dvb_data_broadcast_descriptor_free; - - // gst.mpegts.Descriptor - - GType function() c_gst_mpegts_descriptor_get_type; - void function(GstMpegtsDescriptor* desc) c_gst_mpegts_descriptor_free; - int function(GstMpegtsDescriptor* descriptor, ushort* caSystemId, ushort* caPid, ubyte** privateData, size_t* privateDataSize) c_gst_mpegts_descriptor_parse_ca; - int function(GstMpegtsDescriptor* descriptor, GstMpegtsCableDeliverySystemDescriptor* res) c_gst_mpegts_descriptor_parse_cable_delivery_system; - int function(GstMpegtsDescriptor* descriptor, char** bouquetName) c_gst_mpegts_descriptor_parse_dvb_bouquet_name; - int function(GstMpegtsDescriptor* descriptor, GArray** list) c_gst_mpegts_descriptor_parse_dvb_ca_identifier; - int function(GstMpegtsDescriptor* descriptor, GstMpegtsComponentDescriptor** res) c_gst_mpegts_descriptor_parse_dvb_component; - int function(GstMpegtsDescriptor* descriptor, GPtrArray** content) c_gst_mpegts_descriptor_parse_dvb_content; - int function(GstMpegtsDescriptor* descriptor, GstMpegtsDataBroadcastDescriptor** res) c_gst_mpegts_descriptor_parse_dvb_data_broadcast; - int function(GstMpegtsDescriptor* descriptor, ushort* dataBroadcastId, ubyte** idSelectorBytes, ubyte* len) c_gst_mpegts_descriptor_parse_dvb_data_broadcast_id; - int function(GstMpegtsDescriptor* descriptor, GstMpegtsExtendedEventDescriptor** res) c_gst_mpegts_descriptor_parse_dvb_extended_event; - int function(GstMpegtsDescriptor* descriptor, int* offset, GArray** list) c_gst_mpegts_descriptor_parse_dvb_frequency_list; - int function(GstMpegtsDescriptor* descriptor, GstMpegtsDVBLinkageDescriptor** res) c_gst_mpegts_descriptor_parse_dvb_linkage; - int function(GstMpegtsDescriptor* descriptor, GPtrArray** bouquetNameItems) c_gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name; - int function(GstMpegtsDescriptor* descriptor, ubyte* componentTag, GPtrArray** componentDescriptionItems) c_gst_mpegts_descriptor_parse_dvb_multilingual_component; - int function(GstMpegtsDescriptor* descriptor, GPtrArray** networkNameItems) c_gst_mpegts_descriptor_parse_dvb_multilingual_network_name; - int function(GstMpegtsDescriptor* descriptor, GPtrArray** serviceNameItems) c_gst_mpegts_descriptor_parse_dvb_multilingual_service_name; - int function(GstMpegtsDescriptor* descriptor, char** name) c_gst_mpegts_descriptor_parse_dvb_network_name; - int function(GstMpegtsDescriptor* descriptor, GPtrArray** rating) c_gst_mpegts_descriptor_parse_dvb_parental_rating; - int function(GstMpegtsDescriptor* descriptor, uint* privateDataSpecifier, ubyte** privateData, ubyte* length) c_gst_mpegts_descriptor_parse_dvb_private_data_specifier; - int function(GstMpegtsDescriptor* descriptor, GstMpegtsDVBScramblingModeType* scramblingMode) c_gst_mpegts_descriptor_parse_dvb_scrambling; - int function(GstMpegtsDescriptor* descriptor, GstMpegtsDVBServiceType* serviceType, char** serviceName, char** providerName) c_gst_mpegts_descriptor_parse_dvb_service; - int function(GstMpegtsDescriptor* descriptor, GPtrArray** list) c_gst_mpegts_descriptor_parse_dvb_service_list; - int function(GstMpegtsDescriptor* descriptor, char** languageCode, char** eventName, char** text) c_gst_mpegts_descriptor_parse_dvb_short_event; - int function(GstMpegtsDescriptor* descriptor, ubyte* componentTag) c_gst_mpegts_descriptor_parse_dvb_stream_identifier; - int function(GstMpegtsDescriptor* descriptor, ubyte** stuffingBytes) c_gst_mpegts_descriptor_parse_dvb_stuffing; - int function(GstMpegtsDescriptor* descriptor, uint idx, char** lang, ubyte* type, ushort* compositionPageId, ushort* ancillaryPageId) c_gst_mpegts_descriptor_parse_dvb_subtitling_idx; - uint function(GstMpegtsDescriptor* descriptor) c_gst_mpegts_descriptor_parse_dvb_subtitling_nb; - int function(GstMpegtsDescriptor* descriptor, GstMpegtsT2DeliverySystemDescriptor** res) c_gst_mpegts_descriptor_parse_dvb_t2_delivery_system; - int function(GstMpegtsDescriptor* descriptor, uint idx, char** languageCode, GstMpegtsDVBTeletextType* teletextType, ubyte* magazineNumber, ubyte* pageNumber) c_gst_mpegts_descriptor_parse_dvb_teletext_idx; - uint function(GstMpegtsDescriptor* descriptor) c_gst_mpegts_descriptor_parse_dvb_teletext_nb; - int function(GstMpegtsDescriptor* descriptor, GstMpegtsISO639LanguageDescriptor** res) c_gst_mpegts_descriptor_parse_iso_639_language; - int function(GstMpegtsDescriptor* descriptor, uint idx, char** lang, GstMpegtsIso639AudioType* audioType) c_gst_mpegts_descriptor_parse_iso_639_language_idx; - uint function(GstMpegtsDescriptor* descriptor) c_gst_mpegts_descriptor_parse_iso_639_language_nb; - int function(GstMpegtsDescriptor* descriptor, GstMpegtsLogicalChannelDescriptor* res) c_gst_mpegts_descriptor_parse_logical_channel; - int function(GstMpegtsDescriptor* descriptor, GstMpegtsSatelliteDeliverySystemDescriptor* res) c_gst_mpegts_descriptor_parse_satellite_delivery_system; - int function(GstMpegtsDescriptor* descriptor, GstMpegtsTerrestrialDeliverySystemDescriptor* res) c_gst_mpegts_descriptor_parse_terrestrial_delivery_system; - GstMpegtsDescriptor* function(ubyte tag, ubyte* data, size_t length) c_gst_mpegts_descriptor_from_custom; - GstMpegtsDescriptor* function(ubyte tag, ubyte tagExtension, ubyte* data, size_t length) c_gst_mpegts_descriptor_from_custom_with_extension; - GstMpegtsDescriptor* function(const(char)* name) c_gst_mpegts_descriptor_from_dvb_network_name; - GstMpegtsDescriptor* function(GstMpegtsDVBServiceType serviceType, const(char)* serviceName, const(char)* serviceProvider) c_gst_mpegts_descriptor_from_dvb_service; - GstMpegtsDescriptor* function(const(char)* lang, ubyte type, ushort composition, ushort ancillary) c_gst_mpegts_descriptor_from_dvb_subtitling; - GstMpegtsDescriptor* function(const(char)* language) c_gst_mpegts_descriptor_from_iso_639_language; - GstMpegtsDescriptor* function(const(char)* formatIdentifier, ubyte* additionalInfo, size_t additionalInfoLength) c_gst_mpegts_descriptor_from_registration; - GstMpegtsDescriptor* function(GPtrArray* descriptors, ubyte tag) c_gst_mpegts_find_descriptor; - GPtrArray* function(ubyte* buffer, size_t bufLen) c_gst_mpegts_parse_descriptors; - - // gst.mpegts.DvbMultilingualBouquetNameItem - - GType function() c_gst_mpegts_dvb_multilingual_bouquet_name_item_get_type; - - // gst.mpegts.DvbMultilingualComponentItem - - GType function() c_gst_mpegts_dvb_multilingual_component_item_get_type; - - // gst.mpegts.DvbMultilingualNetworkNameItem - - GType function() c_gst_mpegts_dvb_multilingual_network_name_item_get_type; - - // gst.mpegts.DvbMultilingualServiceNameItem - - GType function() c_gst_mpegts_dvb_multilingual_service_name_item_get_type; - - // gst.mpegts.EIT - - GType function() c_gst_mpegts_eit_get_type; - - // gst.mpegts.EITEvent - - GType function() c_gst_mpegts_eit_event_get_type; - - // gst.mpegts.ExtendedEventDescriptor - - GType function() c_gst_mpegts_extended_event_descriptor_get_type; - void function(GstMpegtsExtendedEventDescriptor* source) c_gst_mpegts_extended_event_descriptor_free; - - // gst.mpegts.ExtendedEventItem - - GType function() c_gst_mpegts_extended_event_item_get_type; - - // gst.mpegts.ISO639LanguageDescriptor - - GType function() c_gst_mpegts_iso_639_language_get_type; - void function(GstMpegtsISO639LanguageDescriptor* desc) c_gst_mpegts_iso_639_language_descriptor_free; - - // gst.mpegts.LogicalChannel - - GType function() c_gst_mpegts_logical_channel_get_type; - - // gst.mpegts.LogicalChannelDescriptor - - GType function() c_gst_mpegts_logical_channel_descriptor_get_type; - - // gst.mpegts.NIT - - GType function() c_gst_mpegts_nit_get_type; - GstMpegtsNIT* function() c_gst_mpegts_nit_new; - - // gst.mpegts.NITStream - - GType function() c_gst_mpegts_nit_stream_get_type; - GstMpegtsNITStream* function() c_gst_mpegts_nit_stream_new; - - // gst.mpegts.PMT - - GType function() c_gst_mpegts_pmt_get_type; - GstMpegtsPMT* function() c_gst_mpegts_pmt_new; - - // gst.mpegts.PMTStream - - GType function() c_gst_mpegts_pmt_stream_get_type; - GstMpegtsPMTStream* function() c_gst_mpegts_pmt_stream_new; - - // gst.mpegts.PatProgram - - GType function() c_gst_mpegts_pat_program_get_type; - GstMpegtsPatProgram* function() c_gst_mpegts_pat_program_new; - GPtrArray* function() c_gst_mpegts_pat_new; - - // gst.mpegts.SCTESIT - - GType function() c_gst_mpegts_scte_sit_get_type; - GstMpegtsSCTESIT* function() c_gst_mpegts_scte_sit_new; - - // gst.mpegts.SCTESpliceEvent - - GType function() c_gst_mpegts_scte_splice_event_get_type; - GstMpegtsSCTESpliceEvent* function() c_gst_mpegts_scte_splice_event_new; - - // gst.mpegts.SDT - - GType function() c_gst_mpegts_sdt_get_type; - GstMpegtsSDT* function() c_gst_mpegts_sdt_new; - - // gst.mpegts.SDTService - - GType function() c_gst_mpegts_sdt_service_get_type; - GstMpegtsSDTService* function() c_gst_mpegts_sdt_service_new; - - // gst.mpegts.SatelliteDeliverySystemDescriptor - - GType function() c_gst_mpegts_satellite_delivery_system_descriptor_get_type; - - // gst.mpegts.Section - - GType function() c_gst_mpegts_section_get_type; - GstMpegtsSection* function(ushort pid, ubyte* data, size_t dataSize) c_gst_mpegts_section_new; - GstMpegtsAtscVCT* function(GstMpegtsSection* section) c_gst_mpegts_section_get_atsc_cvct; - GstMpegtsAtscEIT* function(GstMpegtsSection* section) c_gst_mpegts_section_get_atsc_eit; - GstMpegtsAtscETT* function(GstMpegtsSection* section) c_gst_mpegts_section_get_atsc_ett; - GstMpegtsAtscMGT* function(GstMpegtsSection* section) c_gst_mpegts_section_get_atsc_mgt; - GstMpegtsAtscRRT* function(GstMpegtsSection* section) c_gst_mpegts_section_get_atsc_rrt; - GstMpegtsAtscSTT* function(GstMpegtsSection* section) c_gst_mpegts_section_get_atsc_stt; - GstMpegtsAtscVCT* function(GstMpegtsSection* section) c_gst_mpegts_section_get_atsc_tvct; - GstMpegtsBAT* function(GstMpegtsSection* section) c_gst_mpegts_section_get_bat; - GPtrArray* function(GstMpegtsSection* section) c_gst_mpegts_section_get_cat; - GBytes* function(GstMpegtsSection* section) c_gst_mpegts_section_get_data; - GstMpegtsEIT* function(GstMpegtsSection* section) c_gst_mpegts_section_get_eit; - GstMpegtsNIT* function(GstMpegtsSection* section) c_gst_mpegts_section_get_nit; - GPtrArray* function(GstMpegtsSection* section) c_gst_mpegts_section_get_pat; - GstMpegtsPMT* function(GstMpegtsSection* section) c_gst_mpegts_section_get_pmt; - GstMpegtsSCTESIT* function(GstMpegtsSection* section) c_gst_mpegts_section_get_scte_sit; - GstMpegtsSDT* function(GstMpegtsSection* section) c_gst_mpegts_section_get_sdt; - GstDateTime* function(GstMpegtsSection* section) c_gst_mpegts_section_get_tdt; - GstMpegtsTOT* function(GstMpegtsSection* section) c_gst_mpegts_section_get_tot; - GPtrArray* function(GstMpegtsSection* section) c_gst_mpegts_section_get_tsdt; - ubyte* function(GstMpegtsSection* section, size_t* outputSize) c_gst_mpegts_section_packetize; - int function(GstMpegtsSection* section, GstElement* element) c_gst_mpegts_section_send_event; - GstMpegtsSection* function(GstMpegtsAtscMGT* mgt) c_gst_mpegts_section_from_atsc_mgt; - GstMpegtsSection* function(GstMpegtsAtscRRT* rrt) c_gst_mpegts_section_from_atsc_rrt; - GstMpegtsSection* function(GstMpegtsAtscSTT* stt) c_gst_mpegts_section_from_atsc_stt; - GstMpegtsSection* function(GstMpegtsNIT* nit) c_gst_mpegts_section_from_nit; - GstMpegtsSection* function(GPtrArray* programs, ushort tsId) c_gst_mpegts_section_from_pat; - GstMpegtsSection* function(GstMpegtsPMT* pmt, ushort pid) c_gst_mpegts_section_from_pmt; - GstMpegtsSection* function(GstMpegtsSCTESIT* sit, ushort pid) c_gst_mpegts_section_from_scte_sit; - GstMpegtsSection* function(GstMpegtsSDT* sdt) c_gst_mpegts_section_from_sdt; - GstMpegtsSection* function(GstEvent* event) c_gst_event_parse_mpegts_section; - GstMessage* function(GstObject* parent, GstMpegtsSection* section) c_gst_message_new_mpegts_section; - GstMpegtsSection* function(GstMessage* message) c_gst_message_parse_mpegts_section; - - // gst.mpegts.T2DeliverySystemCell - - GType function() c_gst_mpegts_t2_delivery_system_cell_get_type; - - // gst.mpegts.T2DeliverySystemCellExtension - - GType function() c_gst_mpegts_t2_delivery_system_cell_extension_get_type; - - // gst.mpegts.T2DeliverySystemDescriptor - - GType function() c_gst_mpegts_t2_delivery_system_descriptor_get_type; - void function(GstMpegtsT2DeliverySystemDescriptor* source) c_gst_mpegts_t2_delivery_system_descriptor_free; - - // gst.mpegts.TOT - - GType function() c_gst_mpegts_tot_get_type; - - // gst.mpegts.TerrestrialDeliverySystemDescriptor - - GType function() c_gst_mpegts_terrestrial_delivery_system_descriptor_get_type; - - // gst.mpegts.Mpegts - - void function() c_gst_mpegts_initialize; -} - - -// gst.mpegts.AtscEIT - -alias c_gst_mpegts_atsc_eit_get_type gst_mpegts_atsc_eit_get_type; - -// gst.mpegts.AtscEITEvent - -alias c_gst_mpegts_atsc_eit_event_get_type gst_mpegts_atsc_eit_event_get_type; - -// gst.mpegts.AtscETT - -alias c_gst_mpegts_atsc_ett_get_type gst_mpegts_atsc_ett_get_type; - -// gst.mpegts.AtscMGT - -alias c_gst_mpegts_atsc_mgt_get_type gst_mpegts_atsc_mgt_get_type; -alias c_gst_mpegts_atsc_mgt_new gst_mpegts_atsc_mgt_new; - -// gst.mpegts.AtscMGTTable - -alias c_gst_mpegts_atsc_mgt_table_get_type gst_mpegts_atsc_mgt_table_get_type; - -// gst.mpegts.AtscMultString - -alias c_gst_mpegts_atsc_mult_string_get_type gst_mpegts_atsc_mult_string_get_type; - -// gst.mpegts.AtscRRT - -alias c_gst_mpegts_atsc_rrt_get_type gst_mpegts_atsc_rrt_get_type; -alias c_gst_mpegts_atsc_rrt_new gst_mpegts_atsc_rrt_new; - -// gst.mpegts.AtscRRTDimension - -alias c_gst_mpegts_atsc_rrt_dimension_get_type gst_mpegts_atsc_rrt_dimension_get_type; -alias c_gst_mpegts_atsc_rrt_dimension_new gst_mpegts_atsc_rrt_dimension_new; - -// gst.mpegts.AtscRRTDimensionValue - -alias c_gst_mpegts_atsc_rrt_dimension_value_get_type gst_mpegts_atsc_rrt_dimension_value_get_type; -alias c_gst_mpegts_atsc_rrt_dimension_value_new gst_mpegts_atsc_rrt_dimension_value_new; - -// gst.mpegts.AtscSTT - -alias c_gst_mpegts_atsc_stt_get_type gst_mpegts_atsc_stt_get_type; -alias c_gst_mpegts_atsc_stt_new gst_mpegts_atsc_stt_new; -alias c_gst_mpegts_atsc_stt_get_datetime_utc gst_mpegts_atsc_stt_get_datetime_utc; - -// gst.mpegts.AtscStringSegment - -alias c_gst_mpegts_atsc_string_segment_get_type gst_mpegts_atsc_string_segment_get_type; -alias c_gst_mpegts_atsc_string_segment_get_string gst_mpegts_atsc_string_segment_get_string; -alias c_gst_mpegts_atsc_string_segment_set_string gst_mpegts_atsc_string_segment_set_string; - -// gst.mpegts.AtscVCT - -alias c_gst_mpegts_atsc_vct_get_type gst_mpegts_atsc_vct_get_type; - -// gst.mpegts.AtscVCTSource - -alias c_gst_mpegts_atsc_vct_source_get_type gst_mpegts_atsc_vct_source_get_type; - -// gst.mpegts.BAT - -alias c_gst_mpegts_bat_get_type gst_mpegts_bat_get_type; - -// gst.mpegts.BATStream - -alias c_gst_mpegts_bat_stream_get_type gst_mpegts_bat_stream_get_type; - -// gst.mpegts.CableDeliverySystemDescriptor - -alias c_gst_mpegts_dvb_cable_delivery_system_descriptor_get_type gst_mpegts_dvb_cable_delivery_system_descriptor_get_type; -alias c_gst_mpegts_dvb_cable_delivery_system_descriptor_free gst_mpegts_dvb_cable_delivery_system_descriptor_free; - -// gst.mpegts.ComponentDescriptor - -alias c_gst_mpegts_component_descriptor_get_type gst_mpegts_component_descriptor_get_type; -alias c_gst_mpegts_dvb_component_descriptor_free gst_mpegts_dvb_component_descriptor_free; - -// gst.mpegts.Content - -alias c_gst_mpegts_content_get_type gst_mpegts_content_get_type; - -// gst.mpegts.DVBLinkageDescriptor - -alias c_gst_mpegts_dvb_linkage_descriptor_get_type gst_mpegts_dvb_linkage_descriptor_get_type; -alias c_gst_mpegts_dvb_linkage_descriptor_free gst_mpegts_dvb_linkage_descriptor_free; -alias c_gst_mpegts_dvb_linkage_descriptor_get_event gst_mpegts_dvb_linkage_descriptor_get_event; -alias c_gst_mpegts_dvb_linkage_descriptor_get_extended_event gst_mpegts_dvb_linkage_descriptor_get_extended_event; -alias c_gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over; - -// gst.mpegts.DVBLinkageEvent - -alias c_gst_mpegts_dvb_linkage_event_get_type gst_mpegts_dvb_linkage_event_get_type; - -// gst.mpegts.DVBLinkageExtendedEvent - -alias c_gst_mpegts_dvb_linkage_extended_event_get_type gst_mpegts_dvb_linkage_extended_event_get_type; - -// gst.mpegts.DVBLinkageMobileHandOver - -alias c_gst_mpegts_dvb_linkage_mobile_hand_over_get_type gst_mpegts_dvb_linkage_mobile_hand_over_get_type; - -// gst.mpegts.DVBParentalRatingItem - -alias c_gst_mpegts_dvb_parental_rating_item_get_type gst_mpegts_dvb_parental_rating_item_get_type; - -// gst.mpegts.DVBServiceListItem - -alias c_gst_mpegts_dvb_service_list_item_get_type gst_mpegts_dvb_service_list_item_get_type; - -// gst.mpegts.DataBroadcastDescriptor - -alias c_gst_mpegts_dvb_data_broadcast_descriptor_get_type gst_mpegts_dvb_data_broadcast_descriptor_get_type; -alias c_gst_mpegts_dvb_data_broadcast_descriptor_free gst_mpegts_dvb_data_broadcast_descriptor_free; - -// gst.mpegts.Descriptor - -alias c_gst_mpegts_descriptor_get_type gst_mpegts_descriptor_get_type; -alias c_gst_mpegts_descriptor_free gst_mpegts_descriptor_free; -alias c_gst_mpegts_descriptor_parse_ca gst_mpegts_descriptor_parse_ca; -alias c_gst_mpegts_descriptor_parse_cable_delivery_system gst_mpegts_descriptor_parse_cable_delivery_system; -alias c_gst_mpegts_descriptor_parse_dvb_bouquet_name gst_mpegts_descriptor_parse_dvb_bouquet_name; -alias c_gst_mpegts_descriptor_parse_dvb_ca_identifier gst_mpegts_descriptor_parse_dvb_ca_identifier; -alias c_gst_mpegts_descriptor_parse_dvb_component gst_mpegts_descriptor_parse_dvb_component; -alias c_gst_mpegts_descriptor_parse_dvb_content gst_mpegts_descriptor_parse_dvb_content; -alias c_gst_mpegts_descriptor_parse_dvb_data_broadcast gst_mpegts_descriptor_parse_dvb_data_broadcast; -alias c_gst_mpegts_descriptor_parse_dvb_data_broadcast_id gst_mpegts_descriptor_parse_dvb_data_broadcast_id; -alias c_gst_mpegts_descriptor_parse_dvb_extended_event gst_mpegts_descriptor_parse_dvb_extended_event; -alias c_gst_mpegts_descriptor_parse_dvb_frequency_list gst_mpegts_descriptor_parse_dvb_frequency_list; -alias c_gst_mpegts_descriptor_parse_dvb_linkage gst_mpegts_descriptor_parse_dvb_linkage; -alias c_gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name; -alias c_gst_mpegts_descriptor_parse_dvb_multilingual_component gst_mpegts_descriptor_parse_dvb_multilingual_component; -alias c_gst_mpegts_descriptor_parse_dvb_multilingual_network_name gst_mpegts_descriptor_parse_dvb_multilingual_network_name; -alias c_gst_mpegts_descriptor_parse_dvb_multilingual_service_name gst_mpegts_descriptor_parse_dvb_multilingual_service_name; -alias c_gst_mpegts_descriptor_parse_dvb_network_name gst_mpegts_descriptor_parse_dvb_network_name; -alias c_gst_mpegts_descriptor_parse_dvb_parental_rating gst_mpegts_descriptor_parse_dvb_parental_rating; -alias c_gst_mpegts_descriptor_parse_dvb_private_data_specifier gst_mpegts_descriptor_parse_dvb_private_data_specifier; -alias c_gst_mpegts_descriptor_parse_dvb_scrambling gst_mpegts_descriptor_parse_dvb_scrambling; -alias c_gst_mpegts_descriptor_parse_dvb_service gst_mpegts_descriptor_parse_dvb_service; -alias c_gst_mpegts_descriptor_parse_dvb_service_list gst_mpegts_descriptor_parse_dvb_service_list; -alias c_gst_mpegts_descriptor_parse_dvb_short_event gst_mpegts_descriptor_parse_dvb_short_event; -alias c_gst_mpegts_descriptor_parse_dvb_stream_identifier gst_mpegts_descriptor_parse_dvb_stream_identifier; -alias c_gst_mpegts_descriptor_parse_dvb_stuffing gst_mpegts_descriptor_parse_dvb_stuffing; -alias c_gst_mpegts_descriptor_parse_dvb_subtitling_idx gst_mpegts_descriptor_parse_dvb_subtitling_idx; -alias c_gst_mpegts_descriptor_parse_dvb_subtitling_nb gst_mpegts_descriptor_parse_dvb_subtitling_nb; -alias c_gst_mpegts_descriptor_parse_dvb_t2_delivery_system gst_mpegts_descriptor_parse_dvb_t2_delivery_system; -alias c_gst_mpegts_descriptor_parse_dvb_teletext_idx gst_mpegts_descriptor_parse_dvb_teletext_idx; -alias c_gst_mpegts_descriptor_parse_dvb_teletext_nb gst_mpegts_descriptor_parse_dvb_teletext_nb; -alias c_gst_mpegts_descriptor_parse_iso_639_language gst_mpegts_descriptor_parse_iso_639_language; -alias c_gst_mpegts_descriptor_parse_iso_639_language_idx gst_mpegts_descriptor_parse_iso_639_language_idx; -alias c_gst_mpegts_descriptor_parse_iso_639_language_nb gst_mpegts_descriptor_parse_iso_639_language_nb; -alias c_gst_mpegts_descriptor_parse_logical_channel gst_mpegts_descriptor_parse_logical_channel; -alias c_gst_mpegts_descriptor_parse_satellite_delivery_system gst_mpegts_descriptor_parse_satellite_delivery_system; -alias c_gst_mpegts_descriptor_parse_terrestrial_delivery_system gst_mpegts_descriptor_parse_terrestrial_delivery_system; -alias c_gst_mpegts_descriptor_from_custom gst_mpegts_descriptor_from_custom; -alias c_gst_mpegts_descriptor_from_custom_with_extension gst_mpegts_descriptor_from_custom_with_extension; -alias c_gst_mpegts_descriptor_from_dvb_network_name gst_mpegts_descriptor_from_dvb_network_name; -alias c_gst_mpegts_descriptor_from_dvb_service gst_mpegts_descriptor_from_dvb_service; -alias c_gst_mpegts_descriptor_from_dvb_subtitling gst_mpegts_descriptor_from_dvb_subtitling; -alias c_gst_mpegts_descriptor_from_iso_639_language gst_mpegts_descriptor_from_iso_639_language; -alias c_gst_mpegts_descriptor_from_registration gst_mpegts_descriptor_from_registration; -alias c_gst_mpegts_find_descriptor gst_mpegts_find_descriptor; -alias c_gst_mpegts_parse_descriptors gst_mpegts_parse_descriptors; - -// gst.mpegts.DvbMultilingualBouquetNameItem - -alias c_gst_mpegts_dvb_multilingual_bouquet_name_item_get_type gst_mpegts_dvb_multilingual_bouquet_name_item_get_type; - -// gst.mpegts.DvbMultilingualComponentItem - -alias c_gst_mpegts_dvb_multilingual_component_item_get_type gst_mpegts_dvb_multilingual_component_item_get_type; - -// gst.mpegts.DvbMultilingualNetworkNameItem - -alias c_gst_mpegts_dvb_multilingual_network_name_item_get_type gst_mpegts_dvb_multilingual_network_name_item_get_type; - -// gst.mpegts.DvbMultilingualServiceNameItem - -alias c_gst_mpegts_dvb_multilingual_service_name_item_get_type gst_mpegts_dvb_multilingual_service_name_item_get_type; - -// gst.mpegts.EIT - -alias c_gst_mpegts_eit_get_type gst_mpegts_eit_get_type; - -// gst.mpegts.EITEvent - -alias c_gst_mpegts_eit_event_get_type gst_mpegts_eit_event_get_type; - -// gst.mpegts.ExtendedEventDescriptor - -alias c_gst_mpegts_extended_event_descriptor_get_type gst_mpegts_extended_event_descriptor_get_type; -alias c_gst_mpegts_extended_event_descriptor_free gst_mpegts_extended_event_descriptor_free; - -// gst.mpegts.ExtendedEventItem - -alias c_gst_mpegts_extended_event_item_get_type gst_mpegts_extended_event_item_get_type; - -// gst.mpegts.ISO639LanguageDescriptor - -alias c_gst_mpegts_iso_639_language_get_type gst_mpegts_iso_639_language_get_type; -alias c_gst_mpegts_iso_639_language_descriptor_free gst_mpegts_iso_639_language_descriptor_free; - -// gst.mpegts.LogicalChannel - -alias c_gst_mpegts_logical_channel_get_type gst_mpegts_logical_channel_get_type; - -// gst.mpegts.LogicalChannelDescriptor - -alias c_gst_mpegts_logical_channel_descriptor_get_type gst_mpegts_logical_channel_descriptor_get_type; - -// gst.mpegts.NIT - -alias c_gst_mpegts_nit_get_type gst_mpegts_nit_get_type; -alias c_gst_mpegts_nit_new gst_mpegts_nit_new; - -// gst.mpegts.NITStream - -alias c_gst_mpegts_nit_stream_get_type gst_mpegts_nit_stream_get_type; -alias c_gst_mpegts_nit_stream_new gst_mpegts_nit_stream_new; - -// gst.mpegts.PMT - -alias c_gst_mpegts_pmt_get_type gst_mpegts_pmt_get_type; -alias c_gst_mpegts_pmt_new gst_mpegts_pmt_new; - -// gst.mpegts.PMTStream - -alias c_gst_mpegts_pmt_stream_get_type gst_mpegts_pmt_stream_get_type; -alias c_gst_mpegts_pmt_stream_new gst_mpegts_pmt_stream_new; - -// gst.mpegts.PatProgram - -alias c_gst_mpegts_pat_program_get_type gst_mpegts_pat_program_get_type; -alias c_gst_mpegts_pat_program_new gst_mpegts_pat_program_new; -alias c_gst_mpegts_pat_new gst_mpegts_pat_new; - -// gst.mpegts.SCTESIT - -alias c_gst_mpegts_scte_sit_get_type gst_mpegts_scte_sit_get_type; -alias c_gst_mpegts_scte_sit_new gst_mpegts_scte_sit_new; - -// gst.mpegts.SCTESpliceEvent - -alias c_gst_mpegts_scte_splice_event_get_type gst_mpegts_scte_splice_event_get_type; -alias c_gst_mpegts_scte_splice_event_new gst_mpegts_scte_splice_event_new; - -// gst.mpegts.SDT - -alias c_gst_mpegts_sdt_get_type gst_mpegts_sdt_get_type; -alias c_gst_mpegts_sdt_new gst_mpegts_sdt_new; - -// gst.mpegts.SDTService - -alias c_gst_mpegts_sdt_service_get_type gst_mpegts_sdt_service_get_type; -alias c_gst_mpegts_sdt_service_new gst_mpegts_sdt_service_new; - -// gst.mpegts.SatelliteDeliverySystemDescriptor - -alias c_gst_mpegts_satellite_delivery_system_descriptor_get_type gst_mpegts_satellite_delivery_system_descriptor_get_type; - -// gst.mpegts.Section - -alias c_gst_mpegts_section_get_type gst_mpegts_section_get_type; -alias c_gst_mpegts_section_new gst_mpegts_section_new; -alias c_gst_mpegts_section_get_atsc_cvct gst_mpegts_section_get_atsc_cvct; -alias c_gst_mpegts_section_get_atsc_eit gst_mpegts_section_get_atsc_eit; -alias c_gst_mpegts_section_get_atsc_ett gst_mpegts_section_get_atsc_ett; -alias c_gst_mpegts_section_get_atsc_mgt gst_mpegts_section_get_atsc_mgt; -alias c_gst_mpegts_section_get_atsc_rrt gst_mpegts_section_get_atsc_rrt; -alias c_gst_mpegts_section_get_atsc_stt gst_mpegts_section_get_atsc_stt; -alias c_gst_mpegts_section_get_atsc_tvct gst_mpegts_section_get_atsc_tvct; -alias c_gst_mpegts_section_get_bat gst_mpegts_section_get_bat; -alias c_gst_mpegts_section_get_cat gst_mpegts_section_get_cat; -alias c_gst_mpegts_section_get_data gst_mpegts_section_get_data; -alias c_gst_mpegts_section_get_eit gst_mpegts_section_get_eit; -alias c_gst_mpegts_section_get_nit gst_mpegts_section_get_nit; -alias c_gst_mpegts_section_get_pat gst_mpegts_section_get_pat; -alias c_gst_mpegts_section_get_pmt gst_mpegts_section_get_pmt; -alias c_gst_mpegts_section_get_scte_sit gst_mpegts_section_get_scte_sit; -alias c_gst_mpegts_section_get_sdt gst_mpegts_section_get_sdt; -alias c_gst_mpegts_section_get_tdt gst_mpegts_section_get_tdt; -alias c_gst_mpegts_section_get_tot gst_mpegts_section_get_tot; -alias c_gst_mpegts_section_get_tsdt gst_mpegts_section_get_tsdt; -alias c_gst_mpegts_section_packetize gst_mpegts_section_packetize; -alias c_gst_mpegts_section_send_event gst_mpegts_section_send_event; -alias c_gst_mpegts_section_from_atsc_mgt gst_mpegts_section_from_atsc_mgt; -alias c_gst_mpegts_section_from_atsc_rrt gst_mpegts_section_from_atsc_rrt; -alias c_gst_mpegts_section_from_atsc_stt gst_mpegts_section_from_atsc_stt; -alias c_gst_mpegts_section_from_nit gst_mpegts_section_from_nit; -alias c_gst_mpegts_section_from_pat gst_mpegts_section_from_pat; -alias c_gst_mpegts_section_from_pmt gst_mpegts_section_from_pmt; -alias c_gst_mpegts_section_from_scte_sit gst_mpegts_section_from_scte_sit; -alias c_gst_mpegts_section_from_sdt gst_mpegts_section_from_sdt; -alias c_gst_event_parse_mpegts_section gst_event_parse_mpegts_section; -alias c_gst_message_new_mpegts_section gst_message_new_mpegts_section; -alias c_gst_message_parse_mpegts_section gst_message_parse_mpegts_section; - -// gst.mpegts.T2DeliverySystemCell - -alias c_gst_mpegts_t2_delivery_system_cell_get_type gst_mpegts_t2_delivery_system_cell_get_type; - -// gst.mpegts.T2DeliverySystemCellExtension - -alias c_gst_mpegts_t2_delivery_system_cell_extension_get_type gst_mpegts_t2_delivery_system_cell_extension_get_type; - -// gst.mpegts.T2DeliverySystemDescriptor - -alias c_gst_mpegts_t2_delivery_system_descriptor_get_type gst_mpegts_t2_delivery_system_descriptor_get_type; -alias c_gst_mpegts_t2_delivery_system_descriptor_free gst_mpegts_t2_delivery_system_descriptor_free; - -// gst.mpegts.TOT - -alias c_gst_mpegts_tot_get_type gst_mpegts_tot_get_type; - -// gst.mpegts.TerrestrialDeliverySystemDescriptor - -alias c_gst_mpegts_terrestrial_delivery_system_descriptor_get_type gst_mpegts_terrestrial_delivery_system_descriptor_get_type; - -// gst.mpegts.Mpegts - -alias c_gst_mpegts_initialize gst_mpegts_initialize; diff --git a/generated/gstreamer/gst/mpegts/c/types.d b/generated/gstreamer/gst/mpegts/c/types.d deleted file mode 100644 index fabc7ad51..000000000 --- a/generated/gstreamer/gst/mpegts/c/types.d +++ /dev/null @@ -1,2019 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gst.mpegts.c.types; - -public import glib.c.types; -public import gobject.c.types; -public import gstreamer.c.types; - - -/** - * These values correspond to the registered descriptor type from - * the various ATSC specifications. - * - * Consult the relevant specifications for more details. - */ -public enum GstMpegtsATSCDescriptorType -{ - STUFFING = 128, - AC3 = 131, - CAPTION_SERVICE = 134, - CONTENT_ADVISORY = 135, - EXTENDED_CHANNEL_NAME = 160, - SERVICE_LOCATION = 161, - TIME_SHIFTED_SERVICE = 162, - COMPONENT_NAME = 163, - DCC_DEPARTING_REQUEST = 168, - DCC_ARRIVING_REQUEST = 169, - REDISTRIBUTION_CONTROL = 170, - GENRE = 171, - PRIVATE_INFORMATION = 173, - EAC3 = 204, - ENHANCED_SIGNALING = 178, - DATA_SERVICE = 164, - PID_COUNT = 165, - DOWNLOAD_DESCRIPTOR = 166, - MULTIPROTOCOL_ENCAPSULATION = 167, - MODULE_LINK = 180, - CRC32 = 181, - GROUP_LINK = 184, -} -alias GstMpegtsATSCDescriptorType ATSCDescriptorType; - -public enum GstMpegtsAtscMGTTableType -{ - EIT0 = 256, - EIT127 = 383, - ETT0 = 512, - ETT127 = 639, -} -alias GstMpegtsAtscMGTTableType AtscMGTTableType; - -public enum GstMpegtsCableOuterFECScheme -{ - UNDEFINED = 0, - NONE = 1, - RS_204_188 = 2, -} -alias GstMpegtsCableOuterFECScheme CableOuterFECScheme; - -public enum GstMpegtsComponentStreamContent -{ - MPEG2_VIDEO = 1, - MPEG1_LAYER2_AUDIO = 2, - TELETEXT_OR_SUBTITLE = 3, - AC_3 = 4, - AVC = 5, - AAC = 6, - DTS = 7, - SRM_CPCM = 8, -} -alias GstMpegtsComponentStreamContent ComponentStreamContent; - -public enum GstMpegtsContentNibbleHi -{ - MOVIE_DRAMA = 1, - NEWS_CURRENT_AFFAIRS = 2, - SHOW_GAME_SHOW = 3, - SPORTS = 4, - CHILDREN_YOUTH_PROGRAM = 5, - MUSIC_BALLET_DANCE = 6, - ARTS_CULTURE = 7, - SOCIAL_POLITICAL_ECONOMICS = 8, - EDUCATION_SCIENCE_FACTUAL = 9, - LEISURE_HOBBIES = 10, - SPECIAL_CHARACTERISTICS = 11, -} -alias GstMpegtsContentNibbleHi ContentNibbleHi; - -public enum GstMpegtsDVBCodeRate -{ - NONE = 0, - _1_2 = 1, - _2_3 = 2, - _3_4 = 3, - _4_5 = 4, - _5_6 = 5, - _6_7 = 6, - _7_8 = 7, - _8_9 = 8, - AUTO = 9, - _3_5 = 10, - _9_10 = 11, - _2_5 = 12, -} -alias GstMpegtsDVBCodeRate DVBCodeRate; - -/** - * The type of #GstMpegtsDescriptor - * - * These values correspond to the registered descriptor type from - * the various DVB specifications. - * - * Consult the relevant specifications for more details. - */ -public enum GstMpegtsDVBDescriptorType -{ - NETWORK_NAME = 64, - SERVICE_LIST = 65, - STUFFING = 66, - SATELLITE_DELIVERY_SYSTEM = 67, - CABLE_DELIVERY_SYSTEM = 68, - VBI_DATA = 69, - VBI_TELETEXT = 70, - BOUQUET_NAME = 71, - SERVICE = 72, - COUNTRY_AVAILABILITY = 73, - LINKAGE = 74, - NVOD_REFERENCE = 75, - TIME_SHIFTED_SERVICE = 76, - SHORT_EVENT = 77, - EXTENDED_EVENT = 78, - TIME_SHIFTED_EVENT = 79, - COMPONENT = 80, - MOSAIC = 81, - STREAM_IDENTIFIER = 82, - CA_IDENTIFIER = 83, - CONTENT = 84, - PARENTAL_RATING = 85, - TELETEXT = 86, - TELEPHONE = 87, - LOCAL_TIME_OFFSET = 88, - SUBTITLING = 89, - TERRESTRIAL_DELIVERY_SYSTEM = 90, - MULTILINGUAL_NETWORK_NAME = 91, - MULTILINGUAL_BOUQUET_NAME = 92, - MULTILINGUAL_SERVICE_NAME = 93, - MULTILINGUAL_COMPONENT = 94, - PRIVATE_DATA_SPECIFIER = 95, - SERVICE_MOVE = 96, - SHORT_SMOOTHING_BUFFER = 97, - FREQUENCY_LIST = 98, - PARTIAL_TRANSPORT_STREAM = 99, - DATA_BROADCAST = 100, - SCRAMBLING = 101, - DATA_BROADCAST_ID = 102, - TRANSPORT_STREAM = 103, - DSNG = 104, - PDC = 105, - AC3 = 106, - ANCILLARY_DATA = 107, - CELL_LIST = 108, - CELL_FREQUENCY_LINK = 109, - ANNOUNCEMENT_SUPPORT = 110, - APPLICATION_SIGNALLING = 111, - ADAPTATION_FIELD_DATA = 112, - SERVICE_IDENTIFIER = 113, - SERVICE_AVAILABILITY = 114, - DEFAULT_AUTHORITY = 115, - RELATED_CONTENT = 116, - TVA_ID = 117, - CONTENT_IDENTIFIER = 118, - TIMESLICE_FEC_IDENTIFIER = 119, - ECM_REPETITION_RATE = 120, - S2_SATELLITE_DELIVERY_SYSTEM = 121, - ENHANCED_AC3 = 122, - DTS = 123, - AAC = 124, - XAIT_LOCATION = 125, - FTA_CONTENT_MANAGEMENT = 126, - EXTENSION = 127, -} -alias GstMpegtsDVBDescriptorType DVBDescriptorType; - -/** - * The type of #GstMpegtsDescriptor - * - * These values correspond to the registered extended descriptor - * type from the various DVB specifications. - * - * Consult the relevant specifications for more details. - */ -public enum GstMpegtsDVBExtendedDescriptorType -{ - IMAGE_ICON = 0, - CPCM_DELIVERY_SIGNALLING = 1, - CP = 2, - CP_IDENTIFIER = 3, - T2_DELIVERY_SYSTEM = 4, - SH_DELIVERY_SYSTEM = 5, - SUPPLEMENTARY_AUDIO = 6, - NETWORK_CHANGE_NOTIFY = 7, - MESSAGE = 8, - TARGET_REGION = 9, - TARGET_REGION_NAME = 10, - SERVICE_RELOCATED = 11, - XAIT_PID = 12, - C2_DELIVERY_SYSTEM = 13, - DTS_HD_AUDIO_STREAM = 14, - DTS_NEUTRAL = 15, - VIDEO_DEPTH_RANGE = 16, - T2MI = 17, - URI_LINKAGE = 19, - AC4 = 21, -} -alias GstMpegtsDVBExtendedDescriptorType DVBExtendedDescriptorType; - -public enum GstMpegtsDVBLinkageHandOverType -{ - RESERVED = 0, - IDENTICAL = 1, - LOCAL_VARIATION = 2, - ASSOCIATED = 3, -} -alias GstMpegtsDVBLinkageHandOverType DVBLinkageHandOverType; - -/** - * Linkage Type (EN 300 468 v.1.13.1) - */ -public enum GstMpegtsDVBLinkageType -{ - RESERVED_00 = 0, - INFORMATION = 1, - EPG = 2, - CA_REPLACEMENT = 3, - TS_CONTAINING_COMPLETE_SI = 4, - SERVICE_REPLACEMENT = 5, - DATA_BROADCAST = 6, - RCS_MAP = 7, - MOBILE_HAND_OVER = 8, - SYSTEM_SOFTWARE_UPDATE = 9, - TS_CONTAINING_SSU = 10, - IP_MAC_NOTIFICATION = 11, - TS_CONTAINING_INT = 12, - EVENT = 13, - EXTENDED_EVENT = 14, -} -alias GstMpegtsDVBLinkageType DVBLinkageType; - -public enum GstMpegtsDVBScramblingModeType -{ - RESERVED = 0, - CSA1 = 1, - CSA2 = 2, - CSA3_STANDARD = 3, - CSA3_MINIMAL_ENHANCED = 4, - CSA3_FULL_ENHANCED = 5, - CISSA = 16, - ATIS_0 = 112, - ATIS_F = 127, -} -alias GstMpegtsDVBScramblingModeType DVBScramblingModeType; - -/** - * The type of service of a channel. - * - * As specified in Table 87 of ETSI EN 300 468 v1.13.1 - */ -public enum GstMpegtsDVBServiceType -{ - RESERVED_00 = 0, - DIGITAL_TELEVISION = 1, - DIGITAL_RADIO_SOUND = 2, - TELETEXT = 3, - NVOD_REFERENCE = 4, - NVOD_TIME_SHIFTED = 5, - MOSAIC = 6, - FM_RADIO = 7, - DVB_SRM = 8, - RESERVED_09 = 9, - ADVANCED_CODEC_DIGITAL_RADIO_SOUND = 10, - ADVANCED_CODEC_MOSAIC = 11, - DATA_BROADCAST = 12, - RESERVED_0D_COMMON_INTERFACE = 13, - RCS_MAP = 14, - RCS_FLS = 15, - DVB_MHP = 16, - MPEG2_HD_DIGITAL_TELEVISION = 17, - ADVANCED_CODEC_SD_DIGITAL_TELEVISION = 22, - ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED = 23, - ADVANCED_CODEC_SD_NVOD_REFERENCE = 24, - ADVANCED_CODEC_HD_DIGITAL_TELEVISION = 25, - ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED = 26, - ADVANCED_CODEC_HD_NVOD_REFERENCE = 27, - ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION = 28, - ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED = 29, - ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE = 30, - RESERVED_FF = 31, -} -alias GstMpegtsDVBServiceType DVBServiceType; - -/** - * The type of teletext page. - * - * As specified in Table 100 of ETSI EN 300 468 v1.13.1 - */ -public enum GstMpegtsDVBTeletextType -{ - NITIAL_PAGE = 1, - UBTITLE_PAGE = 2, - DDITIONAL_INFO_PAGE = 3, - ROGRAMME_SCHEDULE_PAGE = 4, - EARING_IMPAIRED_PAGE = 5, -} -alias GstMpegtsDVBTeletextType DVBTeletextType; - -/** - * The type of #GstMpegtsDescriptor - * - * These values correspond to the registered descriptor type from - * the base MPEG-TS specifications (ITU H.222.0 | ISO/IEC 13818-1). - * - * Consult the relevant specifications for more details. - */ -public enum GstMpegtsDescriptorType -{ - RESERVED_00 = 0, - RESERVED_01 = 1, - VIDEO_STREAM = 2, - AUDIO_STREAM = 3, - HIERARCHY = 4, - REGISTRATION = 5, - DATA_STREAM_ALIGNMENT = 6, - TARGET_BACKGROUND_GRID = 7, - VIDEO_WINDOW = 8, - CA = 9, - ISO_639_LANGUAGE = 10, - SYSTEM_CLOCK = 11, - MULTIPLEX_BUFFER_UTILISATION = 12, - COPYRIGHT = 13, - MAXIMUM_BITRATE = 14, - PRIVATE_DATA_INDICATOR = 15, - SMOOTHING_BUFFER = 16, - STD = 17, - IBP = 18, - DSMCC_CAROUSEL_IDENTIFIER = 19, - DSMCC_ASSOCIATION_TAG = 20, - DSMCC_DEFERRED_ASSOCIATION_TAG = 21, - DSMCC_NPT_REFERENCE = 23, - DSMCC_NPT_ENDPOINT = 24, - DSMCC_STREAM_MODE = 25, - DSMCC_STREAM_EVENT = 26, - MPEG4_VIDEO = 27, - MPEG4_AUDIO = 28, - IOD = 29, - SL = 30, - FMC = 31, - EXTERNAL_ES_ID = 32, - MUX_CODE = 33, - FMX_BUFFER_SIZE = 34, - MULTIPLEX_BUFFER = 35, - CONTENT_LABELING = 36, - METADATA_POINTER = 37, - METADATA = 38, - METADATA_STD = 39, - AVC_VIDEO = 40, - IPMP = 41, - AVC_TIMING_AND_HRD = 42, - MPEG2_AAC_AUDIO = 43, - FLEX_MUX_TIMING = 44, - MPEG4_TEXT = 45, - MPEG4_AUDIO_EXTENSION = 46, - AUXILIARY_VIDEO_STREAM = 47, - SVC_EXTENSION = 48, - MVC_EXTENSION = 49, - J2K_VIDEO = 50, - MVC_OPERATION_POINT = 51, - MPEG2_STEREOSCOPIC_VIDEO_FORMAT = 52, - STEREOSCOPIC_PROGRAM_INFO = 53, - STEREOSCOPIC_VIDEO_INFO = 54, -} -alias GstMpegtsDescriptorType DescriptorType; - -/** - * These values correspond to the registered descriptor type from - * the various ISDB specifications. - * - * Consult the relevant specifications for more details. - */ -public enum GstMpegtsISDBDescriptorType -{ - HIERARCHICAL_TRANSMISSION = 192, - DIGITAL_COPY_CONTROL = 193, - NETWORK_IDENTIFICATION = 194, - PARTIAL_TS_TIME = 195, - AUDIO_COMPONENT = 196, - HYPERLINK = 197, - TARGET_REGION = 198, - DATA_CONTENT = 199, - VIDEO_DECODE_CONTROL = 200, - DOWNLOAD_CONTENT = 201, - CA_EMM_TS = 202, - CA_CONTRACT_INFORMATION = 203, - CA_SERVICE = 204, - TS_INFORMATION = 205, - EXTENDED_BROADCASTER = 206, - LOGO_TRANSMISSION = 207, - BASIC_LOCAL_EVENT = 208, - REFERENCE = 209, - NODE_RELATION = 210, - SHORT_NODE_INFORMATION = 211, - STC_REFERENCE = 212, - SERIES = 213, - EVENT_GROUP = 214, - SI_PARAMETER = 215, - BROADCASTER_NAME = 216, - COMPONENT_GROUP = 217, - SI_PRIME_TS = 218, - BOARD_INFORMATION = 219, - LDT_LINKAGE = 220, - CONNECTED_TRANSMISSION = 221, - CONTENT_AVAILABILITY = 222, - SERVICE_GROUP = 224, -} -alias GstMpegtsISDBDescriptorType ISDBDescriptorType; - -public enum GstMpegtsIso639AudioType -{ - UNDEFINED = 0, - CLEAN_EFFECTS = 1, - HEARING_IMPAIRED = 2, - VISUAL_IMPAIRED_COMMENTARY = 3, -} -alias GstMpegtsIso639AudioType Iso639AudioType; - -/** - * The type of #GstMpegtsDescriptor - * - * These values correspond to miscellaneous descriptor types that are - * not yet identified from known specifications. - */ -public enum GstMpegtsMiscDescriptorType -{ - AC3_AUDIO_STREAM = 129, - DTG_LOGICAL_CHANNEL = 131, -} -alias GstMpegtsMiscDescriptorType MiscDescriptorType; - -public enum GstMpegtsModulationType -{ - QPSK = 0, - QAM_16 = 1, - QAM_32 = 2, - QAM_64 = 3, - QAM_128 = 4, - QAM_256 = 5, - QAM_AUTO = 6, - VSB_8 = 7, - VSB_16 = 8, - PSK_8 = 9, - APSK_16 = 10, - APSK_32 = 11, - DQPSK = 12, - QAM_4_NR_ = 13, - NONE = 14, -} -alias GstMpegtsModulationType ModulationType; - -/** - * Running status of a service. - * - * Corresponds to table 6 of ETSI EN 300 468 (v1.13.0) - */ -public enum GstMpegtsRunningStatus -{ - UNDEFINED = 0, - NOT_RUNNING = 1, - STARTS_IN_FEW_SECONDS = 2, - PAUSING = 3, - RUNNING = 4, - OFF_AIR = 5, -} -alias GstMpegtsRunningStatus RunningStatus; - -public enum GstMpegtsSCTESpliceCommandType -{ - NULL = 0, - SCHEDULE = 4, - INSERT = 5, - TIME = 6, - BANDWIDTH = 7, - PRIVATE = 255, -} -alias GstMpegtsSCTESpliceCommandType SCTESpliceCommandType; - -public enum GstMpegtsSCTESpliceDescriptor -{ - AVAIL = 0, - DTMF = 1, - SEGMENTATION = 2, - TIME = 3, - AUDIO = 4, -} -alias GstMpegtsSCTESpliceDescriptor SCTESpliceDescriptor; - -public enum GstMpegtsSatellitePolarizationType -{ - LINEAR_HORIZONTAL = 0, - LINEAR_VERTICAL = 1, - CIRCULAR_LEFT = 2, - CIRCULAR_RIGHT = 3, -} -alias GstMpegtsSatellitePolarizationType SatellitePolarizationType; - -public enum GstMpegtsSatelliteRolloff -{ - _35 = 0, - _20 = 1, - _25 = 2, - RESERVED = 3, - AUTO = 4, -} -alias GstMpegtsSatelliteRolloff SatelliteRolloff; - -/** - * Type of mpeg-ts streams for SCTE - */ -public enum GstMpegtsScteStreamType -{ - /** - * SCTE-27 Subtitling - */ - SUBTITLING = 130, - /** - * SCTE-19 Isochronous data - */ - ISOCH_DATA = 131, - /** - * SCTE-35 Splice Information Table - */ - SIT = 134, - /** - * SCTE-07 Data Service or - * Network Resource Table - */ - DST_NRT = 149, - /** - * Type B - DSM-CC Data Carousel - * [IEC 13818-6]) - */ - DSMCC_DCB = 176, - /** - * Enhanced Television Application - * Signaling (OC-SP-ETV-AM1.0.1-120614) - */ - SIGNALING = 192, - /** - * SCTE-07 Synchronous data - */ - SYNC_DATA = 194, - /** - * SCTE-53 Asynchronous data - */ - ASYNC_DATA = 195, -} -alias GstMpegtsScteStreamType ScteStreamType; - -/** - * Values for a #GstMpegtsSection table_id. - * - * These are the registered ATSC table_id variants. - * - * see also: #GstMpegtsSectionTableID - */ -public enum GstMpegtsSectionATSCTableID -{ - MASTER_GUIDE = 199, - TERRESTRIAL_VIRTUAL_CHANNEL = 200, - CABLE_VIRTUAL_CHANNEL = 201, - RATING_REGION = 202, - EVENT_INFORMATION = 203, - CHANNEL_OR_EVENT_EXTENDED_TEXT = 204, - SYSTEM_TIME = 205, - DATA_EVENT = 206, - DATA_SERVICE = 207, - NETWORK_RESOURCE = 209, - LONG_TERM_SERVICE = 210, - DIRECTED_CHANNEL_CHANGE = 211, - DIRECTED_CHANNEL_CHANGE_SECTION_CODE = 212, - AGGREGATE_EVENT_INFORMATION = 214, - AGGREGATE_EXTENDED_TEXT = 215, - AGGREGATE_DATA_EVENT = 217, - SATELLITE_VIRTUAL_CHANNEL = 218, -} -alias GstMpegtsSectionATSCTableID SectionATSCTableID; - -/** - * Values for a #GstMpegtsSection table_id. - * - * These are the registered DVB table_id variants. - * - * see also: #GstMpegtsSectionTableID - */ -public enum GstMpegtsSectionDVBTableID -{ - NETWORK_INFORMATION_ACTUAL_NETWORK = 64, - NETWORK_INFORMATION_OTHER_NETWORK = 65, - SERVICE_DESCRIPTION_ACTUAL_TS = 66, - SERVICE_DESCRIPTION_OTHER_TS = 70, - BOUQUET_ASSOCIATION = 74, - EVENT_INFORMATION_ACTUAL_TS_PRESENT = 78, - EVENT_INFORMATION_OTHER_TS_PRESENT = 79, - EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1 = 80, - EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N = 95, - EVENT_INFORMATION_OTHER_TS_SCHEDULE_1 = 96, - EVENT_INFORMATION_OTHER_TS_SCHEDULE_N = 111, - TIME_DATE = 112, - RUNNING_STATUS = 113, - STUFFING = 114, - TIME_OFFSET = 115, - APPLICATION_INFORMATION_TABLE = 116, - CONTAINER = 117, - RELATED_CONTENT = 118, - CONTENT_IDENTIFIER = 119, - MPE_FEC = 120, - RESOLUTION_NOTIFICATION = 121, - MPE_IFEC = 122, - DISCONTINUITY_INFORMATION = 126, - SELECTION_INFORMATION = 127, - CA_MESSAGE_ECM_0 = 128, - CA_MESSAGE_ECM_1 = 129, - CA_MESSAGE_SYSTEM_PRIVATE_1 = 130, - CA_MESSAGE_SYSTEM_PRIVATE_N = 143, - SCT = 160, - FCT = 161, - TCT = 162, - SPT = 163, - CMT = 164, - TBTP = 165, - PCR_PACKET_PAYLOAD = 166, - TRANSMISSION_MODE_SUPPORT_PAYLOAD = 170, - TIM = 176, - LL_FEC_PARITY_DATA_TABLE = 177, -} -alias GstMpegtsSectionDVBTableID SectionDVBTableID; - -/** - * Values for a #GstMpegtsSection table_id. - * - * These are the registered SCTE table_id variants. - * - * see also: #GstMpegtsSectionTableID - */ -public enum GstMpegtsSectionSCTETableID -{ - /** - * SCTE-18 Emergency Alert System - */ - EAS = 216, - /** - * CL-SP-ETV-AM 1.0.1 EBIF message - */ - EBIF = 224, - RESERVED = 225, - /** - * CL-SP-ETV-AM 1.0.1 EBIF Int. Signaling Sect. - */ - EISS = 226, - /** - * CL-SP-ETV-AM 1.0.1 DSMCC DII message - */ - DII = 227, - /** - * CL-SP-ETV-AM 1.0.1 DSMCC Data Download Block - */ - DDB = 228, - /** - * SCTE-35 splice information is carried in a - * section stream on a separate PID in the program’s Map Table (PMT) allowing - * Splice Event notifications to remain associated with the program and pass - * through multiplexers. - */ - SPLICE = 252, -} -alias GstMpegtsSectionSCTETableID SectionSCTETableID; - -/** - * Values for a #GstMpegtsSection table_id - * - * These are the registered ITU H.222.0 | ISO/IEC 13818-1 table_id variants. - * - * see also #GstMpegtsSectionATSCTableID, #GstMpegtsSectionDVBTableID, and - * #GstMpegtsSectionSCTETableID - */ -public enum GstMpegtsSectionTableID -{ - PROGRAM_ASSOCIATION = 0, - CONDITIONAL_ACCESS = 1, - TS_PROGRAM_MAP = 2, - TS_DESCRIPTION = 3, - _14496_SCENE_DESCRIPTION = 4, - _14496_OBJET_DESCRIPTOR = 5, - METADATA = 6, - IPMP_CONTROL_INFORMATION = 7, - DSM_CC_MULTIPROTO_ENCAPSULATED_DATA = 58, - DSM_CC_U_N_MESSAGES = 59, - DSM_CC_DOWNLOAD_DATA_MESSAGES = 60, - DSM_CC_STREAM_DESCRIPTORS = 61, - DSM_CC_PRIVATE_DATA = 62, - DSM_CC_ADDRESSABLE_SECTIONS = 63, - UNSET = 255, -} -alias GstMpegtsSectionTableID SectionTableID; - -/** - * Types of #GstMpegtsSection that the library handles. - */ -public enum GstMpegtsSectionType -{ - /** - * Unknown section type - */ - UNKNOWN = 0, - /** - * Program Association Table (ISO/IEC 13818-1) - */ - PAT = 1, - /** - * Program Map Table (ISO/IEC 13818-1) - */ - PMT = 2, - /** - * Conditional Access Table (ISO/IEC 13818-1) - */ - CAT = 3, - /** - * Transport Stream Description Table (ISO/IEC 13818-1) - */ - TSDT = 4, - /** - * Event Information Table (EN 300 468) - */ - EIT = 5, - /** - * Network Information Table (ISO/IEC 13818-1 / EN 300 468) - */ - NIT = 6, - /** - * Bouquet Association Table ((EN 300 468) - */ - BAT = 7, - /** - * Service Description Table (EN 300 468) - */ - SDT = 8, - /** - * Time and Date Table (EN 300 468) - */ - TDT = 9, - /** - * Time Offset Table (EN 300 468) - */ - TOT = 10, - /** - * ATSC Terrestrial Virtual Channel Table (A65) - */ - ATSC_TVCT = 11, - /** - * ATSC Cable Virtual Channel Table (A65) - */ - ATSC_CVCT = 12, - /** - * ATSC Master Guide Table (A65) - */ - ATSC_MGT = 13, - /** - * ATSC Extended Text Table (A65) - */ - ATSC_ETT = 14, - /** - * ATSC Event Information Table (A65) - */ - ATSC_EIT = 15, - /** - * ATSC System Time Table (A65) - */ - ATSC_STT = 16, - ATSC_RRT = 17, - /** - * SCTE Splice Information Table (SCTE-35) - */ - SCTE_SIT = 18, -} -alias GstMpegtsSectionType SectionType; - -/** - * Type of mpeg-ts stream type. - * - * These values correspond to the base standard registered types. Depending - * on the variant of mpeg-ts being used (Bluray, ATSC, DVB, ...), other - * types might also be used, but will not conflict with these. - * - * Corresponds to table 2-34 of ITU H.222.0 | ISO/IEC 13818-1 - */ -public enum GstMpegtsStreamType -{ - /** - * ITU-T | ISO/IEC Reserved - */ - RESERVED_00 = 0, - /** - * ISO/IEC 11172-2 Video - */ - VIDEO_MPEG1 = 1, - /** - * Rec. ITU-T H.262 | ISO/IEC 13818-2 - * Video or ISO/IEC 11172-2 constrained parameter video stream - */ - VIDEO_MPEG2 = 2, - /** - * ISO/IEC 11172-3 Audio - */ - AUDIO_MPEG1 = 3, - /** - * ISO/IEC 13818-3 Audio - */ - AUDIO_MPEG2 = 4, - /** - * private sections - */ - PRIVATE_SECTIONS = 5, - /** - * PES packets containing private data - */ - PRIVATE_PES_PACKETS = 6, - /** - * ISO/IEC 13522 MHEG - */ - MHEG = 7, - /** - * Annex A DSM-CC - */ - DSM_CC = 8, - /** - * Rec. ITU-T H.222.1 - */ - H_222_1 = 9, - /** - * ISO/IEC 13818-6 type A - */ - DSMCC_A = 10, - /** - * ISO/IEC 13818-6 type B - */ - DSMCC_B = 11, - /** - * ISO/IEC 13818-6 type C - */ - DSMCC_C = 12, - /** - * ISO/IEC 13818-6 type D - */ - DSMCC_D = 13, - /** - * auxiliary streams - */ - AUXILIARY = 14, - /** - * ISO/IEC 13818-7 Audio with ADTS - * transport syntax - */ - AUDIO_AAC_ADTS = 15, - /** - * ISO/IEC 14496-2 Visual - */ - VIDEO_MPEG4 = 16, - /** - * ISO/IEC 14496-3 Audio with the LATM - * transport syntax as defined in ISO/IEC 14496-3 - */ - AUDIO_AAC_LATM = 17, - /** - * ISO/IEC 14496-1 - * SL-packetized stream or FlexMux stream carried in PES packets - */ - SL_FLEXMUX_PES_PACKETS = 18, - /** - * ISO/IEC 14496-1 SL-packetized - * stream or FlexMux stream carried in ISO/IEC 14496_sections - */ - SL_FLEXMUX_SECTIONS = 19, - /** - * ISO/IEC 13818-6 Synchronized - * Download Protocol - */ - SYNCHRONIZED_DOWNLOAD = 20, - /** - * Metadata carried in PES packets - */ - METADATA_PES_PACKETS = 21, - /** - * Metadata carried in metadata_sections - */ - METADATA_SECTIONS = 22, - /** - * Metadata carried in ISO/IEC - * 13818-6 Data Carousel - */ - METADATA_DATA_CAROUSEL = 23, - /** - * Metadata carried in - * ISO/IEC 13818-6 Object Carousel - */ - METADATA_OBJECT_CAROUSEL = 24, - /** - * Metadata carried in - * ISO/IEC 13818-6 Synchronized Download Protocol - */ - METADATA_SYNCHRONIZED_DOWNLOAD = 25, - /** - * IPMP stream (defined in ISO/IEC 13818-11, - * MPEG-2 IPMP) - */ - MPEG2_IPMP = 26, - /** - * AVC video stream conforming to one or - * more profiles defined in Annex A of Rec. ITU-T H.264 | ISO/IEC 14496-10 or - * AVC video sub-bitstream of SVC as defined in 2.1.78 or MVC base view - * sub-bitstream, as defined in 2.1.85, or AVC video sub-bitstream of MVC, as - * defined in 2.1.88 - */ - VIDEO_H264 = 27, - /** - * ISO/IEC 14496-3 Audio, without - * using any additional transport syntax, such as DST, ALS and SLS - */ - AUDIO_AAC_CLEAN = 28, - /** - * ISO/IEC 14496-17 Text - */ - MPEG4_TIMED_TEXT = 29, - /** - * Auxiliary video stream as defined in - * ISO/IEC 23002-3 - */ - VIDEO_RVC = 30, - /** - * SVC video sub-bitstream - * of an AVC video stream conforming to one or more profiles defined in Annex G - * of Rec. ITU-T H.264 | ISO/IEC 14496-10 - */ - VIDEO_H264_SVC_SUB_BITSTREAM = 31, - /** - * MVC video sub-bitstream - * of an AVC video stream conforming to one or more profiles defined in Annex H - * of Rec. ITU-T H.264 | ISO/IEC 14496-10 - */ - VIDEO_H264_MVC_SUB_BITSTREAM = 32, - /** - * Video stream conforming to one or more - * profiles as defined in Rec. ITU-T T.800 | ISO/IEC 15444-1 - */ - VIDEO_JP2K = 33, - /** - * Additional view - * Rec. ITU-T H.262 | ISO/IEC 13818-2 video stream for service-compatible - * stereoscopic 3D services - */ - VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW = 34, - /** - * Additional view - * Rec. ITU-T H.264 | ISO/IEC 14496-10 video stream conforming to one or more - * profiles defined in Annex A for service-compatible stereoscopic 3D services - */ - VIDEO_H264_STEREO_ADDITIONAL_VIEW = 35, - VIDEO_HEVC = 36, - /** - * IPMP stream - */ - IPMP_STREAM = 127, -} -alias GstMpegtsStreamType StreamType; - -public enum GstMpegtsTerrestrialGuardInterval -{ - _1_32 = 0, - _1_16 = 1, - _1_8 = 2, - _1_4 = 3, - AUTO = 4, - _1_128 = 5, - _19_128 = 6, - _19_256 = 7, - PN420 = 8, - PN595 = 9, - PN945 = 10, -} -alias GstMpegtsTerrestrialGuardInterval TerrestrialGuardInterval; - -public enum GstMpegtsTerrestrialHierarchy -{ - NONE = 0, - _1 = 1, - _2 = 2, - _4 = 3, - AUTO = 4, -} -alias GstMpegtsTerrestrialHierarchy TerrestrialHierarchy; - -public enum GstMpegtsTerrestrialTransmissionMode -{ - _2K = 0, - _8K = 1, - AUTO = 2, - _4K = 3, - _1K = 4, - _16K = 5, - _32K = 6, - C1 = 7, - C3780 = 8, -} -alias GstMpegtsTerrestrialTransmissionMode TerrestrialTransmissionMode; - -/** - * Event Information Table (ATSC) - */ -struct GstMpegtsAtscEIT -{ - /** - * The source id - */ - ushort sourceId; - /** - * The protocol version - */ - ubyte protocolVersion; - /** - * Events - */ - GPtrArray* events; -} - -/** - * An ATSC EIT Event - */ -struct GstMpegtsAtscEITEvent -{ - /** - * The event id - */ - ushort eventId; - /** - * The start time - */ - uint startTime; - /** - * The etm location - */ - ubyte etmLocation; - /** - * The length in seconds - */ - uint lengthInSeconds; - /** - * the titles - */ - GPtrArray* titles; - /** - * descriptors - */ - GPtrArray* descriptors; -} - -/** - * Extended Text Table (ATSC) - */ -struct GstMpegtsAtscETT -{ - ushort ettTableIdExtension; - /** - * The protocol version - */ - ushort protocolVersion; - /** - * The etm id - */ - uint etmId; - /** - * List of texts - */ - GPtrArray* messages; -} - -struct GstMpegtsAtscMGT -{ - /** - * The protocol version - */ - ubyte protocolVersion; - /** - * The numbers of subtables - */ - ushort tablesDefined; - /** - * the tables - */ - GPtrArray* tables; - /** - * descriptors - */ - GPtrArray* descriptors; -} - -/** - * Source from a @GstMpegtsAtscMGT - */ -struct GstMpegtsAtscMGTTable -{ - /** - * #GstMpegtsAtscMGTTableType - */ - ushort tableType; - /** - * The packet ID - */ - ushort pid; - /** - * The version number - */ - ubyte versionNumber; - uint numberBytes; - /** - * descriptors - */ - GPtrArray* descriptors; -} - -struct GstMpegtsAtscMultString -{ - /** - * The ISO639 language code - */ - char[4] iso639Langcode; - GPtrArray* segments; -} - -struct GstMpegtsAtscRRT -{ - /** - * The protocol version - */ - ubyte protocolVersion; - /** - * the names - */ - GPtrArray* names; - /** - * the number of dimensions defined for this rating table - */ - ubyte dimensionsDefined; - /** - * A set of dimensions - */ - GPtrArray* dimensions; - /** - * descriptors - */ - GPtrArray* descriptors; -} - -struct GstMpegtsAtscRRTDimension -{ - GPtrArray* names; - bool graduatedScale; - ubyte valuesDefined; - GPtrArray* values; -} - -struct GstMpegtsAtscRRTDimensionValue -{ - /** - * the abbreviated ratings - */ - GPtrArray* abbrevRatings; - /** - * the ratings - */ - GPtrArray* ratings; -} - -struct GstMpegtsAtscSTT -{ - /** - * The protocol version - */ - ubyte protocolVersion; - /** - * The system time - */ - uint systemTime; - /** - * The GPS to UTC offset - */ - ubyte gpsUtcOffset; - bool dsStatus; - /** - * The day of month - */ - ubyte dsDayofmonth; - /** - * The hour - */ - ubyte dsHour; - /** - * descriptors - */ - GPtrArray* descriptors; - /** - * The UTC date and time - */ - GstDateTime* utcDatetime; -} - -struct GstMpegtsAtscStringSegment -{ - /** - * The compression type - */ - ubyte compressionType; - /** - * The mode - */ - ubyte mode; - /** - * The size of compressed data - */ - ubyte compressedDataSize; - /** - * The compressed data - */ - ubyte* compressedData; - char* cachedString; -} - -/** - * Represents both: - * Terrestrial Virtual Channel Table (A65) - * Cable Virtual Channel Table (A65) - */ -struct GstMpegtsAtscVCT -{ - /** - * The transport stream - */ - ushort transportStreamId; - /** - * The protocol version - */ - ubyte protocolVersion; - /** - * sources - */ - GPtrArray* sources; - /** - * descriptors - */ - GPtrArray* descriptors; -} - -/** - * Source from a @GstMpegtsAtscVCT, can be used both for TVCT and CVCT tables - */ -struct GstMpegtsAtscVCTSource -{ - /** - * The short name of a source - */ - char* shortName; - /** - * The major channel number - */ - ushort majorChannelNumber; - /** - * The minor channel number - */ - ushort minorChannelNumber; - /** - * The modulation mode - */ - ubyte modulationMode; - /** - * The carrier frequency - */ - uint carrierFrequency; - /** - * The transport stream ID - */ - ushort channelTSID; - /** - * The program number (see #GstMpegtsPatProgram) - */ - ushort programNumber; - /** - * The ETM location - */ - ubyte ETMLocation; - /** - * is access controlled - */ - bool accessControlled; - /** - * is hidden - */ - bool hidden; - /** - * is path select, CVCT only - */ - bool pathSelect; - /** - * is out of band, CVCT only - */ - bool outOfBand; - /** - * is hide guide - */ - bool hideGuide; - /** - * The service type - */ - ubyte serviceType; - /** - * The source id - */ - ushort sourceId; - /** - * an array of #GstMpegtsDescriptor - */ - GPtrArray* descriptors; -} - -/** - * DVB Bouquet Association Table (EN 300 468) - */ -struct GstMpegtsBAT -{ - GPtrArray* descriptors; - GPtrArray* streams; -} - -struct GstMpegtsBATStream -{ - ushort transportStreamId; - ushort originalNetworkId; - GPtrArray* descriptors; -} - -struct GstMpegtsCableDeliverySystemDescriptor -{ - /** - * the frequency in Hz (Hertz) - */ - uint frequency; - /** - * the outer FEC scheme used - */ - GstMpegtsCableOuterFECScheme outerFec; - /** - * Modulation scheme used - */ - GstMpegtsModulationType modulation; - /** - * Symbol rate (in symbols per second) - */ - uint symbolRate; - /** - * inner FEC scheme used - */ - GstMpegtsDVBCodeRate fecInner; -} - -struct GstMpegtsComponentDescriptor -{ - ubyte streamContent; - ubyte componentType; - ubyte componentTag; - char* languageCode; - char* text; -} - -struct GstMpegtsContent -{ - GstMpegtsContentNibbleHi contentNibble1; - ubyte contentNibble2; - ubyte userByte; -} - -struct GstMpegtsDVBLinkageDescriptor -{ - /** - * the transport id - */ - ushort transportStreamId; - /** - * the original network id - */ - ushort originalNetworkId; - /** - * the service id - */ - ushort serviceId; - /** - * the type which @linkage_data has - */ - GstMpegtsDVBLinkageType linkageType; - void* linkageData; - /** - * the length for @private_data_bytes - */ - ubyte privateDataLength; - /** - * additional data bytes - */ - ubyte* privateDataBytes; -} - -struct GstMpegtsDVBLinkageEvent -{ - ushort targetEventId; - bool targetListed; - bool eventSimulcast; -} - -struct GstMpegtsDVBLinkageExtendedEvent -{ - ushort targetEventId; - bool targetListed; - bool eventSimulcast; - ubyte linkType; - ubyte targetIdType; - bool originalNetworkIdFlag; - bool serviceIdFlag; - ushort userDefinedId; - ushort targetTransportStreamId; - ushort targetOriginalNetworkId; - ushort targetServiceId; -} - -struct GstMpegtsDVBLinkageMobileHandOver -{ - GstMpegtsDVBLinkageHandOverType handOverType; - bool originType; - ushort networkId; - ushort initialServiceId; -} - -struct GstMpegtsDVBParentalRatingItem -{ - char* countryCode; - ubyte rating; -} - -struct GstMpegtsDVBServiceListItem -{ - /** - * the id of a service - */ - ushort serviceId; - /** - * the type of a service - */ - GstMpegtsDVBServiceType type; -} - -struct GstMpegtsDataBroadcastDescriptor -{ - /** - * the data broadcast id - */ - ushort dataBroadcastId; - /** - * the component tag - */ - ubyte componentTag; - ubyte length; - /** - * the selector byte field - */ - ubyte* selectorBytes; - /** - * language of @text - */ - char* languageCode; - /** - * description of data broadcast - */ - char* text; -} - -struct GstMpegtsDescriptor -{ - /** - * the type of descriptor - */ - ubyte tag; - /** - * the extended type (if @descriptor_tag is 0x7f) - */ - ubyte tagExtension; - /** - * the length of the descriptor content (excluding tag/length field) - */ - ubyte length; - /** - * the full descriptor data (including tag, extension, length). The first - * two bytes are the @tag and @length. - */ - ubyte* data; - void*[4] GstReserved; -} - -/** - * a multilingual bouquet name entry - */ -struct GstMpegtsDvbMultilingualBouquetNameItem -{ - /** - * the ISO 639 language code - */ - char* languageCode; - /** - * the bouquet name - */ - char* bouquetName; -} - -struct GstMpegtsDvbMultilingualComponentItem -{ - /** - * the ISO 639 language code - */ - char* languageCode; - /** - * the component description - */ - char* description; -} - -/** - * a multilingual network name entry - */ -struct GstMpegtsDvbMultilingualNetworkNameItem -{ - /** - * the ISO 639 language code - */ - char* languageCode; - /** - * the network name - */ - char* networkName; -} - -/** - * a multilingual service name entry - */ -struct GstMpegtsDvbMultilingualServiceNameItem -{ - /** - * the ISO 639 language code - */ - char* languageCode; - /** - * the provider name - */ - char* providerName; - /** - * the service name - */ - char* serviceName; -} - -/** - * Event Information Table (EN 300 468) - */ -struct GstMpegtsEIT -{ - ushort transportStreamId; - ushort originalNetworkId; - ubyte segmentLastSectionNumber; - ubyte lastTableId; - bool actualStream; - bool presentFollowing; - /** - * List of events - */ - GPtrArray* events; -} - -/** - * Event from a @GstMpegtsEIT - */ -struct GstMpegtsEITEvent -{ - ushort eventId; - GstDateTime* startTime; - uint duration; - GstMpegtsRunningStatus runningStatus; - bool freeCAMode; - /** - * List of descriptors - */ - GPtrArray* descriptors; -} - -struct GstMpegtsExtendedEventDescriptor -{ - ubyte descriptorNumber; - ubyte lastDescriptorNumber; - /** - * NULL terminated language code. - */ - char* languageCode; - /** - * the #GstMpegtsExtendedEventItem - */ - GPtrArray* items; - char* text; -} - -struct GstMpegtsExtendedEventItem -{ - char* itemDescription; - char* item; -} - -struct GstMpegtsISO639LanguageDescriptor -{ - uint nbLanguage; - char*[64] language; - GstMpegtsIso639AudioType[64] audioType; -} - -struct GstMpegtsLogicalChannel -{ - ushort serviceId; - bool visibleService; - ushort logicalChannelNumber; -} - -struct GstMpegtsLogicalChannelDescriptor -{ - uint nbChannels; - GstMpegtsLogicalChannel[64] channels; -} - -struct GstMpegtsNIT -{ - /** - * Whether this NIT corresponds to the actual stream - */ - bool actualNetwork; - /** - * ID of the network that this NIT describes - */ - ushort networkId; - /** - * the global descriptors - */ - GPtrArray* descriptors; - /** - * the streams - */ - GPtrArray* streams; -} - -struct GstMpegtsNITStream -{ - ushort transportStreamId; - ushort originalNetworkId; - GPtrArray* descriptors; -} - -struct GstMpegtsPMT -{ - /** - * PID of the stream containing PCR - */ - ushort pcrPid; - ushort programNumber; - /** - * array of #GstMpegtsDescriptor - */ - GPtrArray* descriptors; - /** - * Array of #GstMpegtsPMTStream - */ - GPtrArray* streams; -} - -struct GstMpegtsPMTStream -{ - /** - * the type of stream. See #GstMpegtsStreamType - */ - ubyte streamType; - /** - * the PID of the stream - */ - ushort pid; - /** - * the descriptors of the - * stream - */ - GPtrArray* descriptors; -} - -struct GstMpegtsPatProgram -{ - /** - * the program number - */ - ushort programNumber; - /** - * the network of program map PID - */ - ushort networkOrProgramMapPID; -} - -struct GstMpegtsSCTESIT -{ - bool encryptedPacket; - ubyte encryptionAlgorithm; - ulong ptsAdjustment; - ubyte cwIndex; - ushort tier; - ushort spliceCommandLength; - GstMpegtsSCTESpliceCommandType spliceCommandType; - bool spliceTimeSpecified; - ulong spliceTime; - GPtrArray* splices; - GPtrArray* descriptors; -} - -struct GstMpegtsSCTESpliceEvent -{ - bool insertEvent; - uint spliceEventId; - bool spliceEventCancelIndicator; - bool outOfNetworkIndicator; - bool programSpliceFlag; - bool durationFlag; - bool spliceImmediateFlag; - bool programSpliceTimeSpecified; - ulong programSpliceTime; - bool breakDurationAutoReturn; - ulong breakDuration; - ushort uniqueProgramId; - ubyte availNum; - ubyte availsExpected; -} - -struct GstMpegtsSDT -{ - /** - * Network ID of the originating delivery system - */ - ushort originalNetworkId; - /** - * True if the table describes this transport stream - */ - bool actualTs; - /** - * ID of this transport stream - */ - ushort transportStreamId; - /** - * List of services - */ - GPtrArray* services; -} - -struct GstMpegtsSDTService -{ - /** - * The program number this table belongs to - */ - ushort serviceId; - /** - * EIT schedule information is present in this transport stream - */ - bool EITScheduleFlag; - /** - * EIT present/following information is present in this transport stream - */ - bool EITPresentFollowingFlag; - /** - * Status of this service - */ - GstMpegtsRunningStatus runningStatus; - /** - * True if one or more streams is controlled by a CA system - */ - bool freeCAMode; - /** - * List of descriptors - */ - GPtrArray* descriptors; -} - -/** - * Satellite Delivery System Descriptor (EN 300 468 v.1.13.1) - */ -struct GstMpegtsSatelliteDeliverySystemDescriptor -{ - /** - * the frequency in kHz (kiloHertz) - */ - uint frequency; - /** - * the orbital position in degrees - */ - float orbitalPosition; - /** - * If %TRUE, the satellite is in the eastern part of the orbit, - * else in the western part. - */ - bool westEast; - /** - * The polarization of the transmitted signal - */ - GstMpegtsSatellitePolarizationType polarization; - /** - * Roll-off factor used in DVB-S2 - */ - GstMpegtsSatelliteRolloff rollOff; - /** - * modulation system, %TRUE if DVB-S2, else DVB-S - */ - bool modulationSystem; - /** - * Modulation scheme used - */ - GstMpegtsModulationType modulationType; - /** - * Symbol rate (in symbols per second) - */ - uint symbolRate; - /** - * inner FEC scheme used - */ - GstMpegtsDVBCodeRate fecInner; -} - -struct GstMpegtsSection -{ - GstMiniObject parent; - /** - * The type of section - */ - GstMpegtsSectionType sectionType; - /** - * The pid on which this section was found - */ - ushort pid; - /** - * The table id of this section - */ - ubyte tableId; - /** - * This meaning differs per section. See the documentation - * of the parsed section type for the meaning of this field - */ - ushort subtableExtension; - /** - * Version of the section. - */ - ubyte versionNumber; - /** - * Applies to current/next stream or not - */ - bool currentNextIndicator; - /** - * Number of the section (if multiple) - */ - ubyte sectionNumber; - /** - * Number of the last expected section (if multiple) - */ - ubyte lastSectionNumber; - /** - * CRC - */ - uint crc; - ubyte* data; - uint sectionLength; - void** cachedParsed; - GDestroyNotify destroyParsed; - ulong offset; - bool shortSection; - GstMpegtsPacketizeFunc packetizer; - void*[4] GstReserved; -} - -struct GstMpegtsT2DeliverySystemCell -{ - /** - * id of the cell - */ - ushort cellId; - /** - * centre frequencies in Hz - */ - GArray* centreFrequencies; - GPtrArray* subCells; -} - -struct GstMpegtsT2DeliverySystemCellExtension -{ - /** - * id of the sub cell - */ - ubyte cellIdExtension; - /** - * centre frequency of the sub cell in Hz - */ - uint transposerFrequency; -} - -struct GstMpegtsT2DeliverySystemDescriptor -{ - ubyte plpId; - ushort t2SystemId; - ubyte sisoMiso; - uint bandwidth; - GstMpegtsTerrestrialGuardInterval guardInterval; - GstMpegtsTerrestrialTransmissionMode transmissionMode; - bool otherFrequency; - bool tfs; - GPtrArray* cells; -} - -/** - * Time Offset Table (EN 300 468) - */ -struct GstMpegtsTOT -{ - GstDateTime* utcTime; - /** - * List of descriptors - */ - GPtrArray* descriptors; -} - -/** - * Terrestrial Delivery System Descriptor (EN 300 468 v.1.13.1) - */ -struct GstMpegtsTerrestrialDeliverySystemDescriptor -{ - /** - * the frequency in Hz (Hertz) - */ - uint frequency; - /** - * the bandwidth in Hz (Hertz) - */ - uint bandwidth; - /** - * %TRUE High Priority %FALSE Low Priority - */ - bool priority; - /** - * %TRUE no time slicing %FALSE time slicing - */ - bool timeSlicing; - /** - * %TRUE no mpe-fec is used %FALSE mpe-fec is use - */ - bool mpeFec; - /** - * the constellation - */ - GstMpegtsModulationType constellation; - /** - * the hierarchy - */ - GstMpegtsTerrestrialHierarchy hierarchy; - GstMpegtsDVBCodeRate codeRateHp; - GstMpegtsDVBCodeRate codeRateLp; - GstMpegtsTerrestrialGuardInterval guardInterval; - GstMpegtsTerrestrialTransmissionMode transmissionMode; - /** - * %TRUE more frequency are use, else not - */ - bool otherFrequency; -} - -/** */ -public alias extern(C) int function(GstMpegtsSection* section) GstMpegtsPacketizeFunc; diff --git a/generated/gstreamer/gstinterfaces/VideoOverlay.d b/generated/gstreamer/gstinterfaces/VideoOverlay.d deleted file mode 100644 index 48f534006..000000000 --- a/generated/gstreamer/gstinterfaces/VideoOverlay.d +++ /dev/null @@ -1,469 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstinterfaces.VideoOverlay; - -private import gobject.ObjectClass; -private import gobject.ObjectG; -private import gobject.Value; -private import gstinterfaces.c.functions; -public import gstinterfaces.c.types; -private import gstreamer.Element; - - -/** - * The #GstVideoOverlay interface is used for 2 main purposes : - * - * * To get a grab on the Window where the video sink element is going to render. - * This is achieved by either being informed about the Window identifier that - * the video sink element generated, or by forcing the video sink element to use - * a specific Window identifier for rendering. - * * To force a redrawing of the latest video frame the video sink element - * displayed on the Window. Indeed if the #GstPipeline is in #GST_STATE_PAUSED - * state, moving the Window around will damage its content. Application - * developers will want to handle the Expose events themselves and force the - * video sink element to refresh the Window's content. - * - * Using the Window created by the video sink is probably the simplest scenario, - * in some cases, though, it might not be flexible enough for application - * developers if they need to catch events such as mouse moves and button - * clicks. - * - * Setting a specific Window identifier on the video sink element is the most - * flexible solution but it has some issues. Indeed the application needs to set - * its Window identifier at the right time to avoid internal Window creation - * from the video sink element. To solve this issue a #GstMessage is posted on - * the bus to inform the application that it should set the Window identifier - * immediately. Here is an example on how to do that correctly: - * |[ - * static GstBusSyncReply - * create_window (GstBus * bus, GstMessage * message, GstPipeline * pipeline) - * { - * // ignore anything but 'prepare-window-handle' element messages - * if (!gst_is_video_overlay_prepare_window_handle_message (message)) - * return GST_BUS_PASS; - * - * win = XCreateSimpleWindow (disp, root, 0, 0, 320, 240, 0, 0, 0); - * - * XSetWindowBackgroundPixmap (disp, win, None); - * - * XMapRaised (disp, win); - * - * XSync (disp, FALSE); - * - * gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message)), - * win); - * - * gst_message_unref (message); - * - * return GST_BUS_DROP; - * } - * ... - * int - * main (int argc, char **argv) - * { - * ... - * bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline)); - * gst_bus_set_sync_handler (bus, (GstBusSyncHandler) create_window, pipeline, - * NULL); - * ... - * } - * ]| - * - * ## Two basic usage scenarios - * - * There are two basic usage scenarios: in the simplest case, the application - * uses #playbin or #playsink or knows exactly what particular element is used - * for video output, which is usually the case when the application creates - * the videosink to use (e.g. #xvimagesink, #ximagesink, etc.) itself; in this - * case, the application can just create the videosink element, create and - * realize the window to render the video on and then - * call gst_video_overlay_set_window_handle() directly with the XID or native - * window handle, before starting up the pipeline. - * As #playbin and #playsink implement the video overlay interface and proxy - * it transparently to the actual video sink even if it is created later, this - * case also applies when using these elements. - * - * In the other and more common case, the application does not know in advance - * what GStreamer video sink element will be used for video output. This is - * usually the case when an element such as #autovideosink is used. - * In this case, the video sink element itself is created - * asynchronously from a GStreamer streaming thread some time after the - * pipeline has been started up. When that happens, however, the video sink - * will need to know right then whether to render onto an already existing - * application window or whether to create its own window. This is when it - * posts a prepare-window-handle message, and that is also why this message needs - * to be handled in a sync bus handler which will be called from the streaming - * thread directly (because the video sink will need an answer right then). - * - * As response to the prepare-window-handle element message in the bus sync - * handler, the application may use gst_video_overlay_set_window_handle() to tell - * the video sink to render onto an existing window surface. At this point the - * application should already have obtained the window handle / XID, so it - * just needs to set it. It is generally not advisable to call any GUI toolkit - * functions or window system functions from the streaming thread in which the - * prepare-window-handle message is handled, because most GUI toolkits and - * windowing systems are not thread-safe at all and a lot of care would be - * required to co-ordinate the toolkit and window system calls of the - * different threads (Gtk+ users please note: prior to Gtk+ 2.18 - * `GDK_WINDOW_XID` was just a simple structure access, so generally fine to do - * within the bus sync handler; this macro was changed to a function call in - * Gtk+ 2.18 and later, which is likely to cause problems when called from a - * sync handler; see below for a better approach without `GDK_WINDOW_XID` - * used in the callback). - * - * ## GstVideoOverlay and Gtk+ - * - * |[ - * #include <gst/video/videooverlay.h> - * #include <gtk/gtk.h> - * #ifdef GDK_WINDOWING_X11 - * #include <gdk/gdkx.h> // for GDK_WINDOW_XID - * #endif - * #ifdef GDK_WINDOWING_WIN32 - * #include <gdk/gdkwin32.h> // for GDK_WINDOW_HWND - * #endif - * ... - * static guintptr video_window_handle = 0; - * ... - * static GstBusSyncReply - * bus_sync_handler (GstBus * bus, GstMessage * message, gpointer user_data) - * { - * // ignore anything but 'prepare-window-handle' element messages - * if (!gst_is_video_overlay_prepare_window_handle_message (message)) - * return GST_BUS_PASS; - * - * if (video_window_handle != 0) { - * GstVideoOverlay *overlay; - * - * // GST_MESSAGE_SRC (message) will be the video sink element - * overlay = GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message)); - * gst_video_overlay_set_window_handle (overlay, video_window_handle); - * } else { - * g_warning ("Should have obtained video_window_handle by now!"); - * } - * - * gst_message_unref (message); - * return GST_BUS_DROP; - * } - * ... - * static void - * video_widget_realize_cb (GtkWidget * widget, gpointer data) - * { - * #if GTK_CHECK_VERSION(2,18,0) - * // Tell Gtk+/Gdk to create a native window for this widget instead of - * // drawing onto the parent widget. - * // This is here just for pedagogical purposes, GDK_WINDOW_XID will call - * // it as well in newer Gtk versions - * if (!gdk_window_ensure_native (widget->window)) - * g_error ("Couldn't create native window needed for GstVideoOverlay!"); - * #endif - * - * #ifdef GDK_WINDOWING_X11 - * { - * gulong xid = GDK_WINDOW_XID (gtk_widget_get_window (video_window)); - * video_window_handle = xid; - * } - * #endif - * #ifdef GDK_WINDOWING_WIN32 - * { - * HWND wnd = GDK_WINDOW_HWND (gtk_widget_get_window (video_window)); - * video_window_handle = (guintptr) wnd; - * } - * #endif - * } - * ... - * int - * main (int argc, char **argv) - * { - * GtkWidget *video_window; - * GtkWidget *app_window; - * ... - * app_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - * ... - * video_window = gtk_drawing_area_new (); - * g_signal_connect (video_window, "realize", - * G_CALLBACK (video_widget_realize_cb), NULL); - * gtk_widget_set_double_buffered (video_window, FALSE); - * ... - * // usually the video_window will not be directly embedded into the - * // application window like this, but there will be many other widgets - * // and the video window will be embedded in one of them instead - * gtk_container_add (GTK_CONTAINER (ap_window), video_window); - * ... - * // show the GUI - * gtk_widget_show_all (app_window); - * - * // realize window now so that the video window gets created and we can - * // obtain its XID/HWND before the pipeline is started up and the videosink - * // asks for the XID/HWND of the window to render onto - * gtk_widget_realize (video_window); - * - * // we should have the XID/HWND now - * g_assert (video_window_handle != 0); - * ... - * // set up sync handler for setting the xid once the pipeline is started - * bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline)); - * gst_bus_set_sync_handler (bus, (GstBusSyncHandler) bus_sync_handler, NULL, - * NULL); - * gst_object_unref (bus); - * ... - * gst_element_set_state (pipeline, GST_STATE_PLAYING); - * ... - * } - * ]| - * - * ## GstVideoOverlay and Qt - * - * |[ - * #include ; - * #include ; - * #include ; - * - * #include ; - * #include ; - * #include ; - * - * int main(int argc, char *argv[]) - * { - * if (!g_thread_supported ()) - * g_thread_init (NULL); - * - * gst_init (&argc, &argv); - * QApplication app(argc, argv); - * app.connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit ())); - * - * // prepare the pipeline - * - * GstElement *pipeline = gst_pipeline_new ("xvoverlay"); - * GstElement *src = gst_element_factory_make ("videotestsrc", NULL); - * GstElement *sink = gst_element_factory_make ("xvimagesink", NULL); - * gst_bin_add_many (GST_BIN (pipeline), src, sink, NULL); - * gst_element_link (src, sink); - * - * // prepare the ui - * - * QWidget window; - * window.resize(320, 240); - * window.show(); - * - * WId xwinid = window.winId(); - * gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (sink), xwinid); - * - * // run the pipeline - * - * GstStateChangeReturn sret = gst_element_set_state (pipeline, - * GST_STATE_PLAYING); - * if (sret == GST_STATE_CHANGE_FAILURE) { - * gst_element_set_state (pipeline, GST_STATE_NULL); - * gst_object_unref (pipeline); - * // Exit application - * QTimer::singleShot(0, QApplication::activeWindow(), SLOT(quit())); - * } - * - * int ret = app.exec(); - * - * window.hide(); - * gst_element_set_state (pipeline, GST_STATE_NULL); - * gst_object_unref (pipeline); - * - * return ret; - * } - * ]| - */ -public class VideoOverlay -{ - /** the main Gtk struct */ - protected GstVideoOverlay* gstVideoOverlay; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstVideoOverlay* getVideoOverlayStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstVideoOverlay; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstVideoOverlay; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstVideoOverlay* gstVideoOverlay, bool ownedRef = false) - { - this.gstVideoOverlay = gstVideoOverlay; - this.ownedRef = ownedRef; - } - - /** - * The Element parameter should usually be - * your videosink that you want to create your - * XOverlay with. - */ - public this(Element elem) - { - this( cast(GstVideoOverlay*)elem.getElementStruct() ); - } - - /** - */ - - /** */ - public static GType getType() - { - return gst_video_overlay_get_type(); - } - - /** - * This helper shall be used by classes implementing the #GstVideoOverlay - * interface that want the render rectangle to be controllable using - * properties. This helper will install "render-rectangle" property into the - * class. - * - * Params: - * oclass = The class on which the properties will be installed - * lastPropId = The first free property ID to use - * - * Since: 1.14 - */ - public static void installProperties(ObjectClass oclass, int lastPropId) - { - gst_video_overlay_install_properties((oclass is null) ? null : oclass.getObjectClassStruct(), lastPropId); - } - - /** - * This helper shall be used by classes implementing the #GstVideoOverlay - * interface that want the render rectangle to be controllable using - * properties. This helper will parse and set the render rectangle calling - * gst_video_overlay_set_render_rectangle(). - * - * Params: - * object = The instance on which the property is set - * lastPropId = The highest property ID. - * propertyId = The property ID - * value = The #GValue to be set - * - * Returns: %TRUE if the @property_id matches the GstVideoOverlay property - * - * Since: 1.14 - */ - public static bool setProperty(ObjectG object, int lastPropId, uint propertyId, Value value) - { - return gst_video_overlay_set_property((object is null) ? null : object.getObjectGStruct(), lastPropId, propertyId, (value is null) ? null : value.getValueStruct()) != 0; - } - - /** - * Tell an overlay that it has been exposed. This will redraw the current frame - * in the drawable even if the pipeline is PAUSED. - */ - public void expose() - { - gst_video_overlay_expose(getVideoOverlayStruct()); - } - - /** - * This will post a "have-window-handle" element message on the bus. - * - * This function should only be used by video overlay plugin developers. - * - * Params: - * handle = a platform-specific handle referencing the window - */ - public void gotWindowHandle(size_t handle) - { - gst_video_overlay_got_window_handle(getVideoOverlayStruct(), handle); - } - - /** - * Tell an overlay that it should handle events from the window system. These - * events are forwarded upstream as navigation events. In some window system, - * events are not propagated in the window hierarchy if a client is listening - * for them. This method allows you to disable events handling completely - * from the #GstVideoOverlay. - * - * Params: - * handleEvents = a #gboolean indicating if events should be handled or not. - */ - public void handleEvents(bool handleEvents) - { - gst_video_overlay_handle_events(getVideoOverlayStruct(), handleEvents); - } - - /** - * This will post a "prepare-window-handle" element message on the bus - * to give applications an opportunity to call - * gst_video_overlay_set_window_handle() before a plugin creates its own - * window. - * - * This function should only be used by video overlay plugin developers. - */ - public void prepareWindowHandle() - { - gst_video_overlay_prepare_window_handle(getVideoOverlayStruct()); - } - - /** - * Configure a subregion as a video target within the window set by - * gst_video_overlay_set_window_handle(). If this is not used or not supported - * the video will fill the area of the window set as the overlay to 100%. - * By specifying the rectangle, the video can be overlayed to a specific region - * of that window only. After setting the new rectangle one should call - * gst_video_overlay_expose() to force a redraw. To unset the region pass -1 for - * the @width and @height parameters. - * - * This method is needed for non fullscreen video overlay in UI toolkits that - * do not support subwindows. - * - * Params: - * x = the horizontal offset of the render area inside the window - * y = the vertical offset of the render area inside the window - * width = the width of the render area inside the window - * height = the height of the render area inside the window - * - * Returns: %FALSE if not supported by the sink. - */ - public bool setRenderRectangle(int x, int y, int width, int height) - { - return gst_video_overlay_set_render_rectangle(getVideoOverlayStruct(), x, y, width, height) != 0; - } - - /** - * This will call the video overlay's set_window_handle method. You - * should use this method to tell to an overlay to display video output to a - * specific window (e.g. an XWindow on X11). Passing 0 as the @handle will - * tell the overlay to stop using that window and create an internal one. - * - * Params: - * handle = a handle referencing the window. - */ - public void setWindowHandle(size_t handle) - { - gst_video_overlay_set_window_handle(getVideoOverlayStruct(), handle); - } -} diff --git a/generated/gstreamer/gstinterfaces/c/functions.d b/generated/gstreamer/gstinterfaces/c/functions.d deleted file mode 100644 index d6351f74e..000000000 --- a/generated/gstreamer/gstinterfaces/c/functions.d +++ /dev/null @@ -1,80 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstinterfaces.c.functions; - -import std.stdio; -import gstinterfaces.c.types; -import gtkd.Loader; - -version (Windows) - static immutable LIBRARY_GSTINTERFACES = ["libgstvideo-1.0-0.dll;gstvideo-1.0-0.dll;gstvideo-1.dll"]; -else version (OSX) - static immutable LIBRARY_GSTINTERFACES = ["libgstvideo-1.0.0.dylib"]; -else - static immutable LIBRARY_GSTINTERFACES = ["libgstvideo-1.0.so.0"]; - -shared static this() -{ - // gstinterfaces.VideoOverlay - - Linker.link(gst_video_overlay_get_type, "gst_video_overlay_get_type", LIBRARY_GSTINTERFACES); - Linker.link(gst_video_overlay_install_properties, "gst_video_overlay_install_properties", LIBRARY_GSTINTERFACES); - Linker.link(gst_video_overlay_set_property, "gst_video_overlay_set_property", LIBRARY_GSTINTERFACES); - Linker.link(gst_video_overlay_expose, "gst_video_overlay_expose", LIBRARY_GSTINTERFACES); - Linker.link(gst_video_overlay_got_window_handle, "gst_video_overlay_got_window_handle", LIBRARY_GSTINTERFACES); - Linker.link(gst_video_overlay_handle_events, "gst_video_overlay_handle_events", LIBRARY_GSTINTERFACES); - Linker.link(gst_video_overlay_prepare_window_handle, "gst_video_overlay_prepare_window_handle", LIBRARY_GSTINTERFACES); - Linker.link(gst_video_overlay_set_render_rectangle, "gst_video_overlay_set_render_rectangle", LIBRARY_GSTINTERFACES); - Linker.link(gst_video_overlay_set_window_handle, "gst_video_overlay_set_window_handle", LIBRARY_GSTINTERFACES); -} - -__gshared extern(C) -{ - - // gstinterfaces.VideoOverlay - - GType function() c_gst_video_overlay_get_type; - void function(GObjectClass* oclass, int lastPropId) c_gst_video_overlay_install_properties; - int function(GObject* object, int lastPropId, uint propertyId, GValue* value) c_gst_video_overlay_set_property; - void function(GstVideoOverlay* overlay) c_gst_video_overlay_expose; - void function(GstVideoOverlay* overlay, size_t handle) c_gst_video_overlay_got_window_handle; - void function(GstVideoOverlay* overlay, int handleEvents) c_gst_video_overlay_handle_events; - void function(GstVideoOverlay* overlay) c_gst_video_overlay_prepare_window_handle; - int function(GstVideoOverlay* overlay, int x, int y, int width, int height) c_gst_video_overlay_set_render_rectangle; - void function(GstVideoOverlay* overlay, size_t handle) c_gst_video_overlay_set_window_handle; -} - - -// gstinterfaces.VideoOverlay - -alias c_gst_video_overlay_get_type gst_video_overlay_get_type; -alias c_gst_video_overlay_install_properties gst_video_overlay_install_properties; -alias c_gst_video_overlay_set_property gst_video_overlay_set_property; -alias c_gst_video_overlay_expose gst_video_overlay_expose; -alias c_gst_video_overlay_got_window_handle gst_video_overlay_got_window_handle; -alias c_gst_video_overlay_handle_events gst_video_overlay_handle_events; -alias c_gst_video_overlay_prepare_window_handle gst_video_overlay_prepare_window_handle; -alias c_gst_video_overlay_set_render_rectangle gst_video_overlay_set_render_rectangle; -alias c_gst_video_overlay_set_window_handle gst_video_overlay_set_window_handle; diff --git a/generated/gstreamer/gstinterfaces/c/types.d b/generated/gstreamer/gstinterfaces/c/types.d deleted file mode 100644 index c013fa6cb..000000000 --- a/generated/gstreamer/gstinterfaces/c/types.d +++ /dev/null @@ -1,741 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstinterfaces.c.types; - -public import gobject.c.types; - - -/** - * Enumeration of the different standards that may apply to AFD data: - * - * 0) ETSI/DVB: - * https://www.etsi.org/deliver/etsi_ts/101100_101199/101154/02.01.01_60/ts_101154v020101p.pdf - * - * 1) ATSC A/53: - * https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf - * - * 2) SMPTE ST2016-1: - * - * Since: 1.18 - */ -public enum GstVideoAFDSpec -{ - /** - * AFD value is from DVB/ETSI standard - */ - DVB_ETSI = 0, - /** - * AFD value is from ATSC A/53 standard - */ - ATSC_A53 = 1, - SMPTE_ST2016_1 = 2, -} -alias GstVideoAFDSpec VideoAFDSpec; - -/** - * Enumeration of the various values for Active Format Description (AFD) - * - * AFD should be included in video user data whenever the rectangular - * picture area containing useful information does not extend to the full height or width of the coded - * frame. AFD data may also be included in user data when the rectangular picture area containing - * useful information extends to the full height and width of the coded frame. - * - * For details, see Table 6.14 Active Format in: - * - * ATSC Digital Television Standard: - * Part 4 – MPEG-2 Video System Characteristics - * - * https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf - * - * and Active Format Description in Complete list of AFD codes - * - * https://en.wikipedia.org/wiki/Active_Format_Description#Complete_list_of_AFD_codes - * - * and SMPTE ST2016-1 - * - * Notes: - * - * 1) AFD 0 is undefined for ATSC and SMPTE ST2016-1, indicating that AFD data is not available: - * If Bar Data is not present, AFD '0000' indicates that exact information - * is not available and the active image should be assumed to be the same as the coded frame. AFD '0000'. - * AFD '0000' accompanied by Bar Data signals that the active image’s aspect ratio is narrower than 16:9, - * but is not 4:3 or 14:9. As the exact aspect ratio cannot be conveyed by AFD alone, wherever possible, - * AFD ‘0000’ should be accompanied by Bar Data to define the exact vertical or horizontal extent - * of the active image. - * 2) AFD 0 is reserved for DVB/ETSI - * 3) values 1, 5, 6, 7, and 12 are reserved for both ATSC and DVB/ETSI - * 4) values 2 and 3 are not recommended for ATSC, but are valid for DVB/ETSI - * - * Since: 1.18 - */ -public enum GstVideoAFDValue -{ - /** - * Unavailable (see note 0 below). - */ - UNAVAILABLE = 0, - /** - * For 4:3 coded frame, letterbox 16:9 image, - * at top of the coded frame. For 16:9 coded frame, full frame 16:9 image, - * the same as the coded frame. - */ - _16_9_TOP_ALIGNED = 2, - /** - * For 4:3 coded frame, letterbox 14:9 image, - * at top of the coded frame. For 16:9 coded frame, pillarbox 14:9 image, - * horizontally centered in the coded frame. - */ - _14_9_TOP_ALIGNED = 3, - /** - * For 4:3 coded frame, letterbox image with an aspect ratio - * greater than 16:9, vertically centered in the coded frame. For 16:9 coded frame, - * letterbox image with an aspect ratio greater than 16:9. - */ - GREATER_THAN_16_9 = 4, - /** - * For 4:3 coded frame, full frame 4:3 image, - * the same as the coded frame. For 16:9 coded frame, full frame 16:9 image, the same as - * the coded frame. - */ - _4_3_FULL_16_9_FULL = 8, - /** - * For 4:3 coded frame, full frame 4:3 image, the same as - * the coded frame. For 16:9 coded frame, pillarbox 4:3 image, horizontally centered in the - * coded frame. - */ - _4_3_FULL_4_3_PILLAR = 9, - /** - * For 4:3 coded frame, letterbox 16:9 image, vertically centered in - * the coded frame with all image areas protected. For 16:9 coded frame, full frame 16:9 image, - * with all image areas protected. - */ - _16_9_LETTER_16_9_FULL = 10, - /** - * For 4:3 coded frame, letterbox 14:9 image, vertically centered in - * the coded frame. For 16:9 coded frame, pillarbox 14:9 image, horizontally centered in the - * coded frame. - */ - _14_9_LETTER_14_9_PILLAR = 11, - /** - * For 4:3 coded frame, full frame 4:3 image, with alternative 14:9 - * center. For 16:9 coded frame, pillarbox 4:3 image, with alternative 14:9 center. - */ - _4_3_FULL_14_9_CENTER = 13, - /** - * For 4:3 coded frame, letterbox 16:9 image, with alternative 14:9 - * center. For 16:9 coded frame, full frame 16:9 image, with alternative 14:9 center. - */ - _16_9_LETTER_14_9_CENTER = 14, - /** - * For 4:3 coded frame, letterbox 16:9 image, with alternative 4:3 - * center. For 16:9 coded frame, full frame 16:9 image, with alternative 4:3 center. - */ - _16_9_LETTER_4_3_CENTER = 15, -} -alias GstVideoAFDValue VideoAFDValue; - -/** - * The different video orientation methods. - * - * Since: 1.10 - */ -public enum GstVideoOrientationMethod -{ - /** - * Identity (no rotation) - */ - IDENTITY = 0, - /** - * Rotate clockwise 90 degrees - */ - _90R = 1, - /** - * Rotate 180 degrees - */ - _180 = 2, - /** - * Rotate counter-clockwise 90 degrees - */ - _90L = 3, - /** - * Flip horizontally - */ - HORIZ = 4, - /** - * Flip vertically - */ - VERT = 5, - /** - * Flip across upper left/lower right diagonal - */ - UL_LR = 6, - /** - * Flip across upper right/lower left diagonal - */ - UR_LL = 7, - /** - * Select flip method based on image-orientation tag - */ - AUTO = 8, - /** - * Current status depends on plugin internal setup - */ - CUSTOM = 9, -} -alias GstVideoOrientationMethod VideoOrientationMethod; - -/** - * Flags related to the time code information. - * For drop frame, only 30000/1001 and 60000/1001 frame rates are supported. - * - * Since: 1.10 - */ -public enum GstVideoTimeCodeFlags -{ - /** - * No flags - */ - NONE = 0, - /** - * Whether we have drop frame rate - */ - DROP_FRAME = 1, - /** - * Whether we have interlaced video - */ - INTERLACED = 2, -} -alias GstVideoTimeCodeFlags VideoTimeCodeFlags; - -/** - * #GstVideoDirectionInterface interface. - * - * Since: 1.10 - */ -struct GstVideoDirectionInterface -{ - /** - * parent interface type. - */ - GTypeInterface iface; -} - -/** - * Used to represent display_primaries and white_point of - * #GstVideoMasteringDisplayInfo struct. See #GstVideoMasteringDisplayInfo - * - * Since: 1.18 - */ -struct GstVideoMasteringDisplayInfoCoordinates -{ - /** - * the x coordinate of CIE 1931 color space in unit of 0.00002. - */ - ushort x; - /** - * the y coordinate of CIE 1931 color space in unit of 0.00002. - */ - ushort y; -} - -struct GstVideoOverlay; - -/** - * #GstVideoOverlay interface - */ -struct GstVideoOverlayInterface -{ - /** - * parent interface type. - */ - GTypeInterface iface; - /** */ - extern(C) void function(GstVideoOverlay* overlay) expose; - /** */ - extern(C) void function(GstVideoOverlay* overlay, int handleEvents) handleEvents; - /** */ - extern(C) void function(GstVideoOverlay* overlay, int x, int y, int width, int height) setRenderRectangle; - /** */ - extern(C) void function(GstVideoOverlay* overlay, size_t handle) setWindowHandle; -} - -/** - * Supported frame rates: 30000/1001, 60000/1001 (both with and without drop - * frame), and integer frame rates e.g. 25/1, 30/1, 50/1, 60/1. - * - * The configuration of the time code. - * - * Since: 1.10 - */ -struct GstVideoTimeCodeConfig -{ - /** - * Numerator of the frame rate - */ - uint fpsN; - /** - * Denominator of the frame rate - */ - uint fpsD; - /** - * the corresponding #GstVideoTimeCodeFlags - */ - GstVideoTimeCodeFlags flags; - /** - * The latest daily jam information, if present, or NULL - */ - GDateTime* latestDailyJam; -} - -enum BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META = "GstBufferPoolOptionVideoAffineTransformation"; -alias GST_BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META = BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META; - -/** - * A bufferpool option to enable extra padding. When a bufferpool supports this - * option, gst_buffer_pool_config_set_video_alignment() can be called. - * - * When this option is enabled on the bufferpool, - * #GST_BUFFER_POOL_OPTION_VIDEO_META should also be enabled. - */ -enum BUFFER_POOL_OPTION_VIDEO_ALIGNMENT = "GstBufferPoolOptionVideoAlignment"; -alias GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT = BUFFER_POOL_OPTION_VIDEO_ALIGNMENT; - -/** - * An option that can be activated on a bufferpool to request gl texture upload - * meta on buffers from the pool. - * - * When this option is enabled on the bufferpool, - * @GST_BUFFER_POOL_OPTION_VIDEO_META should also be enabled. - */ -enum BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META = "GstBufferPoolOptionVideoGLTextureUploadMeta"; -alias GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META = BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META; - -/** - * An option that can be activated on bufferpool to request video metadata - * on buffers from the pool. - */ -enum BUFFER_POOL_OPTION_VIDEO_META = "GstBufferPoolOptionVideoMeta"; -alias GST_BUFFER_POOL_OPTION_VIDEO_META = BUFFER_POOL_OPTION_VIDEO_META; - -/** - * Name of the caps feature indicating that the stream is interlaced. - * - * Currently it is only used for video with 'interlace-mode=alternate' - * to ensure backwards compatibility for this new mode. - * In this mode each buffer carries a single field of interlaced video. - * @GST_VIDEO_BUFFER_FLAG_TOP_FIELD and @GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD - * indicate whether the buffer carries a top or bottom field. The order of - * buffers/fields in the stream and the timestamps on the buffers indicate the - * temporal order of the fields. - * Top and bottom fields are expected to alternate in this mode. - * The frame rate in the caps still signals the frame rate, so the notional field - * rate will be twice the frame rate from the caps - * (see @GST_VIDEO_INFO_FIELD_RATE_N). - */ -enum CAPS_FEATURE_FORMAT_INTERLACED = "format:Interlaced"; -alias GST_CAPS_FEATURE_FORMAT_INTERLACED = CAPS_FEATURE_FORMAT_INTERLACED; - -enum CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META = "meta:GstVideoAffineTransformation"; -alias GST_CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META = CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META; - -enum CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META = "meta:GstVideoGLTextureUploadMeta"; -alias GST_CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META = CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META; - -enum CAPS_FEATURE_META_GST_VIDEO_META = "meta:GstVideoMeta"; -alias GST_CAPS_FEATURE_META_GST_VIDEO_META = CAPS_FEATURE_META_GST_VIDEO_META; - -enum CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION = "meta:GstVideoOverlayComposition"; -alias GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION = CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION; - -/** - * This metadata stays relevant as long as video colorspace is unchanged. - */ -enum META_TAG_VIDEO_COLORSPACE_STR = "colorspace"; -alias GST_META_TAG_VIDEO_COLORSPACE_STR = META_TAG_VIDEO_COLORSPACE_STR; - -/** - * This metadata stays relevant as long as video orientation is unchanged. - */ -enum META_TAG_VIDEO_ORIENTATION_STR = "orientation"; -alias GST_META_TAG_VIDEO_ORIENTATION_STR = META_TAG_VIDEO_ORIENTATION_STR; - -/** - * This metadata stays relevant as long as video size is unchanged. - */ -enum META_TAG_VIDEO_SIZE_STR = "size"; -alias GST_META_TAG_VIDEO_SIZE_STR = META_TAG_VIDEO_SIZE_STR; - -/** - * This metadata is relevant for video streams. - */ -enum META_TAG_VIDEO_STR = "video"; -alias GST_META_TAG_VIDEO_STR = META_TAG_VIDEO_STR; - -enum VIDEO_COLORIMETRY_BT2020 = "bt2020"; -alias GST_VIDEO_COLORIMETRY_BT2020 = VIDEO_COLORIMETRY_BT2020; - -enum VIDEO_COLORIMETRY_BT2020_10 = "bt2020-10"; -alias GST_VIDEO_COLORIMETRY_BT2020_10 = VIDEO_COLORIMETRY_BT2020_10; - -enum VIDEO_COLORIMETRY_BT2100_HLG = "bt2100-hlg"; -alias GST_VIDEO_COLORIMETRY_BT2100_HLG = VIDEO_COLORIMETRY_BT2100_HLG; - -enum VIDEO_COLORIMETRY_BT2100_PQ = "bt2100-pq"; -alias GST_VIDEO_COLORIMETRY_BT2100_PQ = VIDEO_COLORIMETRY_BT2100_PQ; - -enum VIDEO_COLORIMETRY_BT601 = "bt601"; -alias GST_VIDEO_COLORIMETRY_BT601 = VIDEO_COLORIMETRY_BT601; - -enum VIDEO_COLORIMETRY_BT709 = "bt709"; -alias GST_VIDEO_COLORIMETRY_BT709 = VIDEO_COLORIMETRY_BT709; - -enum VIDEO_COLORIMETRY_SMPTE240M = "smpte240m"; -alias GST_VIDEO_COLORIMETRY_SMPTE240M = VIDEO_COLORIMETRY_SMPTE240M; - -enum VIDEO_COLORIMETRY_SRGB = "sRGB"; -alias GST_VIDEO_COLORIMETRY_SRGB = VIDEO_COLORIMETRY_SRGB; - -enum VIDEO_COMP_A = 3; -alias GST_VIDEO_COMP_A = VIDEO_COMP_A; - -enum VIDEO_COMP_B = 2; -alias GST_VIDEO_COMP_B = VIDEO_COMP_B; - -enum VIDEO_COMP_G = 1; -alias GST_VIDEO_COMP_G = VIDEO_COMP_G; - -enum VIDEO_COMP_INDEX = 0; -alias GST_VIDEO_COMP_INDEX = VIDEO_COMP_INDEX; - -enum VIDEO_COMP_PALETTE = 1; -alias GST_VIDEO_COMP_PALETTE = VIDEO_COMP_PALETTE; - -enum VIDEO_COMP_R = 0; -alias GST_VIDEO_COMP_R = VIDEO_COMP_R; - -enum VIDEO_COMP_U = 1; -alias GST_VIDEO_COMP_U = VIDEO_COMP_U; - -enum VIDEO_COMP_V = 2; -alias GST_VIDEO_COMP_V = VIDEO_COMP_V; - -enum VIDEO_COMP_Y = 0; -alias GST_VIDEO_COMP_Y = VIDEO_COMP_Y; - -/** - * #GstVideoAlphaMode, the alpha mode to use. - * Default is #GST_VIDEO_ALPHA_MODE_COPY. - */ -enum VIDEO_CONVERTER_OPT_ALPHA_MODE = "GstVideoConverter.alpha-mode"; -alias GST_VIDEO_CONVERTER_OPT_ALPHA_MODE = VIDEO_CONVERTER_OPT_ALPHA_MODE; - -/** - * #G_TYPE_DOUBLE, the alpha color value to use. - * Default to 1.0 - */ -enum VIDEO_CONVERTER_OPT_ALPHA_VALUE = "GstVideoConverter.alpha-value"; -alias GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE = VIDEO_CONVERTER_OPT_ALPHA_VALUE; - -/** - * #G_TYPE_UINT, the border color to use if #GST_VIDEO_CONVERTER_OPT_FILL_BORDER - * is set to %TRUE. The color is in ARGB format. - * Default 0xff000000 - */ -enum VIDEO_CONVERTER_OPT_BORDER_ARGB = "GstVideoConverter.border-argb"; -alias GST_VIDEO_CONVERTER_OPT_BORDER_ARGB = VIDEO_CONVERTER_OPT_BORDER_ARGB; - -/** - * #GstVideoChromaMode, set the chroma resample mode subsampled - * formats. Default is #GST_VIDEO_CHROMA_MODE_FULL. - */ -enum VIDEO_CONVERTER_OPT_CHROMA_MODE = "GstVideoConverter.chroma-mode"; -alias GST_VIDEO_CONVERTER_OPT_CHROMA_MODE = VIDEO_CONVERTER_OPT_CHROMA_MODE; - -/** - * #GstVideoChromaMethod, The resampler method to use for - * chroma resampling. Other options for the resampler can be used, see - * the #GstVideoResampler. Default is #GST_VIDEO_RESAMPLER_METHOD_LINEAR - */ -enum VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD = "GstVideoConverter.chroma-resampler-method"; -alias GST_VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD = VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD; - -/** - * #G_TYPE_INT, height in the destination frame, default destination height - */ -enum VIDEO_CONVERTER_OPT_DEST_HEIGHT = "GstVideoConverter.dest-height"; -alias GST_VIDEO_CONVERTER_OPT_DEST_HEIGHT = VIDEO_CONVERTER_OPT_DEST_HEIGHT; - -/** - * #G_TYPE_INT, width in the destination frame, default destination width - */ -enum VIDEO_CONVERTER_OPT_DEST_WIDTH = "GstVideoConverter.dest-width"; -alias GST_VIDEO_CONVERTER_OPT_DEST_WIDTH = VIDEO_CONVERTER_OPT_DEST_WIDTH; - -/** - * #G_TYPE_INT, x position in the destination frame, default 0 - */ -enum VIDEO_CONVERTER_OPT_DEST_X = "GstVideoConverter.dest-x"; -alias GST_VIDEO_CONVERTER_OPT_DEST_X = VIDEO_CONVERTER_OPT_DEST_X; - -/** - * #G_TYPE_INT, y position in the destination frame, default 0 - */ -enum VIDEO_CONVERTER_OPT_DEST_Y = "GstVideoConverter.dest-y"; -alias GST_VIDEO_CONVERTER_OPT_DEST_Y = VIDEO_CONVERTER_OPT_DEST_Y; - -/** - * #GstVideoDitherMethod, The dither method to use when - * changing bit depth. - * Default is #GST_VIDEO_DITHER_BAYER. - */ -enum VIDEO_CONVERTER_OPT_DITHER_METHOD = "GstVideoConverter.dither-method"; -alias GST_VIDEO_CONVERTER_OPT_DITHER_METHOD = VIDEO_CONVERTER_OPT_DITHER_METHOD; - -/** - * #G_TYPE_UINT, The quantization amount to dither to. Components will be - * quantized to multiples of this value. - * Default is 1 - */ -enum VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION = "GstVideoConverter.dither-quantization"; -alias GST_VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION = VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION; - -/** - * #G_TYPE_BOOLEAN, if the destination rectangle does not fill the complete - * destination image, render a border with - * #GST_VIDEO_CONVERTER_OPT_BORDER_ARGB. Otherwise the unusded pixels in the - * destination are untouched. Default %TRUE. - */ -enum VIDEO_CONVERTER_OPT_FILL_BORDER = "GstVideoConverter.fill-border"; -alias GST_VIDEO_CONVERTER_OPT_FILL_BORDER = VIDEO_CONVERTER_OPT_FILL_BORDER; - -/** - * #GstVideoGammaMode, set the gamma mode. - * Default is #GST_VIDEO_GAMMA_MODE_NONE. - */ -enum VIDEO_CONVERTER_OPT_GAMMA_MODE = "GstVideoConverter.gamma-mode"; -alias GST_VIDEO_CONVERTER_OPT_GAMMA_MODE = VIDEO_CONVERTER_OPT_GAMMA_MODE; - -/** - * #GstVideoMatrixMode, set the color matrix conversion mode for - * converting between Y'PbPr and non-linear RGB (R'G'B'). - * Default is #GST_VIDEO_MATRIX_MODE_FULL. - */ -enum VIDEO_CONVERTER_OPT_MATRIX_MODE = "GstVideoConverter.matrix-mode"; -alias GST_VIDEO_CONVERTER_OPT_MATRIX_MODE = VIDEO_CONVERTER_OPT_MATRIX_MODE; - -/** - * #GstVideoPrimariesMode, set the primaries conversion mode. - * Default is #GST_VIDEO_PRIMARIES_MODE_NONE. - */ -enum VIDEO_CONVERTER_OPT_PRIMARIES_MODE = "GstVideoConverter.primaries-mode"; -alias GST_VIDEO_CONVERTER_OPT_PRIMARIES_MODE = VIDEO_CONVERTER_OPT_PRIMARIES_MODE; - -/** - * #GstVideoResamplerMethod, The resampler method to use for - * resampling. Other options for the resampler can be used, see - * the #GstVideoResampler. Default is #GST_VIDEO_RESAMPLER_METHOD_CUBIC - */ -enum VIDEO_CONVERTER_OPT_RESAMPLER_METHOD = "GstVideoConverter.resampler-method"; -alias GST_VIDEO_CONVERTER_OPT_RESAMPLER_METHOD = VIDEO_CONVERTER_OPT_RESAMPLER_METHOD; - -/** - * #G_TYPE_UINT, The number of taps for the resampler. - * Default is 0: let the resampler choose a good value. - */ -enum VIDEO_CONVERTER_OPT_RESAMPLER_TAPS = "GstVideoConverter.resampler-taps"; -alias GST_VIDEO_CONVERTER_OPT_RESAMPLER_TAPS = VIDEO_CONVERTER_OPT_RESAMPLER_TAPS; - -/** - * #G_TYPE_INT, source height to convert, default source height - */ -enum VIDEO_CONVERTER_OPT_SRC_HEIGHT = "GstVideoConverter.src-height"; -alias GST_VIDEO_CONVERTER_OPT_SRC_HEIGHT = VIDEO_CONVERTER_OPT_SRC_HEIGHT; - -/** - * #G_TYPE_INT, source width to convert, default source width - */ -enum VIDEO_CONVERTER_OPT_SRC_WIDTH = "GstVideoConverter.src-width"; -alias GST_VIDEO_CONVERTER_OPT_SRC_WIDTH = VIDEO_CONVERTER_OPT_SRC_WIDTH; - -/** - * #G_TYPE_INT, source x position to start conversion, default 0 - */ -enum VIDEO_CONVERTER_OPT_SRC_X = "GstVideoConverter.src-x"; -alias GST_VIDEO_CONVERTER_OPT_SRC_X = VIDEO_CONVERTER_OPT_SRC_X; - -/** - * #G_TYPE_INT, source y position to start conversion, default 0 - */ -enum VIDEO_CONVERTER_OPT_SRC_Y = "GstVideoConverter.src-y"; -alias GST_VIDEO_CONVERTER_OPT_SRC_Y = VIDEO_CONVERTER_OPT_SRC_Y; - -/** - * #G_TYPE_UINT, maximum number of threads to use. Default 1, 0 for the number - * of cores. - */ -enum VIDEO_CONVERTER_OPT_THREADS = "GstVideoConverter.threads"; -alias GST_VIDEO_CONVERTER_OPT_THREADS = VIDEO_CONVERTER_OPT_THREADS; - -/** - * Default maximum number of errors tolerated before signaling error. - */ -enum VIDEO_DECODER_MAX_ERRORS = 10; -alias GST_VIDEO_DECODER_MAX_ERRORS = VIDEO_DECODER_MAX_ERRORS; - -/** - * The name of the templates for the sink pad. - */ -enum VIDEO_DECODER_SINK_NAME = "sink"; -alias GST_VIDEO_DECODER_SINK_NAME = VIDEO_DECODER_SINK_NAME; - -/** - * The name of the templates for the source pad. - */ -enum VIDEO_DECODER_SRC_NAME = "src"; -alias GST_VIDEO_DECODER_SRC_NAME = VIDEO_DECODER_SRC_NAME; - -/** - * The name of the templates for the sink pad. - */ -enum VIDEO_ENCODER_SINK_NAME = "sink"; -alias GST_VIDEO_ENCODER_SINK_NAME = VIDEO_ENCODER_SINK_NAME; - -/** - * The name of the templates for the source pad. - */ -enum VIDEO_ENCODER_SRC_NAME = "src"; -alias GST_VIDEO_ENCODER_SRC_NAME = VIDEO_ENCODER_SRC_NAME; - -/** - * List of all video formats, for use in template caps strings. - * - * Formats are sorted by decreasing "quality", using these criteria by priority: - * - number of components - * - depth - * - subsampling factor of the width - * - subsampling factor of the height - * - number of planes - * - native endianness preferred - * - pixel stride - * - poffset - * - prefer non-complex formats - * - prefer YUV formats over RGB ones - * - prefer I420 over YV12 - * - format name - */ -enum VIDEO_FORMATS_ALL = "{ AYUV64, ARGB64, GBRA_12BE, GBRA_12LE, Y412_BE, Y412_LE, A444_10BE, GBRA_10BE, A444_10LE, GBRA_10LE, A422_10BE, A422_10LE, A420_10BE, A420_10LE, Y410, RGB10A2_LE, BGR10A2_LE, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16BE, Y444_16LE, v216, P016_BE, P016_LE, Y444_12BE, GBR_12BE, Y444_12LE, GBR_12LE, I422_12BE, I422_12LE, Y212_BE, Y212_LE, I420_12BE, I420_12LE, P012_BE, P012_LE, Y444_10BE, GBR_10BE, Y444_10LE, GBR_10LE, r210, I422_10BE, I422_10LE, NV16_10LE32, Y210, v210, UYVP, I420_10BE, I420_10LE, P010_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, NV12_4L4, NV12_32L32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_BE, GRAY16_LE, GRAY10_LE32, GRAY8 }"; -alias GST_VIDEO_FORMATS_ALL = VIDEO_FORMATS_ALL; - -enum VIDEO_FPS_RANGE = "(fraction) [ 0, max ]"; -alias GST_VIDEO_FPS_RANGE = VIDEO_FPS_RANGE; - -enum VIDEO_MAX_COMPONENTS = 4; -alias GST_VIDEO_MAX_COMPONENTS = VIDEO_MAX_COMPONENTS; - -enum VIDEO_MAX_PLANES = 4; -alias GST_VIDEO_MAX_PLANES = VIDEO_MAX_PLANES; - -/** - * G_TYPE_DOUBLE, B parameter of the cubic filter. The B - * parameter controls the bluriness. Values between 0.0 and - * 2.0 are accepted. 1/3 is the default. - * - * Below are some values of popular filters: - * B C - * Hermite 0.0 0.0 - * Spline 1.0 0.0 - * Catmull-Rom 0.0 1/2 - * Mitchell 1/3 1/3 - * Robidoux 0.3782 0.3109 - * Robidoux - * Sharp 0.2620 0.3690 - * Robidoux - * Soft 0.6796 0.1602 - */ -enum VIDEO_RESAMPLER_OPT_CUBIC_B = "GstVideoResampler.cubic-b"; -alias GST_VIDEO_RESAMPLER_OPT_CUBIC_B = VIDEO_RESAMPLER_OPT_CUBIC_B; - -/** - * G_TYPE_DOUBLE, C parameter of the cubic filter. The C - * parameter controls the Keys alpha value. Values between 0.0 and - * 2.0 are accepted. 1/3 is the default. - * - * See #GST_VIDEO_RESAMPLER_OPT_CUBIC_B for some more common values - */ -enum VIDEO_RESAMPLER_OPT_CUBIC_C = "GstVideoResampler.cubic-c"; -alias GST_VIDEO_RESAMPLER_OPT_CUBIC_C = VIDEO_RESAMPLER_OPT_CUBIC_C; - -/** - * G_TYPE_DOUBLE, specifies the size of filter envelope for - * @GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between - * 1.0 and 5.0. 2.0 is the default. - */ -enum VIDEO_RESAMPLER_OPT_ENVELOPE = "GstVideoResampler.envelope"; -alias GST_VIDEO_RESAMPLER_OPT_ENVELOPE = VIDEO_RESAMPLER_OPT_ENVELOPE; - -/** - * G_TYPE_INT, limits the maximum number of taps to use. - * 16 is the default. - */ -enum VIDEO_RESAMPLER_OPT_MAX_TAPS = "GstVideoResampler.max-taps"; -alias GST_VIDEO_RESAMPLER_OPT_MAX_TAPS = VIDEO_RESAMPLER_OPT_MAX_TAPS; - -/** - * G_TYPE_DOUBLE, specifies sharpening of the filter for - * @GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between - * 0.0 and 1.0. 0.0 is the default. - */ -enum VIDEO_RESAMPLER_OPT_SHARPEN = "GstVideoResampler.sharpen"; -alias GST_VIDEO_RESAMPLER_OPT_SHARPEN = VIDEO_RESAMPLER_OPT_SHARPEN; - -/** - * G_TYPE_DOUBLE, specifies sharpness of the filter for - * @GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between - * 0.5 and 1.5. 1.0 is the default. - */ -enum VIDEO_RESAMPLER_OPT_SHARPNESS = "GstVideoResampler.sharpness"; -alias GST_VIDEO_RESAMPLER_OPT_SHARPNESS = VIDEO_RESAMPLER_OPT_SHARPNESS; - -/** - * #GstVideoDitherMethod, The dither method to use for propagating - * quatization errors. - */ -enum VIDEO_SCALER_OPT_DITHER_METHOD = "GstVideoScaler.dither-method"; -alias GST_VIDEO_SCALER_OPT_DITHER_METHOD = VIDEO_SCALER_OPT_DITHER_METHOD; - -enum VIDEO_SIZE_RANGE = "(int) [ 1, max ]"; -alias GST_VIDEO_SIZE_RANGE = VIDEO_SIZE_RANGE; - -enum VIDEO_TILE_TYPE_MASK = 65535; -alias GST_VIDEO_TILE_TYPE_MASK = VIDEO_TILE_TYPE_MASK; - -enum VIDEO_TILE_TYPE_SHIFT = 16; -alias GST_VIDEO_TILE_TYPE_SHIFT = VIDEO_TILE_TYPE_SHIFT; - -enum VIDEO_TILE_X_TILES_MASK = 65535; -alias GST_VIDEO_TILE_X_TILES_MASK = VIDEO_TILE_X_TILES_MASK; - -enum VIDEO_TILE_Y_TILES_SHIFT = 16; -alias GST_VIDEO_TILE_Y_TILES_SHIFT = VIDEO_TILE_Y_TILES_SHIFT; diff --git a/generated/gstreamer/gstreamer/Allocator.d b/generated/gstreamer/gstreamer/Allocator.d deleted file mode 100644 index d2bb03c30..000000000 --- a/generated/gstreamer/gstreamer/Allocator.d +++ /dev/null @@ -1,173 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Allocator; - -private import glib.Str; -private import gobject.ObjectG; -private import gstreamer.AllocationParams; -private import gstreamer.Memory; -private import gstreamer.ObjectGst; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * Memory is usually created by allocators with a gst_allocator_alloc() - * method call. When %NULL is used as the allocator, the default allocator will - * be used. - * - * New allocators can be registered with gst_allocator_register(). - * Allocators are identified by name and can be retrieved with - * gst_allocator_find(). gst_allocator_set_default() can be used to change the - * default allocator. - * - * New memory can be created with gst_memory_new_wrapped() that wraps the memory - * allocated elsewhere. - */ -public class Allocator : ObjectGst -{ - /** the main Gtk struct */ - protected GstAllocator* gstAllocator; - - /** Get the main Gtk struct */ - public GstAllocator* getAllocatorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstAllocator; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstAllocator; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstAllocator* gstAllocator, bool ownedRef = false) - { - this.gstAllocator = gstAllocator; - super(cast(GstObject*)gstAllocator, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_allocator_get_type(); - } - - /** - * Find a previously registered allocator with @name. When @name is %NULL, the - * default allocator will be returned. - * - * Params: - * name = the name of the allocator - * - * Returns: a #GstAllocator or %NULL when - * the allocator with @name was not registered. Use gst_object_unref() - * to release the allocator after usage. - */ - public static Allocator find(string name) - { - auto __p = gst_allocator_find(Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Allocator)(cast(GstAllocator*) __p, true); - } - - /** - * Registers the memory @allocator with @name. This function takes ownership of - * @allocator. - * - * Params: - * name = the name of the allocator - * allocator = #GstAllocator - */ - public static void register(string name, Allocator allocator) - { - gst_allocator_register(Str.toStringz(name), (allocator is null) ? null : allocator.getAllocatorStruct()); - } - - /** - * Use @allocator to allocate a new memory block with memory that is at least - * @size big. - * - * The optional @params can specify the prefix and padding for the memory. If - * %NULL is passed, no flags, no extra prefix/padding and a default alignment is - * used. - * - * The prefix/padding will be filled with 0 if flags contains - * #GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively. - * - * When @allocator is %NULL, the default allocator will be used. - * - * The alignment in @params is given as a bitmask so that @align + 1 equals - * the amount of bytes to align to. For example, to align to 8 bytes, - * use an alignment of 7. - * - * Params: - * size = size of the visible memory area - * params = optional parameters - * - * Returns: a new #GstMemory. - */ - public Memory alloc(size_t size, AllocationParams params) - { - auto __p = gst_allocator_alloc(gstAllocator, size, (params is null) ? null : params.getAllocationParamsStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Memory)(cast(GstMemory*) __p, true); - } - - /** - * Free @memory that was previously allocated with gst_allocator_alloc(). - * - * Params: - * memory = the memory to free - */ - public void free(Memory memory) - { - gst_allocator_free(gstAllocator, (memory is null) ? null : memory.getMemoryStruct()); - } - - /** - * Set the default allocator. This function takes ownership of @allocator. - */ - public void setDefault() - { - gst_allocator_set_default(gstAllocator); - } -} diff --git a/generated/gstreamer/gstreamer/AtomicQueue.d b/generated/gstreamer/gstreamer/AtomicQueue.d deleted file mode 100644 index a00b69e3b..000000000 --- a/generated/gstreamer/gstreamer/AtomicQueue.d +++ /dev/null @@ -1,162 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.AtomicQueue; - -private import glib.ConstructionException; -private import gobject.ObjectG; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import gtkd.Loader; - - -/** - * The #GstAtomicQueue object implements a queue that can be used from multiple - * threads without performing any blocking operations. - */ -public class AtomicQueue -{ - /** the main Gtk struct */ - protected GstAtomicQueue* gstAtomicQueue; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstAtomicQueue* getAtomicQueueStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstAtomicQueue; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstAtomicQueue; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstAtomicQueue* gstAtomicQueue, bool ownedRef = false) - { - this.gstAtomicQueue = gstAtomicQueue; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTREAMER) && ownedRef ) - gst_atomic_queue_unref(gstAtomicQueue); - } - - - /** */ - public static GType getType() - { - return gst_atomic_queue_get_type(); - } - - /** - * Create a new atomic queue instance. @initial_size will be rounded up to the - * nearest power of 2 and used as the initial size of the queue. - * - * Params: - * initialSize = initial queue size - * - * Returns: a new #GstAtomicQueue - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(uint initialSize) - { - auto __p = gst_atomic_queue_new(initialSize); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstAtomicQueue*) __p); - } - - /** - * Get the amount of items in the queue. - * - * Returns: the number of elements in the queue. - */ - public uint length() - { - return gst_atomic_queue_length(gstAtomicQueue); - } - - /** - * Peek the head element of the queue without removing it from the queue. - * - * Returns: the head element of @queue or - * %NULL when the queue is empty. - */ - public void* peek() - { - return gst_atomic_queue_peek(gstAtomicQueue); - } - - /** - * Get the head element of the queue. - * - * Returns: the head element of @queue or %NULL when - * the queue is empty. - */ - public void* pop() - { - return gst_atomic_queue_pop(gstAtomicQueue); - } - - /** - * Append @data to the tail of the queue. - * - * Params: - * data = the data - */ - public void push(void* data) - { - gst_atomic_queue_push(gstAtomicQueue, data); - } - - alias doref = ref_; - /** - * Increase the refcount of @queue. - */ - public void ref_() - { - gst_atomic_queue_ref(gstAtomicQueue); - } - - /** - * Unref @queue and free the memory when the refcount reaches 0. - */ - public void unref() - { - gst_atomic_queue_unref(gstAtomicQueue); - } -} diff --git a/generated/gstreamer/gstreamer/Bin.d b/generated/gstreamer/gstreamer/Bin.d deleted file mode 100644 index 59ffa2455..000000000 --- a/generated/gstreamer/gstreamer/Bin.d +++ /dev/null @@ -1,675 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Bin; - -private import glib.ConstructionException; -private import glib.Str; -private import gobject.ObjectG; -private import gobject.Signals; -private import gstreamer.ChildProxyIF; -private import gstreamer.ChildProxyT; -private import gstreamer.Element; -private import gstreamer.Iterator; -private import gstreamer.Pad; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import std.algorithm; - - -/** - * #GstBin is an element that can contain other #GstElement, allowing them to be - * managed as a group. - * Pads from the child elements can be ghosted to the bin, see #GstGhostPad. - * This makes the bin look like any other elements and enables creation of - * higher-level abstraction elements. - * - * A new #GstBin is created with gst_bin_new(). Use a #GstPipeline instead if you - * want to create a toplevel bin because a normal bin doesn't have a bus or - * handle clock distribution of its own. - * - * After the bin has been created you will typically add elements to it with - * gst_bin_add(). You can remove elements with gst_bin_remove(). - * - * An element can be retrieved from a bin with gst_bin_get_by_name(), using the - * elements name. gst_bin_get_by_name_recurse_up() is mainly used for internal - * purposes and will query the parent bins when the element is not found in the - * current bin. - * - * An iterator of elements in a bin can be retrieved with - * gst_bin_iterate_elements(). Various other iterators exist to retrieve the - * elements in a bin. - * - * gst_object_unref() is used to drop your reference to the bin. - * - * The #GstBin::element-added signal is fired whenever a new element is added to - * the bin. Likewise the #GstBin::element-removed signal is fired whenever an - * element is removed from the bin. - * - * ## Notes - * - * A #GstBin internally intercepts every #GstMessage posted by its children and - * implements the following default behaviour for each of them: - * - * * GST_MESSAGE_EOS: This message is only posted by sinks in the PLAYING - * state. If all sinks posted the EOS message, this bin will post and EOS - * message upwards. - * - * * GST_MESSAGE_SEGMENT_START: Just collected and never forwarded upwards. - * The messages are used to decide when all elements have completed playback - * of their segment. - * - * * GST_MESSAGE_SEGMENT_DONE: Is posted by #GstBin when all elements that posted - * a SEGMENT_START have posted a SEGMENT_DONE. - * - * * GST_MESSAGE_DURATION_CHANGED: Is posted by an element that detected a change - * in the stream duration. The duration change is posted to the - * application so that it can refetch the new duration with a duration - * query. Note that these messages can be posted before the bin is - * prerolled, in which case the duration query might fail. Note also that - * there might be a discrepancy (due to internal buffering/queueing) between the - * stream being currently displayed and the returned duration query. - * Applications might want to also query for duration (and changes) by - * listening to the GST_MESSAGE_STREAM_START message, signaling the active start - * of a (new) stream. - * - * * GST_MESSAGE_CLOCK_LOST: This message is posted by an element when it - * can no longer provide a clock. The default bin behaviour is to - * check if the lost clock was the one provided by the bin. If so and - * the bin is currently in the PLAYING state, the message is forwarded to - * the bin parent. - * This message is also generated when a clock provider is removed from - * the bin. If this message is received by the application, it should - * PAUSE the pipeline and set it back to PLAYING to force a new clock - * distribution. - * - * * GST_MESSAGE_CLOCK_PROVIDE: This message is generated when an element - * can provide a clock. This mostly happens when a new clock - * provider is added to the bin. The default behaviour of the bin is to - * mark the currently selected clock as dirty, which will perform a clock - * recalculation the next time the bin is asked to provide a clock. - * This message is never sent tot the application but is forwarded to - * the parent of the bin. - * - * * OTHERS: posted upwards. - * - * A #GstBin implements the following default behaviour for answering to a - * #GstQuery: - * - * * GST_QUERY_DURATION: The bin will forward the query to all sink - * elements contained within and will return the maximum value. - * If no sinks are available in the bin, the query fails. - * - * * GST_QUERY_POSITION:The query is sent to all sink elements in the bin and the - * MAXIMUM of all values is returned. If no sinks are available in the bin, - * the query fails. - * - * * OTHERS:the query is forwarded to all sink elements, the result - * of the first sink that answers the query successfully is returned. If no - * sink is in the bin, the query fails. - * - * A #GstBin will by default forward any event sent to it to all sink - * (#GST_EVENT_TYPE_DOWNSTREAM) or source (#GST_EVENT_TYPE_UPSTREAM) elements - * depending on the event type. - * If all the elements return %TRUE, the bin will also return %TRUE, else %FALSE - * is returned. If no elements of the required type are in the bin, the event - * handler will return %TRUE. - */ -public class Bin : Element, ChildProxyIF -{ - /** the main Gtk struct */ - protected GstBin* gstBin; - - /** Get the main Gtk struct */ - public GstBin* getBinStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstBin; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstBin; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstBin* gstBin, bool ownedRef = false) - { - this.gstBin = gstBin; - super(cast(GstElement*)gstBin, ownedRef); - } - - // add the ChildProxy capabilities - mixin ChildProxyT!(GstBin); - - /** */ - public this(Element elem) - { - super( elem.getElementStruct(), true ); - this.gstBin = cast(GstBin*)elem.getElementStruct(); - } - - /** - * Adds a list of elements to a bin. - * This function is equivalent to calling add() for each member of the list. - * The return value of each add() is ignored. - */ - public void addMany( Element[] elems... ) - { - foreach( e; elems ) add( e ); - } - - /** - * Remove a list of elements from a bin. - * This function is equivalent to calling remove() with each member of the list. - */ - public void removeMany( Element[] elems... ) - { - foreach( e; elems ) remove( e ); - } - - /** - */ - - /** */ - public static GType getType() - { - return gst_bin_get_type(); - } - - /** - * Creates a new bin with the given name. - * - * Params: - * name = the name of the new bin - * - * Returns: a new #GstBin - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string name) - { - auto __p = gst_bin_new(Str.toStringz(name)); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstBin*) __p); - } - - /** - * Adds the given element to the bin. Sets the element's parent, and thus - * takes ownership of the element. An element can only be added to one bin. - * - * If the element's pads are linked to other pads, the pads will be unlinked - * before the element is added to the bin. - * - * > When you add an element to an already-running pipeline, you will have to - * > take care to set the state of the newly-added element to the desired - * > state (usually PLAYING or PAUSED, same you set the pipeline to originally) - * > with gst_element_set_state(), or use gst_element_sync_state_with_parent(). - * > The bin or pipeline will not take care of this for you. - * - * MT safe. - * - * Params: - * element = the #GstElement to add - * - * Returns: %TRUE if the element could be added, %FALSE if - * the bin does not want to accept the element. - */ - public bool add(Element element) - { - return gst_bin_add(gstBin, (element is null) ? null : element.getElementStruct()) != 0; - } - - /** - * Recursively looks for elements with an unlinked pad of the given - * direction within the specified bin and returns an unlinked pad - * if one is found, or %NULL otherwise. If a pad is found, the caller - * owns a reference to it and should use gst_object_unref() on the - * pad when it is not needed any longer. - * - * Params: - * direction = whether to look for an unlinked source or sink pad - * - * Returns: unlinked pad of the given - * direction, %NULL. - */ - public Pad findUnlinkedPad(GstPadDirection direction) - { - auto __p = gst_bin_find_unlinked_pad(gstBin, direction); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Pad)(cast(GstPad*) __p, true); - } - - /** - * Looks for an element inside the bin that implements the given - * interface. If such an element is found, it returns the element. - * You can cast this element to the given interface afterwards. If you want - * all elements that implement the interface, use - * gst_bin_iterate_all_by_interface(). This function recurses into child bins. - * - * MT safe. Caller owns returned reference. - * - * Params: - * iface = the #GType of an interface - * - * Returns: A #GstElement inside the bin - * implementing the interface - */ - public Element getByInterface(GType iface) - { - auto __p = gst_bin_get_by_interface(gstBin, iface); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Element)(cast(GstElement*) __p, true); - } - - /** - * Gets the element with the given name from a bin. This - * function recurses into child bins. - * - * Returns %NULL if no element with the given name is found in the bin. - * - * MT safe. Caller owns returned reference. - * - * Params: - * name = the element name to search for - * - * Returns: the #GstElement with the given - * name, or %NULL - */ - public Element getByName(string name) - { - auto __p = gst_bin_get_by_name(gstBin, Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Element)(cast(GstElement*) __p, true); - } - - /** - * Gets the element with the given name from this bin. If the - * element is not found, a recursion is performed on the parent bin. - * - * Returns %NULL if: - * - no element with the given name is found in the bin - * - * MT safe. Caller owns returned reference. - * - * Params: - * name = the element name to search for - * - * Returns: the #GstElement with the given - * name, or %NULL - */ - public Element getByNameRecurseUp(string name) - { - auto __p = gst_bin_get_by_name_recurse_up(gstBin, Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Element)(cast(GstElement*) __p, true); - } - - /** - * Return the suppressed flags of the bin. - * - * MT safe. - * - * Returns: the bin's suppressed #GstElementFlags. - * - * Since: 1.10 - */ - public GstElementFlags getSuppressedFlags() - { - return gst_bin_get_suppressed_flags(gstBin); - } - - /** - * Looks for all elements inside the bin with the given element factory name. - * The function recurses inside child bins. The iterator will yield a series of - * #GstElement that should be unreffed after use. - * - * MT safe. Caller owns returned value. - * - * Params: - * factoryName = the name of the #GstElementFactory - * - * Returns: a #GstIterator of #GstElement - * for all elements in the bin with the given element factory name, - * or %NULL. - * - * Since: 1.18 - */ - public Iterator iterateAllByElementFactoryName(string factoryName) - { - auto __p = gst_bin_iterate_all_by_element_factory_name(gstBin, Str.toStringz(factoryName)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Looks for all elements inside the bin that implements the given - * interface. You can safely cast all returned elements to the given interface. - * The function recurses inside child bins. The iterator will yield a series - * of #GstElement that should be unreffed after use. - * - * MT safe. Caller owns returned value. - * - * Params: - * iface = the #GType of an interface - * - * Returns: a #GstIterator of #GstElement - * for all elements in the bin implementing the given interface, - * or %NULL - */ - public Iterator iterateAllByInterface(GType iface) - { - auto __p = gst_bin_iterate_all_by_interface(gstBin, iface); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Gets an iterator for the elements in this bin. - * - * MT safe. Caller owns returned value. - * - * Returns: a #GstIterator of #GstElement, - * or %NULL - */ - public Iterator iterateElements() - { - auto __p = gst_bin_iterate_elements(gstBin); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Gets an iterator for the elements in this bin. - * This iterator recurses into GstBin children. - * - * MT safe. Caller owns returned value. - * - * Returns: a #GstIterator of #GstElement, - * or %NULL - */ - public Iterator iterateRecurse() - { - auto __p = gst_bin_iterate_recurse(gstBin); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Gets an iterator for all elements in the bin that have the - * #GST_ELEMENT_FLAG_SINK flag set. - * - * MT safe. Caller owns returned value. - * - * Returns: a #GstIterator of #GstElement, - * or %NULL - */ - public Iterator iterateSinks() - { - auto __p = gst_bin_iterate_sinks(gstBin); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Gets an iterator for the elements in this bin in topologically - * sorted order. This means that the elements are returned from - * the most downstream elements (sinks) to the sources. - * - * This function is used internally to perform the state changes - * of the bin elements and for clock selection. - * - * MT safe. Caller owns returned value. - * - * Returns: a #GstIterator of #GstElement, - * or %NULL - */ - public Iterator iterateSorted() - { - auto __p = gst_bin_iterate_sorted(gstBin); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Gets an iterator for all elements in the bin that have the - * #GST_ELEMENT_FLAG_SOURCE flag set. - * - * MT safe. Caller owns returned value. - * - * Returns: a #GstIterator of #GstElement, - * or %NULL - */ - public Iterator iterateSources() - { - auto __p = gst_bin_iterate_sources(gstBin); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Query @bin for the current latency using and reconfigures this latency to all the - * elements with a LATENCY event. - * - * This method is typically called on the pipeline when a #GST_MESSAGE_LATENCY - * is posted on the bus. - * - * This function simply emits the 'do-latency' signal so any custom latency - * calculations will be performed. - * - * Returns: %TRUE if the latency could be queried and reconfigured. - */ - public bool recalculateLatency() - { - return gst_bin_recalculate_latency(gstBin) != 0; - } - - /** - * Removes the element from the bin, unparenting it as well. - * Unparenting the element means that the element will be dereferenced, - * so if the bin holds the only reference to the element, the element - * will be freed in the process of removing it from the bin. If you - * want the element to still exist after removing, you need to call - * gst_object_ref() before removing it from the bin. - * - * If the element's pads are linked to other pads, the pads will be unlinked - * before the element is removed from the bin. - * - * MT safe. - * - * Params: - * element = the #GstElement to remove - * - * Returns: %TRUE if the element could be removed, %FALSE if - * the bin does not want to remove the element. - */ - public bool remove(Element element) - { - return gst_bin_remove(gstBin, (element is null) ? null : element.getElementStruct()) != 0; - } - - /** - * Suppress the given flags on the bin. #GstElementFlags of a - * child element are propagated when it is added to the bin. - * When suppressed flags are set, those specified flags will - * not be propagated to the bin. - * - * MT safe. - * - * Params: - * flags = the #GstElementFlags to suppress - * - * Since: 1.10 - */ - public void setSuppressedFlags(GstElementFlags flags) - { - gst_bin_set_suppressed_flags(gstBin, flags); - } - - /** - * Synchronizes the state of every child of @bin with the state - * of @bin. See also gst_element_sync_state_with_parent(). - * - * Returns: %TRUE if syncing the state was successful for all children, - * otherwise %FALSE. - * - * Since: 1.6 - */ - public bool syncChildrenStates() - { - return gst_bin_sync_children_states(gstBin) != 0; - } - - /** - * Will be emitted after the element was added to sub_bin. - * - * Params: - * subBin = the #GstBin the element was added to - * element = the #GstElement that was added to @sub_bin - * - * Since: 1.10 - */ - gulong addOnDeepElementAdded(void delegate(Bin, Element, Bin) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "deep-element-added", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Will be emitted after the element was removed from sub_bin. - * - * Params: - * subBin = the #GstBin the element was removed from - * element = the #GstElement that was removed from @sub_bin - * - * Since: 1.10 - */ - gulong addOnDeepElementRemoved(void delegate(Bin, Element, Bin) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "deep-element-removed", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Will be emitted when the bin needs to perform latency calculations. This - * signal is only emitted for toplevel bins or when async-handling is - * enabled. - * - * Only one signal handler is invoked. If no signals are connected, the - * default handler is invoked, which will query and distribute the lowest - * possible latency to all sinks. - * - * Connect to this signal if the default latency calculations are not - * sufficient, like when you need different latencies for different sinks in - * the same pipeline. - */ - gulong addOnDoLatency(bool delegate(Bin) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "do-latency", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Will be emitted after the element was added to the bin. - * - * Params: - * element = the #GstElement that was added to the bin - */ - gulong addOnElementAdded(void delegate(Element, Bin) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "element-added", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Will be emitted after the element was removed from the bin. - * - * Params: - * element = the #GstElement that was removed from the bin - */ - gulong addOnElementRemoved(void delegate(Element, Bin) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "element-removed", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gstreamer/Buffer.d b/generated/gstreamer/gstreamer/Buffer.d deleted file mode 100644 index 576828481..000000000 --- a/generated/gstreamer/gstreamer/Buffer.d +++ /dev/null @@ -1,1248 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Buffer; - -private import glib.Bytes; -private import glib.ConstructionException; -private import gobject.ObjectG; -private import gstreamer.AllocationParams; -private import gstreamer.Allocator; -private import gstreamer.Caps; -private import gstreamer.Memory; -private import gstreamer.Meta; -private import gstreamer.ProtectionMeta; -private import gstreamer.Structure; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * Buffers are the basic unit of data transfer in GStreamer. They contain the - * timing and offset along with other arbitrary metadata that is associated - * with the #GstMemory blocks that the buffer contains. - * - * Buffers are usually created with gst_buffer_new(). After a buffer has been - * created one will typically allocate memory for it and add it to the buffer. - * The following example creates a buffer that can hold a given video frame - * with a given width, height and bits per plane. - * |[ - * GstBuffer *buffer; - * GstMemory *memory; - * gint size, width, height, bpp; - * ... - * size = width * height * bpp; - * buffer = gst_buffer_new (); - * memory = gst_allocator_alloc (NULL, size, NULL); - * gst_buffer_insert_memory (buffer, -1, memory); - * ... - * ]| - * - * Alternatively, use gst_buffer_new_allocate() to create a buffer with - * preallocated data of a given size. - * - * Buffers can contain a list of #GstMemory objects. You can retrieve how many - * memory objects with gst_buffer_n_memory() and you can get a pointer - * to memory with gst_buffer_peek_memory() - * - * A buffer will usually have timestamps, and a duration, but neither of these - * are guaranteed (they may be set to #GST_CLOCK_TIME_NONE). Whenever a - * meaningful value can be given for these, they should be set. The timestamps - * and duration are measured in nanoseconds (they are #GstClockTime values). - * - * The buffer DTS refers to the timestamp when the buffer should be decoded and - * is usually monotonically increasing. The buffer PTS refers to the timestamp when - * the buffer content should be presented to the user and is not always - * monotonically increasing. - * - * A buffer can also have one or both of a start and an end offset. These are - * media-type specific. For video buffers, the start offset will generally be - * the frame number. For audio buffers, it will be the number of samples - * produced so far. For compressed data, it could be the byte offset in a - * source or destination file. Likewise, the end offset will be the offset of - * the end of the buffer. These can only be meaningfully interpreted if you - * know the media type of the buffer (the preceding CAPS event). Either or both - * can be set to #GST_BUFFER_OFFSET_NONE. - * - * gst_buffer_ref() is used to increase the refcount of a buffer. This must be - * done when you want to keep a handle to the buffer after pushing it to the - * next element. The buffer refcount determines the writability of the buffer, a - * buffer is only writable when the refcount is exactly 1, i.e. when the caller - * has the only reference to the buffer. - * - * To efficiently create a smaller buffer out of an existing one, you can - * use gst_buffer_copy_region(). This method tries to share the memory objects - * between the two buffers. - * - * If a plug-in wants to modify the buffer data or metadata in-place, it should - * first obtain a buffer that is safe to modify by using - * gst_buffer_make_writable(). This function is optimized so that a copy will - * only be made when it is necessary. - * - * Several flags of the buffer can be set and unset with the - * GST_BUFFER_FLAG_SET() and GST_BUFFER_FLAG_UNSET() macros. Use - * GST_BUFFER_FLAG_IS_SET() to test if a certain #GstBufferFlags flag is set. - * - * Buffers can be efficiently merged into a larger buffer with - * gst_buffer_append(). Copying of memory will only be done when absolutely - * needed. - * - * Arbitrary extra metadata can be set on a buffer with gst_buffer_add_meta(). - * Metadata can be retrieved with gst_buffer_get_meta(). See also #GstMeta - * - * An element should either unref the buffer or push it out on a src pad - * using gst_pad_push() (see #GstPad). - * - * Buffers are usually freed by unreffing them with gst_buffer_unref(). When - * the refcount drops to 0, any memory and metadata pointed to by the buffer is - * unreffed as well. Buffers allocated from a #GstBufferPool will be returned to - * the pool when the refcount drops to 0. - * - * The #GstParentBufferMeta is a meta which can be attached to a #GstBuffer - * to hold a reference to another buffer that is only released when the child - * #GstBuffer is released. - * - * Typically, #GstParentBufferMeta is used when the child buffer is directly - * using the #GstMemory of the parent buffer, and wants to prevent the parent - * buffer from being returned to a buffer pool until the #GstMemory is available - * for re-use. (Since: 1.6) - */ -public class Buffer -{ - /** the main Gtk struct */ - protected GstBuffer* gstBuffer; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstBuffer* getBufferStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstBuffer; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstBuffer; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstBuffer* gstBuffer, bool ownedRef = false) - { - this.gstBuffer = gstBuffer; - this.ownedRef = ownedRef; - } - - - /** */ - public static GType getType() - { - return gst_buffer_get_type(); - } - - /** - * Creates a newly allocated buffer without any data. - * - * MT safe. - * - * Returns: the new #GstBuffer. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_buffer_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstBuffer*) __p); - } - - /** - * Tries to create a newly allocated buffer with data of the given size and - * extra parameters from @allocator. If the requested amount of memory can't be - * allocated, %NULL will be returned. The allocated buffer memory is not cleared. - * - * When @allocator is %NULL, the default memory allocator will be used. - * - * Note that when @size == 0, the buffer will not have memory associated with it. - * - * MT safe. - * - * Params: - * allocator = the #GstAllocator to use, or %NULL to use the - * default allocator - * size = the size in bytes of the new buffer's data. - * params = optional parameters - * - * Returns: a new #GstBuffer, or %NULL if - * the memory couldn't be allocated. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(Allocator allocator, size_t size, AllocationParams params) - { - auto __p = gst_buffer_new_allocate((allocator is null) ? null : allocator.getAllocatorStruct(), size, (params is null) ? null : params.getAllocationParamsStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_allocate"); - } - - this(cast(GstBuffer*) __p); - } - - /** - * Creates a new buffer that wraps the given @data. The memory will be freed - * with g_free and will be marked writable. - * - * MT safe. - * - * Params: - * data = data to wrap - * - * Returns: a new #GstBuffer - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ubyte[] data) - { - auto __p = gst_buffer_new_wrapped(data.ptr, cast(size_t)data.length); - - if(__p is null) - { - throw new ConstructionException("null returned by new_wrapped"); - } - - this(cast(GstBuffer*) __p); - } - - /** - * Creates a new #GstBuffer that wraps the given @bytes. The data inside - * @bytes cannot be %NULL and the resulting buffer will be marked as read only. - * - * MT safe. - * - * Params: - * bytes = a #GBytes to wrap - * - * Returns: a new #GstBuffer wrapping @bytes - * - * Since: 1.16 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(Bytes bytes) - { - auto __p = gst_buffer_new_wrapped_bytes((bytes is null) ? null : bytes.getBytesStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_wrapped_bytes"); - } - - this(cast(GstBuffer*) __p); - } - - /** - * Allocate a new buffer that wraps the given memory. @data must point to - * @maxsize of memory, the wrapped buffer will have the region from @offset and - * @size visible. - * - * When the buffer is destroyed, @notify will be called with @user_data. - * - * The prefix/padding must be filled with 0 if @flags contains - * #GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively. - * - * Params: - * flags = #GstMemoryFlags - * data = data to wrap - * maxsize = allocated size of @data - * offset = offset in @data - * userData = user_data - * notify = called with @user_data when the memory is freed - * - * Returns: a new #GstBuffer - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstMemoryFlags flags, ubyte[] data, size_t maxsize, size_t offset, void* userData, GDestroyNotify notify) - { - auto __p = gst_buffer_new_wrapped_full(flags, data.ptr, maxsize, offset, cast(size_t)data.length, userData, notify); - - if(__p is null) - { - throw new ConstructionException("null returned by new_wrapped_full"); - } - - this(cast(GstBuffer*) __p); - } - - /** - * Add metadata for @info to @buffer using the parameters in @params. - * - * Params: - * info = a #GstMetaInfo - * params = params for @info - * - * Returns: the metadata for the api in @info on @buffer. - */ - public Meta addMeta(GstMetaInfo* info, void* params) - { - auto __p = gst_buffer_add_meta(gstBuffer, info, params); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Meta)(cast(GstMeta*) __p); - } - - /** - * Add a #GstParentBufferMeta to @buffer that holds a reference on - * @ref until the buffer is freed. - * - * Params: - * ref_ = a #GstBuffer to ref - * - * Returns: The #GstParentBufferMeta that was added to the buffer - * - * Since: 1.6 - */ - public GstParentBufferMeta* addParentBufferMeta(Buffer ref_) - { - return gst_buffer_add_parent_buffer_meta(gstBuffer, (ref_ is null) ? null : ref_.getBufferStruct()); - } - - /** - * Attaches protection metadata to a #GstBuffer. - * - * Params: - * info = a #GstStructure holding cryptographic - * information relating to the sample contained in @buffer. This - * function takes ownership of @info. - * - * Returns: a pointer to the added #GstProtectionMeta if successful; %NULL if - * unsuccessful. - * - * Since: 1.6 - */ - public ProtectionMeta addProtectionMeta(Structure info) - { - auto __p = gst_buffer_add_protection_meta(gstBuffer, (info is null) ? null : info.getStructureStruct(true)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(ProtectionMeta)(cast(GstProtectionMeta*) __p); - } - - /** - * Add a #GstReferenceTimestampMeta to @buffer that holds a @timestamp and - * optionally @duration based on a specific timestamp @reference. See the - * documentation of #GstReferenceTimestampMeta for details. - * - * Params: - * reference = identifier for the timestamp reference. - * timestamp = timestamp - * duration = duration, or %GST_CLOCK_TIME_NONE - * - * Returns: The #GstReferenceTimestampMeta that was added to the buffer - * - * Since: 1.14 - */ - public GstReferenceTimestampMeta* addReferenceTimestampMeta(Caps reference, GstClockTime timestamp, GstClockTime duration) - { - return gst_buffer_add_reference_timestamp_meta(gstBuffer, (reference is null) ? null : reference.getCapsStruct(), timestamp, duration); - } - - /** - * Append all the memory from @buf2 to @buf1. The result buffer will contain a - * concatenation of the memory of @buf1 and @buf2. - * - * Params: - * buf2 = the second source #GstBuffer to append. - * - * Returns: the new #GstBuffer that contains the memory - * of the two source buffers. - */ - public Buffer append(Buffer buf2) - { - auto __p = gst_buffer_append(gstBuffer, (buf2 is null) ? null : buf2.getBufferStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Append the memory block @mem to @buffer. This function takes - * ownership of @mem and thus doesn't increase its refcount. - * - * This function is identical to gst_buffer_insert_memory() with an index of -1. - * See gst_buffer_insert_memory() for more details. - * - * Params: - * mem = a #GstMemory. - */ - public void appendMemory(Memory mem) - { - gst_buffer_append_memory(gstBuffer, (mem is null) ? null : mem.getMemoryStruct()); - } - - /** - * Append @size bytes at @offset from @buf2 to @buf1. The result buffer will - * contain a concatenation of the memory of @buf1 and the requested region of - * @buf2. - * - * Params: - * buf2 = the second source #GstBuffer to append. - * offset = the offset in @buf2 - * size = the size or -1 of @buf2 - * - * Returns: the new #GstBuffer that contains the memory - * of the two source buffers. - */ - public Buffer appendRegion(Buffer buf2, ptrdiff_t offset, ptrdiff_t size) - { - auto __p = gst_buffer_append_region(gstBuffer, (buf2 is null) ? null : buf2.getBufferStruct(), offset, size); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Create a copy of the given buffer. This will make a newly allocated - * copy of the data the source buffer contains. - * - * Returns: a new copy of @buf. - * - * Since: 1.6 - */ - public Buffer copyDeep() - { - auto __p = gst_buffer_copy_deep(gstBuffer); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Copies the information from @src into @dest. - * - * If @dest already contains memory and @flags contains GST_BUFFER_COPY_MEMORY, - * the memory from @src will be appended to @dest. - * - * @flags indicate which fields will be copied. - * - * Params: - * src = a source #GstBuffer - * flags = flags indicating what metadata fields should be copied. - * offset = offset to copy from - * size = total size to copy. If -1, all data is copied. - * - * Returns: %TRUE if the copying succeeded, %FALSE otherwise. - */ - public bool copyInto(Buffer src, GstBufferCopyFlags flags, size_t offset, size_t size) - { - return gst_buffer_copy_into(gstBuffer, (src is null) ? null : src.getBufferStruct(), flags, offset, size) != 0; - } - - /** - * Creates a sub-buffer from @parent at @offset and @size. - * This sub-buffer uses the actual memory space of the parent buffer. - * This function will copy the offset and timestamp fields when the - * offset is 0. If not, they will be set to #GST_CLOCK_TIME_NONE and - * #GST_BUFFER_OFFSET_NONE. - * If @offset equals 0 and @size equals the total size of @buffer, the - * duration and offset end fields are also copied. If not they will be set - * to #GST_CLOCK_TIME_NONE and #GST_BUFFER_OFFSET_NONE. - * - * MT safe. - * - * Params: - * flags = the #GstBufferCopyFlags - * offset = the offset into parent #GstBuffer at which the new sub-buffer - * begins. - * size = the size of the new #GstBuffer sub-buffer, in bytes. If -1, all - * data is copied. - * - * Returns: the new #GstBuffer or %NULL if the arguments were - * invalid. - */ - public Buffer copyRegion(GstBufferCopyFlags flags, size_t offset, size_t size) - { - auto __p = gst_buffer_copy_region(gstBuffer, flags, offset, size); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p, true); - } - - /** - * Copy @size bytes starting from @offset in @buffer to @dest. - * - * Params: - * offset = the offset to extract - * dest = the destination address - * - * Returns: The amount of bytes extracted. This value can be lower than @size - * when @buffer did not contain enough data. - */ - public size_t extract(size_t offset, ubyte[] dest) - { - return gst_buffer_extract(gstBuffer, offset, dest.ptr, cast(size_t)dest.length); - } - - /** - * Extracts a copy of at most @size bytes the data at @offset into - * newly-allocated memory. @dest must be freed using g_free() when done. - * - * Params: - * offset = the offset to extract - * size = the size to extract - * dest = A pointer where - * the destination array will be written. Might be %NULL if the size is 0. - * - * Since: 1.0.10 - */ - public void extractDup(size_t offset, size_t size, out ubyte[] dest) - { - ubyte* outdest; - size_t destSize; - - gst_buffer_extract_dup(gstBuffer, offset, size, cast(void**)&outdest, &destSize); - - dest = outdest[0 .. destSize]; - } - - /** - * Copy @size bytes from @src to @buffer at @offset. - * - * Params: - * offset = the offset to fill - * src = the source address - * - * Returns: The amount of bytes copied. This value can be lower than @size - * when @buffer did not contain enough data. - */ - public size_t fill(size_t offset, ubyte[] src) - { - return gst_buffer_fill(gstBuffer, offset, src.ptr, cast(size_t)src.length); - } - - /** - * Find the memory blocks that span @size bytes starting from @offset - * in @buffer. - * - * When this function returns %TRUE, @idx will contain the index of the first - * memory block where the byte for @offset can be found and @length contains the - * number of memory blocks containing the @size remaining bytes. @skip contains - * the number of bytes to skip in the memory block at @idx to get to the byte - * for @offset. - * - * @size can be -1 to get all the memory blocks after @idx. - * - * Params: - * offset = an offset - * size = a size - * idx = pointer to index - * length = pointer to length - * skip = pointer to skip - * - * Returns: %TRUE when @size bytes starting from @offset could be found in - * @buffer and @idx, @length and @skip will be filled. - */ - public bool findMemory(size_t offset, size_t size, out uint idx, out uint length, out size_t skip) - { - return gst_buffer_find_memory(gstBuffer, offset, size, &idx, &length, &skip) != 0; - } - - /** - * Call @func with @user_data for each meta in @buffer. - * - * @func can modify the passed meta pointer or its contents. The return value - * of @func define if this function returns or if the remaining metadata items - * in the buffer should be skipped. - * - * Params: - * func = a #GstBufferForeachMetaFunc to call - * userData = user data passed to @func - * - * Returns: %FALSE when @func returned %FALSE for one of the metadata. - */ - public bool foreachMeta(GstBufferForeachMetaFunc func, void* userData) - { - return gst_buffer_foreach_meta(gstBuffer, func, userData) != 0; - } - - /** - * Get all the memory block in @buffer. The memory blocks will be merged - * into one large #GstMemory. - * - * Returns: a #GstMemory that contains the merged memory. - * Use gst_memory_unref () after usage. - */ - public Memory getAllMemory() - { - auto __p = gst_buffer_get_all_memory(gstBuffer); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Memory)(cast(GstMemory*) __p, true); - } - - /** - * Get the #GstBufferFlags flags set on this buffer. - * - * Returns: the flags set on this buffer. - * - * Since: 1.10 - */ - public GstBufferFlags getFlags() - { - return gst_buffer_get_flags(gstBuffer); - } - - /** - * Get the memory block at index @idx in @buffer. - * - * Params: - * idx = an index - * - * Returns: a #GstMemory that contains the data of the - * memory block at @idx. Use gst_memory_unref () after usage. - */ - public Memory getMemory(uint idx) - { - auto __p = gst_buffer_get_memory(gstBuffer, idx); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Memory)(cast(GstMemory*) __p, true); - } - - /** - * Get @length memory blocks in @buffer starting at @idx. The memory blocks will - * be merged into one large #GstMemory. - * - * If @length is -1, all memory starting from @idx is merged. - * - * Params: - * idx = an index - * length = a length - * - * Returns: a #GstMemory that contains the merged data of @length - * blocks starting at @idx. Use gst_memory_unref () after usage. - */ - public Memory getMemoryRange(uint idx, int length) - { - auto __p = gst_buffer_get_memory_range(gstBuffer, idx, length); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Memory)(cast(GstMemory*) __p, true); - } - - /** - * Get the metadata for @api on buffer. When there is no such metadata, %NULL is - * returned. If multiple metadata with the given @api are attached to this - * buffer only the first one is returned. To handle multiple metadata with a - * given API use gst_buffer_iterate_meta() or gst_buffer_foreach_meta() instead - * and check the meta->info.api member for the API type. - * - * Params: - * api = the #GType of an API - * - * Returns: the metadata for @api on - * @buffer. - */ - public Meta getMeta(GType api) - { - auto __p = gst_buffer_get_meta(gstBuffer, api); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Meta)(cast(GstMeta*) __p); - } - - /** - * - * Params: - * apiType = the #GType of an API - * Returns: number of metas of type @api_type on @buffer. - * - * Since: 1.14 - */ - public uint getNMeta(GType apiType) - { - return gst_buffer_get_n_meta(gstBuffer, apiType); - } - - /** - * Find the first #GstReferenceTimestampMeta on @buffer that conforms to - * @reference. Conformance is tested by checking if the meta's reference is a - * subset of @reference. - * - * Buffers can contain multiple #GstReferenceTimestampMeta metadata items. - * - * Params: - * reference = a reference #GstCaps - * - * Returns: the #GstReferenceTimestampMeta or %NULL when there - * is no such metadata on @buffer. - * - * Since: 1.14 - */ - public GstReferenceTimestampMeta* getReferenceTimestampMeta(Caps reference) - { - return gst_buffer_get_reference_timestamp_meta(gstBuffer, (reference is null) ? null : reference.getCapsStruct()); - } - - /** - * Get the total size of the memory blocks in @buffer. - * - * Returns: total size of the memory blocks in @buffer. - */ - public size_t getSize() - { - return gst_buffer_get_size(gstBuffer); - } - - /** - * Get the total size of the memory blocks in @b. - * - * When not %NULL, @offset will contain the offset of the data in the - * first memory block in @buffer and @maxsize will contain the sum of - * the size and @offset and the amount of extra padding on the last - * memory block. @offset and @maxsize can be used to resize the - * buffer memory blocks with gst_buffer_resize(). - * - * Params: - * offset = a pointer to the offset - * maxsize = a pointer to the maxsize - * - * Returns: total size of the memory blocks in @buffer. - */ - public size_t getSizes(out size_t offset, out size_t maxsize) - { - return gst_buffer_get_sizes(gstBuffer, &offset, &maxsize); - } - - /** - * Get the total size of @length memory blocks stating from @idx in @buffer. - * - * When not %NULL, @offset will contain the offset of the data in the - * memory block in @buffer at @idx and @maxsize will contain the sum of the size - * and @offset and the amount of extra padding on the memory block at @idx + - * @length -1. - * @offset and @maxsize can be used to resize the buffer memory blocks with - * gst_buffer_resize_range(). - * - * Params: - * idx = an index - * length = a length - * offset = a pointer to the offset - * maxsize = a pointer to the maxsize - * - * Returns: total size of @length memory blocks starting at @idx in @buffer. - */ - public size_t getSizesRange(uint idx, int length, out size_t offset, out size_t maxsize) - { - return gst_buffer_get_sizes_range(gstBuffer, idx, length, &offset, &maxsize); - } - - /** - * Gives the status of a specific flag on a buffer. - * - * Params: - * flags = the #GstBufferFlags flag to check. - * - * Returns: %TRUE if all flags in @flags are found on @buffer. - * - * Since: 1.10 - */ - public bool hasFlags(GstBufferFlags flags) - { - return gst_buffer_has_flags(gstBuffer, flags) != 0; - } - - /** - * Insert the memory block @mem to @buffer at @idx. This function takes ownership - * of @mem and thus doesn't increase its refcount. - * - * Only gst_buffer_get_max_memory() can be added to a buffer. If more memory is - * added, existing memory blocks will automatically be merged to make room for - * the new memory. - * - * Params: - * idx = the index to add the memory at, or -1 to append it to the end - * mem = a #GstMemory. - */ - public void insertMemory(int idx, Memory mem) - { - gst_buffer_insert_memory(gstBuffer, idx, (mem is null) ? null : mem.getMemoryStruct()); - } - - /** - * Check if all memory blocks in @buffer are writable. - * - * Note that this function does not check if @buffer is writable, use - * gst_buffer_is_writable() to check that if needed. - * - * Returns: %TRUE if all memory blocks in @buffer are writable - * - * Since: 1.4 - */ - public bool isAllMemoryWritable() - { - return gst_buffer_is_all_memory_writable(gstBuffer) != 0; - } - - /** - * Check if @length memory blocks in @buffer starting from @idx are writable. - * - * @length can be -1 to check all the memory blocks after @idx. - * - * Note that this function does not check if @buffer is writable, use - * gst_buffer_is_writable() to check that if needed. - * - * Params: - * idx = an index - * length = a length should not be 0 - * - * Returns: %TRUE if the memory range is writable - * - * Since: 1.4 - */ - public bool isMemoryRangeWritable(uint idx, int length) - { - return gst_buffer_is_memory_range_writable(gstBuffer, idx, length) != 0; - } - - /** - * Retrieve the next #GstMeta after @current. If @state points - * to %NULL, the first metadata is returned. - * - * @state will be updated with an opaque state pointer - * - * Params: - * state = an opaque state pointer - * - * Returns: The next #GstMeta or %NULL - * when there are no more items. - */ - public Meta iterateMeta(out void* state) - { - auto __p = gst_buffer_iterate_meta(gstBuffer, &state); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Meta)(cast(GstMeta*) __p); - } - - /** - * Retrieve the next #GstMeta of type @meta_api_type after the current one - * according to @state. If @state points to %NULL, the first metadata of - * type @meta_api_type is returned. - * - * @state will be updated with an opaque state pointer - * - * Params: - * state = an opaque state pointer - * metaApiType = only return #GstMeta of this type - * - * Returns: The next #GstMeta of type - * @meta_api_type or %NULL when there are no more items. - * - * Since: 1.12 - */ - public Meta iterateMetaFiltered(out void* state, GType metaApiType) - { - auto __p = gst_buffer_iterate_meta_filtered(gstBuffer, &state, metaApiType); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Meta)(cast(GstMeta*) __p); - } - - /** - * This function fills @info with the #GstMapInfo of all merged memory - * blocks in @buffer. - * - * @flags describe the desired access of the memory. When @flags is - * #GST_MAP_WRITE, @buffer should be writable (as returned from - * gst_buffer_is_writable()). - * - * When @buffer is writable but the memory isn't, a writable copy will - * automatically be created and returned. The readonly copy of the - * buffer memory will then also be replaced with this writable copy. - * - * The memory in @info should be unmapped with gst_buffer_unmap() after - * usage. - * - * Params: - * info = info about the mapping - * flags = flags for the mapping - * - * Returns: %TRUE if the map succeeded and @info contains valid data. - */ - public bool map(out GstMapInfo info, GstMapFlags flags) - { - return gst_buffer_map(gstBuffer, &info, flags) != 0; - } - - /** - * This function fills @info with the #GstMapInfo of @length merged memory blocks - * starting at @idx in @buffer. When @length is -1, all memory blocks starting - * from @idx are merged and mapped. - * - * @flags describe the desired access of the memory. When @flags is - * #GST_MAP_WRITE, @buffer should be writable (as returned from - * gst_buffer_is_writable()). - * - * When @buffer is writable but the memory isn't, a writable copy will - * automatically be created and returned. The readonly copy of the buffer memory - * will then also be replaced with this writable copy. - * - * The memory in @info should be unmapped with gst_buffer_unmap() after usage. - * - * Params: - * idx = an index - * length = a length - * info = info about the mapping - * flags = flags for the mapping - * - * Returns: %TRUE if the map succeeded and @info contains valid - * data. - */ - public bool mapRange(uint idx, int length, out GstMapInfo info, GstMapFlags flags) - { - return gst_buffer_map_range(gstBuffer, idx, length, &info, flags) != 0; - } - - /** - * Compare @size bytes starting from @offset in @buffer with the memory in @mem. - * - * Params: - * offset = the offset in @buffer - * mem = the memory to compare - * - * Returns: 0 if the memory is equal. - */ - public int memcmp(size_t offset, ubyte[] mem) - { - return gst_buffer_memcmp(gstBuffer, offset, mem.ptr, cast(size_t)mem.length); - } - - /** - * Fill @buf with @size bytes with @val starting from @offset. - * - * Params: - * offset = the offset in @buffer - * val = the value to set - * size = the size to set - * - * Returns: The amount of bytes filled. This value can be lower than @size - * when @buffer did not contain enough data. - */ - public size_t memset(size_t offset, ubyte val, size_t size) - { - return gst_buffer_memset(gstBuffer, offset, val, size); - } - - /** - * Get the amount of memory blocks that this buffer has. This amount is never - * larger than what gst_buffer_get_max_memory() returns. - * - * Returns: the number of memory blocks this buffer is made of. - */ - public uint nMemory() - { - return gst_buffer_n_memory(gstBuffer); - } - - /** - * Get the memory block at @idx in @buffer. The memory block stays valid until - * the memory block in @buffer is removed, replaced or merged, typically with - * any call that modifies the memory in @buffer. - * - * Params: - * idx = an index - * - * Returns: the #GstMemory at @idx. - */ - public Memory peekMemory(uint idx) - { - auto __p = gst_buffer_peek_memory(gstBuffer, idx); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Memory)(cast(GstMemory*) __p); - } - - /** - * Prepend the memory block @mem to @buffer. This function takes - * ownership of @mem and thus doesn't increase its refcount. - * - * This function is identical to gst_buffer_insert_memory() with an index of 0. - * See gst_buffer_insert_memory() for more details. - * - * Params: - * mem = a #GstMemory. - */ - public void prependMemory(Memory mem) - { - gst_buffer_prepend_memory(gstBuffer, (mem is null) ? null : mem.getMemoryStruct()); - } - - /** - * Remove all the memory blocks in @buffer. - */ - public void removeAllMemory() - { - gst_buffer_remove_all_memory(gstBuffer); - } - - /** - * Remove the memory block in @b at index @i. - * - * Params: - * idx = an index - */ - public void removeMemory(uint idx) - { - gst_buffer_remove_memory(gstBuffer, idx); - } - - /** - * Remove @length memory blocks in @buffer starting from @idx. - * - * @length can be -1, in which case all memory starting from @idx is removed. - * - * Params: - * idx = an index - * length = a length - */ - public void removeMemoryRange(uint idx, int length) - { - gst_buffer_remove_memory_range(gstBuffer, idx, length); - } - - /** - * Remove the metadata for @meta on @buffer. - * - * Params: - * meta = a #GstMeta - * - * Returns: %TRUE if the metadata existed and was removed, %FALSE if no such - * metadata was on @buffer. - */ - public bool removeMeta(Meta meta) - { - return gst_buffer_remove_meta(gstBuffer, (meta is null) ? null : meta.getMetaStruct()) != 0; - } - - /** - * Replaces all memory in @buffer with @mem. - * - * Params: - * mem = a #GstMemory - */ - public void replaceAllMemory(Memory mem) - { - gst_buffer_replace_all_memory(gstBuffer, (mem is null) ? null : mem.getMemoryStruct()); - } - - /** - * Replaces the memory block at index @idx in @buffer with @mem. - * - * Params: - * idx = an index - * mem = a #GstMemory - */ - public void replaceMemory(uint idx, Memory mem) - { - gst_buffer_replace_memory(gstBuffer, idx, (mem is null) ? null : mem.getMemoryStruct()); - } - - /** - * Replaces @length memory blocks in @buffer starting at @idx with @mem. - * - * If @length is -1, all memory starting from @idx will be removed and - * replaced with @mem. - * - * @buffer should be writable. - * - * Params: - * idx = an index - * length = a length should not be 0 - * mem = a #GstMemory - */ - public void replaceMemoryRange(uint idx, int length, Memory mem) - { - gst_buffer_replace_memory_range(gstBuffer, idx, length, (mem is null) ? null : mem.getMemoryStruct()); - } - - /** - * Set the offset and total size of the memory blocks in @buffer. - * - * Params: - * offset = the offset adjustment - * size = the new size or -1 to just adjust the offset - */ - public void resize(ptrdiff_t offset, ptrdiff_t size) - { - gst_buffer_resize(gstBuffer, offset, size); - } - - /** - * Set the total size of the @length memory blocks starting at @idx in - * @buffer - * - * Params: - * idx = an index - * length = a length - * offset = the offset adjustment - * size = the new size or -1 to just adjust the offset - * - * Returns: %TRUE if resizing succeeded, %FALSE otherwise. - */ - public bool resizeRange(uint idx, int length, ptrdiff_t offset, ptrdiff_t size) - { - return gst_buffer_resize_range(gstBuffer, idx, length, offset, size) != 0; - } - - /** - * Sets one or more buffer flags on a buffer. - * - * Params: - * flags = the #GstBufferFlags to set. - * - * Returns: %TRUE if @flags were successfully set on buffer. - * - * Since: 1.10 - */ - public bool setFlags(GstBufferFlags flags) - { - return gst_buffer_set_flags(gstBuffer, flags) != 0; - } - - /** - * Set the total size of the memory blocks in @buffer. - * - * Params: - * size = the new size - */ - public void setSize(ptrdiff_t size) - { - gst_buffer_set_size(gstBuffer, size); - } - - /** - * Release the memory previously mapped with gst_buffer_map(). - * - * Params: - * info = a #GstMapInfo - */ - public void unmap(GstMapInfo* info) - { - gst_buffer_unmap(gstBuffer, info); - } - - /** - * Clears one or more buffer flags. - * - * Params: - * flags = the #GstBufferFlags to clear - * - * Returns: true if @flags is successfully cleared from buffer. - * - * Since: 1.10 - */ - public bool unsetFlags(GstBufferFlags flags) - { - return gst_buffer_unset_flags(gstBuffer, flags) != 0; - } - - /** - * Get the maximum amount of memory blocks that a buffer can hold. This is a - * compile time constant that can be queried with the function. - * - * When more memory blocks are added, existing memory blocks will be merged - * together to make room for the new block. - * - * Returns: the maximum amount of memory blocks that a buffer can hold. - * - * Since: 1.2 - */ - public static uint getMaxMemory() - { - return gst_buffer_get_max_memory(); - } -} diff --git a/generated/gstreamer/gstreamer/BufferList.d b/generated/gstreamer/gstreamer/BufferList.d deleted file mode 100644 index 9e2601bcd..000000000 --- a/generated/gstreamer/gstreamer/BufferList.d +++ /dev/null @@ -1,272 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.BufferList; - -private import glib.ConstructionException; -private import gobject.ObjectG; -private import gstreamer.Buffer; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * Buffer lists are an object containing a list of buffers. - * - * Buffer lists are created with gst_buffer_list_new() and filled with data - * using a gst_buffer_list_insert(). - * - * Buffer lists can be pushed on a srcpad with gst_pad_push_list(). This is - * interesting when multiple buffers need to be pushed in one go because it - * can reduce the amount of overhead for pushing each buffer individually. - */ -public class BufferList -{ - /** the main Gtk struct */ - protected GstBufferList* gstBufferList; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstBufferList* getBufferListStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstBufferList; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstBufferList; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstBufferList* gstBufferList, bool ownedRef = false) - { - this.gstBufferList = gstBufferList; - this.ownedRef = ownedRef; - } - - - /** */ - public static GType getType() - { - return gst_buffer_list_get_type(); - } - - /** - * Creates a new, empty #GstBufferList. The caller is responsible for unreffing - * the returned #GstBufferList. - * - * Free-function: gst_buffer_list_unref - * - * Returns: the new #GstBufferList. gst_buffer_list_unref() - * after usage. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_buffer_list_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstBufferList*) __p); - } - - /** - * Creates a new, empty #GstBufferList. The caller is responsible for unreffing - * the returned #GstBufferList. The list will have @size space preallocated so - * that memory reallocations can be avoided. - * - * Free-function: gst_buffer_list_unref - * - * Params: - * size = an initial reserved size - * - * Returns: the new #GstBufferList. gst_buffer_list_unref() - * after usage. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(uint size) - { - auto __p = gst_buffer_list_new_sized(size); - - if(__p is null) - { - throw new ConstructionException("null returned by new_sized"); - } - - this(cast(GstBufferList*) __p); - } - - /** - * Calculates the size of the data contained in buffer list by adding the - * size of all buffers. - * - * Returns: the size of the data contained in buffer list in bytes. - * - * Since: 1.14 - */ - public size_t calculateSize() - { - return gst_buffer_list_calculate_size(gstBufferList); - } - - /** - * Create a copy of the given buffer list. This will make a newly allocated - * copy of the buffer that the source buffer list contains. - * - * Returns: a new copy of @list. - * - * Since: 1.6 - */ - public BufferList copyDeep() - { - auto __p = gst_buffer_list_copy_deep(gstBufferList); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(BufferList)(cast(GstBufferList*) __p, true); - } - - alias foreac = foreach_; - /** - * Call @func with @data for each buffer in @list. - * - * @func can modify the passed buffer pointer or its contents. The return value - * of @func define if this function returns or if the remaining buffers in - * the list should be skipped. - * - * Params: - * func = a #GstBufferListFunc to call - * userData = user data passed to @func - * - * Returns: %TRUE when @func returned %TRUE for each buffer in @list or when - * @list is empty. - */ - public bool foreach_(GstBufferListFunc func, void* userData) - { - return gst_buffer_list_foreach(gstBufferList, func, userData) != 0; - } - - /** - * Get the buffer at @idx. - * - * You must make sure that @idx does not exceed the number of - * buffers available. - * - * Params: - * idx = the index - * - * Returns: the buffer at @idx in @group - * or %NULL when there is no buffer. The buffer remains valid as - * long as @list is valid and buffer is not removed from the list. - */ - public Buffer get(uint idx) - { - auto __p = gst_buffer_list_get(gstBufferList, idx); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p); - } - - /** - * Gets the buffer at @idx, ensuring it is a writable buffer. - * - * You must make sure that @idx does not exceed the number of - * buffers available. - * - * Params: - * idx = the index - * - * Returns: the buffer at @idx in @group. - * The returned buffer remains valid as long as @list is valid and - * the buffer is not removed from the list. - * - * Since: 1.14 - */ - public Buffer getWritable(uint idx) - { - auto __p = gst_buffer_list_get_writable(gstBufferList, idx); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p); - } - - /** - * Insert @buffer at @idx in @list. Other buffers are moved to make room for - * this new buffer. - * - * A -1 value for @idx will append the buffer at the end. - * - * Params: - * idx = the index - * buffer = a #GstBuffer - */ - public void insert(int idx, Buffer buffer) - { - gst_buffer_list_insert(gstBufferList, idx, (buffer is null) ? null : buffer.getBufferStruct()); - } - - /** - * Returns the number of buffers in @list. - * - * Returns: the number of buffers in the buffer list - */ - public uint length() - { - return gst_buffer_list_length(gstBufferList); - } - - /** - * Remove @length buffers starting from @idx in @list. The following buffers - * are moved to close the gap. - * - * Params: - * idx = the index - * length = the amount to remove - */ - public void remove(uint idx, uint length) - { - gst_buffer_list_remove(gstBufferList, idx, length); - } -} diff --git a/generated/gstreamer/gstreamer/BufferPool.d b/generated/gstreamer/gstreamer/BufferPool.d deleted file mode 100644 index 80365ad53..000000000 --- a/generated/gstreamer/gstreamer/BufferPool.d +++ /dev/null @@ -1,464 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.BufferPool; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.AllocationParams; -private import gstreamer.Allocator; -private import gstreamer.Buffer; -private import gstreamer.Caps; -private import gstreamer.ObjectGst; -private import gstreamer.Structure; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * A #GstBufferPool is an object that can be used to pre-allocate and recycle - * buffers of the same size and with the same properties. - * - * A #GstBufferPool is created with gst_buffer_pool_new(). - * - * Once a pool is created, it needs to be configured. A call to - * gst_buffer_pool_get_config() returns the current configuration structure from - * the pool. With gst_buffer_pool_config_set_params() and - * gst_buffer_pool_config_set_allocator() the bufferpool parameters and - * allocator can be configured. Other properties can be configured in the pool - * depending on the pool implementation. - * - * A bufferpool can have extra options that can be enabled with - * gst_buffer_pool_config_add_option(). The available options can be retrieved - * with gst_buffer_pool_get_options(). Some options allow for additional - * configuration properties to be set. - * - * After the configuration structure has been configured, - * gst_buffer_pool_set_config() updates the configuration in the pool. This can - * fail when the configuration structure is not accepted. - * - * After the a pool has been configured, it can be activated with - * gst_buffer_pool_set_active(). This will preallocate the configured resources - * in the pool. - * - * When the pool is active, gst_buffer_pool_acquire_buffer() can be used to - * retrieve a buffer from the pool. - * - * Buffers allocated from a bufferpool will automatically be returned to the - * pool with gst_buffer_pool_release_buffer() when their refcount drops to 0. - * - * The bufferpool can be deactivated again with gst_buffer_pool_set_active(). - * All further gst_buffer_pool_acquire_buffer() calls will return an error. When - * all buffers are returned to the pool they will be freed. - * - * Use gst_object_unref() to release the reference to a bufferpool. If the - * refcount of the pool reaches 0, the pool will be freed. - */ -public class BufferPool : ObjectGst -{ - /** the main Gtk struct */ - protected GstBufferPool* gstBufferPool; - - /** Get the main Gtk struct */ - public GstBufferPool* getBufferPoolStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstBufferPool; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstBufferPool; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstBufferPool* gstBufferPool, bool ownedRef = false) - { - this.gstBufferPool = gstBufferPool; - super(cast(GstObject*)gstBufferPool, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_buffer_pool_get_type(); - } - - /** - * Creates a new #GstBufferPool instance. - * - * Returns: a new #GstBufferPool instance - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_buffer_pool_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstBufferPool*) __p, true); - } - - /** - * Enabled the option in @config. This will instruct the @bufferpool to enable - * the specified option on the buffers that it allocates. - * - * The supported options by @pool can be retrieved with gst_buffer_pool_get_options(). - * - * Params: - * config = a #GstBufferPool configuration - * option = an option to add - */ - public static void configAddOption(Structure config, string option) - { - gst_buffer_pool_config_add_option((config is null) ? null : config.getStructureStruct(), Str.toStringz(option)); - } - - /** - * Get the @allocator and @params from @config. - * - * Params: - * config = a #GstBufferPool configuration - * allocator = a #GstAllocator, or %NULL - * params = #GstAllocationParams, or %NULL - * - * Returns: %TRUE, if the values are set. - */ - public static bool configGetAllocator(Structure config, ref Allocator allocator, out AllocationParams params) - { - GstAllocator* outallocator = allocator.getAllocatorStruct(); - GstAllocationParams* outparams = sliceNew!GstAllocationParams(); - - auto __p = gst_buffer_pool_config_get_allocator((config is null) ? null : config.getStructureStruct(), &outallocator, outparams) != 0; - - allocator = ObjectG.getDObject!(Allocator)(outallocator); - params = ObjectG.getDObject!(AllocationParams)(outparams, true); - - return __p; - } - - /** - * Parse an available @config and get the option at @index of the options API - * array. - * - * Params: - * config = a #GstBufferPool configuration - * index = position in the option array to read - * - * Returns: a #gchar of the option at @index. - */ - public static string configGetOption(Structure config, uint index) - { - return Str.toString(gst_buffer_pool_config_get_option((config is null) ? null : config.getStructureStruct(), index)); - } - - /** - * Get the configuration values from @config. - * - * Params: - * config = a #GstBufferPool configuration - * caps = the caps of buffers - * size = the size of each buffer, not including prefix and padding - * minBuffers = the minimum amount of buffers to allocate. - * maxBuffers = the maximum amount of buffers to allocate or 0 for unlimited. - * - * Returns: %TRUE if all parameters could be fetched. - */ - public static bool configGetParams(Structure config, out Caps caps, out uint size, out uint minBuffers, out uint maxBuffers) - { - GstCaps* outcaps = null; - - auto __p = gst_buffer_pool_config_get_params((config is null) ? null : config.getStructureStruct(), &outcaps, &size, &minBuffers, &maxBuffers) != 0; - - caps = ObjectG.getDObject!(Caps)(outcaps); - - return __p; - } - - /** - * Check if @config contains @option. - * - * Params: - * config = a #GstBufferPool configuration - * option = an option - * - * Returns: %TRUE if the options array contains @option. - */ - public static bool configHasOption(Structure config, string option) - { - return gst_buffer_pool_config_has_option((config is null) ? null : config.getStructureStruct(), Str.toStringz(option)) != 0; - } - - /** - * Retrieve the number of values currently stored in the options array of the - * @config structure. - * - * Params: - * config = a #GstBufferPool configuration - * - * Returns: the options array size as a #guint. - */ - public static uint configNOptions(Structure config) - { - return gst_buffer_pool_config_n_options((config is null) ? null : config.getStructureStruct()); - } - - /** - * Set the @allocator and @params on @config. - * - * One of @allocator and @params can be %NULL, but not both. When @allocator - * is %NULL, the default allocator of the pool will use the values in @param - * to perform its allocation. When @param is %NULL, the pool will use the - * provided @allocator with its default #GstAllocationParams. - * - * A call to gst_buffer_pool_set_config() can update the allocator and params - * with the values that it is able to do. Some pools are, for example, not able - * to operate with different allocators or cannot allocate with the values - * specified in @params. Use gst_buffer_pool_get_config() to get the currently - * used values. - * - * Params: - * config = a #GstBufferPool configuration - * allocator = a #GstAllocator - * params = #GstAllocationParams - */ - public static void configSetAllocator(Structure config, Allocator allocator, AllocationParams params) - { - gst_buffer_pool_config_set_allocator((config is null) ? null : config.getStructureStruct(), (allocator is null) ? null : allocator.getAllocatorStruct(), (params is null) ? null : params.getAllocationParamsStruct()); - } - - /** - * Configure @config with the given parameters. - * - * Params: - * config = a #GstBufferPool configuration - * caps = caps for the buffers - * size = the size of each buffer, not including prefix and padding - * minBuffers = the minimum amount of buffers to allocate. - * maxBuffers = the maximum amount of buffers to allocate or 0 for unlimited. - */ - public static void configSetParams(Structure config, Caps caps, uint size, uint minBuffers, uint maxBuffers) - { - gst_buffer_pool_config_set_params((config is null) ? null : config.getStructureStruct(), (caps is null) ? null : caps.getCapsStruct(), size, minBuffers, maxBuffers); - } - - /** - * Validate that changes made to @config are still valid in the context of the - * expected parameters. This function is a helper that can be used to validate - * changes made by a pool to a config when gst_buffer_pool_set_config() - * returns %FALSE. This expects that @caps haven't changed and that - * @min_buffers aren't lower then what we initially expected. - * This does not check if options or allocator parameters are still valid, - * won't check if size have changed, since changing the size is valid to adapt - * padding. - * - * Params: - * config = a #GstBufferPool configuration - * caps = the excepted caps of buffers - * size = the expected size of each buffer, not including prefix and padding - * minBuffers = the expected minimum amount of buffers to allocate. - * maxBuffers = the expect maximum amount of buffers to allocate or 0 for unlimited. - * - * Returns: %TRUE, if the parameters are valid in this context. - * - * Since: 1.4 - */ - public static bool configValidateParams(Structure config, Caps caps, uint size, uint minBuffers, uint maxBuffers) - { - return gst_buffer_pool_config_validate_params((config is null) ? null : config.getStructureStruct(), (caps is null) ? null : caps.getCapsStruct(), size, minBuffers, maxBuffers) != 0; - } - - /** - * Acquire a buffer from @pool. @buffer should point to a memory location that - * can hold a pointer to the new buffer. - * - * @params can be %NULL or contain optional parameters to influence the - * allocation. - * - * Params: - * buffer = a location for a #GstBuffer - * params = parameters. - * - * Returns: a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is - * inactive. - */ - public GstFlowReturn acquireBuffer(out Buffer buffer, GstBufferPoolAcquireParams* params) - { - GstBuffer* outbuffer = null; - - auto __p = gst_buffer_pool_acquire_buffer(gstBufferPool, &outbuffer, params); - - buffer = ObjectG.getDObject!(Buffer)(outbuffer); - - return __p; - } - - /** - * Get a copy of the current configuration of the pool. This configuration - * can either be modified and used for the gst_buffer_pool_set_config() call - * or it must be freed after usage. - * - * Returns: a copy of the current configuration of @pool. use - * gst_structure_free() after usage or gst_buffer_pool_set_config(). - */ - public Structure getConfig() - { - auto __p = gst_buffer_pool_get_config(gstBufferPool); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p, true); - } - - /** - * Get a %NULL terminated array of string with supported bufferpool options for - * @pool. An option would typically be enabled with - * gst_buffer_pool_config_add_option(). - * - * Returns: a %NULL terminated array - * of strings. - */ - public string[] getOptions() - { - return Str.toStringArray(gst_buffer_pool_get_options(gstBufferPool)); - } - - /** - * Check if the bufferpool supports @option. - * - * Params: - * option = an option - * - * Returns: %TRUE if the buffer pool contains @option. - */ - public bool hasOption(string option) - { - return gst_buffer_pool_has_option(gstBufferPool, Str.toStringz(option)) != 0; - } - - /** - * Check if @pool is active. A pool can be activated with the - * gst_buffer_pool_set_active() call. - * - * Returns: %TRUE when the pool is active. - */ - public bool isActive() - { - return gst_buffer_pool_is_active(gstBufferPool) != 0; - } - - /** - * Release @buffer to @pool. @buffer should have previously been allocated from - * @pool with gst_buffer_pool_acquire_buffer(). - * - * This function is usually called automatically when the last ref on @buffer - * disappears. - * - * Params: - * buffer = a #GstBuffer - */ - public void releaseBuffer(Buffer buffer) - { - gst_buffer_pool_release_buffer(gstBufferPool, (buffer is null) ? null : buffer.getBufferStruct()); - } - - /** - * Control the active state of @pool. When the pool is inactive, new calls to - * gst_buffer_pool_acquire_buffer() will return with %GST_FLOW_FLUSHING. - * - * Activating the bufferpool will preallocate all resources in the pool based on - * the configuration of the pool. - * - * Deactivating will free the resources again when there are no outstanding - * buffers. When there are outstanding buffers, they will be freed as soon as - * they are all returned to the pool. - * - * Params: - * active = the new active state - * - * Returns: %FALSE when the pool was not configured or when preallocation of the - * buffers failed. - */ - public bool setActive(bool active) - { - return gst_buffer_pool_set_active(gstBufferPool, active) != 0; - } - - /** - * Set the configuration of the pool. If the pool is already configured, and - * the configuration haven't change, this function will return %TRUE. If the - * pool is active, this method will return %FALSE and active configuration - * will remain. Buffers allocated form this pool must be returned or else this - * function will do nothing and return %FALSE. - * - * @config is a #GstStructure that contains the configuration parameters for - * the pool. A default and mandatory set of parameters can be configured with - * gst_buffer_pool_config_set_params(), gst_buffer_pool_config_set_allocator() - * and gst_buffer_pool_config_add_option(). - * - * If the parameters in @config can not be set exactly, this function returns - * %FALSE and will try to update as much state as possible. The new state can - * then be retrieved and refined with gst_buffer_pool_get_config(). - * - * This function takes ownership of @config. - * - * Params: - * config = a #GstStructure - * - * Returns: %TRUE when the configuration could be set. - */ - public bool setConfig(Structure config) - { - return gst_buffer_pool_set_config(gstBufferPool, (config is null) ? null : config.getStructureStruct(true)) != 0; - } - - /** - * Enable or disable the flushing state of a @pool without freeing or - * allocating buffers. - * - * Params: - * flushing = whether to start or stop flushing - * - * Since: 1.4 - */ - public void setFlushing(bool flushing) - { - gst_buffer_pool_set_flushing(gstBufferPool, flushing); - } -} diff --git a/generated/gstreamer/gstreamer/Bus.d b/generated/gstreamer/gstreamer/Bus.d deleted file mode 100644 index db6288664..000000000 --- a/generated/gstreamer/gstreamer/Bus.d +++ /dev/null @@ -1,673 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Bus; - -private import glib.ConstructionException; -private import glib.Source; -private import gobject.ObjectG; -private import gobject.Signals; -private import gstreamer.Message; -private import gstreamer.ObjectGst; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import std.algorithm; - - -/** - * The #GstBus is an object responsible for delivering #GstMessage packets in - * a first-in first-out way from the streaming threads (see #GstTask) to the - * application. - * - * Since the application typically only wants to deal with delivery of these - * messages from one thread, the GstBus will marshall the messages between - * different threads. This is important since the actual streaming of media - * is done in another thread than the application. - * - * The GstBus provides support for #GSource based notifications. This makes it - * possible to handle the delivery in the glib mainloop. - * - * The #GSource callback function gst_bus_async_signal_func() can be used to - * convert all bus messages into signal emissions. - * - * A message is posted on the bus with the gst_bus_post() method. With the - * gst_bus_peek() and gst_bus_pop() methods one can look at or retrieve a - * previously posted message. - * - * The bus can be polled with the gst_bus_poll() method. This methods blocks - * up to the specified timeout value until one of the specified messages types - * is posted on the bus. The application can then gst_bus_pop() the messages - * from the bus to handle them. - * Alternatively the application can register an asynchronous bus function - * using gst_bus_add_watch_full() or gst_bus_add_watch(). This function will - * install a #GSource in the default glib main loop and will deliver messages - * a short while after they have been posted. Note that the main loop should - * be running for the asynchronous callbacks. - * - * It is also possible to get messages from the bus without any thread - * marshalling with the gst_bus_set_sync_handler() method. This makes it - * possible to react to a message in the same thread that posted the - * message on the bus. This should only be used if the application is able - * to deal with messages from different threads. - * - * Every #GstPipeline has one bus. - * - * Note that a #GstPipeline will set its bus into flushing state when changing - * from READY to NULL state. - */ -public class Bus : ObjectGst -{ - /** the main Gtk struct */ - protected GstBus* gstBus; - - /** Get the main Gtk struct */ - public GstBus* getBusStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstBus; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstBus; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstBus* gstBus, bool ownedRef = false) - { - this.gstBus = gstBus; - super(cast(GstObject*)gstBus, ownedRef); - } - - /** - * Adds a bus watch to the default main context with the default priority. - * This function is used to receive asynchronous messages in the main loop. - * The watch can be removed using g_source_remove() or by returning FALSE - * from func. - * MT safe. - * Params: - * dlg = A function to call when a message is received. - * Returns: - * The event source id. - */ - public uint addWatch( bool delegate(Message) dlg ) - { - onWatchListener = dlg; - return gst_bus_add_watch(gstBus, cast(GstBusFunc)&watchCallBack, cast(void*)this); - } - - bool delegate(Message) onWatchListener; - - extern(C) static int watchCallBack(GstBus* bus, GstMessage* msg, Bus bus_d )//gpointer data) - { - Message msg_d = new Message( msg ); - - return bus_d.onWatchListener( msg_d ); - } - - /** - * Use this for making an XOverlay. - * Sets the synchronous handler on the bus. The function will be called - * every time a new message is posted on the bus. Note that the function - * will be called in the same thread context as the posting object. This - * function is usually only called by the creator of the bus. Applications - * should handle messages asynchronously using the gst_bus watch and poll - * functions. - * You cannot replace an existing sync_handler. You can pass NULL to this - * function, which will clear the existing handler. - * Params: - * dlg = The handler function to install - */ - public void setSyncHandler( GstBusSyncReply delegate(Message) dlg ) - { - onSyncHandlerListener = dlg; - gst_bus_set_sync_handler(gstBus, cast(GstBusSyncHandler)&syncHandlerCallBack, cast(void*)this, null); - } - - GstBusSyncReply delegate(Message) onSyncHandlerListener; - - extern(C) static GstBusSyncReply syncHandlerCallBack(GstBus* bus, GstMessage* msg, Bus bus_d) - { - Message msg_d = new Message( msg ); - - return bus_d.onSyncHandlerListener( msg_d ); - } - - /** - */ - - /** */ - public static GType getType() - { - return gst_bus_get_type(); - } - - /** - * Creates a new #GstBus instance. - * - * Returns: a new #GstBus instance - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_bus_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstBus*) __p, true); - } - - /** - * Adds a bus signal watch to the default main context with the default priority - * (%G_PRIORITY_DEFAULT). It is also possible to use a non-default - * main context set up using g_main_context_push_thread_default() (before - * one had to create a bus watch source and attach it to the desired main - * context 'manually'). - * - * After calling this statement, the bus will emit the "message" signal for each - * message posted on the bus. - * - * This function may be called multiple times. To clean up, the caller is - * responsible for calling gst_bus_remove_signal_watch() as many times as this - * function is called. - * - * MT safe. - */ - public void addSignalWatch() - { - gst_bus_add_signal_watch(gstBus); - } - - /** - * Adds a bus signal watch to the default main context with the given @priority - * (e.g. %G_PRIORITY_DEFAULT). It is also possible to use a non-default main - * context set up using g_main_context_push_thread_default() - * (before one had to create a bus watch source and attach it to the desired - * main context 'manually'). - * - * After calling this statement, the bus will emit the "message" signal for each - * message posted on the bus when the main loop is running. - * - * This function may be called multiple times. To clean up, the caller is - * responsible for calling gst_bus_remove_signal_watch() as many times as this - * function is called. - * - * There can only be a single bus watch per bus, you must remove any signal - * watch before you can set another type of watch. - * - * MT safe. - * - * Params: - * priority = The priority of the watch. - */ - public void addSignalWatchFull(int priority) - { - gst_bus_add_signal_watch_full(gstBus, priority); - } - - /** - * Adds a bus watch to the default main context with the given @priority (e.g. - * %G_PRIORITY_DEFAULT). It is also possible to use a non-default main - * context set up using g_main_context_push_thread_default() (before - * one had to create a bus watch source and attach it to the desired main - * context 'manually'). - * - * This function is used to receive asynchronous messages in the main loop. - * There can only be a single bus watch per bus, you must remove it before you - * can set a new one. - * - * The bus watch will only work if a GLib main loop is being run. - * - * When @func is called, the message belongs to the caller; if you want to - * keep a copy of it, call gst_message_ref() before leaving @func. - * - * The watch can be removed using gst_bus_remove_watch() or by returning %FALSE - * from @func. If the watch was added to the default main context it is also - * possible to remove the watch using g_source_remove(). - * - * The bus watch will take its own reference to the @bus, so it is safe to unref - * @bus using gst_object_unref() after setting the bus watch. - * - * MT safe. - * - * Params: - * priority = The priority of the watch. - * func = A function to call when a message is received. - * userData = user data passed to @func. - * notify = the function to call when the source is removed. - * - * Returns: The event source id or 0 if @bus already got an event source. - */ - public uint addWatchFull(int priority, GstBusFunc func, void* userData, GDestroyNotify notify) - { - return gst_bus_add_watch_full(gstBus, priority, func, userData, notify); - } - - /** - * A helper #GstBusFunc that can be used to convert all asynchronous messages - * into signals. - * - * Params: - * message = the #GstMessage received - * data = user data - * - * Returns: %TRUE - */ - public bool asyncSignalFunc(Message message, void* data) - { - return gst_bus_async_signal_func(gstBus, (message is null) ? null : message.getMessageStruct(), data) != 0; - } - - /** - * Create watch for this bus. The GSource will be dispatched whenever - * a message is on the bus. After the GSource is dispatched, the - * message is popped off the bus and unreffed. - * - * Returns: a #GSource that can be added to a mainloop. - */ - public Source createWatch() - { - auto __p = gst_bus_create_watch(gstBus); - - if(__p is null) - { - return null; - } - - return new Source(cast(GSource*) __p, true); - } - - /** - * Instructs GStreamer to stop emitting the "sync-message" signal for this bus. - * See gst_bus_enable_sync_message_emission() for more information. - * - * In the event that multiple pieces of code have called - * gst_bus_enable_sync_message_emission(), the sync-message emissions will only - * be stopped after all calls to gst_bus_enable_sync_message_emission() were - * "cancelled" by calling this function. In this way the semantics are exactly - * the same as gst_object_ref() that which calls enable should also call - * disable. - * - * MT safe. - */ - public void disableSyncMessageEmission() - { - gst_bus_disable_sync_message_emission(gstBus); - } - - /** - * Instructs GStreamer to emit the "sync-message" signal after running the bus's - * sync handler. This function is here so that code can ensure that they can - * synchronously receive messages without having to affect what the bin's sync - * handler is. - * - * This function may be called multiple times. To clean up, the caller is - * responsible for calling gst_bus_disable_sync_message_emission() as many times - * as this function is called. - * - * While this function looks similar to gst_bus_add_signal_watch(), it is not - * exactly the same -- this function enables *synchronous* emission of - * signals when messages arrive; gst_bus_add_signal_watch() adds an idle callback - * to pop messages off the bus *asynchronously*. The sync-message signal - * comes from the thread of whatever object posted the message; the "message" - * signal is marshalled to the main thread via the main loop. - * - * MT safe. - */ - public void enableSyncMessageEmission() - { - gst_bus_enable_sync_message_emission(gstBus); - } - - /** - * Gets the file descriptor from the bus which can be used to get notified about - * messages being available with functions like g_poll(), and allows integration - * into other event loops based on file descriptors. - * Whenever a message is available, the POLLIN / %G_IO_IN event is set. - * - * Warning: NEVER read or write anything to the returned fd but only use it - * for getting notifications via g_poll() or similar and then use the normal - * GstBus API, e.g. gst_bus_pop(). - * - * Params: - * fd = A GPollFD to fill - * - * Since: 1.14 - */ - public void getPollfd(out GPollFD fd) - { - gst_bus_get_pollfd(gstBus, &fd); - } - - /** - * Check if there are pending messages on the bus that - * should be handled. - * - * Returns: %TRUE if there are messages on the bus to be handled, %FALSE - * otherwise. - * - * MT safe. - */ - public bool havePending() - { - return gst_bus_have_pending(gstBus) != 0; - } - - /** - * Peek the message on the top of the bus' queue. The message will remain - * on the bus' message queue. A reference is returned, and needs to be unreffed - * by the caller. - * - * Returns: the #GstMessage that is on the - * bus, or %NULL if the bus is empty. - * - * MT safe. - */ - public Message peek() - { - auto __p = gst_bus_peek(gstBus); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Message)(cast(GstMessage*) __p, true); - } - - /** - * Poll the bus for messages. Will block while waiting for messages to come. - * You can specify a maximum time to poll with the @timeout parameter. If - * @timeout is negative, this function will block indefinitely. - * - * All messages not in @events will be popped off the bus and will be ignored. - * It is not possible to use message enums beyond #GST_MESSAGE_EXTENDED in the - * @events mask - * - * Because poll is implemented using the "message" signal enabled by - * gst_bus_add_signal_watch(), calling gst_bus_poll() will cause the "message" - * signal to be emitted for every message that poll sees. Thus a "message" - * signal handler will see the same messages that this function sees -- neither - * will steal messages from the other. - * - * This function will run a main loop from the default main context when - * polling. - * - * You should never use this function, since it is pure evil. This is - * especially true for GUI applications based on Gtk+ or Qt, but also for any - * other non-trivial application that uses the GLib main loop. As this function - * runs a GLib main loop, any callback attached to the default GLib main - * context may be invoked. This could be timeouts, GUI events, I/O events etc.; - * even if gst_bus_poll() is called with a 0 timeout. Any of these callbacks - * may do things you do not expect, e.g. destroy the main application window or - * some other resource; change other application state; display a dialog and - * run another main loop until the user clicks it away. In short, using this - * function may add a lot of complexity to your code through unexpected - * re-entrancy and unexpected changes to your application's state. - * - * For 0 timeouts use gst_bus_pop_filtered() instead of this function; for - * other short timeouts use gst_bus_timed_pop_filtered(); everything else is - * better handled by setting up an asynchronous bus watch and doing things - * from there. - * - * Params: - * events = a mask of #GstMessageType, representing the set of message types to - * poll for (note special handling of extended message types below) - * timeout = the poll timeout, as a #GstClockTime, or #GST_CLOCK_TIME_NONE to poll - * indefinitely. - * - * Returns: the message that was received, - * or %NULL if the poll timed out. The message is taken from the - * bus and needs to be unreffed with gst_message_unref() after - * usage. - */ - public Message poll(GstMessageType events, GstClockTime timeout) - { - auto __p = gst_bus_poll(gstBus, events, timeout); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Message)(cast(GstMessage*) __p, true); - } - - /** - * Get a message from the bus. - * - * Returns: the #GstMessage that is on the - * bus, or %NULL if the bus is empty. The message is taken from - * the bus and needs to be unreffed with gst_message_unref() after - * usage. - * - * MT safe. - */ - public Message pop() - { - auto __p = gst_bus_pop(gstBus); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Message)(cast(GstMessage*) __p, true); - } - - /** - * Get a message matching @type from the bus. Will discard all messages on - * the bus that do not match @type and that have been posted before the first - * message that does match @type. If there is no message matching @type on - * the bus, all messages will be discarded. It is not possible to use message - * enums beyond #GST_MESSAGE_EXTENDED in the @events mask. - * - * Params: - * types = message types to take into account - * - * Returns: the next #GstMessage matching - * @type that is on the bus, or %NULL if the bus is empty or there - * is no message matching @type. The message is taken from the bus - * and needs to be unreffed with gst_message_unref() after usage. - * - * MT safe. - */ - public Message popFiltered(GstMessageType types) - { - auto __p = gst_bus_pop_filtered(gstBus, types); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Message)(cast(GstMessage*) __p, true); - } - - /** - * Post a message on the given bus. Ownership of the message - * is taken by the bus. - * - * Params: - * message = the #GstMessage to post - * - * Returns: %TRUE if the message could be posted, %FALSE if the bus is flushing. - * - * MT safe. - */ - public bool post(Message message) - { - return gst_bus_post(gstBus, (message is null) ? null : message.getMessageStruct()) != 0; - } - - /** - * Removes a signal watch previously added with gst_bus_add_signal_watch(). - * - * MT safe. - */ - public void removeSignalWatch() - { - gst_bus_remove_signal_watch(gstBus); - } - - /** - * Removes an installed bus watch from @bus. - * - * Returns: %TRUE on success or %FALSE if @bus has no event source. - * - * Since: 1.6 - */ - public bool removeWatch() - { - return gst_bus_remove_watch(gstBus) != 0; - } - - /** - * If @flushing, flush out and unref any messages queued in the bus. Releases - * references to the message origin objects. Will flush future messages until - * gst_bus_set_flushing() sets @flushing to %FALSE. - * - * MT safe. - * - * Params: - * flushing = whether or not to flush the bus - */ - public void setFlushing(bool flushing) - { - gst_bus_set_flushing(gstBus, flushing); - } - - /** - * A helper GstBusSyncHandler that can be used to convert all synchronous - * messages into signals. - * - * Params: - * message = the #GstMessage received - * data = user data - * - * Returns: GST_BUS_PASS - */ - public GstBusSyncReply syncSignalHandler(Message message, void* data) - { - return gst_bus_sync_signal_handler(gstBus, (message is null) ? null : message.getMessageStruct(), data); - } - - /** - * Get a message from the bus, waiting up to the specified timeout. - * - * If @timeout is 0, this function behaves like gst_bus_pop(). If @timeout is - * #GST_CLOCK_TIME_NONE, this function will block forever until a message was - * posted on the bus. - * - * Params: - * timeout = a timeout - * - * Returns: the #GstMessage that is on the - * bus after the specified timeout or %NULL if the bus is empty - * after the timeout expired. The message is taken from the bus - * and needs to be unreffed with gst_message_unref() after usage. - * - * MT safe. - */ - public Message timedPop(GstClockTime timeout) - { - auto __p = gst_bus_timed_pop(gstBus, timeout); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Message)(cast(GstMessage*) __p, true); - } - - /** - * Get a message from the bus whose type matches the message type mask @types, - * waiting up to the specified timeout (and discarding any messages that do not - * match the mask provided). - * - * If @timeout is 0, this function behaves like gst_bus_pop_filtered(). If - * @timeout is #GST_CLOCK_TIME_NONE, this function will block forever until a - * matching message was posted on the bus. - * - * Params: - * timeout = a timeout in nanoseconds, or GST_CLOCK_TIME_NONE to wait forever - * types = message types to take into account, GST_MESSAGE_ANY for any type - * - * Returns: a #GstMessage matching the - * filter in @types, or %NULL if no matching message was found on - * the bus until the timeout expired. The message is taken from - * the bus and needs to be unreffed with gst_message_unref() after - * usage. - * - * MT safe. - */ - public Message timedPopFiltered(GstClockTime timeout, GstMessageType types) - { - auto __p = gst_bus_timed_pop_filtered(gstBus, timeout, types); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Message)(cast(GstMessage*) __p, true); - } - - /** - * A message has been posted on the bus. This signal is emitted from a - * GSource added to the mainloop. this signal will only be emitted when - * there is a mainloop running. - * - * Params: - * message = the message that has been posted asynchronously - */ - gulong addOnMessage(void delegate(Message, Bus) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "message", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * A message has been posted on the bus. This signal is emitted from the - * thread that posted the message so one has to be careful with locking. - * - * This signal will not be emitted by default, you have to call - * gst_bus_enable_sync_message_emission() before. - * - * Params: - * message = the message that has been posted synchronously - */ - gulong addOnSyncMessage(void delegate(Message, Bus) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "sync-message", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gstreamer/Caps.d b/generated/gstreamer/gstreamer/Caps.d deleted file mode 100644 index fa5ddaedd..000000000 --- a/generated/gstreamer/gstreamer/Caps.d +++ /dev/null @@ -1,941 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Caps; - -private import glib.ConstructionException; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gobject.Value; -private import gstreamer.CapsFeatures; -private import gstreamer.Structure; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * Caps (capabilities) are lightweight refcounted objects describing media types. - * They are composed of an array of #GstStructure. - * - * Caps are exposed on #GstPadTemplate to describe all possible types a - * given pad can handle. They are also stored in the #GstRegistry along with - * a description of the #GstElement. - * - * Caps are exposed on the element pads using the gst_pad_query_caps() pad - * function. This function describes the possible types that the pad can - * handle or produce at runtime. - * - * A #GstCaps can be constructed with the following code fragment: - * |[ - * GstCaps *caps = gst_caps_new_simple ("video/x-raw", - * "format", G_TYPE_STRING, "I420", - * "framerate", GST_TYPE_FRACTION, 25, 1, - * "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1, - * "width", G_TYPE_INT, 320, - * "height", G_TYPE_INT, 240, - * NULL); - * ]| - * - * A #GstCaps is fixed when it has no properties with ranges or lists. Use - * gst_caps_is_fixed() to test for fixed caps. Fixed caps can be used in a - * caps event to notify downstream elements of the current media type. - * - * Various methods exist to work with the media types such as subtracting - * or intersecting. - * - * Be aware that the current #GstCaps / #GstStructure serialization into string - * has limited support for nested #GstCaps / #GstStructure fields. It can only - * support one level of nesting. Using more levels will lead to unexpected - * behavior when using serialization features, such as gst_caps_to_string() or - * gst_value_serialize() and their counterparts. - */ -public class Caps -{ - /** the main Gtk struct */ - protected GstCaps* gstCaps; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstCaps* getCapsStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstCaps; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstCaps; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstCaps* gstCaps, bool ownedRef = false) - { - this.gstCaps = gstCaps; - this.ownedRef = ownedRef; - } - - /** - * Creates a new GstCaps that indicates that it is compatible with - * any media format. - * Returns: - * the new GstCaps - */ - public static Caps newAny() - { - // GstCaps* gst_caps_new_any (void); - auto p = cast(GstCaps*)gst_caps_new_any(); - - if(p is null) - { - throw new ConstructionException("null returned by gst_caps_new_any"); - } - - return new Caps(cast(GstCaps*)p); //, true); - } - - /** - */ - - /** */ - public static GType getType() - { - return gst_caps_get_type(); - } - - /** - * Creates a new #GstCaps that is empty. That is, the returned - * #GstCaps contains no media formats. - * The #GstCaps is guaranteed to be writable. - * Caller is responsible for unreffing the returned caps. - * - * Returns: the new #GstCaps - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_caps_new_empty(); - - if(__p is null) - { - throw new ConstructionException("null returned by new_empty"); - } - - this(cast(GstCaps*) __p); - } - - /** - * Creates a new #GstCaps that contains one #GstStructure with name - * @media_type. - * Caller is responsible for unreffing the returned caps. - * - * Params: - * mediaType = the media type of the structure - * - * Returns: the new #GstCaps - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string mediaType) - { - auto __p = gst_caps_new_empty_simple(Str.toStringz(mediaType)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_empty_simple"); - } - - this(cast(GstCaps*) __p); - } - - /** - * Creates a new #GstCaps and adds all the structures listed as - * arguments. The list must be %NULL-terminated. The structures - * are not copied; the returned #GstCaps owns the structures. - * - * Params: - * structure = the first structure to add - * varArgs = additional structures to add - * - * Returns: the new #GstCaps - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(Structure structure, void* varArgs) - { - auto __p = gst_caps_new_full_valist((structure is null) ? null : structure.getStructureStruct(), varArgs); - - if(__p is null) - { - throw new ConstructionException("null returned by new_full_valist"); - } - - this(cast(GstCaps*) __p); - } - - /** - * Appends the structures contained in @caps2 to @caps1. The structures in - * @caps2 are not copied -- they are transferred to @caps1, and then @caps2 is - * freed. If either caps is ANY, the resulting caps will be ANY. - * - * Params: - * caps2 = the #GstCaps to append - */ - public void append(Caps caps2) - { - gst_caps_append(gstCaps, (caps2 is null) ? null : caps2.getCapsStruct()); - } - - /** - * Appends @structure to @caps. The structure is not copied; @caps - * becomes the owner of @structure. - * - * Params: - * structure = the #GstStructure to append - */ - public void appendStructure(Structure structure) - { - gst_caps_append_structure(gstCaps, (structure is null) ? null : structure.getStructureStruct(true)); - } - - /** - * Appends @structure with @features to @caps. The structure is not copied; @caps - * becomes the owner of @structure. - * - * Params: - * structure = the #GstStructure to append - * features = the #GstCapsFeatures to append - * - * Since: 1.2 - */ - public void appendStructureFull(Structure structure, CapsFeatures features) - { - gst_caps_append_structure_full(gstCaps, (structure is null) ? null : structure.getStructureStruct(true), (features is null) ? null : features.getCapsFeaturesStruct(true)); - } - - /** - * Tries intersecting @caps1 and @caps2 and reports whether the result would not - * be empty - * - * Params: - * caps2 = a #GstCaps to intersect - * - * Returns: %TRUE if intersection would be not empty - */ - public bool canIntersect(Caps caps2) - { - return gst_caps_can_intersect(gstCaps, (caps2 is null) ? null : caps2.getCapsStruct()) != 0; - } - - /** - * Creates a new #GstCaps as a copy of the old @caps. The new caps will have a - * refcount of 1, owned by the caller. The structures are copied as well. - * - * Note that this function is the semantic equivalent of a gst_caps_ref() - * followed by a gst_caps_make_writable(). If you only want to hold on to a - * reference to the data, you should use gst_caps_ref(). - * - * When you are finished with the caps, call gst_caps_unref() on it. - * - * Returns: the new #GstCaps - */ - public Caps copy() - { - auto __p = gst_caps_copy(gstCaps); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Creates a new #GstCaps and appends a copy of the nth structure - * contained in @caps. - * - * Params: - * nth = the nth structure to copy - * - * Returns: the new #GstCaps - * - * Since: 1.16 - */ - public Caps copyNth(uint nth) - { - auto __p = gst_caps_copy_nth(gstCaps, nth); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Calls the provided function once for each structure and caps feature in the - * #GstCaps. In contrast to gst_caps_foreach(), the function may modify the - * structure and features. In contrast to gst_caps_filter_and_map_in_place(), - * the structure and features are removed from the caps if %FALSE is returned - * from the function. - * The caps must be mutable. - * - * Params: - * func = a function to call for each field - * userData = private data - * - * Since: 1.6 - */ - public void filterAndMapInPlace(GstCapsFilterMapFunc func, void* userData) - { - gst_caps_filter_and_map_in_place(gstCaps, func, userData); - } - - /** - * Modifies the given @caps into a representation with only fixed - * values. First the caps will be truncated and then the first structure will be - * fixated with gst_structure_fixate(). - * - * This function takes ownership of @caps and will call gst_caps_make_writable() - * on it so you must not use @caps afterwards unless you keep an additional - * reference to it with gst_caps_ref(). - * - * Note that it is not guaranteed that the returned caps have exactly one - * structure. If @caps are empty caps then then returned caps will be - * the empty too and contain no structure at all. - * - * Calling this function with any caps is not allowed. - * - * Returns: the fixated caps - */ - public Caps fixate() - { - auto __p = gst_caps_fixate(gstCaps); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - alias foreac = foreach_; - /** - * Calls the provided function once for each structure and caps feature in the - * #GstCaps. The function must not modify the fields. - * Also see gst_caps_map_in_place() and gst_caps_filter_and_map_in_place(). - * - * Params: - * func = a function to call for each field - * userData = private data - * - * Returns: %TRUE if the supplied function returns %TRUE for each call, - * %FALSE otherwise. - * - * Since: 1.6 - */ - public bool foreach_(GstCapsForeachFunc func, void* userData) - { - return gst_caps_foreach(gstCaps, func, userData) != 0; - } - - /** - * Finds the features in @caps that has the index @index, and - * returns it. - * - * WARNING: This function takes a const GstCaps *, but returns a - * non-const GstCapsFeatures *. This is for programming convenience -- - * the caller should be aware that structures inside a constant - * #GstCaps should not be modified. However, if you know the caps - * are writable, either because you have just copied them or made - * them writable with gst_caps_make_writable(), you may modify the - * features returned in the usual way, e.g. with functions like - * gst_caps_features_add(). - * - * You do not need to free or unref the structure returned, it - * belongs to the #GstCaps. - * - * Params: - * index = the index of the structure - * - * Returns: a pointer to the #GstCapsFeatures - * corresponding to @index - * - * Since: 1.2 - */ - public CapsFeatures getFeatures(uint index) - { - auto __p = gst_caps_get_features(gstCaps, index); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(CapsFeatures)(cast(GstCapsFeatures*) __p); - } - - /** - * Gets the number of structures contained in @caps. - * - * Returns: the number of structures that @caps contains - */ - public uint getSize() - { - return gst_caps_get_size(gstCaps); - } - - /** - * Finds the structure in @caps that has the index @index, and - * returns it. - * - * WARNING: This function takes a const GstCaps *, but returns a - * non-const GstStructure *. This is for programming convenience -- - * the caller should be aware that structures inside a constant - * #GstCaps should not be modified. However, if you know the caps - * are writable, either because you have just copied them or made - * them writable with gst_caps_make_writable(), you may modify the - * structure returned in the usual way, e.g. with functions like - * gst_structure_set(). - * - * You do not need to free or unref the structure returned, it - * belongs to the #GstCaps. - * - * Params: - * index = the index of the structure - * - * Returns: a pointer to the #GstStructure corresponding - * to @index - */ - public Structure getStructure(uint index) - { - auto __p = gst_caps_get_structure(gstCaps, index); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p); - } - - /** - * Creates a new #GstCaps that contains all the formats that are common - * to both @caps1 and @caps2. Defaults to %GST_CAPS_INTERSECT_ZIG_ZAG mode. - * - * Params: - * caps2 = a #GstCaps to intersect - * - * Returns: the new #GstCaps - */ - public Caps intersect(Caps caps2) - { - auto __p = gst_caps_intersect(gstCaps, (caps2 is null) ? null : caps2.getCapsStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Creates a new #GstCaps that contains all the formats that are common - * to both @caps1 and @caps2, the order is defined by the #GstCapsIntersectMode - * used. - * - * Params: - * caps2 = a #GstCaps to intersect - * mode = The intersection algorithm/mode to use - * - * Returns: the new #GstCaps - */ - public Caps intersectFull(Caps caps2, GstCapsIntersectMode mode) - { - auto __p = gst_caps_intersect_full(gstCaps, (caps2 is null) ? null : caps2.getCapsStruct(), mode); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * A given #GstCaps structure is always compatible with another if - * every media format that is in the first is also contained in the - * second. That is, @caps1 is a subset of @caps2. - * - * Params: - * caps2 = the #GstCaps to test - * - * Returns: %TRUE if @caps1 is a subset of @caps2. - */ - public bool isAlwaysCompatible(Caps caps2) - { - return gst_caps_is_always_compatible(gstCaps, (caps2 is null) ? null : caps2.getCapsStruct()) != 0; - } - - /** - * Determines if @caps represents any media format. - * - * Returns: %TRUE if @caps represents any format. - */ - public bool isAny() - { - return gst_caps_is_any(gstCaps) != 0; - } - - /** - * Determines if @caps represents no media formats. - * - * Returns: %TRUE if @caps represents no formats. - */ - public bool isEmpty() - { - return gst_caps_is_empty(gstCaps) != 0; - } - - /** - * Checks if the given caps represent the same set of caps. - * - * Params: - * caps2 = another #GstCaps - * - * Returns: %TRUE if both caps are equal. - */ - public bool isEqual(Caps caps2) - { - return gst_caps_is_equal(gstCaps, (caps2 is null) ? null : caps2.getCapsStruct()) != 0; - } - - /** - * Tests if two #GstCaps are equal. This function only works on fixed - * #GstCaps. - * - * Params: - * caps2 = the #GstCaps to test - * - * Returns: %TRUE if the arguments represent the same format - */ - public bool isEqualFixed(Caps caps2) - { - return gst_caps_is_equal_fixed(gstCaps, (caps2 is null) ? null : caps2.getCapsStruct()) != 0; - } - - /** - * Fixed #GstCaps describe exactly one format, that is, they have exactly - * one structure, and each field in the structure describes a fixed type. - * Examples of non-fixed types are GST_TYPE_INT_RANGE and GST_TYPE_LIST. - * - * Returns: %TRUE if @caps is fixed - */ - public bool isFixed() - { - return gst_caps_is_fixed(gstCaps) != 0; - } - - /** - * Checks if the given caps are exactly the same set of caps. - * - * Params: - * caps2 = another #GstCaps - * - * Returns: %TRUE if both caps are strictly equal. - */ - public bool isStrictlyEqual(Caps caps2) - { - return gst_caps_is_strictly_equal(gstCaps, (caps2 is null) ? null : caps2.getCapsStruct()) != 0; - } - - /** - * Checks if all caps represented by @subset are also represented by @superset. - * - * Params: - * superset = a potentially greater #GstCaps - * - * Returns: %TRUE if @subset is a subset of @superset - */ - public bool isSubset(Caps superset) - { - return gst_caps_is_subset(gstCaps, (superset is null) ? null : superset.getCapsStruct()) != 0; - } - - /** - * Checks if @structure is a subset of @caps. See gst_caps_is_subset() - * for more information. - * - * Params: - * structure = a potential #GstStructure subset of @caps - * - * Returns: %TRUE if @structure is a subset of @caps - */ - public bool isSubsetStructure(Structure structure) - { - return gst_caps_is_subset_structure(gstCaps, (structure is null) ? null : structure.getStructureStruct()) != 0; - } - - /** - * Checks if @structure is a subset of @caps. See gst_caps_is_subset() - * for more information. - * - * Params: - * structure = a potential #GstStructure subset of @caps - * features = a #GstCapsFeatures for @structure - * - * Returns: %TRUE if @structure is a subset of @caps - * - * Since: 1.2 - */ - public bool isSubsetStructureFull(Structure structure, CapsFeatures features) - { - return gst_caps_is_subset_structure_full(gstCaps, (structure is null) ? null : structure.getStructureStruct(), (features is null) ? null : features.getCapsFeaturesStruct()) != 0; - } - - /** - * Calls the provided function once for each structure and caps feature in the - * #GstCaps. In contrast to gst_caps_foreach(), the function may modify but not - * delete the structures and features. The caps must be mutable. - * - * Params: - * func = a function to call for each field - * userData = private data - * - * Returns: %TRUE if the supplied function returns %TRUE for each call, - * %FALSE otherwise. - * - * Since: 1.6 - */ - public bool mapInPlace(GstCapsMapFunc func, void* userData) - { - return gst_caps_map_in_place(gstCaps, func, userData) != 0; - } - - /** - * Appends the structures contained in @caps2 to @caps1 if they are not yet - * expressed by @caps1. The structures in @caps2 are not copied -- they are - * transferred to a writable copy of @caps1, and then @caps2 is freed. - * If either caps is ANY, the resulting caps will be ANY. - * - * Params: - * caps2 = the #GstCaps to merge in - * - * Returns: the merged caps. - */ - public Caps merge(Caps caps2) - { - auto __p = gst_caps_merge(gstCaps, (caps2 is null) ? null : caps2.getCapsStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Appends @structure to @caps if its not already expressed by @caps. - * - * Params: - * structure = the #GstStructure to merge - * - * Returns: the merged caps. - */ - public Caps mergeStructure(Structure structure) - { - auto __p = gst_caps_merge_structure(gstCaps, (structure is null) ? null : structure.getStructureStruct(true)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Appends @structure with @features to @caps if its not already expressed by @caps. - * - * Params: - * structure = the #GstStructure to merge - * features = the #GstCapsFeatures to merge - * - * Returns: the merged caps. - * - * Since: 1.2 - */ - public Caps mergeStructureFull(Structure structure, CapsFeatures features) - { - auto __p = gst_caps_merge_structure_full(gstCaps, (structure is null) ? null : structure.getStructureStruct(true), (features is null) ? null : features.getCapsFeaturesStruct(true)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Returns a #GstCaps that represents the same set of formats as - * @caps, but contains no lists. Each list is expanded into separate - * @GstStructures. - * - * This function takes ownership of @caps and will call gst_caps_make_writable() - * on it so you must not use @caps afterwards unless you keep an additional - * reference to it with gst_caps_ref(). - * - * Returns: the normalized #GstCaps - */ - public Caps normalize() - { - auto __p = gst_caps_normalize(gstCaps); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * removes the structure with the given index from the list of structures - * contained in @caps. - * - * Params: - * idx = Index of the structure to remove - */ - public void removeStructure(uint idx) - { - gst_caps_remove_structure(gstCaps, idx); - } - - /** - * Sets the #GstCapsFeatures @features for the structure at @index. - * - * Params: - * index = the index of the structure - * features = the #GstCapsFeatures to set - * - * Since: 1.2 - */ - public void setFeatures(uint index, CapsFeatures features) - { - gst_caps_set_features(gstCaps, index, (features is null) ? null : features.getCapsFeaturesStruct(true)); - } - - /** - * Sets the #GstCapsFeatures @features for all the structures of @caps. - * - * Params: - * features = the #GstCapsFeatures to set - * - * Since: 1.16 - */ - public void setFeaturesSimple(CapsFeatures features) - { - gst_caps_set_features_simple(gstCaps, (features is null) ? null : features.getCapsFeaturesStruct(true)); - } - - /** - * Sets fields in a #GstCaps. The arguments must be passed in the same - * manner as gst_structure_set(), and be %NULL-terminated. - * - * Params: - * field = first field to set - * varargs = additional parameters - */ - public void setSimpleValist(string field, void* varargs) - { - gst_caps_set_simple_valist(gstCaps, Str.toStringz(field), varargs); - } - - /** - * Sets the given @field on all structures of @caps to the given @value. - * This is a convenience function for calling gst_structure_set_value() on - * all structures of @caps. - * - * Params: - * field = name of the field to set - * value = value to set the field to - */ - public void setValue(string field, Value value) - { - gst_caps_set_value(gstCaps, Str.toStringz(field), (value is null) ? null : value.getValueStruct()); - } - - /** - * Converts the given @caps into a representation that represents the - * same set of formats, but in a simpler form. Component structures that are - * identical are merged. Component structures that have values that can be - * merged are also merged. - * - * This function takes ownership of @caps and will call gst_caps_make_writable() - * on it if necessary, so you must not use @caps afterwards unless you keep an - * additional reference to it with gst_caps_ref(). - * - * This method does not preserve the original order of @caps. - * - * Returns: The simplified caps. - */ - public Caps simplify() - { - auto __p = gst_caps_simplify(gstCaps); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Retrieves the structure with the given index from the list of structures - * contained in @caps. The caller becomes the owner of the returned structure. - * - * Params: - * index = Index of the structure to retrieve - * - * Returns: a pointer to the #GstStructure - * corresponding to @index. - */ - public Structure stealStructure(uint index) - { - auto __p = gst_caps_steal_structure(gstCaps, index); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p, true); - } - - /** - * Subtracts the @subtrahend from the @minuend. - * > This function does not work reliably if optional properties for caps - * > are included on one caps and omitted on the other. - * - * Params: - * subtrahend = #GstCaps to subtract - * - * Returns: the resulting caps - */ - public Caps subtract(Caps subtrahend) - { - auto __p = gst_caps_subtract(gstCaps, (subtrahend is null) ? null : subtrahend.getCapsStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Converts @caps to a string representation. This string representation - * can be converted back to a #GstCaps by gst_caps_from_string(). - * - * For debugging purposes its easier to do something like this: - * |[ - * GST_LOG ("caps are %" GST_PTR_FORMAT, caps); - * ]| - * This prints the caps in human readable form. - * - * The current implementation of serialization will lead to unexpected results - * when there are nested #GstCaps / #GstStructure deeper than one level. - * - * Returns: a newly allocated string representing @caps. - */ - public override string toString() - { - auto retStr = gst_caps_to_string(gstCaps); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Discard all but the first structure from @caps. Useful when - * fixating. - * - * This function takes ownership of @caps and will call gst_caps_make_writable() - * on it if necessary, so you must not use @caps afterwards unless you keep an - * additional reference to it with gst_caps_ref(). - * - * Note that it is not guaranteed that the returned caps have exactly one - * structure. If @caps is any or empty caps then then returned caps will be - * the same and contain no structure at all. - * - * Returns: truncated caps - */ - public Caps truncate() - { - auto __p = gst_caps_truncate(gstCaps); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Converts @caps from a string representation. - * - * The current implementation of serialization will lead to unexpected results - * when there are nested #GstCaps / #GstStructure deeper than one level. - * - * Params: - * string_ = a string to convert to #GstCaps - * - * Returns: a newly allocated #GstCaps - */ - public static Caps fromString(string string_) - { - auto __p = gst_caps_from_string(Str.toStringz(string_)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } -} diff --git a/generated/gstreamer/gstreamer/CapsFeatures.d b/generated/gstreamer/gstreamer/CapsFeatures.d deleted file mode 100644 index d6fb56268..000000000 --- a/generated/gstreamer/gstreamer/CapsFeatures.d +++ /dev/null @@ -1,455 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.CapsFeatures; - -private import glib.ConstructionException; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import gtkd.Loader; - - -/** - * #GstCapsFeatures can optionally be set on a #GstCaps to add requirements - * for additional features for a specific #GstStructure. Caps structures with - * the same name but with a non-equal set of caps features are not compatible. - * If a pad supports multiple sets of features it has to add multiple equal - * structures with different feature sets to the caps. - * - * Empty #GstCapsFeatures are equivalent with the #GstCapsFeatures that only - * contain #GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY. ANY #GstCapsFeatures as - * created by gst_caps_features_new_any() are equal to any other #GstCapsFeatures - * and can be used to specify that any #GstCapsFeatures would be supported, e.g. - * for elements that don't touch buffer memory. #GstCaps with ANY #GstCapsFeatures - * are considered non-fixed and during negotiation some #GstCapsFeatures have - * to be selected. - * - * Examples for caps features would be the requirement of a specific #GstMemory - * types or the requirement of having a specific #GstMeta on the buffer. Features - * are given as a string of the format "memory:GstMemoryTypeName" or - * "meta:GstMetaAPIName". - * - * Since: 1.2 - */ -public class CapsFeatures -{ - /** the main Gtk struct */ - protected GstCapsFeatures* gstCapsFeatures; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstCapsFeatures* getCapsFeaturesStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstCapsFeatures; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstCapsFeatures; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstCapsFeatures* gstCapsFeatures, bool ownedRef = false) - { - this.gstCapsFeatures = gstCapsFeatures; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTREAMER) && ownedRef ) - gst_caps_features_free(gstCapsFeatures); - } - - /** - * Creates a new, ANY #GstCapsFeatures. This will be equal - * to any other #GstCapsFeatures but caps with these are - * unfixed. - * - * Free-function: gst_caps_features_free - * - * Return: a new, ANY #GstCapsFeatures - * - * Since: 1.2 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static newAny() - { - auto p = gst_caps_features_new_any(); - - if(p is null) - { - throw new ConstructionException("null returned by new_any"); - } - - return new CapsFeatures(cast(GstCapsFeatures*)p); - } - - /** - */ - - /** */ - public static GType getType() - { - return gst_caps_features_get_type(); - } - - /** - * Creates a new, empty #GstCapsFeatures. - * - * Free-function: gst_caps_features_free - * - * Returns: a new, empty #GstCapsFeatures - * - * Since: 1.2 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_caps_features_new_empty(); - - if(__p is null) - { - throw new ConstructionException("null returned by new_empty"); - } - - this(cast(GstCapsFeatures*) __p); - } - - /** - * Creates a new #GstCapsFeatures with the given features. - * - * Free-function: gst_caps_features_free - * - * Params: - * feature1 = name of first feature to set - * varargs = variable argument list - * - * Returns: a new, empty #GstCapsFeatures - * - * Since: 1.2 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GQuark feature1, void* varargs) - { - auto __p = gst_caps_features_new_id_valist(feature1, varargs); - - if(__p is null) - { - throw new ConstructionException("null returned by new_id_valist"); - } - - this(cast(GstCapsFeatures*) __p); - } - - /** - * Creates a new #GstCapsFeatures with the given features. - * - * Free-function: gst_caps_features_free - * - * Params: - * feature1 = name of first feature to set - * varargs = variable argument list - * - * Returns: a new, empty #GstCapsFeatures - * - * Since: 1.2 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string feature1, void* varargs) - { - auto __p = gst_caps_features_new_valist(Str.toStringz(feature1), varargs); - - if(__p is null) - { - throw new ConstructionException("null returned by new_valist"); - } - - this(cast(GstCapsFeatures*) __p); - } - - /** - * Adds @feature to @features. - * - * Params: - * feature = a feature. - * - * Since: 1.2 - */ - public void add(string feature) - { - gst_caps_features_add(gstCapsFeatures, Str.toStringz(feature)); - } - - /** - * Adds @feature to @features. - * - * Params: - * feature = a feature. - * - * Since: 1.2 - */ - public void addId(GQuark feature) - { - gst_caps_features_add_id(gstCapsFeatures, feature); - } - - /** - * Check if @features contains @feature. - * - * Params: - * feature = a feature - * - * Returns: %TRUE if @features contains @feature. - * - * Since: 1.2 - */ - public bool contains(string feature) - { - return gst_caps_features_contains(gstCapsFeatures, Str.toStringz(feature)) != 0; - } - - /** - * Check if @features contains @feature. - * - * Params: - * feature = a feature - * - * Returns: %TRUE if @features contains @feature. - * - * Since: 1.2 - */ - public bool containsId(GQuark feature) - { - return gst_caps_features_contains_id(gstCapsFeatures, feature) != 0; - } - - /** - * Duplicates a #GstCapsFeatures and all its values. - * - * Free-function: gst_caps_features_free - * - * Returns: a new #GstCapsFeatures. - * - * Since: 1.2 - */ - public CapsFeatures copy() - { - auto __p = gst_caps_features_copy(gstCapsFeatures); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(CapsFeatures)(cast(GstCapsFeatures*) __p, true); - } - - /** - * Frees a #GstCapsFeatures and all its values. The caps features must not - * have a parent when this function is called. - * - * Since: 1.2 - */ - public void free() - { - gst_caps_features_free(gstCapsFeatures); - ownedRef = false; - } - - /** - * Returns the @i-th feature of @features. - * - * Params: - * i = index of the feature - * - * Returns: The @i-th feature of @features. - * - * Since: 1.2 - */ - public string getNth(uint i) - { - return Str.toString(gst_caps_features_get_nth(gstCapsFeatures, i)); - } - - /** - * Returns the @i-th feature of @features. - * - * Params: - * i = index of the feature - * - * Returns: The @i-th feature of @features. - * - * Since: 1.2 - */ - public GQuark getNthId(uint i) - { - return gst_caps_features_get_nth_id(gstCapsFeatures, i); - } - - /** - * Returns the number of features in @features. - * - * Returns: The number of features in @features. - * - * Since: 1.2 - */ - public uint getSize() - { - return gst_caps_features_get_size(gstCapsFeatures); - } - - /** - * Check if @features is %GST_CAPS_FEATURES_ANY. - * - * Returns: %TRUE if @features is %GST_CAPS_FEATURES_ANY. - * - * Since: 1.2 - */ - public bool isAny() - { - return gst_caps_features_is_any(gstCapsFeatures) != 0; - } - - /** - * Check if @features1 and @features2 are equal. - * - * Params: - * features2 = a #GstCapsFeatures. - * - * Returns: %TRUE if @features1 and @features2 are equal. - * - * Since: 1.2 - */ - public bool isEqual(CapsFeatures features2) - { - return gst_caps_features_is_equal(gstCapsFeatures, (features2 is null) ? null : features2.getCapsFeaturesStruct()) != 0; - } - - /** - * Removes @feature from @features. - * - * Params: - * feature = a feature. - * - * Since: 1.2 - */ - public void remove(string feature) - { - gst_caps_features_remove(gstCapsFeatures, Str.toStringz(feature)); - } - - /** - * Removes @feature from @features. - * - * Params: - * feature = a feature. - * - * Since: 1.2 - */ - public void removeId(GQuark feature) - { - gst_caps_features_remove_id(gstCapsFeatures, feature); - } - - /** - * Sets the parent_refcount field of #GstCapsFeatures. This field is used to - * determine whether a caps features is mutable or not. This function should only be - * called by code implementing parent objects of #GstCapsFeatures, as described in - * the MT Refcounting section of the design documents. - * - * Params: - * refcount = a pointer to the parent's refcount - * - * Returns: %TRUE if the parent refcount could be set. - * - * Since: 1.2 - */ - public bool setParentRefcount(int* refcount) - { - return gst_caps_features_set_parent_refcount(gstCapsFeatures, refcount) != 0; - } - - /** - * Converts @features to a human-readable string representation. - * - * For debugging purposes its easier to do something like this: - * |[ - * GST_LOG ("features is %" GST_PTR_FORMAT, features); - * ]| - * This prints the features in human readable form. - * - * Free-function: g_free - * - * Returns: a pointer to string allocated by g_malloc(). - * g_free() after usage. - * - * Since: 1.2 - */ - public override string toString() - { - auto retStr = gst_caps_features_to_string(gstCapsFeatures); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Creates a #GstCapsFeatures from a string representation. - * - * Free-function: gst_caps_features_free - * - * Params: - * features = a string representation of a #GstCapsFeatures. - * - * Returns: a new #GstCapsFeatures or - * %NULL when the string could not be parsed. Free with - * gst_caps_features_free() after use. - * - * Since: 1.2 - */ - public static CapsFeatures fromString(string features) - { - auto __p = gst_caps_features_from_string(Str.toStringz(features)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(CapsFeatures)(cast(GstCapsFeatures*) __p, true); - } -} diff --git a/generated/gstreamer/gstreamer/ChildProxyIF.d b/generated/gstreamer/gstreamer/ChildProxyIF.d deleted file mode 100644 index b447cad13..000000000 --- a/generated/gstreamer/gstreamer/ChildProxyIF.d +++ /dev/null @@ -1,196 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ChildProxyIF; - -private import glib.MemorySlice; -private import glib.Str; -private import gobject.ObjectG; -private import gobject.ParamSpec; -private import gobject.Signals; -private import gobject.Value; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import std.algorithm; - - -/** - * This interface abstracts handling of property sets for elements with - * children. Imagine elements such as mixers or polyphonic generators. They all - * have multiple #GstPad or some kind of voice objects. Another use case are - * container elements like #GstBin. - * The element implementing the interface acts as a parent for those child - * objects. - * - * By implementing this interface the child properties can be accessed from the - * parent element by using gst_child_proxy_get() and gst_child_proxy_set(). - * - * Property names are written as "child-name::property-name". The whole naming - * scheme is recursive. Thus "child1::child2::property" is valid too, if - * "child1" and "child2" implement the #GstChildProxy interface. - */ -public interface ChildProxyIF{ - /** Get the main Gtk struct */ - public GstChildProxy* getChildProxyStruct(bool transferOwnership = false); - - /** the main Gtk struct as a void* */ - protected void* getStruct(); - - - /** */ - public static GType getType() - { - return gst_child_proxy_get_type(); - } - - /** - * Emits the "child-added" signal. - * - * Params: - * child = the newly added child - * name = the name of the new child - */ - public void childAdded(ObjectG child, string name); - - /** - * Emits the "child-removed" signal. - * - * Params: - * child = the removed child - * name = the name of the old child - */ - public void childRemoved(ObjectG child, string name); - - /** - * Fetches a child by its number. - * - * Params: - * index = the child's position in the child list - * - * Returns: the child object or %NULL if - * not found (index too high). Unref after usage. - * - * MT safe. - */ - public ObjectG getChildByIndex(uint index); - - /** - * Looks up a child element by the given name. - * - * This virtual method has a default implementation that uses #GstObject - * together with gst_object_get_name(). If the interface is to be used with - * #GObjects, this methods needs to be overridden. - * - * Params: - * name = the child's name - * - * Returns: the child object or %NULL if - * not found. Unref after usage. - * - * MT safe. - */ - public ObjectG getChildByName(string name); - - /** - * Gets the number of child objects this parent contains. - * - * Returns: the number of child objects - * - * MT safe. - */ - public uint getChildrenCount(); - - /** - * Gets a single property using the GstChildProxy mechanism. - * You are responsible for freeing it by calling g_value_unset() - * - * Params: - * name = name of the property - * value = a #GValue that should take the result. - */ - public void childGetProperty(string name, out Value value); - - /** - * Gets properties of the parent object and its children. - * - * Params: - * firstPropertyName = name of the first property to get - * varArgs = return location for the first property, followed optionally by more name/return location pairs, followed by %NULL - */ - public void childGetValist(string firstPropertyName, void* varArgs); - - /** - * Looks up which object and #GParamSpec would be effected by the given @name. - * - * MT safe. - * - * Params: - * name = name of the property to look up - * target = pointer to a #GObject that - * takes the real object to set property on - * pspec = pointer to take the #GParamSpec - * describing the property - * - * Returns: %TRUE if @target and @pspec could be found. %FALSE otherwise. In that - * case the values for @pspec and @target are not modified. Unref @target after - * usage. For plain GObjects @target is the same as @object. - */ - public bool lookup(string name, out ObjectG target, out ParamSpec pspec); - - /** - * Sets a single property using the GstChildProxy mechanism. - * - * Params: - * name = name of the property to set - * value = new #GValue for the property - */ - public void childSetProperty(string name, Value value); - - /** - * Sets properties of the parent object and its children. - * - * Params: - * firstPropertyName = name of the first property to set - * varArgs = value for the first property, followed optionally by more name/value pairs, followed by %NULL - */ - public void childSetValist(string firstPropertyName, void* varArgs); - - /** - * Will be emitted after the @object was added to the @child_proxy. - * - * Params: - * object = the #GObject that was added - * name = the name of the new child - */ - gulong addOnChildAdded(void delegate(ObjectG, string, ChildProxyIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0); - - /** - * Will be emitted after the @object was removed from the @child_proxy. - * - * Params: - * object = the #GObject that was removed - * name = the name of the old child - */ - gulong addOnChildRemoved(void delegate(ObjectG, string, ChildProxyIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0); -} diff --git a/generated/gstreamer/gstreamer/ChildProxyT.d b/generated/gstreamer/gstreamer/ChildProxyT.d deleted file mode 100644 index f75963782..000000000 --- a/generated/gstreamer/gstreamer/ChildProxyT.d +++ /dev/null @@ -1,255 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ChildProxyT; - -public import glib.MemorySlice; -public import glib.Str; -public import gobject.ObjectG; -public import gobject.ParamSpec; -public import gobject.Signals; -public import gobject.Value; -public import gstreamer.c.functions; -public import gstreamer.c.types; -public import std.algorithm; - - -/** - * This interface abstracts handling of property sets for elements with - * children. Imagine elements such as mixers or polyphonic generators. They all - * have multiple #GstPad or some kind of voice objects. Another use case are - * container elements like #GstBin. - * The element implementing the interface acts as a parent for those child - * objects. - * - * By implementing this interface the child properties can be accessed from the - * parent element by using gst_child_proxy_get() and gst_child_proxy_set(). - * - * Property names are written as "child-name::property-name". The whole naming - * scheme is recursive. Thus "child1::child2::property" is valid too, if - * "child1" and "child2" implement the #GstChildProxy interface. - */ -public template ChildProxyT(TStruct) -{ - /** Get the main Gtk struct */ - public GstChildProxy* getChildProxyStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return cast(GstChildProxy*)getStruct(); - } - - - /** - * Emits the "child-added" signal. - * - * Params: - * child = the newly added child - * name = the name of the new child - */ - public void childAdded(ObjectG child, string name) - { - gst_child_proxy_child_added(getChildProxyStruct(), (child is null) ? null : child.getObjectGStruct(), Str.toStringz(name)); - } - - /** - * Emits the "child-removed" signal. - * - * Params: - * child = the removed child - * name = the name of the old child - */ - public void childRemoved(ObjectG child, string name) - { - gst_child_proxy_child_removed(getChildProxyStruct(), (child is null) ? null : child.getObjectGStruct(), Str.toStringz(name)); - } - - /** - * Fetches a child by its number. - * - * Params: - * index = the child's position in the child list - * - * Returns: the child object or %NULL if - * not found (index too high). Unref after usage. - * - * MT safe. - */ - public ObjectG getChildByIndex(uint index) - { - auto __p = gst_child_proxy_get_child_by_index(getChildProxyStruct(), index); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(ObjectG)(cast(GObject*) __p, true); - } - - /** - * Looks up a child element by the given name. - * - * This virtual method has a default implementation that uses #GstObject - * together with gst_object_get_name(). If the interface is to be used with - * #GObjects, this methods needs to be overridden. - * - * Params: - * name = the child's name - * - * Returns: the child object or %NULL if - * not found. Unref after usage. - * - * MT safe. - */ - public ObjectG getChildByName(string name) - { - auto __p = gst_child_proxy_get_child_by_name(getChildProxyStruct(), Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(ObjectG)(cast(GObject*) __p, true); - } - - /** - * Gets the number of child objects this parent contains. - * - * Returns: the number of child objects - * - * MT safe. - */ - public uint getChildrenCount() - { - return gst_child_proxy_get_children_count(getChildProxyStruct()); - } - - /** - * Gets a single property using the GstChildProxy mechanism. - * You are responsible for freeing it by calling g_value_unset() - * - * Params: - * name = name of the property - * value = a #GValue that should take the result. - */ - public void childGetProperty(string name, out Value value) - { - GValue* outvalue = sliceNew!GValue(); - - gst_child_proxy_get_property(getChildProxyStruct(), Str.toStringz(name), outvalue); - - value = ObjectG.getDObject!(Value)(outvalue, true); - } - - /** - * Gets properties of the parent object and its children. - * - * Params: - * firstPropertyName = name of the first property to get - * varArgs = return location for the first property, followed optionally by more name/return location pairs, followed by %NULL - */ - public void childGetValist(string firstPropertyName, void* varArgs) - { - gst_child_proxy_get_valist(getChildProxyStruct(), Str.toStringz(firstPropertyName), varArgs); - } - - /** - * Looks up which object and #GParamSpec would be effected by the given @name. - * - * MT safe. - * - * Params: - * name = name of the property to look up - * target = pointer to a #GObject that - * takes the real object to set property on - * pspec = pointer to take the #GParamSpec - * describing the property - * - * Returns: %TRUE if @target and @pspec could be found. %FALSE otherwise. In that - * case the values for @pspec and @target are not modified. Unref @target after - * usage. For plain GObjects @target is the same as @object. - */ - public bool lookup(string name, out ObjectG target, out ParamSpec pspec) - { - GObject* outtarget = null; - GParamSpec* outpspec = null; - - auto __p = gst_child_proxy_lookup(getChildProxyStruct(), Str.toStringz(name), &outtarget, &outpspec) != 0; - - target = ObjectG.getDObject!(ObjectG)(outtarget); - pspec = ObjectG.getDObject!(ParamSpec)(outpspec); - - return __p; - } - - /** - * Sets a single property using the GstChildProxy mechanism. - * - * Params: - * name = name of the property to set - * value = new #GValue for the property - */ - public void childSetProperty(string name, Value value) - { - gst_child_proxy_set_property(getChildProxyStruct(), Str.toStringz(name), (value is null) ? null : value.getValueStruct()); - } - - /** - * Sets properties of the parent object and its children. - * - * Params: - * firstPropertyName = name of the first property to set - * varArgs = value for the first property, followed optionally by more name/value pairs, followed by %NULL - */ - public void childSetValist(string firstPropertyName, void* varArgs) - { - gst_child_proxy_set_valist(getChildProxyStruct(), Str.toStringz(firstPropertyName), varArgs); - } - - /** - * Will be emitted after the @object was added to the @child_proxy. - * - * Params: - * object = the #GObject that was added - * name = the name of the new child - */ - gulong addOnChildAdded(void delegate(ObjectG, string, ChildProxyIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "child-added", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Will be emitted after the @object was removed from the @child_proxy. - * - * Params: - * object = the #GObject that was removed - * name = the name of the old child - */ - gulong addOnChildRemoved(void delegate(ObjectG, string, ChildProxyIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "child-removed", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gstreamer/Clock.d b/generated/gstreamer/gstreamer/Clock.d deleted file mode 100644 index 21a90f5dc..000000000 --- a/generated/gstreamer/gstreamer/Clock.d +++ /dev/null @@ -1,793 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Clock; - -private import gobject.ObjectG; -private import gobject.Signals; -private import gstreamer.ObjectGst; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import std.algorithm; - - -/** - * GStreamer uses a global clock to synchronize the plugins in a pipeline. - * Different clock implementations are possible by implementing this abstract - * base class or, more conveniently, by subclassing #GstSystemClock. - * - * The #GstClock returns a monotonically increasing time with the method - * gst_clock_get_time(). Its accuracy and base time depend on the specific - * clock implementation but time is always expressed in nanoseconds. Since the - * baseline of the clock is undefined, the clock time returned is not - * meaningful in itself, what matters are the deltas between two clock times. - * The time returned by a clock is called the absolute time. - * - * The pipeline uses the clock to calculate the running time. Usually all - * renderers synchronize to the global clock using the buffer timestamps, the - * newsegment events and the element's base time, see #GstPipeline. - * - * A clock implementation can support periodic and single shot clock - * notifications both synchronous and asynchronous. - * - * One first needs to create a #GstClockID for the periodic or single shot - * notification using gst_clock_new_single_shot_id() or - * gst_clock_new_periodic_id(). - * - * To perform a blocking wait for the specific time of the #GstClockID use the - * gst_clock_id_wait(). To receive a callback when the specific time is reached - * in the clock use gst_clock_id_wait_async(). Both these calls can be - * interrupted with the gst_clock_id_unschedule() call. If the blocking wait is - * unscheduled a return value of #GST_CLOCK_UNSCHEDULED is returned. - * - * Periodic callbacks scheduled async will be repeatedly called automatically - * until it is unscheduled. To schedule a sync periodic callback, - * gst_clock_id_wait() should be called repeatedly. - * - * The async callbacks can happen from any thread, either provided by the core - * or from a streaming thread. The application should be prepared for this. - * - * A #GstClockID that has been unscheduled cannot be used again for any wait - * operation, a new #GstClockID should be created and the old unscheduled one - * should be destroyed with gst_clock_id_unref(). - * - * It is possible to perform a blocking wait on the same #GstClockID from - * multiple threads. However, registering the same #GstClockID for multiple - * async notifications is not possible, the callback will only be called for - * the thread registering the entry last. - * - * None of the wait operations unref the #GstClockID, the owner is responsible - * for unreffing the ids itself. This holds for both periodic and single shot - * notifications. The reason being that the owner of the #GstClockID has to - * keep a handle to the #GstClockID to unblock the wait on FLUSHING events or - * state changes and if the entry would be unreffed automatically, the handle - * might become invalid without any notification. - * - * These clock operations do not operate on the running time, so the callbacks - * will also occur when not in PLAYING state as if the clock just keeps on - * running. Some clocks however do not progress when the element that provided - * the clock is not PLAYING. - * - * When a clock has the #GST_CLOCK_FLAG_CAN_SET_MASTER flag set, it can be - * slaved to another #GstClock with the gst_clock_set_master(). The clock will - * then automatically be synchronized to this master clock by repeatedly - * sampling the master clock and the slave clock and recalibrating the slave - * clock with gst_clock_set_calibration(). This feature is mostly useful for - * plugins that have an internal clock but must operate with another clock - * selected by the #GstPipeline. They can track the offset and rate difference - * of their internal clock relative to the master clock by using the - * gst_clock_get_calibration() function. - * - * The master/slave synchronisation can be tuned with the #GstClock:timeout, - * #GstClock:window-size and #GstClock:window-threshold properties. - * The #GstClock:timeout property defines the interval to sample the master - * clock and run the calibration functions. #GstClock:window-size defines the - * number of samples to use when calibrating and #GstClock:window-threshold - * defines the minimum number of samples before the calibration is performed. - */ -public class Clock : ObjectGst -{ - /** the main Gtk struct */ - protected GstClock* gstClock; - - /** Get the main Gtk struct */ - public GstClock* getClockStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstClock; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstClock; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstClock* gstClock, bool ownedRef = false) - { - this.gstClock = gstClock; - super(cast(GstObject*)gstClock, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_clock_get_type(); - } - - /** - * Compares the two #GstClockID instances. This function can be used - * as a GCompareFunc when sorting ids. - * - * Params: - * id1 = A #GstClockID - * id2 = A #GstClockID to compare with - * - * Returns: negative value if a < b; zero if a = b; positive value if a > b - * - * MT safe. - */ - public static int idCompareFunc(void* id1, void* id2) - { - return gst_clock_id_compare_func(id1, id2); - } - - /** - * This function returns the underlying clock. - * - * Params: - * id = a #GstClockID - * - * Returns: a #GstClock or %NULL when the - * underlying clock has been freed. Unref after usage. - * - * MT safe. - * - * Since: 1.16 - */ - public static Clock idGetClock(GstClockID id) - { - auto __p = gst_clock_id_get_clock(id); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Clock)(cast(GstClock*) __p, true); - } - - /** - * Get the time of the clock ID - * - * Params: - * id = The #GstClockID to query - * - * Returns: the time of the given clock id. - * - * MT safe. - */ - public static GstClockTime idGetTime(GstClockID id) - { - return gst_clock_id_get_time(id); - } - - /** - * Increase the refcount of given @id. - * - * Params: - * id = The #GstClockID to ref - * - * Returns: The same #GstClockID with increased refcount. - * - * MT safe. - */ - public static GstClockID idRef(GstClockID id) - { - return gst_clock_id_ref(id); - } - - /** - * Unref given @id. When the refcount reaches 0 the - * #GstClockID will be freed. - * - * MT safe. - * - * Params: - * id = The #GstClockID to unref - */ - public static void idUnref(GstClockID id) - { - gst_clock_id_unref(id); - } - - /** - * Cancel an outstanding request with @id. This can either - * be an outstanding async notification or a pending sync notification. - * After this call, @id cannot be used anymore to receive sync or - * async notifications, you need to create a new #GstClockID. - * - * MT safe. - * - * Params: - * id = The id to unschedule - */ - public static void idUnschedule(GstClockID id) - { - gst_clock_id_unschedule(id); - } - - /** - * This function returns whether @id uses @clock as the underlying clock. - * @clock can be NULL, in which case the return value indicates whether - * the underlying clock has been freed. If this is the case, the @id is - * no longer usable and should be freed. - * - * Params: - * id = a #GstClockID to check - * clock = a #GstClock to compare against - * - * Returns: whether the clock @id uses the same underlying #GstClock @clock. - * - * MT safe. - * - * Since: 1.16 - */ - public static bool idUsesClock(GstClockID id, Clock clock) - { - return gst_clock_id_uses_clock(id, (clock is null) ? null : clock.getClockStruct()) != 0; - } - - /** - * Perform a blocking wait on @id. - * @id should have been created with gst_clock_new_single_shot_id() - * or gst_clock_new_periodic_id() and should not have been unscheduled - * with a call to gst_clock_id_unschedule(). - * - * If the @jitter argument is not %NULL and this function returns #GST_CLOCK_OK - * or #GST_CLOCK_EARLY, it will contain the difference - * against the clock and the time of @id when this method was - * called. - * Positive values indicate how late @id was relative to the clock - * (in which case this function will return #GST_CLOCK_EARLY). - * Negative values indicate how much time was spent waiting on the clock - * before this function returned. - * - * Params: - * id = The #GstClockID to wait on - * jitter = a pointer that will contain the jitter, - * can be %NULL. - * - * Returns: the result of the blocking wait. #GST_CLOCK_EARLY will be returned - * if the current clock time is past the time of @id, #GST_CLOCK_OK if - * @id was scheduled in time. #GST_CLOCK_UNSCHEDULED if @id was - * unscheduled with gst_clock_id_unschedule(). - * - * MT safe. - */ - public static GstClockReturn idWait(GstClockID id, out GstClockTimeDiff jitter) - { - return gst_clock_id_wait(id, &jitter); - } - - /** - * Register a callback on the given #GstClockID @id with the given - * function and user_data. When passing a #GstClockID with an invalid - * time to this function, the callback will be called immediately - * with a time set to GST_CLOCK_TIME_NONE. The callback will - * be called when the time of @id has been reached. - * - * The callback @func can be invoked from any thread, either provided by the - * core or from a streaming thread. The application should be prepared for this. - * - * Params: - * id = a #GstClockID to wait on - * func = The callback function - * userData = User data passed in the callback - * destroyData = #GDestroyNotify for user_data - * - * Returns: the result of the non blocking wait. - * - * MT safe. - */ - public static GstClockReturn idWaitAsync(GstClockID id, GstClockCallback func, void* userData, GDestroyNotify destroyData) - { - return gst_clock_id_wait_async(id, func, userData, destroyData); - } - - /** - * The time @master of the master clock and the time @slave of the slave - * clock are added to the list of observations. If enough observations - * are available, a linear regression algorithm is run on the - * observations and @clock is recalibrated. - * - * If this functions returns %TRUE, @r_squared will contain the - * correlation coefficient of the interpolation. A value of 1.0 - * means a perfect regression was performed. This value can - * be used to control the sampling frequency of the master and slave - * clocks. - * - * Params: - * slave = a time on the slave - * master = a time on the master - * rSquared = a pointer to hold the result - * - * Returns: %TRUE if enough observations were added to run the - * regression algorithm. - * - * MT safe. - */ - public bool addObservation(GstClockTime slave, GstClockTime master, out double rSquared) - { - return gst_clock_add_observation(gstClock, slave, master, &rSquared) != 0; - } - - /** - * Add a clock observation to the internal slaving algorithm the same as - * gst_clock_add_observation(), and return the result of the master clock - * estimation, without updating the internal calibration. - * - * The caller can then take the results and call gst_clock_set_calibration() - * with the values, or some modified version of them. - * - * Params: - * slave = a time on the slave - * master = a time on the master - * rSquared = a pointer to hold the result - * internal = a location to store the internal time - * external = a location to store the external time - * rateNum = a location to store the rate numerator - * rateDenom = a location to store the rate denominator - * - * Since: 1.6 - */ - public bool addObservationUnapplied(GstClockTime slave, GstClockTime master, out double rSquared, out GstClockTime internal, out GstClockTime external, out GstClockTime rateNum, out GstClockTime rateDenom) - { - return gst_clock_add_observation_unapplied(gstClock, slave, master, &rSquared, &internal, &external, &rateNum, &rateDenom) != 0; - } - - /** - * Converts the given @internal clock time to the external time, adjusting for the - * rate and reference time set with gst_clock_set_calibration() and making sure - * that the returned time is increasing. This function should be called with the - * clock's OBJECT_LOCK held and is mainly used by clock subclasses. - * - * This function is the reverse of gst_clock_unadjust_unlocked(). - * - * Params: - * internal = a clock time - * - * Returns: the converted time of the clock. - */ - public GstClockTime adjustUnlocked(GstClockTime internal) - { - return gst_clock_adjust_unlocked(gstClock, internal); - } - - /** - * Converts the given @internal_target clock time to the external time, - * using the passed calibration parameters. This function performs the - * same calculation as gst_clock_adjust_unlocked() when called using the - * current calibration parameters, but doesn't ensure a monotonically - * increasing result as gst_clock_adjust_unlocked() does. - * - * Note: The @clock parameter is unused and can be NULL - * - * Params: - * internalTarget = a clock time - * cinternal = a reference internal time - * cexternal = a reference external time - * cnum = the numerator of the rate of the clock relative to its - * internal time - * cdenom = the denominator of the rate of the clock - * - * Returns: the converted time of the clock. - * - * Since: 1.6 - */ - public GstClockTime adjustWithCalibration(GstClockTime internalTarget, GstClockTime cinternal, GstClockTime cexternal, GstClockTime cnum, GstClockTime cdenom) - { - return gst_clock_adjust_with_calibration(gstClock, internalTarget, cinternal, cexternal, cnum, cdenom); - } - - /** - * Gets the internal rate and reference time of @clock. See - * gst_clock_set_calibration() for more information. - * - * @internal, @external, @rate_num, and @rate_denom can be left %NULL if the - * caller is not interested in the values. - * - * MT safe. - * - * Params: - * internal = a location to store the internal time - * external = a location to store the external time - * rateNum = a location to store the rate numerator - * rateDenom = a location to store the rate denominator - */ - public void getCalibration(out GstClockTime internal, out GstClockTime external, out GstClockTime rateNum, out GstClockTime rateDenom) - { - gst_clock_get_calibration(gstClock, &internal, &external, &rateNum, &rateDenom); - } - - /** - * Gets the current internal time of the given clock. The time is returned - * unadjusted for the offset and the rate. - * - * Returns: the internal time of the clock. Or GST_CLOCK_TIME_NONE when - * given invalid input. - * - * MT safe. - */ - public GstClockTime getInternalTime() - { - return gst_clock_get_internal_time(gstClock); - } - - /** - * Get the master clock that @clock is slaved to or %NULL when the clock is - * not slaved to any master clock. - * - * Returns: a master #GstClock or %NULL - * when this clock is not slaved to a master clock. Unref after - * usage. - * - * MT safe. - */ - public Clock getMaster() - { - auto __p = gst_clock_get_master(gstClock); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Clock)(cast(GstClock*) __p, true); - } - - /** - * Get the accuracy of the clock. The accuracy of the clock is the granularity - * of the values returned by gst_clock_get_time(). - * - * Returns: the resolution of the clock in units of #GstClockTime. - * - * MT safe. - */ - public GstClockTime getResolution() - { - return gst_clock_get_resolution(gstClock); - } - - /** - * Gets the current time of the given clock. The time is always - * monotonically increasing and adjusted according to the current - * offset and rate. - * - * Returns: the time of the clock. Or GST_CLOCK_TIME_NONE when - * given invalid input. - * - * MT safe. - */ - public GstClockTime getTime() - { - return gst_clock_get_time(gstClock); - } - - /** - * Get the amount of time that master and slave clocks are sampled. - * - * Returns: the interval between samples. - */ - public GstClockTime getTimeout() - { - return gst_clock_get_timeout(gstClock); - } - - /** - * Checks if the clock is currently synced. - * - * This returns if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC is not set on the clock. - * - * Returns: %TRUE if the clock is currently synced - * - * Since: 1.6 - */ - public bool isSynced() - { - return gst_clock_is_synced(gstClock) != 0; - } - - /** - * Get an ID from @clock to trigger a periodic notification. - * The periodic notifications will start at time @start_time and - * will then be fired with the given @interval. @id should be unreffed - * after usage. - * - * Free-function: gst_clock_id_unref - * - * Params: - * startTime = the requested start time - * interval = the requested interval - * - * Returns: a #GstClockID that can be used to request the - * time notification. - * - * MT safe. - */ - public GstClockID newPeriodicId(GstClockTime startTime, GstClockTime interval) - { - return gst_clock_new_periodic_id(gstClock, startTime, interval); - } - - /** - * Get a #GstClockID from @clock to trigger a single shot - * notification at the requested time. The single shot id should be - * unreffed after usage. - * - * Free-function: gst_clock_id_unref - * - * Params: - * time = the requested time - * - * Returns: a #GstClockID that can be used to request the - * time notification. - * - * MT safe. - */ - public GstClockID newSingleShotId(GstClockTime time) - { - return gst_clock_new_single_shot_id(gstClock, time); - } - - /** - * Reinitializes the provided periodic @id to the provided start time and - * interval. Does not modify the reference count. - * - * Params: - * id = a #GstClockID - * startTime = the requested start time - * interval = the requested interval - * - * Returns: %TRUE if the GstClockID could be reinitialized to the provided - * @time, else %FALSE. - */ - public bool periodicIdReinit(GstClockID id, GstClockTime startTime, GstClockTime interval) - { - return gst_clock_periodic_id_reinit(gstClock, id, startTime, interval) != 0; - } - - /** - * Adjusts the rate and time of @clock. A rate of 1/1 is the normal speed of - * the clock. Values bigger than 1/1 make the clock go faster. - * - * @internal and @external are calibration parameters that arrange that - * gst_clock_get_time() should have been @external at internal time @internal. - * This internal time should not be in the future; that is, it should be less - * than the value of gst_clock_get_internal_time() when this function is called. - * - * Subsequent calls to gst_clock_get_time() will return clock times computed as - * follows: - * - * |[ - * time = (internal_time - internal) * rate_num / rate_denom + external - * ]| - * - * This formula is implemented in gst_clock_adjust_unlocked(). Of course, it - * tries to do the integer arithmetic as precisely as possible. - * - * Note that gst_clock_get_time() always returns increasing values so when you - * move the clock backwards, gst_clock_get_time() will report the previous value - * until the clock catches up. - * - * MT safe. - * - * Params: - * internal = a reference internal time - * external = a reference external time - * rateNum = the numerator of the rate of the clock relative to its - * internal time - * rateDenom = the denominator of the rate of the clock - */ - public void setCalibration(GstClockTime internal, GstClockTime external, GstClockTime rateNum, GstClockTime rateDenom) - { - gst_clock_set_calibration(gstClock, internal, external, rateNum, rateDenom); - } - - /** - * Set @master as the master clock for @clock. @clock will be automatically - * calibrated so that gst_clock_get_time() reports the same time as the - * master clock. - * - * A clock provider that slaves its clock to a master can get the current - * calibration values with gst_clock_get_calibration(). - * - * @master can be %NULL in which case @clock will not be slaved anymore. It will - * however keep reporting its time adjusted with the last configured rate - * and time offsets. - * - * Params: - * master = a master #GstClock - * - * Returns: %TRUE if the clock is capable of being slaved to a master clock. - * Trying to set a master on a clock without the - * #GST_CLOCK_FLAG_CAN_SET_MASTER flag will make this function return %FALSE. - * - * MT safe. - */ - public bool setMaster(Clock master) - { - return gst_clock_set_master(gstClock, (master is null) ? null : master.getClockStruct()) != 0; - } - - /** - * Set the accuracy of the clock. Some clocks have the possibility to operate - * with different accuracy at the expense of more resource usage. There is - * normally no need to change the default resolution of a clock. The resolution - * of a clock can only be changed if the clock has the - * #GST_CLOCK_FLAG_CAN_SET_RESOLUTION flag set. - * - * Params: - * resolution = The resolution to set - * - * Returns: the new resolution of the clock. - */ - public GstClockTime setResolution(GstClockTime resolution) - { - return gst_clock_set_resolution(gstClock, resolution); - } - - /** - * Sets @clock to synced and emits the GstClock::synced signal, and wakes up any - * thread waiting in gst_clock_wait_for_sync(). - * - * This function must only be called if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC - * is set on the clock, and is intended to be called by subclasses only. - * - * Params: - * synced = if the clock is synced - * - * Since: 1.6 - */ - public void setSynced(bool synced) - { - gst_clock_set_synced(gstClock, synced); - } - - /** - * Set the amount of time, in nanoseconds, to sample master and slave - * clocks - * - * Params: - * timeout = a timeout - */ - public void setTimeout(GstClockTime timeout) - { - gst_clock_set_timeout(gstClock, timeout); - } - - /** - * Reinitializes the provided single shot @id to the provided time. Does not - * modify the reference count. - * - * Params: - * id = a #GstClockID - * time = The requested time. - * - * Returns: %TRUE if the GstClockID could be reinitialized to the provided - * @time, else %FALSE. - */ - public bool singleShotIdReinit(GstClockID id, GstClockTime time) - { - return gst_clock_single_shot_id_reinit(gstClock, id, time) != 0; - } - - /** - * Converts the given @external clock time to the internal time of @clock, - * using the rate and reference time set with gst_clock_set_calibration(). - * This function should be called with the clock's OBJECT_LOCK held and - * is mainly used by clock subclasses. - * - * This function is the reverse of gst_clock_adjust_unlocked(). - * - * Params: - * external = an external clock time - * - * Returns: the internal time of the clock corresponding to @external. - */ - public GstClockTime unadjustUnlocked(GstClockTime external) - { - return gst_clock_unadjust_unlocked(gstClock, external); - } - - /** - * Converts the given @external_target clock time to the internal time, - * using the passed calibration parameters. This function performs the - * same calculation as gst_clock_unadjust_unlocked() when called using the - * current calibration parameters. - * - * Note: The @clock parameter is unused and can be NULL - * - * Params: - * externalTarget = a clock time - * cinternal = a reference internal time - * cexternal = a reference external time - * cnum = the numerator of the rate of the clock relative to its - * internal time - * cdenom = the denominator of the rate of the clock - * - * Returns: the converted time of the clock. - * - * Since: 1.8 - */ - public GstClockTime unadjustWithCalibration(GstClockTime externalTarget, GstClockTime cinternal, GstClockTime cexternal, GstClockTime cnum, GstClockTime cdenom) - { - return gst_clock_unadjust_with_calibration(gstClock, externalTarget, cinternal, cexternal, cnum, cdenom); - } - - /** - * Waits until @clock is synced for reporting the current time. If @timeout - * is %GST_CLOCK_TIME_NONE it will wait forever, otherwise it will time out - * after @timeout nanoseconds. - * - * For asynchronous waiting, the GstClock::synced signal can be used. - * - * This returns immediately with TRUE if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC - * is not set on the clock, or if the clock is already synced. - * - * Params: - * timeout = timeout for waiting or %GST_CLOCK_TIME_NONE - * - * Returns: %TRUE if waiting was successful, or %FALSE on timeout - * - * Since: 1.6 - */ - public bool waitForSync(GstClockTime timeout) - { - return gst_clock_wait_for_sync(gstClock, timeout) != 0; - } - - /** - * Signaled on clocks with GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC set once - * the clock is synchronized, or when it completely lost synchronization. - * This signal will not be emitted on clocks without the flag. - * - * This signal will be emitted from an arbitrary thread, most likely not - * the application's main thread. - * - * Params: - * synced = if the clock is synced now - * - * Since: 1.6 - */ - gulong addOnSynced(void delegate(bool, Clock) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "synced", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gstreamer/Context.d b/generated/gstreamer/gstreamer/Context.d deleted file mode 100644 index 665c6abb3..000000000 --- a/generated/gstreamer/gstreamer/Context.d +++ /dev/null @@ -1,210 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Context; - -private import glib.ConstructionException; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.Structure; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * #GstContext is a container object used to store contexts like a device - * context, a display server connection and similar concepts that should - * be shared between multiple elements. - * - * Applications can set a context on a complete pipeline by using - * gst_element_set_context(), which will then be propagated to all - * child elements. Elements can handle these in #GstElementClass.set_context() - * and merge them with the context information they already have. - * - * When an element needs a context it will do the following actions in this - * order until one step succeeds: - * 1. Check if the element already has a context - * 2. Query downstream with GST_QUERY_CONTEXT for the context - * 3. Query upstream with GST_QUERY_CONTEXT for the context - * 4. Post a GST_MESSAGE_NEED_CONTEXT message on the bus with the required - * context types and afterwards check if a usable context was set now - * 5. Create a context by itself and post a GST_MESSAGE_HAVE_CONTEXT message - * on the bus. - * - * Bins will catch GST_MESSAGE_NEED_CONTEXT messages and will set any previously - * known context on the element that asks for it if possible. Otherwise the - * application should provide one if it can. - * - * #GstContexts can be persistent. - * A persistent #GstContext is kept in elements when they reach - * %GST_STATE_NULL, non-persistent ones will be removed. - * Also, a non-persistent context won't override a previous persistent - * context set to an element. - * - * Since: 1.2 - */ -public class Context -{ - /** the main Gtk struct */ - protected GstContext* gstContext; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstContext* getContextStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstContext; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstContext; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstContext* gstContext, bool ownedRef = false) - { - this.gstContext = gstContext; - this.ownedRef = ownedRef; - } - - - /** */ - public static GType getType() - { - return gst_context_get_type(); - } - - /** - * Create a new context. - * - * Params: - * contextType = Context type - * persistent = Persistent context - * - * Returns: The new context. - * - * Since: 1.2 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string contextType, bool persistent) - { - auto __p = gst_context_new(Str.toStringz(contextType), persistent); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstContext*) __p); - } - - /** - * Get the type of @context. - * - * Returns: The type of the context. - * - * Since: 1.2 - */ - public string getContextType() - { - return Str.toString(gst_context_get_context_type(gstContext)); - } - - /** - * Access the structure of the context. - * - * Returns: The structure of the context. The structure is - * still owned by the context, which means that you should not modify it, - * free it and that the pointer becomes invalid when you free the context. - * - * Since: 1.2 - */ - public Structure getStructure() - { - auto __p = gst_context_get_structure(gstContext); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p); - } - - /** - * Checks if @context has @context_type. - * - * Params: - * contextType = Context type to check. - * - * Returns: %TRUE if @context has @context_type. - * - * Since: 1.2 - */ - public bool hasContextType(string contextType) - { - return gst_context_has_context_type(gstContext, Str.toStringz(contextType)) != 0; - } - - /** - * Check if @context is persistent. - * - * Returns: %TRUE if the context is persistent. - * - * Since: 1.2 - */ - public bool isPersistent() - { - return gst_context_is_persistent(gstContext) != 0; - } - - /** - * Get a writable version of the structure. - * - * Returns: The structure of the context. The structure is still - * owned by the context, which means that you should not free it and - * that the pointer becomes invalid when you free the context. - * This function checks if @context is writable. - * - * Since: 1.2 - */ - public Structure writableStructure() - { - auto __p = gst_context_writable_structure(gstContext); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p, true); - } -} diff --git a/generated/gstreamer/gstreamer/ControlBinding.d b/generated/gstreamer/gstreamer/ControlBinding.d deleted file mode 100644 index 410b4fd9d..000000000 --- a/generated/gstreamer/gstreamer/ControlBinding.d +++ /dev/null @@ -1,188 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ControlBinding; - -private import gobject.ObjectG; -private import gobject.Value; -private import gstreamer.ObjectGst; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * A base class for value mapping objects that attaches control sources to gobject - * properties. Such an object is taking one or more #GstControlSource instances, - * combines them and maps the resulting value to the type and value range of the - * bound property. - */ -public class ControlBinding : ObjectGst -{ - /** the main Gtk struct */ - protected GstControlBinding* gstControlBinding; - - /** Get the main Gtk struct */ - public GstControlBinding* getControlBindingStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstControlBinding; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstControlBinding; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstControlBinding* gstControlBinding, bool ownedRef = false) - { - this.gstControlBinding = gstControlBinding; - super(cast(GstObject*)gstControlBinding, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_control_binding_get_type(); - } - - /** - * Gets a number of #GValues for the given controlled property starting at the - * requested time. The array @values need to hold enough space for @n_values of - * #GValue. - * - * This function is useful if one wants to e.g. draw a graph of the control - * curve or apply a control curve sample by sample. - * - * Params: - * timestamp = the time that should be processed - * interval = the time spacing between subsequent values - * values = array to put control-values in - * - * Returns: %TRUE if the given array could be filled, %FALSE otherwise - */ - public bool getGValueArray(GstClockTime timestamp, GstClockTime interval, Value[] values) - { - GValue[] valuesArray = new GValue[values.length]; - for ( int i = 0; i < values.length; i++ ) - { - valuesArray[i] = *(values[i].getValueStruct()); - } - - return gst_control_binding_get_g_value_array(gstControlBinding, timestamp, interval, cast(uint)values.length, valuesArray.ptr) != 0; - } - - /** - * Gets the value for the given controlled property at the requested time. - * - * Params: - * timestamp = the time the control-change should be read from - * - * Returns: the GValue of the property at the given time, - * or %NULL if the property isn't controlled. - */ - public Value getValue(GstClockTime timestamp) - { - auto __p = gst_control_binding_get_value(gstControlBinding, timestamp); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Value)(cast(GValue*) __p, true); - } - - /** - * Gets a number of values for the given controlled property starting at the - * requested time. The array @values need to hold enough space for @n_values of - * the same type as the objects property's type. - * - * This function is useful if one wants to e.g. draw a graph of the control - * curve or apply a control curve sample by sample. - * - * The values are unboxed and ready to be used. The similar function - * gst_control_binding_get_g_value_array() returns the array as #GValues and is - * more suitable for bindings. - * - * Params: - * timestamp = the time that should be processed - * interval = the time spacing between subsequent values - * values = array to put control-values in - * - * Returns: %TRUE if the given array could be filled, %FALSE otherwise - */ - public bool getValueArray(GstClockTime timestamp, GstClockTime interval, void*[] values) - { - return gst_control_binding_get_value_array(gstControlBinding, timestamp, interval, cast(uint)values.length, values.ptr) != 0; - } - - /** - * Check if the control binding is disabled. - * - * Returns: %TRUE if the binding is inactive - */ - public bool isDisabled() - { - return gst_control_binding_is_disabled(gstControlBinding) != 0; - } - - /** - * This function is used to disable a control binding for some time, i.e. - * gst_object_sync_values() will do nothing. - * - * Params: - * disabled = boolean that specifies whether to disable the controller - * or not. - */ - public void setDisabled(bool disabled) - { - gst_control_binding_set_disabled(gstControlBinding, disabled); - } - - /** - * Sets the property of the @object, according to the #GstControlSources that - * handle them and for the given timestamp. - * - * If this function fails, it is most likely the application developers fault. - * Most probably the control sources are not setup correctly. - * - * Params: - * object = the object that has controlled properties - * timestamp = the time that should be processed - * lastSync = the last time this was called - * - * Returns: %TRUE if the controller value could be applied to the object - * property, %FALSE otherwise - */ - public bool syncValues(ObjectGst object, GstClockTime timestamp, GstClockTime lastSync) - { - return gst_control_binding_sync_values(gstControlBinding, (object is null) ? null : object.getObjectGstStruct(), timestamp, lastSync) != 0; - } -} diff --git a/generated/gstreamer/gstreamer/ControlSource.d b/generated/gstreamer/gstreamer/ControlSource.d deleted file mode 100644 index f51a46628..000000000 --- a/generated/gstreamer/gstreamer/ControlSource.d +++ /dev/null @@ -1,111 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ControlSource; - -private import gstreamer.ObjectGst; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * The #GstControlSource is a base class for control value sources that could - * be used to get timestamp-value pairs. A control source essentially is a - * function over time. - * - * A #GstControlSource is used by first getting an instance of a specific - * control-source, creating a binding for the control-source to the target property - * of the element and then adding the binding to the element. The binding will - * convert the data types and value range to fit to the bound property. - * - * For implementing a new #GstControlSource one has to implement - * #GstControlSourceGetValue and #GstControlSourceGetValueArray functions. - * These are then used by gst_control_source_get_value() and - * gst_control_source_get_value_array() to get values for specific timestamps. - */ -public class ControlSource : ObjectGst -{ - /** the main Gtk struct */ - protected GstControlSource* gstControlSource; - - /** Get the main Gtk struct */ - public GstControlSource* getControlSourceStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstControlSource; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstControlSource; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstControlSource* gstControlSource, bool ownedRef = false) - { - this.gstControlSource = gstControlSource; - super(cast(GstObject*)gstControlSource, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_control_source_get_type(); - } - - /** - * Gets the value for this #GstControlSource at a given timestamp. - * - * Params: - * timestamp = the time for which the value should be returned - * value = the value - * - * Returns: %FALSE if the value couldn't be returned, %TRUE otherwise. - */ - public bool getValue(GstClockTime timestamp, out double value) - { - return gst_control_source_get_value(gstControlSource, timestamp, &value) != 0; - } - - /** - * Gets an array of values for for this #GstControlSource. Values that are - * undefined contain NANs. - * - * Params: - * timestamp = the first timestamp - * interval = the time steps - * values = array to put control-values in - * - * Returns: %TRUE if the given array could be filled, %FALSE otherwise - */ - public bool getValueArray(GstClockTime timestamp, GstClockTime interval, double[] values) - { - return gst_control_source_get_value_array(gstControlSource, timestamp, interval, cast(uint)values.length, values.ptr) != 0; - } -} diff --git a/generated/gstreamer/gstreamer/DateTime.d b/generated/gstreamer/gstreamer/DateTime.d deleted file mode 100644 index 1383ebca0..000000000 --- a/generated/gstreamer/gstreamer/DateTime.d +++ /dev/null @@ -1,576 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.DateTime; - -private import glib.ConstructionException; -private import glib.DateTime : GLibDateTime = DateTime; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import gtkd.Loader; - - -/** - * Struct to store date, time and timezone information altogether. - * #GstDateTime is refcounted and immutable. - * - * Date information is handled using the proleptic Gregorian calendar. - * - * Provides basic creation functions and accessor functions to its fields. - */ -public class DateTime -{ - /** the main Gtk struct */ - protected GstDateTime* gstDateTime; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstDateTime* getDateTimeStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstDateTime; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstDateTime; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstDateTime* gstDateTime, bool ownedRef = false) - { - this.gstDateTime = gstDateTime; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTREAMER) && ownedRef ) - gst_date_time_unref(gstDateTime); - } - - /** - * Creates a new GstDateTime representing the current date and time. - * - * Params: - * utc = If true use utc else use the local timezone. - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this (bool utc) - { - GstDateTime* p; - - if ( utc ) - { - p = gst_date_time_new_now_utc(); - } - else - { - p = gst_date_time_new_now_local_time(); - } - - if(p is null) - { - throw new ConstructionException("null returned by gst_date_time_new_now_local_time()"); - } - this(p); //, true); - } - - /** - */ - - /** */ - public static GType getType() - { - return gst_date_time_get_type(); - } - - /** - * Creates a new #GstDateTime using the date and times in the gregorian calendar - * in the supplied timezone. - * - * @year should be from 1 to 9999, @month should be from 1 to 12, @day from - * 1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59. - * - * Note that @tzoffset is a float and was chosen so for being able to handle - * some fractional timezones, while it still keeps the readability of - * representing it in hours for most timezones. - * - * If value is -1 then all over value will be ignored. For example - * if @month == -1, then #GstDateTime will created only for @year. If - * @day == -1, then #GstDateTime will created for @year and @month and - * so on. - * - * Free-function: gst_date_time_unref - * - * Params: - * tzoffset = Offset from UTC in hours. - * year = the gregorian year - * month = the gregorian month - * day = the day of the gregorian month - * hour = the hour of the day - * minute = the minute of the hour - * seconds = the second of the minute - * - * Returns: the newly created #GstDateTime - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(float tzoffset, int year, int month, int day, int hour, int minute, double seconds) - { - auto __p = gst_date_time_new(tzoffset, year, month, day, hour, minute, seconds); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstDateTime*) __p); - } - - /** - * Creates a new #GstDateTime from a #GDateTime object. - * - * Free-function: gst_date_time_unref - * - * Params: - * dt = the #GDateTime. The new #GstDateTime takes ownership. - * - * Returns: a newly created #GstDateTime, - * or %NULL on error - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GLibDateTime dt) - { - auto __p = gst_date_time_new_from_g_date_time((dt is null) ? null : dt.getDateTimeStruct(true)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_from_g_date_time"); - } - - this(cast(GstDateTime*) __p); - } - - /** - * Tries to parse common variants of ISO-8601 datetime strings into a - * #GstDateTime. Possible input formats are (for example): - * 2012-06-30T22:46:43Z, 2012, 2012-06, 2012-06-30, 2012-06-30T22:46:43-0430, - * 2012-06-30T22:46Z, 2012-06-30T22:46-0430, 2012-06-30 22:46, - * 2012-06-30 22:46:43, 2012-06-00, 2012-00-00, 2012-00-30, 22:46:43Z, 22:46Z, - * 22:46:43-0430, 22:46-0430, 22:46:30, 22:46 - * If no date is provided, it is assumed to be "today" in the timezone - * provided (if any), otherwise UTC. - * - * Free-function: gst_date_time_unref - * - * Params: - * string_ = ISO 8601-formatted datetime string. - * - * Returns: a newly created #GstDateTime, - * or %NULL on error - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string string_) - { - auto __p = gst_date_time_new_from_iso8601_string(Str.toStringz(string_)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_from_iso8601_string"); - } - - this(cast(GstDateTime*) __p); - } - - /** - * Creates a new #GstDateTime using the time since Jan 1, 1970 specified by - * @usecs. The #GstDateTime is in UTC. - * - * Params: - * usecs = microseconds from the Unix epoch - * - * Returns: a newly created #GstDateTime - * - * Since: 1.18 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(long usecs) - { - auto __p = gst_date_time_new_from_unix_epoch_utc_usecs(usecs); - - if(__p is null) - { - throw new ConstructionException("null returned by new_from_unix_epoch_utc_usecs"); - } - - this(cast(GstDateTime*) __p); - } - - /** - * Creates a new #GstDateTime using the date and times in the gregorian calendar - * in the local timezone. - * - * @year should be from 1 to 9999, @month should be from 1 to 12, @day from - * 1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59. - * - * If @month is -1, then the #GstDateTime created will only contain @year, - * and all other fields will be considered not set. - * - * If @day is -1, then the #GstDateTime created will only contain @year and - * @month and all other fields will be considered not set. - * - * If @hour is -1, then the #GstDateTime created will only contain @year and - * @month and @day, and the time fields will be considered not set. In this - * case @minute and @seconds should also be -1. - * - * Free-function: gst_date_time_unref - * - * Params: - * year = the gregorian year - * month = the gregorian month, or -1 - * day = the day of the gregorian month, or -1 - * hour = the hour of the day, or -1 - * minute = the minute of the hour, or -1 - * seconds = the second of the minute, or -1 - * - * Returns: the newly created #GstDateTime - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(int year, int month, int day, int hour, int minute, double seconds) - { - auto __p = gst_date_time_new_local_time(year, month, day, hour, minute, seconds); - - if(__p is null) - { - throw new ConstructionException("null returned by new_local_time"); - } - - this(cast(GstDateTime*) __p); - } - - /** - * Creates a new #GstDateTime using the date and times in the gregorian calendar - * in the local timezone. - * - * @year should be from 1 to 9999. - * - * Free-function: gst_date_time_unref - * - * Params: - * year = the gregorian year - * - * Returns: the newly created #GstDateTime - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(int year) - { - auto __p = gst_date_time_new_y(year); - - if(__p is null) - { - throw new ConstructionException("null returned by new_y"); - } - - this(cast(GstDateTime*) __p); - } - - /** - * Creates a new #GstDateTime using the date and times in the gregorian calendar - * in the local timezone. - * - * @year should be from 1 to 9999, @month should be from 1 to 12. - * - * If value is -1 then all over value will be ignored. For example - * if @month == -1, then #GstDateTime will created only for @year. - * - * Free-function: gst_date_time_unref - * - * Params: - * year = the gregorian year - * month = the gregorian month - * - * Returns: the newly created #GstDateTime - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(int year, int month) - { - auto __p = gst_date_time_new_ym(year, month); - - if(__p is null) - { - throw new ConstructionException("null returned by new_ym"); - } - - this(cast(GstDateTime*) __p); - } - - /** - * Creates a new #GstDateTime using the date and times in the gregorian calendar - * in the local timezone. - * - * @year should be from 1 to 9999, @month should be from 1 to 12, @day from - * 1 to 31. - * - * If value is -1 then all over value will be ignored. For example - * if @month == -1, then #GstDateTime will created only for @year. If - * @day == -1, then #GstDateTime will created for @year and @month and - * so on. - * - * Free-function: gst_date_time_unref - * - * Params: - * year = the gregorian year - * month = the gregorian month - * day = the day of the gregorian month - * - * Returns: the newly created #GstDateTime - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(int year, int month, int day) - { - auto __p = gst_date_time_new_ymd(year, month, day); - - if(__p is null) - { - throw new ConstructionException("null returned by new_ymd"); - } - - this(cast(GstDateTime*) __p); - } - - /** - * Returns the day of the month of this #GstDateTime. - * Call gst_date_time_has_day() before, to avoid warnings. - * - * Returns: The day of this #GstDateTime - */ - public int getDay() - { - return gst_date_time_get_day(gstDateTime); - } - - /** - * Retrieves the hour of the day represented by @datetime in the gregorian - * calendar. The return is in the range of 0 to 23. - * Call gst_date_time_has_time() before, to avoid warnings. - * - * Returns: the hour of the day - */ - public int getHour() - { - return gst_date_time_get_hour(gstDateTime); - } - - /** - * Retrieves the fractional part of the seconds in microseconds represented by - * @datetime in the gregorian calendar. - * - * Returns: the microsecond of the second - */ - public int getMicrosecond() - { - return gst_date_time_get_microsecond(gstDateTime); - } - - /** - * Retrieves the minute of the hour represented by @datetime in the gregorian - * calendar. - * Call gst_date_time_has_time() before, to avoid warnings. - * - * Returns: the minute of the hour - */ - public int getMinute() - { - return gst_date_time_get_minute(gstDateTime); - } - - /** - * Returns the month of this #GstDateTime. January is 1, February is 2, etc.. - * Call gst_date_time_has_month() before, to avoid warnings. - * - * Returns: The month of this #GstDateTime - */ - public int getMonth() - { - return gst_date_time_get_month(gstDateTime); - } - - /** - * Retrieves the second of the minute represented by @datetime in the gregorian - * calendar. - * Call gst_date_time_has_time() before, to avoid warnings. - * - * Returns: the second represented by @datetime - */ - public int getSecond() - { - return gst_date_time_get_second(gstDateTime); - } - - /** - * Retrieves the offset from UTC in hours that the timezone specified - * by @datetime represents. Timezones ahead (to the east) of UTC have positive - * values, timezones before (to the west) of UTC have negative values. - * If @datetime represents UTC time, then the offset is zero. - * - * Returns: the offset from UTC in hours - */ - public float getTimeZoneOffset() - { - return gst_date_time_get_time_zone_offset(gstDateTime); - } - - /** - * Returns the year of this #GstDateTime - * Call gst_date_time_has_year() before, to avoid warnings. - * - * Returns: The year of this #GstDateTime - */ - public int getYear() - { - return gst_date_time_get_year(gstDateTime); - } - - /** - * Returns: %TRUE if @datetime's day field is set, otherwise %FALSE - */ - public bool hasDay() - { - return gst_date_time_has_day(gstDateTime) != 0; - } - - /** - * Returns: %TRUE if @datetime's month field is set, otherwise %FALSE - */ - public bool hasMonth() - { - return gst_date_time_has_month(gstDateTime) != 0; - } - - /** - * Returns: %TRUE if @datetime's second field is set, otherwise %FALSE - */ - public bool hasSecond() - { - return gst_date_time_has_second(gstDateTime) != 0; - } - - /** - * Returns: %TRUE if @datetime's hour and minute fields are set, - * otherwise %FALSE - */ - public bool hasTime() - { - return gst_date_time_has_time(gstDateTime) != 0; - } - - /** - * Returns: %TRUE if @datetime's year field is set (which should always - * be the case), otherwise %FALSE - */ - public bool hasYear() - { - return gst_date_time_has_year(gstDateTime) != 0; - } - - alias doref = ref_; - /** - * Atomically increments the reference count of @datetime by one. - * - * Returns: the reference @datetime - */ - public DateTime ref_() - { - auto __p = gst_date_time_ref(gstDateTime); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(DateTime)(cast(GstDateTime*) __p, true); - } - - /** - * Creates a new #GDateTime from a fully defined #GstDateTime object. - * - * Free-function: g_date_time_unref - * - * Returns: a newly created #GDateTime, or - * %NULL on error - */ - public GLibDateTime toGDateTime() - { - auto __p = gst_date_time_to_g_date_time(gstDateTime); - - if(__p is null) - { - return null; - } - - return new GLibDateTime(cast(GDateTime*) __p, true); - } - - /** - * Create a minimal string compatible with ISO-8601. Possible output formats - * are (for example): 2012, 2012-06, 2012-06-23, 2012-06-23T23:30Z, - * 2012-06-23T23:30+0100, 2012-06-23T23:30:59Z, 2012-06-23T23:30:59+0100 - * - * Returns: a newly allocated string formatted according - * to ISO 8601 and only including the datetime fields that are - * valid, or %NULL in case there was an error. The string should - * be freed with g_free(). - */ - public string toIso8601String() - { - auto retStr = gst_date_time_to_iso8601_string(gstDateTime); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Atomically decrements the reference count of @datetime by one. When the - * reference count reaches zero, the structure is freed. - */ - public void unref() - { - gst_date_time_unref(gstDateTime); - } -} diff --git a/generated/gstreamer/gstreamer/Debug.d b/generated/gstreamer/gstreamer/Debug.d deleted file mode 100644 index a17ef5793..000000000 --- a/generated/gstreamer/gstreamer/Debug.d +++ /dev/null @@ -1,419 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Debug; - -private import glib.ListSG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.Bin; -private import gstreamer.DebugCategory; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** */ -public struct Debug -{ - - /** - * Adds the logging function to the list of logging functions. - * Be sure to use #G_GNUC_NO_INSTRUMENT on that function, it is needed. - * - * Params: - * func = the function to use - * userData = user data - * notify = called when @user_data is not used anymore - */ - public static void addLogFunction(GstLogFunction func, void* userData, GDestroyNotify notify) - { - gst_debug_add_log_function(func, userData, notify); - } - - /** - * To aid debugging applications one can use this method to obtain the whole - * network of gstreamer elements that form the pipeline into an dot file. - * This data can be processed with graphviz to get an image. - * - * Params: - * bin = the top-level pipeline that should be analyzed - * details = type of #GstDebugGraphDetails to use - * - * Returns: a string containing the pipeline in graphviz - * dot format. - */ - public static string binToDotData(Bin bin, GstDebugGraphDetails details) - { - auto retStr = gst_debug_bin_to_dot_data((bin is null) ? null : bin.getBinStruct(), details); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * To aid debugging applications one can use this method to write out the whole - * network of gstreamer elements that form the pipeline into an dot file. - * This file can be processed with graphviz to get an image. - * - * ``` shell - * dot -Tpng -oimage.png graph_lowlevel.dot - * ``` - * - * Params: - * bin = the top-level pipeline that should be analyzed - * details = type of #GstDebugGraphDetails to use - * fileName = output base filename (e.g. "myplayer") - */ - public static void binToDotFile(Bin bin, GstDebugGraphDetails details, string fileName) - { - gst_debug_bin_to_dot_file((bin is null) ? null : bin.getBinStruct(), details, Str.toStringz(fileName)); - } - - /** - * This works like gst_debug_bin_to_dot_file(), but adds the current timestamp - * to the filename, so that it can be used to take multiple snapshots. - * - * Params: - * bin = the top-level pipeline that should be analyzed - * details = type of #GstDebugGraphDetails to use - * fileName = output base filename (e.g. "myplayer") - */ - public static void binToDotFileWithTs(Bin bin, GstDebugGraphDetails details, string fileName) - { - gst_debug_bin_to_dot_file_with_ts((bin is null) ? null : bin.getBinStruct(), details, Str.toStringz(fileName)); - } - - /** - * Constructs a string that can be used for getting the desired color in color - * terminals. - * You need to free the string after use. - * - * Params: - * colorinfo = the color info - * - * Returns: a string containing the color - * definition - */ - public static string constructTermColor(uint colorinfo) - { - auto retStr = gst_debug_construct_term_color(colorinfo); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Constructs an integer that can be used for getting the desired color in - * windows' terminals (cmd.exe). As there is no mean to underline, we simply - * ignore this attribute. - * - * This function returns 0 on non-windows machines. - * - * Params: - * colorinfo = the color info - * - * Returns: an integer containing the color definition - */ - public static int constructWinColor(uint colorinfo) - { - return gst_debug_construct_win_color(colorinfo); - } - - /** - * Returns a snapshot of a all categories that are currently in use . This list - * may change anytime. - * The caller has to free the list after use. - * - * Returns: the list of - * debug categories - */ - public static ListSG getAllCategories() - { - auto __p = gst_debug_get_all_categories(); - - if(__p is null) - { - return null; - } - - return new ListSG(cast(GSList*) __p); - } - - /** - * Changes the coloring mode for debug output. - * - * Returns: see @GstDebugColorMode for possible values. - * - * Since: 1.2 - */ - public static GstDebugColorMode getColorMode() - { - return gst_debug_get_color_mode(); - } - - /** - * Returns the default threshold that is used for new categories. - * - * Returns: the default threshold level - */ - public static GstDebugLevel getDefaultThreshold() - { - return gst_debug_get_default_threshold(); - } - - /** - * Checks if debugging output is activated. - * - * Returns: %TRUE, if debugging is activated - */ - public static bool isActive() - { - return gst_debug_is_active() != 0; - } - - /** - * Checks if the debugging output should be colored. - * - * Returns: %TRUE, if the debug output should be colored. - */ - public static bool isColored() - { - return gst_debug_is_colored() != 0; - } - - /** - * Get the string representation of a debugging level - * - * Params: - * level = the level to get the name for - * - * Returns: the name - */ - public static string levelGetName(GstDebugLevel level) - { - return Str.toString(gst_debug_level_get_name(level)); - } - - /** - * The default logging handler used by GStreamer. Logging functions get called - * whenever a macro like GST_DEBUG or similar is used. By default this function - * is setup to output the message and additional info to stderr (or the log file - * specified via the GST_DEBUG_FILE environment variable) as received via - * @user_data. - * - * You can add other handlers by using gst_debug_add_log_function(). - * And you can remove this handler by calling - * gst_debug_remove_log_function(gst_debug_log_default); - * - * Params: - * category = category to log - * level = level of the message - * file = the file that emitted the message, usually the __FILE__ identifier - * function_ = the function that emitted the message - * line = the line from that the message was emitted, usually __LINE__ - * object = the object this message relates to, - * or %NULL if none - * message = the actual message - * userData = the FILE* to log to - */ - public static void logDefault(DebugCategory category, GstDebugLevel level, string file, string function_, int line, ObjectG object, GstDebugMessage* message, void* userData) - { - gst_debug_log_default((category is null) ? null : category.getDebugCategoryStruct(), level, Str.toStringz(file), Str.toStringz(function_), line, (object is null) ? null : object.getObjectGStruct(), message, userData); - } - - /** - * Logs the given message using the currently registered debugging handlers. - * - * Params: - * category = category to log - * level = level of the message is in - * file = the file that emitted the message, usually the __FILE__ identifier - * function_ = the function that emitted the message - * line = the line from that the message was emitted, usually __LINE__ - * object = the object this message relates to, - * or %NULL if none - * format = a printf style format string - * args = optional arguments for the format - */ - public static void logValist(DebugCategory category, GstDebugLevel level, string file, string function_, int line, ObjectG object, string format, void* args) - { - gst_debug_log_valist((category is null) ? null : category.getDebugCategoryStruct(), level, Str.toStringz(file), Str.toStringz(function_), line, (object is null) ? null : object.getObjectGStruct(), Str.toStringz(format), args); - } - - /** - * If libunwind, glibc backtrace or DbgHelp are present - * a stack trace is printed. - */ - public static void printStackTrace() - { - gst_debug_print_stack_trace(); - } - - /** - * Removes all registered instances of the given logging functions. - * - * Params: - * func = the log function to remove, or %NULL to - * remove the default log function - * - * Returns: How many instances of the function were removed - */ - public static uint removeLogFunction(GstLogFunction func) - { - return gst_debug_remove_log_function(func); - } - - /** - * Removes all registered instances of log functions with the given user data. - * - * Params: - * data = user data of the log function to remove - * - * Returns: How many instances of the function were removed - */ - public static uint removeLogFunctionByData(void* data) - { - return gst_debug_remove_log_function_by_data(data); - } - - /** - * If activated, debugging messages are sent to the debugging - * handlers. - * It makes sense to deactivate it for speed issues. - * > This function is not threadsafe. It makes sense to only call it - * during initialization. - * - * Params: - * active = Whether to use debugging output or not - */ - public static void setActive(bool active) - { - gst_debug_set_active(active); - } - - /** - * Changes the coloring mode for debug output. - * - * This function may be called before gst_init(). - * - * Params: - * mode = The coloring mode for debug output. See @GstDebugColorMode. - * - * Since: 1.2 - */ - public static void setColorMode(GstDebugColorMode mode) - { - gst_debug_set_color_mode(mode); - } - - /** - * Changes the coloring mode for debug output. - * - * This function may be called before gst_init(). - * - * Params: - * mode = The coloring mode for debug output. One of the following: - * "on", "auto", "off", "disable", "unix". - * - * Since: 1.2 - */ - public static void setColorModeFromString(string mode) - { - gst_debug_set_color_mode_from_string(Str.toStringz(mode)); - } - - /** - * Sets or unsets the use of coloured debugging output. - * Same as gst_debug_set_color_mode () with the argument being - * being GST_DEBUG_COLOR_MODE_ON or GST_DEBUG_COLOR_MODE_OFF. - * - * This function may be called before gst_init(). - * - * Params: - * colored = Whether to use colored output or not - */ - public static void setColored(bool colored) - { - gst_debug_set_colored(colored); - } - - /** - * Sets the default threshold to the given level and updates all categories to - * use this threshold. - * - * This function may be called before gst_init(). - * - * Params: - * level = level to set - */ - public static void setDefaultThreshold(GstDebugLevel level) - { - gst_debug_set_default_threshold(level); - } - - /** - * Sets all categories which match the given glob style pattern to the given - * level. - * - * Params: - * name = name of the categories to set - * level = level to set them to - */ - public static void setThresholdForName(string name, GstDebugLevel level) - { - gst_debug_set_threshold_for_name(Str.toStringz(name), level); - } - - /** - * Sets the debug logging wanted in the same form as with the GST_DEBUG - * environment variable. You can use wildcards such as '*', but note that - * the order matters when you use wild cards, e.g. "foosrc:6,*src:3,*:2" sets - * everything to log level 2. - * - * Params: - * list = comma-separated list of "category:level" pairs to be used - * as debug logging levels - * reset = %TRUE to clear all previously-set debug levels before setting - * new thresholds - * %FALSE if adding the threshold described by @list to the one already set. - * - * Since: 1.2 - */ - public static void setThresholdFromString(string list, bool reset) - { - gst_debug_set_threshold_from_string(Str.toStringz(list), reset); - } - - /** - * Resets all categories with the given name back to the default level. - * - * Params: - * name = name of the categories to set - */ - public static void unsetThresholdForName(string name) - { - gst_debug_unset_threshold_for_name(Str.toStringz(name)); - } -} diff --git a/generated/gstreamer/gstreamer/DebugCategory.d b/generated/gstreamer/gstreamer/DebugCategory.d deleted file mode 100644 index d4c6bc977..000000000 --- a/generated/gstreamer/gstreamer/DebugCategory.d +++ /dev/null @@ -1,153 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.DebugCategory; - -private import glib.Str; -private import glib.c.functions; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import gtkd.Loader; - - -/** - * This is the struct that describes the categories. Once initialized with - * #GST_DEBUG_CATEGORY_INIT, its values can't be changed anymore. - */ -public class DebugCategory -{ - /** the main Gtk struct */ - protected GstDebugCategory* gstDebugCategory; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstDebugCategory* getDebugCategoryStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstDebugCategory; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstDebugCategory; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstDebugCategory* gstDebugCategory, bool ownedRef = false) - { - this.gstDebugCategory = gstDebugCategory; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTREAMER) && ownedRef ) - gst_debug_category_free(gstDebugCategory); - } - - - /** - * Removes and frees the category and all associated resources. - * - * Deprecated: This function can easily cause memory corruption, don't use it. - */ - public void free() - { - gst_debug_category_free(gstDebugCategory); - ownedRef = false; - } - - /** - * Returns the color of a debug category used when printing output in this - * category. - * - * Returns: the color of the category. - */ - public uint getColor() - { - return gst_debug_category_get_color(gstDebugCategory); - } - - /** - * Returns the description of a debug category. - * - * Returns: the description of the category. - */ - public string getDescription() - { - return Str.toString(gst_debug_category_get_description(gstDebugCategory)); - } - - /** - * Returns the name of a debug category. - * - * Returns: the name of the category. - */ - public string getName() - { - return Str.toString(gst_debug_category_get_name(gstDebugCategory)); - } - - /** - * Returns the threshold of a #GstDebugCategory. - * - * Returns: the #GstDebugLevel that is used as threshold. - */ - public GstDebugLevel getThreshold() - { - return gst_debug_category_get_threshold(gstDebugCategory); - } - - /** - * Resets the threshold of the category to the default level. Debug information - * will only be output if the threshold is lower or equal to the level of the - * debugging message. - * Use this function to set the threshold back to where it was after using - * gst_debug_category_set_threshold(). - */ - public void resetThreshold() - { - gst_debug_category_reset_threshold(gstDebugCategory); - } - - /** - * Sets the threshold of the category to the given level. Debug information will - * only be output if the threshold is lower or equal to the level of the - * debugging message. - * > Do not use this function in production code, because other functions may - * > change the threshold of categories as side effect. It is however a nice - * > function to use when debugging (even from gdb). - * - * Params: - * level = the #GstDebugLevel threshold to set. - */ - public void setThreshold(GstDebugLevel level) - { - gst_debug_category_set_threshold(gstDebugCategory, level); - } -} diff --git a/generated/gstreamer/gstreamer/Device.d b/generated/gstreamer/gstreamer/Device.d deleted file mode 100644 index 11265d370..000000000 --- a/generated/gstreamer/gstreamer/Device.d +++ /dev/null @@ -1,240 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Device; - -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gobject.Signals; -private import gstreamer.Caps; -private import gstreamer.Element; -private import gstreamer.ObjectGst; -private import gstreamer.Structure; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import std.algorithm; - - -/** - * #GstDevice are objects representing a device, they contain - * relevant metadata about the device, such as its class and the #GstCaps - * representing the media types it can produce or handle. - * - * #GstDevice are created by #GstDeviceProvider objects which can be - * aggregated by #GstDeviceMonitor objects. - * - * Since: 1.4 - */ -public class Device : ObjectGst -{ - /** the main Gtk struct */ - protected GstDevice* gstDevice; - - /** Get the main Gtk struct */ - public GstDevice* getDeviceStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstDevice; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstDevice; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstDevice* gstDevice, bool ownedRef = false) - { - this.gstDevice = gstDevice; - super(cast(GstObject*)gstDevice, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_device_get_type(); - } - - /** - * Creates the element with all of the required parameters set to use - * this device. - * - * Params: - * name = name of new element, or %NULL to automatically - * create a unique name. - * - * Returns: a new #GstElement configured to use - * this device - * - * Since: 1.4 - */ - public Element createElement(string name) - { - auto __p = gst_device_create_element(gstDevice, Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Element)(cast(GstElement*) __p); - } - - /** - * Getter for the #GstCaps that this device supports. - * - * Returns: The #GstCaps supported by this device. Unref with - * gst_caps_unref() when done. - * - * Since: 1.4 - */ - public Caps getCaps() - { - auto __p = gst_device_get_caps(gstDevice); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Gets the "class" of a device. This is a "/" separated list of - * classes that represent this device. They are a subset of the - * classes of the #GstDeviceProvider that produced this device. - * - * Returns: The device class. Free with g_free() after use. - * - * Since: 1.4 - */ - public string getDeviceClass() - { - auto retStr = gst_device_get_device_class(gstDevice); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Gets the user-friendly name of the device. - * - * Returns: The device name. Free with g_free() after use. - * - * Since: 1.4 - */ - public string getDisplayName() - { - auto retStr = gst_device_get_display_name(gstDevice); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Gets the extra properties of a device. - * - * Returns: The extra properties or %NULL when there are none. - * Free with gst_structure_free() after use. - * - * Since: 1.6 - */ - public Structure getProperties() - { - auto __p = gst_device_get_properties(gstDevice); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p, true); - } - - /** - * Check if @device matches all of the given classes - * - * Params: - * classes = a "/"-separated list of device classes to match, only match if - * all classes are matched - * - * Returns: %TRUE if @device matches. - * - * Since: 1.4 - */ - public bool hasClasses(string classes) - { - return gst_device_has_classes(gstDevice, Str.toStringz(classes)) != 0; - } - - /** - * Check if @factory matches all of the given classes - * - * Params: - * classes = a %NULL terminated array of classes - * to match, only match if all classes are matched - * - * Returns: %TRUE if @device matches. - * - * Since: 1.4 - */ - public bool hasClassesv(string[] classes) - { - return gst_device_has_classesv(gstDevice, Str.toStringzArray(classes)) != 0; - } - - /** - * Tries to reconfigure an existing element to use the device. If this - * function fails, then one must destroy the element and create a new one - * using gst_device_create_element(). - * - * Note: This should only be implemented for elements can change their - * device in the PLAYING state. - * - * Params: - * element = a #GstElement - * - * Returns: %TRUE if the element could be reconfigured to use this device, - * %FALSE otherwise. - * - * Since: 1.4 - */ - public bool reconfigureElement(Element element) - { - return gst_device_reconfigure_element(gstDevice, (element is null) ? null : element.getElementStruct()) != 0; - } - - /** */ - gulong addOnRemoved(void delegate(Device) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "removed", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gstreamer/DeviceMonitor.d b/generated/gstreamer/gstreamer/DeviceMonitor.d deleted file mode 100644 index be7706d0b..000000000 --- a/generated/gstreamer/gstreamer/DeviceMonitor.d +++ /dev/null @@ -1,311 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.DeviceMonitor; - -private import glib.ConstructionException; -private import glib.ListG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.Bus; -private import gstreamer.Caps; -private import gstreamer.ObjectGst; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * Applications should create a #GstDeviceMonitor when they want - * to probe, list and monitor devices of a specific type. The - * #GstDeviceMonitor will create the appropriate - * #GstDeviceProvider objects and manage them. It will then post - * messages on its #GstBus for devices that have been added and - * removed. - * - * The device monitor will monitor all devices matching the filters that - * the application has set. - * - * The basic use pattern of a device monitor is as follows: - * |[ - * static gboolean - * my_bus_func (GstBus * bus, GstMessage * message, gpointer user_data) - * { - * GstDevice *device; - * gchar *name; - * - * switch (GST_MESSAGE_TYPE (message)) { - * case GST_MESSAGE_DEVICE_ADDED: - * gst_message_parse_device_added (message, &device); - * name = gst_device_get_display_name (device); - * g_print("Device added: %s\n", name); - * g_free (name); - * gst_object_unref (device); - * break; - * case GST_MESSAGE_DEVICE_REMOVED: - * gst_message_parse_device_removed (message, &device); - * name = gst_device_get_display_name (device); - * g_print("Device removed: %s\n", name); - * g_free (name); - * gst_object_unref (device); - * break; - * default: - * break; - * } - * - * return G_SOURCE_CONTINUE; - * } - * - * GstDeviceMonitor * - * setup_raw_video_source_device_monitor (void) { - * GstDeviceMonitor *monitor; - * GstBus *bus; - * GstCaps *caps; - * - * monitor = gst_device_monitor_new (); - * - * bus = gst_device_monitor_get_bus (monitor); - * gst_bus_add_watch (bus, my_bus_func, NULL); - * gst_object_unref (bus); - * - * caps = gst_caps_new_empty_simple ("video/x-raw"); - * gst_device_monitor_add_filter (monitor, "Video/Source", caps); - * gst_caps_unref (caps); - * - * gst_device_monitor_start (monitor); - * - * return monitor; - * } - * ]| - * - * Since: 1.4 - */ -public class DeviceMonitor : ObjectGst -{ - /** the main Gtk struct */ - protected GstDeviceMonitor* gstDeviceMonitor; - - /** Get the main Gtk struct */ - public GstDeviceMonitor* getDeviceMonitorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstDeviceMonitor; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstDeviceMonitor; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstDeviceMonitor* gstDeviceMonitor, bool ownedRef = false) - { - this.gstDeviceMonitor = gstDeviceMonitor; - super(cast(GstObject*)gstDeviceMonitor, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_device_monitor_get_type(); - } - - /** - * Create a new #GstDeviceMonitor - * - * Returns: a new device monitor. - * - * Since: 1.4 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_device_monitor_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstDeviceMonitor*) __p, true); - } - - /** - * Adds a filter for which #GstDevice will be monitored, any device that matches - * all these classes and the #GstCaps will be returned. - * - * If this function is called multiple times to add more filters, each will be - * matched independently. That is, adding more filters will not further restrict - * what devices are matched. - * - * The #GstCaps supported by the device as returned by gst_device_get_caps() are - * not intersected with caps filters added using this function. - * - * Filters must be added before the #GstDeviceMonitor is started. - * - * Params: - * classes = device classes to use as filter or %NULL for any class - * caps = the #GstCaps to filter or %NULL for ANY - * - * Returns: The id of the new filter or 0 if no provider matched the filter's - * classes. - * - * Since: 1.4 - */ - public uint addFilter(string classes, Caps caps) - { - return gst_device_monitor_add_filter(gstDeviceMonitor, Str.toStringz(classes), (caps is null) ? null : caps.getCapsStruct()); - } - - /** - * Gets the #GstBus of this #GstDeviceMonitor - * - * Returns: a #GstBus - * - * Since: 1.4 - */ - public Bus getBus() - { - auto __p = gst_device_monitor_get_bus(gstDeviceMonitor); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Bus)(cast(GstBus*) __p, true); - } - - /** - * Gets a list of devices from all of the relevant monitors. This may actually - * probe the hardware if the monitor is not currently started. - * - * Returns: a #GList of - * #GstDevice - * - * Since: 1.4 - */ - public ListG getDevices() - { - auto __p = gst_device_monitor_get_devices(gstDeviceMonitor); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Get a list of the currently selected device provider factories. - * - * This - * - * Returns: A list of device provider factory names that are currently being - * monitored by @monitor or %NULL when nothing is being monitored. - * - * Since: 1.6 - */ - public string[] getProviders() - { - auto retStr = gst_device_monitor_get_providers(gstDeviceMonitor); - - scope(exit) Str.freeStringArray(retStr); - return Str.toStringArray(retStr); - } - - /** - * Get if @monitor is currently showing all devices, even those from hidden - * providers. - * - * Returns: %TRUE when all devices will be shown. - * - * Since: 1.6 - */ - public bool getShowAllDevices() - { - return gst_device_monitor_get_show_all_devices(gstDeviceMonitor) != 0; - } - - /** - * Removes a filter from the #GstDeviceMonitor using the id that was returned - * by gst_device_monitor_add_filter(). - * - * Params: - * filterId = the id of the filter - * - * Returns: %TRUE of the filter id was valid, %FALSE otherwise - * - * Since: 1.4 - */ - public bool removeFilter(uint filterId) - { - return gst_device_monitor_remove_filter(gstDeviceMonitor, filterId) != 0; - } - - /** - * Set if all devices should be visible, even those devices from hidden - * providers. Setting @show_all to true might show some devices multiple times. - * - * Params: - * showAll = show all devices - * - * Since: 1.6 - */ - public void setShowAllDevices(bool showAll) - { - gst_device_monitor_set_show_all_devices(gstDeviceMonitor, showAll); - } - - /** - * Starts monitoring the devices, one this has succeeded, the - * %GST_MESSAGE_DEVICE_ADDED and %GST_MESSAGE_DEVICE_REMOVED messages - * will be emitted on the bus when the list of devices changes. - * - * Returns: %TRUE if the device monitoring could be started - * - * Since: 1.4 - */ - public bool start() - { - return gst_device_monitor_start(gstDeviceMonitor) != 0; - } - - /** - * Stops monitoring the devices. - * - * Since: 1.4 - */ - public void stop() - { - gst_device_monitor_stop(gstDeviceMonitor); - } -} diff --git a/generated/gstreamer/gstreamer/DeviceProvider.d b/generated/gstreamer/gstreamer/DeviceProvider.d deleted file mode 100644 index b1c494da8..000000000 --- a/generated/gstreamer/gstreamer/DeviceProvider.d +++ /dev/null @@ -1,345 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.DeviceProvider; - -private import glib.ListG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gobject.Signals; -private import gstreamer.Bus; -private import gstreamer.Device; -private import gstreamer.DeviceProviderFactory; -private import gstreamer.ObjectGst; -private import gstreamer.Plugin; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import std.algorithm; - - -/** - * A #GstDeviceProvider subclass is provided by a plugin that handles devices - * if there is a way to programmatically list connected devices. It can also - * optionally provide updates to the list of connected devices. - * - * Each #GstDeviceProvider subclass is a singleton, a plugin should - * normally provide a single subclass for all devices. - * - * Applications would normally use a #GstDeviceMonitor to monitor devices - * from all relevant providers. - * - * Since: 1.4 - */ -public class DeviceProvider : ObjectGst -{ - /** the main Gtk struct */ - protected GstDeviceProvider* gstDeviceProvider; - - /** Get the main Gtk struct */ - public GstDeviceProvider* getDeviceProviderStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstDeviceProvider; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstDeviceProvider; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstDeviceProvider* gstDeviceProvider, bool ownedRef = false) - { - this.gstDeviceProvider = gstDeviceProvider; - super(cast(GstObject*)gstDeviceProvider, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_device_provider_get_type(); - } - - /** - * Create a new device providerfactory capable of instantiating objects of the - * @type and add the factory to @plugin. - * - * Params: - * plugin = #GstPlugin to register the device provider with, or %NULL for - * a static device provider. - * name = name of device providers of this type - * rank = rank of device provider (higher rank means more importance when autoplugging) - * type = GType of device provider to register - * - * Returns: %TRUE, if the registering succeeded, %FALSE on error - * - * Since: 1.4 - */ - public static bool register(Plugin plugin, string name, uint rank, GType type) - { - return gst_device_provider_register((plugin is null) ? null : plugin.getPluginStruct(), Str.toStringz(name), rank, type) != 0; - } - - /** */ - public bool canMonitor() - { - return gst_device_provider_can_monitor(gstDeviceProvider) != 0; - } - - /** - * Posts a message on the provider's #GstBus to inform applications that - * a new device has been added. - * - * This is for use by subclasses. - * - * @device's reference count will be incremented, and any floating reference - * will be removed (see gst_object_ref_sink()). - * - * Params: - * device = a #GstDevice that has been added - * - * Since: 1.4 - */ - public void deviceAdd(Device device) - { - gst_device_provider_device_add(gstDeviceProvider, (device is null) ? null : device.getDeviceStruct()); - } - - /** - * This function is used when @changed_device was modified into its new form - * @device. This will post a `DEVICE_CHANGED` message on the bus to let - * the application know that the device was modified. #GstDevice is immutable - * for MT. safety purposes so this is an "atomic" way of letting the application - * know when a device was modified. - * - * Params: - * device = the new version of @changed_device - * changedDevice = the old version of the device that has been updated - * - * Since: 1.16 - */ - public void deviceChanged(Device device, Device changedDevice) - { - gst_device_provider_device_changed(gstDeviceProvider, (device is null) ? null : device.getDeviceStruct(), (changedDevice is null) ? null : changedDevice.getDeviceStruct()); - } - - /** - * Posts a message on the provider's #GstBus to inform applications that - * a device has been removed. - * - * This is for use by subclasses. - * - * Params: - * device = a #GstDevice that has been removed - * - * Since: 1.4 - */ - public void deviceRemove(Device device) - { - gst_device_provider_device_remove(gstDeviceProvider, (device is null) ? null : device.getDeviceStruct()); - } - - /** - * Gets the #GstBus of this #GstDeviceProvider - * - * Returns: a #GstBus - * - * Since: 1.4 - */ - public Bus getBus() - { - auto __p = gst_device_provider_get_bus(gstDeviceProvider); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Bus)(cast(GstBus*) __p, true); - } - - /** - * Gets a list of devices that this provider understands. This may actually - * probe the hardware if the provider is not currently started. - * - * If the provider has been started, this will returned the same #GstDevice - * objedcts that have been returned by the #GST_MESSAGE_DEVICE_ADDED messages. - * - * Returns: a #GList of - * #GstDevice - * - * Since: 1.4 - */ - public ListG getDevices() - { - auto __p = gst_device_provider_get_devices(gstDeviceProvider); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Retrieves the factory that was used to create this device provider. - * - * Returns: the #GstDeviceProviderFactory used for - * creating this device provider. no refcounting is needed. - * - * Since: 1.4 - */ - public DeviceProviderFactory getFactory() - { - auto __p = gst_device_provider_get_factory(gstDeviceProvider); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(DeviceProviderFactory)(cast(GstDeviceProviderFactory*) __p); - } - - /** - * Get the provider factory names of the #GstDeviceProvider instances that - * are hidden by @provider. - * - * Returns: a list of hidden providers factory names or %NULL when - * nothing is hidden by @provider. Free with g_strfreev. - * - * Since: 1.6 - */ - public string[] getHiddenProviders() - { - auto retStr = gst_device_provider_get_hidden_providers(gstDeviceProvider); - - scope(exit) Str.freeStringArray(retStr); - return Str.toStringArray(retStr); - } - - /** - * Get metadata with @key in @provider. - * - * Params: - * key = the key to get - * - * Returns: the metadata for @key. - * - * Since: 1.14 - */ - public string getMetadata(string key) - { - return Str.toString(gst_device_provider_get_metadata(gstDeviceProvider, Str.toStringz(key))); - } - - /** - * Make @provider hide the devices from the factory with @name. - * - * This function is used when @provider will also provide the devices reported - * by provider factory @name. A monitor should stop monitoring the - * device provider with @name to avoid duplicate devices. - * - * Params: - * name = a provider factory name - * - * Since: 1.6 - */ - public void hideProvider(string name) - { - gst_device_provider_hide_provider(gstDeviceProvider, Str.toStringz(name)); - } - - /** - * Starts providering the devices. This will cause #GST_MESSAGE_DEVICE_ADDED - * and #GST_MESSAGE_DEVICE_REMOVED messages to be posted on the provider's bus - * when devices are added or removed from the system. - * - * Since the #GstDeviceProvider is a singleton, - * gst_device_provider_start() may already have been called by another - * user of the object, gst_device_provider_stop() needs to be called the same - * number of times. - * - * After this function has been called, gst_device_provider_get_devices() will - * return the same objects that have been received from the - * #GST_MESSAGE_DEVICE_ADDED messages and will no longer probe. - * - * Returns: %TRUE if the device providering could be started - * - * Since: 1.4 - */ - public bool start() - { - return gst_device_provider_start(gstDeviceProvider) != 0; - } - - /** - * Decreases the use-count by one. If the use count reaches zero, this - * #GstDeviceProvider will stop providering the devices. This needs to be - * called the same number of times that gst_device_provider_start() was called. - * - * Since: 1.4 - */ - public void stop() - { - gst_device_provider_stop(gstDeviceProvider); - } - - /** - * Make @provider unhide the devices from factory @name. - * - * This function is used when @provider will no longer provide the devices - * reported by provider factory @name. A monitor should start - * monitoring the devices from provider factory @name in order to see - * all devices again. - * - * Params: - * name = a provider factory name - * - * Since: 1.6 - */ - public void unhideProvider(string name) - { - gst_device_provider_unhide_provider(gstDeviceProvider, Str.toStringz(name)); - } - - /** */ - gulong addOnProviderHidden(void delegate(string, DeviceProvider) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "provider-hidden", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** */ - gulong addOnProviderUnhidden(void delegate(string, DeviceProvider) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "provider-unhidden", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gstreamer/DeviceProviderClass.d b/generated/gstreamer/gstreamer/DeviceProviderClass.d deleted file mode 100644 index 965b62e01..000000000 --- a/generated/gstreamer/gstreamer/DeviceProviderClass.d +++ /dev/null @@ -1,166 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.DeviceProviderClass; - -private import glib.Str; -private import glib.c.functions; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * The structure of the base #GstDeviceProviderClass - * - * Since: 1.4 - */ -public class DeviceProviderClass -{ - /** the main Gtk struct */ - protected GstDeviceProviderClass* gstDeviceProviderClass; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstDeviceProviderClass* getDeviceProviderClassStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstDeviceProviderClass; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstDeviceProviderClass; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstDeviceProviderClass* gstDeviceProviderClass, bool ownedRef = false) - { - this.gstDeviceProviderClass = gstDeviceProviderClass; - this.ownedRef = ownedRef; - } - - - /** - * Set @key with @value as metadata in @klass. - * - * Params: - * key = the key to set - * value = the value to set - * - * Since: 1.4 - */ - public void addMetadata(string key, string value) - { - gst_device_provider_class_add_metadata(gstDeviceProviderClass, Str.toStringz(key), Str.toStringz(value)); - } - - /** - * Set @key with @value as metadata in @klass. - * - * Same as gst_device_provider_class_add_metadata(), but @value must be a static string - * or an inlined string, as it will not be copied. (GStreamer plugins will - * be made resident once loaded, so this function can be used even from - * dynamically loaded plugins.) - * - * Params: - * key = the key to set - * value = the value to set - * - * Since: 1.4 - */ - public void addStaticMetadata(string key, string value) - { - gst_device_provider_class_add_static_metadata(gstDeviceProviderClass, Str.toStringz(key), Str.toStringz(value)); - } - - /** - * Get metadata with @key in @klass. - * - * Params: - * key = the key to get - * - * Returns: the metadata for @key. - * - * Since: 1.4 - */ - public string getMetadata(string key) - { - return Str.toString(gst_device_provider_class_get_metadata(gstDeviceProviderClass, Str.toStringz(key))); - } - - /** - * Sets the detailed information for a #GstDeviceProviderClass. - * - * > This function is for use in _class_init functions only. - * - * Params: - * longname = The long English name of the device provider. E.g. "File Sink" - * classification = String describing the type of device provider, as an - * unordered list separated with slashes ('/'). See draft-klass.txt of the - * design docs - * for more details and common types. E.g: "Sink/File" - * description = Sentence describing the purpose of the device provider. - * E.g: "Write stream to a file" - * author = Name and contact details of the author(s). Use \n to separate - * multiple author metadata. E.g: "Joe Bloggs <joe.blogs at foo.com>" - * - * Since: 1.4 - */ - public void setMetadata(string longname, string classification, string description, string author) - { - gst_device_provider_class_set_metadata(gstDeviceProviderClass, Str.toStringz(longname), Str.toStringz(classification), Str.toStringz(description), Str.toStringz(author)); - } - - /** - * Sets the detailed information for a #GstDeviceProviderClass. - * - * > This function is for use in _class_init functions only. - * - * Same as gst_device_provider_class_set_metadata(), but @longname, @classification, - * @description, and @author must be static strings or inlined strings, as - * they will not be copied. (GStreamer plugins will be made resident once - * loaded, so this function can be used even from dynamically loaded plugins.) - * - * Params: - * longname = The long English name of the element. E.g. "File Sink" - * classification = String describing the type of element, as - * an unordered list separated with slashes ('/'). See draft-klass.txt of the - * design docs for more details and common types. E.g: "Sink/File" - * description = Sentence describing the purpose of the - * element. E.g: "Write stream to a file" - * author = Name and contact details of the author(s). Use \n - * to separate multiple author metadata. E.g: "Joe Bloggs <joe.blogs at - * foo.com>" - * - * Since: 1.4 - */ - public void setStaticMetadata(string longname, string classification, string description, string author) - { - gst_device_provider_class_set_static_metadata(gstDeviceProviderClass, Str.toStringz(longname), Str.toStringz(classification), Str.toStringz(description), Str.toStringz(author)); - } -} diff --git a/generated/gstreamer/gstreamer/DeviceProviderFactory.d b/generated/gstreamer/gstreamer/DeviceProviderFactory.d deleted file mode 100644 index a712f918f..000000000 --- a/generated/gstreamer/gstreamer/DeviceProviderFactory.d +++ /dev/null @@ -1,254 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.DeviceProviderFactory; - -private import glib.ListG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.DeviceProvider; -private import gstreamer.PluginFeature; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * #GstDeviceProviderFactory is used to create instances of device providers. A - * GstDeviceProviderfactory can be added to a #GstPlugin as it is also a - * #GstPluginFeature. - * - * Use the gst_device_provider_factory_find() and - * gst_device_provider_factory_get() functions to create device - * provider instances or use gst_device_provider_factory_get_by_name() as a - * convenient shortcut. - * - * Since: 1.4 - */ -public class DeviceProviderFactory : PluginFeature -{ - /** the main Gtk struct */ - protected GstDeviceProviderFactory* gstDeviceProviderFactory; - - /** Get the main Gtk struct */ - public GstDeviceProviderFactory* getDeviceProviderFactoryStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstDeviceProviderFactory; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstDeviceProviderFactory; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstDeviceProviderFactory* gstDeviceProviderFactory, bool ownedRef = false) - { - this.gstDeviceProviderFactory = gstDeviceProviderFactory; - super(cast(GstPluginFeature*)gstDeviceProviderFactory, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_device_provider_factory_get_type(); - } - - /** - * Search for an device provider factory of the given name. Refs the returned - * device provider factory; caller is responsible for unreffing. - * - * Params: - * name = name of factory to find - * - * Returns: #GstDeviceProviderFactory if - * found, %NULL otherwise - * - * Since: 1.4 - */ - public static DeviceProviderFactory find(string name) - { - auto __p = gst_device_provider_factory_find(Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(DeviceProviderFactory)(cast(GstDeviceProviderFactory*) __p, true); - } - - /** - * Returns the device provider of the type defined by the given device - * provider factory. - * - * Params: - * factoryname = a named factory to instantiate - * - * Returns: a #GstDeviceProvider or %NULL - * if unable to create device provider - * - * Since: 1.4 - */ - public static DeviceProvider getByName(string factoryname) - { - auto __p = gst_device_provider_factory_get_by_name(Str.toStringz(factoryname)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(DeviceProvider)(cast(GstDeviceProvider*) __p, true); - } - - /** - * Get a list of factories with a rank greater or equal to @minrank. - * The list of factories is returned by decreasing rank. - * - * Params: - * minrank = Minimum rank - * - * Returns: a #GList of #GstDeviceProviderFactory device providers. Use - * gst_plugin_feature_list_free() after usage. - * - * Since: 1.4 - */ - public static ListG listGetDeviceProviders(GstRank minrank) - { - auto __p = gst_device_provider_factory_list_get_device_providers(minrank); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Returns the device provider of the type defined by the given device - * providerfactory. - * - * Returns: the #GstDeviceProvider or %NULL - * if the device provider couldn't be created - * - * Since: 1.4 - */ - public DeviceProvider get() - { - auto __p = gst_device_provider_factory_get(gstDeviceProviderFactory); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(DeviceProvider)(cast(GstDeviceProvider*) __p, true); - } - - /** - * Get the #GType for device providers managed by this factory. The type can - * only be retrieved if the device provider factory is loaded, which can be - * assured with gst_plugin_feature_load(). - * - * Returns: the #GType for device providers managed by this factory. - * - * Since: 1.4 - */ - public GType getDeviceProviderType() - { - return gst_device_provider_factory_get_device_provider_type(gstDeviceProviderFactory); - } - - /** - * Get the metadata on @factory with @key. - * - * Params: - * key = a key - * - * Returns: the metadata with @key on @factory or %NULL - * when there was no metadata with the given @key. - * - * Since: 1.4 - */ - public string getMetadata(string key) - { - return Str.toString(gst_device_provider_factory_get_metadata(gstDeviceProviderFactory, Str.toStringz(key))); - } - - /** - * Get the available keys for the metadata on @factory. - * - * Returns: a %NULL-terminated array of key strings, or %NULL when there is no - * metadata. Free with g_strfreev() when no longer needed. - * - * Since: 1.4 - */ - public string[] getMetadataKeys() - { - auto retStr = gst_device_provider_factory_get_metadata_keys(gstDeviceProviderFactory); - - scope(exit) Str.freeStringArray(retStr); - return Str.toStringArray(retStr); - } - - /** - * Check if @factory matches all of the given @classes - * - * Params: - * classes = a "/" separate list of classes to match, only match - * if all classes are matched - * - * Returns: %TRUE if @factory matches or if @classes is %NULL. - * - * Since: 1.4 - */ - public bool hasClasses(string classes) - { - return gst_device_provider_factory_has_classes(gstDeviceProviderFactory, Str.toStringz(classes)) != 0; - } - - /** - * Check if @factory matches all of the given classes - * - * Params: - * classes = a %NULL terminated array - * of classes to match, only match if all classes are matched - * - * Returns: %TRUE if @factory matches. - * - * Since: 1.4 - */ - public bool hasClassesv(string[] classes) - { - return gst_device_provider_factory_has_classesv(gstDeviceProviderFactory, Str.toStringzArray(classes)) != 0; - } -} diff --git a/generated/gstreamer/gstreamer/DynamicTypeFactory.d b/generated/gstreamer/gstreamer/DynamicTypeFactory.d deleted file mode 100644 index 8a69dbe5d..000000000 --- a/generated/gstreamer/gstreamer/DynamicTypeFactory.d +++ /dev/null @@ -1,96 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.DynamicTypeFactory; - -private import glib.Str; -private import gstreamer.PluginFeature; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * #GstDynamicTypeFactory is used to represent a type that can be - * automatically loaded the first time it is used. For example, - * a non-standard type for use in caps fields. - * - * In general, applications and plugins don't need to use the factory - * beyond registering the type in a plugin init function. Once that is - * done, the type is stored in the registry, and ready as soon as the - * registry is loaded. - * - * ## Registering a type for dynamic loading - * - * |[ - * - * static gboolean - * plugin_init (GstPlugin * plugin) - * { - * return gst_dynamic_type_register (plugin, GST_TYPE_CUSTOM_CAPS_FIELD); - * } - * ]| - * - * Since: 1.12 - */ -public class DynamicTypeFactory : PluginFeature -{ - /** the main Gtk struct */ - protected GstDynamicTypeFactory* gstDynamicTypeFactory; - - /** Get the main Gtk struct */ - public GstDynamicTypeFactory* getDynamicTypeFactoryStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstDynamicTypeFactory; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstDynamicTypeFactory; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstDynamicTypeFactory* gstDynamicTypeFactory, bool ownedRef = false) - { - this.gstDynamicTypeFactory = gstDynamicTypeFactory; - super(cast(GstPluginFeature*)gstDynamicTypeFactory, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_dynamic_type_factory_get_type(); - } - - /** */ - public static GType load(string factoryname) - { - return gst_dynamic_type_factory_load(Str.toStringz(factoryname)); - } -} diff --git a/generated/gstreamer/gstreamer/Element.d b/generated/gstreamer/gstreamer/Element.d deleted file mode 100644 index 6d1053f69..000000000 --- a/generated/gstreamer/gstreamer/Element.d +++ /dev/null @@ -1,1683 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Element; - -private import glib.ErrorG; -private import glib.GException; -private import glib.ListG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gobject.Signals; -private import gobject.Type; -private import gobject.c.functions; -private import gstreamer.Bus; -private import gstreamer.Caps; -private import gstreamer.Clock; -private import gstreamer.Context; -private import gstreamer.ElementFactory; -private import gstreamer.Event; -private import gstreamer.Iterator; -private import gstreamer.Message; -private import gstreamer.ObjectGst; -private import gstreamer.Pad; -private import gstreamer.PadTemplate; -private import gstreamer.Plugin; -private import gstreamer.Query; -private import gstreamer.Structure; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import std.algorithm; - - -/** - * GstElement is the abstract base class needed to construct an element that - * can be used in a GStreamer pipeline. Please refer to the plugin writers - * guide for more information on creating #GstElement subclasses. - * - * The name of a #GstElement can be get with gst_element_get_name() and set with - * gst_element_set_name(). For speed, GST_ELEMENT_NAME() can be used in the - * core when using the appropriate locking. Do not use this in plug-ins or - * applications in order to retain ABI compatibility. - * - * Elements can have pads (of the type #GstPad). These pads link to pads on - * other elements. #GstBuffer flow between these linked pads. - * A #GstElement has a #GList of #GstPad structures for all their input (or sink) - * and output (or source) pads. - * Core and plug-in writers can add and remove pads with gst_element_add_pad() - * and gst_element_remove_pad(). - * - * An existing pad of an element can be retrieved by name with - * gst_element_get_static_pad(). A new dynamic pad can be created using - * gst_element_request_pad() with a #GstPadTemplate. - * An iterator of all pads can be retrieved with gst_element_iterate_pads(). - * - * Elements can be linked through their pads. - * If the link is straightforward, use the gst_element_link() - * convenience function to link two elements, or gst_element_link_many() - * for more elements in a row. - * Use gst_element_link_filtered() to link two elements constrained by - * a specified set of #GstCaps. - * For finer control, use gst_element_link_pads() and - * gst_element_link_pads_filtered() to specify the pads to link on - * each element by name. - * - * Each element has a state (see #GstState). You can get and set the state - * of an element with gst_element_get_state() and gst_element_set_state(). - * Setting a state triggers a #GstStateChange. To get a string representation - * of a #GstState, use gst_element_state_get_name(). - * - * You can get and set a #GstClock on an element using gst_element_get_clock() - * and gst_element_set_clock(). - * Some elements can provide a clock for the pipeline if - * the #GST_ELEMENT_FLAG_PROVIDE_CLOCK flag is set. With the - * gst_element_provide_clock() method one can retrieve the clock provided by - * such an element. - * Not all elements require a clock to operate correctly. If the - * #GST_ELEMENT_FLAG_REQUIRE_CLOCK() flag is set, a clock should be set on the - * element with gst_element_set_clock(). - * - * Note that clock selection and distribution is normally handled by the - * toplevel #GstPipeline so the clock functions are only to be used in very - * specific situations. - */ -public class Element : ObjectGst -{ - /** the main Gtk struct */ - protected GstElement* gstElement; - - /** Get the main Gtk struct */ - public GstElement* getElementStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstElement; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstElement; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstElement* gstElement, bool ownedRef = false) - { - this.gstElement = gstElement; - super(cast(GstObject*)gstElement, ownedRef); - } - - /** - * Queries an element for the stream position. - * This is a convenience function for gstreamerD. - * Returns: - * The current position in nanoseconds - GstFormat.TIME. - */ - public long queryPosition() - { - GstFormat form = GstFormat.TIME; - long cur_pos; - queryPosition( form, cur_pos ); - return cur_pos; - } - - /** - * Queries an element for the stream duration. - * This is a convenience function for gstreamerD. - * Returns: - * The duration in nanoseconds - GstFormat.TIME. - */ - public long queryDuration() - { - GstFormat form = GstFormat.TIME; - long cur_dur; - queryDuration( form, cur_dur ); - return cur_dur; - } - - /** - * This set's the filename for a filesrc element. - */ - public void location( string set ) - { - //g_object_set( G_OBJECT(getElementStruct()), "location", set, NULL); - setProperty("location", set); - } - - /** - * Set the caps property of an Element. - */ - void caps( Caps cp ) - { - g_object_set( getElementStruct(), Str.toStringz("caps"), cp.getCapsStruct(), null ); - } - - /** - * For your convenience in gstreamerD: you can seek to the - * position of the pipeline measured in time_nanoseconds. - */ - public int seek( long time_nanoseconds ) //gint64 - { - return seek( 1.0, GstFormat.TIME, GstSeekFlags.FLUSH, - GstSeekType.SET, time_nanoseconds, - GstSeekType.NONE, GST_CLOCK_TIME_NONE); - } - - /** - * Get's all the pads from an element in a Pad[]. - */ - public Pad[] pads() - { - Pad[] result; - GValue* pad = g_value_init(new GValue(), Pad.getType()); - GstIterator* iter = gst_element_iterate_pads(gstElement); - - while ( gst_iterator_next(iter, pad) == GstIteratorResult.OK ) - { - result ~= ObjectG.getDObject!(Pad)(cast(GstPad*)g_value_get_object(pad)); - g_value_reset(pad); - } - - g_value_unset(pad); - - return result; - } - - /** - */ - - /** */ - public static GType getType() - { - return gst_element_get_type(); - } - - /** - * Creates an element for handling the given URI. - * - * Params: - * type = Whether to create a source or a sink - * uri = URI to create an element for - * elementname = Name of created element, can be %NULL. - * - * Returns: a new element or %NULL if none - * could be created - * - * Throws: GException on failure. - */ - public static Element makeFromUri(GstURIType type, string uri, string elementname) - { - GError* err = null; - - auto __p = gst_element_make_from_uri(type, Str.toStringz(uri), Str.toStringz(elementname), &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Element)(cast(GstElement*) __p); - } - - /** - * Create a new elementfactory capable of instantiating objects of the - * @type and add the factory to @plugin. - * - * Params: - * plugin = #GstPlugin to register the element with, or %NULL for - * a static element. - * name = name of elements of this type - * rank = rank of element (higher rank means more importance when autoplugging) - * type = GType of element to register - * - * Returns: %TRUE, if the registering succeeded, %FALSE on error - */ - public static bool register(Plugin plugin, string name, uint rank, GType type) - { - return gst_element_register((plugin is null) ? null : plugin.getPluginStruct(), Str.toStringz(name), rank, type) != 0; - } - - /** - * Gets a string representing the given state change result. - * - * Params: - * stateRet = a #GstStateChangeReturn to get the name of. - * - * Returns: a string with the name of the state - * result. - */ - public static string stateChangeReturnGetName(GstStateChangeReturn stateRet) - { - return Str.toString(gst_element_state_change_return_get_name(stateRet)); - } - - /** - * Gets a string representing the given state. - * - * Params: - * state = a #GstState to get the name of. - * - * Returns: a string with the name of the state. - */ - public static string stateGetName(GstState state) - { - return Str.toString(gst_element_state_get_name(state)); - } - - /** - * Abort the state change of the element. This function is used - * by elements that do asynchronous state changes and find out - * something is wrong. - * - * This function should be called with the STATE_LOCK held. - * - * MT safe. - */ - public void abortState() - { - gst_element_abort_state(gstElement); - } - - /** - * Adds a pad (link point) to @element. @pad's parent will be set to @element; - * see gst_object_set_parent() for refcounting information. - * - * Pads are automatically activated when added in the PAUSED or PLAYING - * state. - * - * The pad and the element should be unlocked when calling this function. - * - * This function will emit the #GstElement::pad-added signal on the element. - * - * Params: - * pad = the #GstPad to add to the element. - * - * Returns: %TRUE if the pad could be added. This function can fail when - * a pad with the same name already existed or the pad already had another - * parent. - * - * MT safe. - */ - public bool addPad(Pad pad) - { - return gst_element_add_pad(gstElement, (pad is null) ? null : pad.getPadStruct()) != 0; - } - - /** - * - * Params: - * propertyName = name of property to watch for changes, or - * NULL to watch all properties - * includeValue = whether to include the new property value in the message - * Returns: a watch id, which can be used in connection with - * gst_element_remove_property_notify_watch() to remove the watch again. - * - * Since: 1.10 - */ - public gulong addPropertyDeepNotifyWatch(string propertyName, bool includeValue) - { - return gst_element_add_property_deep_notify_watch(gstElement, Str.toStringz(propertyName), includeValue); - } - - /** - * - * Params: - * propertyName = name of property to watch for changes, or - * NULL to watch all properties - * includeValue = whether to include the new property value in the message - * Returns: a watch id, which can be used in connection with - * gst_element_remove_property_notify_watch() to remove the watch again. - * - * Since: 1.10 - */ - public gulong addPropertyNotifyWatch(string propertyName, bool includeValue) - { - return gst_element_add_property_notify_watch(gstElement, Str.toStringz(propertyName), includeValue); - } - - /** - * Calls @func from another thread and passes @user_data to it. This is to be - * used for cases when a state change has to be performed from a streaming - * thread, directly via gst_element_set_state() or indirectly e.g. via SEEK - * events. - * - * Calling those functions directly from the streaming thread will cause - * deadlocks in many situations, as they might involve waiting for the - * streaming thread to shut down from this very streaming thread. - * - * MT safe. - * - * Params: - * func = Function to call asynchronously from another thread - * userData = Data to pass to @func - * destroyNotify = GDestroyNotify for @user_data - * - * Since: 1.10 - */ - public void callAsync(GstElementCallAsyncFunc func, void* userData, GDestroyNotify destroyNotify) - { - gst_element_call_async(gstElement, func, userData, destroyNotify); - } - - /** - * Perform @transition on @element. - * - * This function must be called with STATE_LOCK held and is mainly used - * internally. - * - * Params: - * transition = the requested transition - * - * Returns: the #GstStateChangeReturn of the state transition. - */ - public GstStateChangeReturn changeState(GstStateChange transition) - { - return gst_element_change_state(gstElement, transition); - } - - /** - * Commit the state change of the element and proceed to the next - * pending state if any. This function is used - * by elements that do asynchronous state changes. - * The core will normally call this method automatically when an - * element returned %GST_STATE_CHANGE_SUCCESS from the state change function. - * - * If after calling this method the element still has not reached - * the pending state, the next state change is performed. - * - * This method is used internally and should normally not be called by plugins - * or applications. - * - * This function must be called with STATE_LOCK held. - * - * Params: - * ret = The previous state return value - * - * Returns: The result of the commit state change. - * - * MT safe. - */ - public GstStateChangeReturn continueState(GstStateChangeReturn ret) - { - return gst_element_continue_state(gstElement, ret); - } - - /** - * Creates a pad for each pad template that is always available. - * This function is only useful during object initialization of - * subclasses of #GstElement. - */ - public void createAllPads() - { - gst_element_create_all_pads(gstElement); - } - - /** - * Call @func with @user_data for each of @element's pads. @func will be called - * exactly once for each pad that exists at the time of this call, unless - * one of the calls to @func returns %FALSE in which case we will stop - * iterating pads and return early. If new pads are added or pads are removed - * while pads are being iterated, this will not be taken into account until - * next time this function is used. - * - * Params: - * func = function to call for each pad - * userData = user data passed to @func - * - * Returns: %FALSE if @element had no pads or if one of the calls to @func - * returned %FALSE. - * - * Since: 1.14 - */ - public bool foreachPad(GstElementForeachPadFunc func, void* userData) - { - return gst_element_foreach_pad(gstElement, func, userData) != 0; - } - - /** - * Call @func with @user_data for each of @element's sink pads. @func will be - * called exactly once for each sink pad that exists at the time of this call, - * unless one of the calls to @func returns %FALSE in which case we will stop - * iterating pads and return early. If new sink pads are added or sink pads - * are removed while the sink pads are being iterated, this will not be taken - * into account until next time this function is used. - * - * Params: - * func = function to call for each sink pad - * userData = user data passed to @func - * - * Returns: %FALSE if @element had no sink pads or if one of the calls to @func - * returned %FALSE. - * - * Since: 1.14 - */ - public bool foreachSinkPad(GstElementForeachPadFunc func, void* userData) - { - return gst_element_foreach_sink_pad(gstElement, func, userData) != 0; - } - - /** - * Call @func with @user_data for each of @element's source pads. @func will be - * called exactly once for each source pad that exists at the time of this call, - * unless one of the calls to @func returns %FALSE in which case we will stop - * iterating pads and return early. If new source pads are added or source pads - * are removed while the source pads are being iterated, this will not be taken - * into account until next time this function is used. - * - * Params: - * func = function to call for each source pad - * userData = user data passed to @func - * - * Returns: %FALSE if @element had no source pads or if one of the calls - * to @func returned %FALSE. - * - * Since: 1.14 - */ - public bool foreachSrcPad(GstElementForeachPadFunc func, void* userData) - { - return gst_element_foreach_src_pad(gstElement, func, userData) != 0; - } - - /** - * Returns the base time of the element. The base time is the - * absolute time of the clock when this element was last put to - * PLAYING. Subtracting the base time from the clock time gives - * the running time of the element. - * - * Returns: the base time of the element. - * - * MT safe. - */ - public GstClockTime getBaseTime() - { - return gst_element_get_base_time(gstElement); - } - - /** - * Returns the bus of the element. Note that only a #GstPipeline will provide a - * bus for the application. - * - * Returns: the element's #GstBus. unref after - * usage. - * - * MT safe. - */ - public Bus getBus() - { - auto __p = gst_element_get_bus(gstElement); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Bus)(cast(GstBus*) __p, true); - } - - /** - * Gets the currently configured clock of the element. This is the clock as was - * last set with gst_element_set_clock(). - * - * Elements in a pipeline will only have their clock set when the - * pipeline is in the PLAYING state. - * - * Returns: the #GstClock of the element. unref after usage. - * - * MT safe. - */ - public Clock getClock() - { - auto __p = gst_element_get_clock(gstElement); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Clock)(cast(GstClock*) __p, true); - } - - /** - * Looks for an unlinked pad to which the given pad can link. It is not - * guaranteed that linking the pads will work, though it should work in most - * cases. - * - * This function will first attempt to find a compatible unlinked ALWAYS pad, - * and if none can be found, it will request a compatible REQUEST pad by looking - * at the templates of @element. - * - * Params: - * pad = the #GstPad to find a compatible one for. - * caps = the #GstCaps to use as a filter. - * - * Returns: the #GstPad to which a link - * can be made, or %NULL if one cannot be found. gst_object_unref() - * after usage. - */ - public Pad getCompatiblePad(Pad pad, Caps caps) - { - auto __p = gst_element_get_compatible_pad(gstElement, (pad is null) ? null : pad.getPadStruct(), (caps is null) ? null : caps.getCapsStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Pad)(cast(GstPad*) __p, true); - } - - /** - * Retrieves a pad template from @element that is compatible with @compattempl. - * Pads from compatible templates can be linked together. - * - * Params: - * compattempl = the #GstPadTemplate to find a compatible - * template for - * - * Returns: a compatible #GstPadTemplate, - * or %NULL if none was found. No unreferencing is necessary. - */ - public PadTemplate getCompatiblePadTemplate(PadTemplate compattempl) - { - auto __p = gst_element_get_compatible_pad_template(gstElement, (compattempl is null) ? null : compattempl.getPadTemplateStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(PadTemplate)(cast(GstPadTemplate*) __p); - } - - /** - * Gets the context with @context_type set on the element or NULL. - * - * MT safe. - * - * Params: - * contextType = a name of a context to retrieve - * - * Returns: A #GstContext or NULL - * - * Since: 1.8 - */ - public Context getContext(string contextType) - { - auto __p = gst_element_get_context(gstElement, Str.toStringz(contextType)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Context)(cast(GstContext*) __p, true); - } - - /** - * Gets the context with @context_type set on the element or NULL. - * - * Params: - * contextType = a name of a context to retrieve - * - * Returns: A #GstContext or NULL - * - * Since: 1.8 - */ - public Context getContextUnlocked(string contextType) - { - auto __p = gst_element_get_context_unlocked(gstElement, Str.toStringz(contextType)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Context)(cast(GstContext*) __p, true); - } - - /** - * Gets the contexts set on the element. - * - * MT safe. - * - * Returns: List of #GstContext - * - * Since: 1.8 - */ - public ListG getContexts() - { - auto __p = gst_element_get_contexts(gstElement); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Returns the current clock time of the element, as in, the time of the - * element's clock, or GST_CLOCK_TIME_NONE if there is no clock. - * - * Returns: the clock time of the element, or GST_CLOCK_TIME_NONE if there is - * no clock. - * - * Since: 1.18 - */ - public GstClockTime getCurrentClockTime() - { - return gst_element_get_current_clock_time(gstElement); - } - - /** - * Returns the running time of the element. The running time is the - * element's clock time minus its base time. Will return GST_CLOCK_TIME_NONE - * if the element has no clock, or if its base time has not been set. - * - * Returns: the running time of the element, or GST_CLOCK_TIME_NONE if the - * element has no clock or its base time has not been set. - * - * Since: 1.18 - */ - public GstClockTime getCurrentRunningTime() - { - return gst_element_get_current_running_time(gstElement); - } - - /** - * Retrieves the factory that was used to create this element. - * - * Returns: the #GstElementFactory used for creating this - * element or %NULL if element has not been registered (static element). no refcounting is needed. - */ - public ElementFactory getFactory() - { - auto __p = gst_element_get_factory(gstElement); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(ElementFactory)(cast(GstElementFactory*) __p); - } - - /** - * Get metadata with @key in @klass. - * - * Params: - * key = the key to get - * - * Returns: the metadata for @key. - * - * Since: 1.14 - */ - public string getMetadata(string key) - { - return Str.toString(gst_element_get_metadata(gstElement, Str.toStringz(key))); - } - - /** - * Retrieves a padtemplate from @element with the given name. - * - * Params: - * name = the name of the #GstPadTemplate to get. - * - * Returns: the #GstPadTemplate with the - * given name, or %NULL if none was found. No unreferencing is - * necessary. - * - * Since: 1.14 - */ - public PadTemplate getPadTemplate(string name) - { - auto __p = gst_element_get_pad_template(gstElement, Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(PadTemplate)(cast(GstPadTemplate*) __p); - } - - /** - * Retrieves a list of the pad templates associated with @element. The - * list must not be modified by the calling code. - * - * Returns: the #GList of - * pad templates. - * - * Since: 1.14 - */ - public ListG getPadTemplateList() - { - auto __p = gst_element_get_pad_template_list(gstElement); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p); - } - - /** - * Retrieves a pad from the element by name (e.g. "src_\%d"). This version only - * retrieves request pads. The pad should be released with - * gst_element_release_request_pad(). - * - * This method is slower than manually getting the pad template and calling - * gst_element_request_pad() if the pads should have a specific name (e.g. - * @name is "src_1" instead of "src_\%u"). - * - * Params: - * name = the name of the request #GstPad to retrieve. - * - * Returns: requested #GstPad if found, - * otherwise %NULL. Release after usage. - */ - public Pad getRequestPad(string name) - { - auto __p = gst_element_get_request_pad(gstElement, Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Pad)(cast(GstPad*) __p, true); - } - - /** - * Returns the start time of the element. The start time is the - * running time of the clock when this element was last put to PAUSED. - * - * Usually the start_time is managed by a toplevel element such as - * #GstPipeline. - * - * MT safe. - * - * Returns: the start time of the element. - */ - public GstClockTime getStartTime() - { - return gst_element_get_start_time(gstElement); - } - - /** - * Gets the state of the element. - * - * For elements that performed an ASYNC state change, as reported by - * gst_element_set_state(), this function will block up to the - * specified timeout value for the state change to complete. - * If the element completes the state change or goes into - * an error, this function returns immediately with a return value of - * %GST_STATE_CHANGE_SUCCESS or %GST_STATE_CHANGE_FAILURE respectively. - * - * For elements that did not return %GST_STATE_CHANGE_ASYNC, this function - * returns the current and pending state immediately. - * - * This function returns %GST_STATE_CHANGE_NO_PREROLL if the element - * successfully changed its state but is not able to provide data yet. - * This mostly happens for live sources that only produce data in - * %GST_STATE_PLAYING. While the state change return is equivalent to - * %GST_STATE_CHANGE_SUCCESS, it is returned to the application to signal that - * some sink elements might not be able to complete their state change because - * an element is not producing data to complete the preroll. When setting the - * element to playing, the preroll will complete and playback will start. - * - * Params: - * state = a pointer to #GstState to hold the state. - * Can be %NULL. - * pending = a pointer to #GstState to hold the pending - * state. Can be %NULL. - * timeout = a #GstClockTime to specify the timeout for an async - * state change or %GST_CLOCK_TIME_NONE for infinite timeout. - * - * Returns: %GST_STATE_CHANGE_SUCCESS if the element has no more pending state - * and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the - * element is still performing a state change or - * %GST_STATE_CHANGE_FAILURE if the last state change failed. - * - * MT safe. - */ - public GstStateChangeReturn getState(out GstState state, out GstState pending, GstClockTime timeout) - { - return gst_element_get_state(gstElement, &state, &pending, timeout); - } - - /** - * Retrieves a pad from @element by name. This version only retrieves - * already-existing (i.e. 'static') pads. - * - * Params: - * name = the name of the static #GstPad to retrieve. - * - * Returns: the requested #GstPad if - * found, otherwise %NULL. unref after usage. - * - * MT safe. - */ - public Pad getStaticPad(string name) - { - auto __p = gst_element_get_static_pad(gstElement, Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Pad)(cast(GstPad*) __p, true); - } - - /** - * Checks if the state of an element is locked. - * If the state of an element is locked, state changes of the parent don't - * affect the element. - * This way you can leave currently unused elements inside bins. Just lock their - * state before changing the state from #GST_STATE_NULL. - * - * MT safe. - * - * Returns: %TRUE, if the element's state is locked. - */ - public bool isLockedState() - { - return gst_element_is_locked_state(gstElement) != 0; - } - - /** - * Retrieves an iterator of @element's pads. The iterator should - * be freed after usage. Also more specialized iterators exists such as - * gst_element_iterate_src_pads() or gst_element_iterate_sink_pads(). - * - * The order of pads returned by the iterator will be the order in which - * the pads were added to the element. - * - * Returns: the #GstIterator of #GstPad. - * - * MT safe. - */ - public Iterator iteratePads() - { - auto __p = gst_element_iterate_pads(gstElement); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Retrieves an iterator of @element's sink pads. - * - * The order of pads returned by the iterator will be the order in which - * the pads were added to the element. - * - * Returns: the #GstIterator of #GstPad. - * - * MT safe. - */ - public Iterator iterateSinkPads() - { - auto __p = gst_element_iterate_sink_pads(gstElement); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Retrieves an iterator of @element's source pads. - * - * The order of pads returned by the iterator will be the order in which - * the pads were added to the element. - * - * Returns: the #GstIterator of #GstPad. - * - * MT safe. - */ - public Iterator iterateSrcPads() - { - auto __p = gst_element_iterate_src_pads(gstElement); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Links @src to @dest. The link must be from source to - * destination; the other direction will not be tried. The function looks for - * existing pads that aren't linked yet. It will request new pads if necessary. - * Such pads need to be released manually when unlinking. - * If multiple links are possible, only one is established. - * - * Make sure you have added your elements to a bin or pipeline with - * gst_bin_add() before trying to link them. - * - * Params: - * dest = the #GstElement containing the destination pad. - * - * Returns: %TRUE if the elements could be linked, %FALSE otherwise. - */ - public bool link(Element dest) - { - return gst_element_link(gstElement, (dest is null) ? null : dest.getElementStruct()) != 0; - } - - /** - * Links @src to @dest using the given caps as filtercaps. - * The link must be from source to - * destination; the other direction will not be tried. The function looks for - * existing pads that aren't linked yet. It will request new pads if necessary. - * If multiple links are possible, only one is established. - * - * Make sure you have added your elements to a bin or pipeline with - * gst_bin_add() before trying to link them. - * - * Params: - * dest = the #GstElement containing the destination pad. - * filter = the #GstCaps to filter the link, - * or %NULL for no filter. - * - * Returns: %TRUE if the pads could be linked, %FALSE otherwise. - */ - public bool linkFiltered(Element dest, Caps filter) - { - return gst_element_link_filtered(gstElement, (dest is null) ? null : dest.getElementStruct(), (filter is null) ? null : filter.getCapsStruct()) != 0; - } - - /** - * Links the two named pads of the source and destination elements. - * Side effect is that if one of the pads has no parent, it becomes a - * child of the parent of the other element. If they have different - * parents, the link fails. - * - * Params: - * srcpadname = the name of the #GstPad in source element - * or %NULL for any pad. - * dest = the #GstElement containing the destination pad. - * destpadname = the name of the #GstPad in destination element, - * or %NULL for any pad. - * - * Returns: %TRUE if the pads could be linked, %FALSE otherwise. - */ - public bool linkPads(string srcpadname, Element dest, string destpadname) - { - return gst_element_link_pads(gstElement, Str.toStringz(srcpadname), (dest is null) ? null : dest.getElementStruct(), Str.toStringz(destpadname)) != 0; - } - - /** - * Links the two named pads of the source and destination elements. Side effect - * is that if one of the pads has no parent, it becomes a child of the parent of - * the other element. If they have different parents, the link fails. If @caps - * is not %NULL, makes sure that the caps of the link is a subset of @caps. - * - * Params: - * srcpadname = the name of the #GstPad in source element - * or %NULL for any pad. - * dest = the #GstElement containing the destination pad. - * destpadname = the name of the #GstPad in destination element - * or %NULL for any pad. - * filter = the #GstCaps to filter the link, - * or %NULL for no filter. - * - * Returns: %TRUE if the pads could be linked, %FALSE otherwise. - */ - public bool linkPadsFiltered(string srcpadname, Element dest, string destpadname, Caps filter) - { - return gst_element_link_pads_filtered(gstElement, Str.toStringz(srcpadname), (dest is null) ? null : dest.getElementStruct(), Str.toStringz(destpadname), (filter is null) ? null : filter.getCapsStruct()) != 0; - } - - /** - * Links the two named pads of the source and destination elements. - * Side effect is that if one of the pads has no parent, it becomes a - * child of the parent of the other element. If they have different - * parents, the link fails. - * - * Calling gst_element_link_pads_full() with @flags == %GST_PAD_LINK_CHECK_DEFAULT - * is the same as calling gst_element_link_pads() and the recommended way of - * linking pads with safety checks applied. - * - * This is a convenience function for gst_pad_link_full(). - * - * Params: - * srcpadname = the name of the #GstPad in source element - * or %NULL for any pad. - * dest = the #GstElement containing the destination pad. - * destpadname = the name of the #GstPad in destination element, - * or %NULL for any pad. - * flags = the #GstPadLinkCheck to be performed when linking pads. - * - * Returns: %TRUE if the pads could be linked, %FALSE otherwise. - */ - public bool linkPadsFull(string srcpadname, Element dest, string destpadname, GstPadLinkCheck flags) - { - return gst_element_link_pads_full(gstElement, Str.toStringz(srcpadname), (dest is null) ? null : dest.getElementStruct(), Str.toStringz(destpadname), flags) != 0; - } - - /** - * Brings the element to the lost state. The current state of the - * element is copied to the pending state so that any call to - * gst_element_get_state() will return %GST_STATE_CHANGE_ASYNC. - * - * An ASYNC_START message is posted. If the element was PLAYING, it will - * go to PAUSED. The element will be restored to its PLAYING state by - * the parent pipeline when it prerolls again. - * - * This is mostly used for elements that lost their preroll buffer - * in the %GST_STATE_PAUSED or %GST_STATE_PLAYING state after a flush, - * they will go to their pending state again when a new preroll buffer is - * queued. This function can only be called when the element is currently - * not in error or an async state change. - * - * This function is used internally and should normally not be called from - * plugins or applications. - */ - public void lostState() - { - gst_element_lost_state(gstElement); - } - - /** - * Post an error, warning or info message on the bus from inside an element. - * - * @type must be of #GST_MESSAGE_ERROR, #GST_MESSAGE_WARNING or - * #GST_MESSAGE_INFO. - * - * MT safe. - * - * Params: - * type = the #GstMessageType - * domain = the GStreamer GError domain this message belongs to - * code = the GError code belonging to the domain - * text = an allocated text string to be used - * as a replacement for the default message connected to code, - * or %NULL - * debug_ = an allocated debug message to be - * used as a replacement for the default debugging information, - * or %NULL - * file = the source code file where the error was generated - * function_ = the source code function where the error was generated - * line = the source code line where the error was generated - */ - public void messageFull(GstMessageType type, GQuark domain, int code, string text, string debug_, string file, string function_, int line) - { - gst_element_message_full(gstElement, type, domain, code, Str.toStringz(text), Str.toStringz(debug_), Str.toStringz(file), Str.toStringz(function_), line); - } - - /** - * Post an error, warning or info message on the bus from inside an element. - * - * @type must be of #GST_MESSAGE_ERROR, #GST_MESSAGE_WARNING or - * #GST_MESSAGE_INFO. - * - * Params: - * type = the #GstMessageType - * domain = the GStreamer GError domain this message belongs to - * code = the GError code belonging to the domain - * text = an allocated text string to be used - * as a replacement for the default message connected to code, - * or %NULL - * debug_ = an allocated debug message to be - * used as a replacement for the default debugging information, - * or %NULL - * file = the source code file where the error was generated - * function_ = the source code function where the error was generated - * line = the source code line where the error was generated - * structure = optional details structure - * - * Since: 1.10 - */ - public void messageFullWithDetails(GstMessageType type, GQuark domain, int code, string text, string debug_, string file, string function_, int line, Structure structure) - { - gst_element_message_full_with_details(gstElement, type, domain, code, Str.toStringz(text), Str.toStringz(debug_), Str.toStringz(file), Str.toStringz(function_), line, (structure is null) ? null : structure.getStructureStruct(true)); - } - - /** - * Use this function to signal that the element does not expect any more pads - * to show up in the current pipeline. This function should be called whenever - * pads have been added by the element itself. Elements with #GST_PAD_SOMETIMES - * pad templates use this in combination with autopluggers to figure out that - * the element is done initializing its pads. - * - * This function emits the #GstElement::no-more-pads signal. - * - * MT safe. - */ - public void noMorePads() - { - gst_element_no_more_pads(gstElement); - } - - /** - * Post a message on the element's #GstBus. This function takes ownership of the - * message; if you want to access the message after this call, you should add an - * additional reference before calling. - * - * Params: - * message = a #GstMessage to post - * - * Returns: %TRUE if the message was successfully posted. The function returns - * %FALSE if the element did not have a bus. - * - * MT safe. - */ - public bool postMessage(Message message) - { - return gst_element_post_message(gstElement, (message is null) ? null : message.getMessageStruct()) != 0; - } - - /** - * Get the clock provided by the given element. - * > An element is only required to provide a clock in the PAUSED - * > state. Some elements can provide a clock in other states. - * - * Returns: the GstClock provided by the - * element or %NULL if no clock could be provided. Unref after usage. - * - * MT safe. - */ - public Clock provideClock() - { - auto __p = gst_element_provide_clock(gstElement); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Clock)(cast(GstClock*) __p, true); - } - - /** - * Performs a query on the given element. - * - * For elements that don't implement a query handler, this function - * forwards the query to a random srcpad or to the peer of a - * random linked sinkpad of this element. - * - * Please note that some queries might need a running pipeline to work. - * - * Params: - * query = the #GstQuery. - * - * Returns: %TRUE if the query could be performed. - * - * MT safe. - */ - public bool query(Query query) - { - return gst_element_query(gstElement, (query is null) ? null : query.getQueryStruct()) != 0; - } - - /** - * Queries an element to convert @src_val in @src_format to @dest_format. - * - * Params: - * srcFormat = a #GstFormat to convert from. - * srcVal = a value to convert. - * destFormat = the #GstFormat to convert to. - * destVal = a pointer to the result. - * - * Returns: %TRUE if the query could be performed. - */ - public bool queryConvert(GstFormat srcFormat, long srcVal, GstFormat destFormat, out long destVal) - { - return gst_element_query_convert(gstElement, srcFormat, srcVal, destFormat, &destVal) != 0; - } - - /** - * Queries an element (usually top-level pipeline or playbin element) for the - * total stream duration in nanoseconds. This query will only work once the - * pipeline is prerolled (i.e. reached PAUSED or PLAYING state). The application - * will receive an ASYNC_DONE message on the pipeline bus when that is the case. - * - * If the duration changes for some reason, you will get a DURATION_CHANGED - * message on the pipeline bus, in which case you should re-query the duration - * using this function. - * - * Params: - * format = the #GstFormat requested - * duration = A location in which to store the total duration, or %NULL. - * - * Returns: %TRUE if the query could be performed. - */ - public bool queryDuration(GstFormat format, out long duration) - { - return gst_element_query_duration(gstElement, format, &duration) != 0; - } - - /** - * Queries an element (usually top-level pipeline or playbin element) for the - * stream position in nanoseconds. This will be a value between 0 and the - * stream duration (if the stream duration is known). This query will usually - * only work once the pipeline is prerolled (i.e. reached PAUSED or PLAYING - * state). The application will receive an ASYNC_DONE message on the pipeline - * bus when that is the case. - * - * If one repeatedly calls this function one can also create a query and reuse - * it in gst_element_query(). - * - * Params: - * format = the #GstFormat requested - * cur = a location in which to store the current - * position, or %NULL. - * - * Returns: %TRUE if the query could be performed. - */ - public bool queryPosition(GstFormat format, out long cur) - { - return gst_element_query_position(gstElement, format, &cur) != 0; - } - - /** - * Makes the element free the previously requested pad as obtained - * with gst_element_request_pad(). - * - * This does not unref the pad. If the pad was created by using - * gst_element_request_pad(), gst_element_release_request_pad() needs to be - * followed by gst_object_unref() to free the @pad. - * - * MT safe. - * - * Params: - * pad = the #GstPad to release. - */ - public void releaseRequestPad(Pad pad) - { - gst_element_release_request_pad(gstElement, (pad is null) ? null : pad.getPadStruct()); - } - - /** - * Removes @pad from @element. @pad will be destroyed if it has not been - * referenced elsewhere using gst_object_unparent(). - * - * This function is used by plugin developers and should not be used - * by applications. Pads that were dynamically requested from elements - * with gst_element_request_pad() should be released with the - * gst_element_release_request_pad() function instead. - * - * Pads are not automatically deactivated so elements should perform the needed - * steps to deactivate the pad in case this pad is removed in the PAUSED or - * PLAYING state. See gst_pad_set_active() for more information about - * deactivating pads. - * - * The pad and the element should be unlocked when calling this function. - * - * This function will emit the #GstElement::pad-removed signal on the element. - * - * Params: - * pad = the #GstPad to remove from the element. - * - * Returns: %TRUE if the pad could be removed. Can return %FALSE if the - * pad does not belong to the provided element. - * - * MT safe. - */ - public bool removePad(Pad pad) - { - return gst_element_remove_pad(gstElement, (pad is null) ? null : pad.getPadStruct()) != 0; - } - - /** */ - public void removePropertyNotifyWatch(gulong watchId) - { - gst_element_remove_property_notify_watch(gstElement, watchId); - } - - /** - * Retrieves a request pad from the element according to the provided template. - * Pad templates can be looked up using - * gst_element_factory_get_static_pad_templates(). - * - * The pad should be released with gst_element_release_request_pad(). - * - * Params: - * templ = a #GstPadTemplate of which we want a pad of. - * name = the name of the request #GstPad - * to retrieve. Can be %NULL. - * caps = the caps of the pad we want to - * request. Can be %NULL. - * - * Returns: requested #GstPad if found, - * otherwise %NULL. Release after usage. - */ - public Pad requestPad(PadTemplate templ, string name, Caps caps) - { - auto __p = gst_element_request_pad(gstElement, (templ is null) ? null : templ.getPadTemplateStruct(), Str.toStringz(name), (caps is null) ? null : caps.getCapsStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Pad)(cast(GstPad*) __p, true); - } - - /** - * Sends a seek event to an element. See gst_event_new_seek() for the details of - * the parameters. The seek event is sent to the element using - * gst_element_send_event(). - * - * MT safe. - * - * Params: - * rate = The new playback rate - * format = The format of the seek values - * flags = The optional seek flags. - * startType = The type and flags for the new start position - * start = The value of the new start position - * stopType = The type and flags for the new stop position - * stop = The value of the new stop position - * - * Returns: %TRUE if the event was handled. Flushing seeks will trigger a - * preroll, which will emit %GST_MESSAGE_ASYNC_DONE. - */ - public bool seek(double rate, GstFormat format, GstSeekFlags flags, GstSeekType startType, long start, GstSeekType stopType, long stop) - { - return gst_element_seek(gstElement, rate, format, flags, startType, start, stopType, stop) != 0; - } - - /** - * Simple API to perform a seek on the given element, meaning it just seeks - * to the given position relative to the start of the stream. For more complex - * operations like segment seeks (e.g. for looping) or changing the playback - * rate or seeking relative to the last configured playback segment you should - * use gst_element_seek(). - * - * In a completely prerolled PAUSED or PLAYING pipeline, seeking is always - * guaranteed to return %TRUE on a seekable media type or %FALSE when the media - * type is certainly not seekable (such as a live stream). - * - * Some elements allow for seeking in the READY state, in this - * case they will store the seek event and execute it when they are put to - * PAUSED. If the element supports seek in READY, it will always return %TRUE when - * it receives the event in the READY state. - * - * Params: - * format = a #GstFormat to execute the seek in, such as #GST_FORMAT_TIME - * seekFlags = seek options; playback applications will usually want to use - * GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT here - * seekPos = position to seek to (relative to the start); if you are doing - * a seek in #GST_FORMAT_TIME this value is in nanoseconds - - * multiply with #GST_SECOND to convert seconds to nanoseconds or - * with #GST_MSECOND to convert milliseconds to nanoseconds. - * - * Returns: %TRUE if the seek operation succeeded. Flushing seeks will trigger a - * preroll, which will emit %GST_MESSAGE_ASYNC_DONE. - */ - public bool seekSimple(GstFormat format, GstSeekFlags seekFlags, long seekPos) - { - return gst_element_seek_simple(gstElement, format, seekFlags, seekPos) != 0; - } - - /** - * Sends an event to an element. If the element doesn't implement an - * event handler, the event will be pushed on a random linked sink pad for - * downstream events or a random linked source pad for upstream events. - * - * This function takes ownership of the provided event so you should - * gst_event_ref() it if you want to reuse the event after this call. - * - * MT safe. - * - * Params: - * event = the #GstEvent to send to the element. - * - * Returns: %TRUE if the event was handled. Events that trigger a preroll (such - * as flushing seeks and steps) will emit %GST_MESSAGE_ASYNC_DONE. - */ - public bool sendEvent(Event event) - { - return gst_element_send_event(gstElement, (event is null) ? null : event.getEventStruct()) != 0; - } - - /** - * Set the base time of an element. See gst_element_get_base_time(). - * - * MT safe. - * - * Params: - * time = the base time to set. - */ - public void setBaseTime(GstClockTime time) - { - gst_element_set_base_time(gstElement, time); - } - - /** - * Sets the bus of the element. Increases the refcount on the bus. - * For internal use only, unless you're testing elements. - * - * MT safe. - * - * Params: - * bus = the #GstBus to set. - */ - public void setBus(Bus bus) - { - gst_element_set_bus(gstElement, (bus is null) ? null : bus.getBusStruct()); - } - - /** - * Sets the clock for the element. This function increases the - * refcount on the clock. Any previously set clock on the object - * is unreffed. - * - * Params: - * clock = the #GstClock to set for the element. - * - * Returns: %TRUE if the element accepted the clock. An element can refuse a - * clock when it, for example, is not able to slave its internal clock to the - * @clock or when it requires a specific clock to operate. - * - * MT safe. - */ - public bool setClock(Clock clock) - { - return gst_element_set_clock(gstElement, (clock is null) ? null : clock.getClockStruct()) != 0; - } - - /** - * Sets the context of the element. Increases the refcount of the context. - * - * MT safe. - * - * Params: - * context = the #GstContext to set. - */ - public void setContext(Context context) - { - gst_element_set_context(gstElement, (context is null) ? null : context.getContextStruct()); - } - - /** - * Locks the state of an element, so state changes of the parent don't affect - * this element anymore. - * - * Note that this is racy if the state lock of the parent bin is not taken. - * The parent bin might've just checked the flag in another thread and as the - * next step proceed to change the child element's state. - * - * MT safe. - * - * Params: - * lockedState = %TRUE to lock the element's state - * - * Returns: %TRUE if the state was changed, %FALSE if bad parameters were given - * or the elements state-locking needed no change. - */ - public bool setLockedState(bool lockedState) - { - return gst_element_set_locked_state(gstElement, lockedState) != 0; - } - - /** - * Set the start time of an element. The start time of the element is the - * running time of the element when it last went to the PAUSED state. In READY - * or after a flushing seek, it is set to 0. - * - * Toplevel elements like #GstPipeline will manage the start_time and - * base_time on its children. Setting the start_time to #GST_CLOCK_TIME_NONE - * on such a toplevel element will disable the distribution of the base_time to - * the children and can be useful if the application manages the base_time - * itself, for example if you want to synchronize capture from multiple - * pipelines, and you can also ensure that the pipelines have the same clock. - * - * MT safe. - * - * Params: - * time = the base time to set. - */ - public void setStartTime(GstClockTime time) - { - gst_element_set_start_time(gstElement, time); - } - - /** - * Sets the state of the element. This function will try to set the - * requested state by going through all the intermediary states and calling - * the class's state change function for each. - * - * This function can return #GST_STATE_CHANGE_ASYNC, in which case the - * element will perform the remainder of the state change asynchronously in - * another thread. - * An application can use gst_element_get_state() to wait for the completion - * of the state change or it can wait for a %GST_MESSAGE_ASYNC_DONE or - * %GST_MESSAGE_STATE_CHANGED on the bus. - * - * State changes to %GST_STATE_READY or %GST_STATE_NULL never return - * #GST_STATE_CHANGE_ASYNC. - * - * Params: - * state = the element's new #GstState. - * - * Returns: Result of the state change using #GstStateChangeReturn. - * - * MT safe. - */ - public GstStateChangeReturn setState(GstState state) - { - return gst_element_set_state(gstElement, state); - } - - /** - * Tries to change the state of the element to the same as its parent. - * If this function returns %FALSE, the state of element is undefined. - * - * Returns: %TRUE, if the element's state could be synced to the parent's state. - * - * MT safe. - */ - public bool syncStateWithParent() - { - return gst_element_sync_state_with_parent(gstElement) != 0; - } - - /** - * Unlinks all source pads of the source element with all sink pads - * of the sink element to which they are linked. - * - * If the link has been made using gst_element_link(), it could have created an - * requestpad, which has to be released using gst_element_release_request_pad(). - * - * Params: - * dest = the sink #GstElement to unlink. - */ - public void unlink(Element dest) - { - gst_element_unlink(gstElement, (dest is null) ? null : dest.getElementStruct()); - } - - /** - * Unlinks the two named pads of the source and destination elements. - * - * This is a convenience function for gst_pad_unlink(). - * - * Params: - * srcpadname = the name of the #GstPad in source element. - * dest = a #GstElement containing the destination pad. - * destpadname = the name of the #GstPad in destination element. - */ - public void unlinkPads(string srcpadname, Element dest, string destpadname) - { - gst_element_unlink_pads(gstElement, Str.toStringz(srcpadname), (dest is null) ? null : dest.getElementStruct(), Str.toStringz(destpadname)); - } - - /** - * This signals that the element will not generate more dynamic pads. - * Note that this signal will usually be emitted from the context of - * the streaming thread. - */ - gulong addOnNoMorePads(void delegate(Element) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "no-more-pads", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * a new #GstPad has been added to the element. Note that this signal will - * usually be emitted from the context of the streaming thread. Also keep in - * mind that if you add new elements to the pipeline in the signal handler - * you will need to set them to the desired target state with - * gst_element_set_state() or gst_element_sync_state_with_parent(). - * - * Params: - * newPad = the pad that has been added - */ - gulong addOnPadAdded(void delegate(Pad, Element) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "pad-added", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * a #GstPad has been removed from the element - * - * Params: - * oldPad = the pad that has been removed - */ - gulong addOnPadRemoved(void delegate(Pad, Element) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "pad-removed", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gstreamer/ElementClass.d b/generated/gstreamer/gstreamer/ElementClass.d deleted file mode 100644 index 30d7cf928..000000000 --- a/generated/gstreamer/gstreamer/ElementClass.d +++ /dev/null @@ -1,252 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ElementClass; - -private import glib.ListG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.PadTemplate; -private import gstreamer.StaticPadTemplate; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * GStreamer element class. Override the vmethods to implement the element - * functionality. - */ -public class ElementClass -{ - /** the main Gtk struct */ - protected GstElementClass* gstElementClass; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstElementClass* getElementClassStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstElementClass; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstElementClass; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstElementClass* gstElementClass, bool ownedRef = false) - { - this.gstElementClass = gstElementClass; - this.ownedRef = ownedRef; - } - - - /** - * Set @key with @value as metadata in @klass. - * - * Params: - * key = the key to set - * value = the value to set - */ - public void addMetadata(string key, string value) - { - gst_element_class_add_metadata(gstElementClass, Str.toStringz(key), Str.toStringz(value)); - } - - /** - * Adds a padtemplate to an element class. This is mainly used in the _class_init - * functions of classes. If a pad template with the same name as an already - * existing one is added the old one is replaced by the new one. - * - * @templ's reference count will be incremented, and any floating - * reference will be removed (see gst_object_ref_sink()) - * - * Params: - * templ = a #GstPadTemplate to add to the element class. - */ - public void addPadTemplate(PadTemplate templ) - { - gst_element_class_add_pad_template(gstElementClass, (templ is null) ? null : templ.getPadTemplateStruct()); - } - - /** - * Set @key with @value as metadata in @klass. - * - * Same as gst_element_class_add_metadata(), but @value must be a static string - * or an inlined string, as it will not be copied. (GStreamer plugins will - * be made resident once loaded, so this function can be used even from - * dynamically loaded plugins.) - * - * Params: - * key = the key to set - * value = the value to set - */ - public void addStaticMetadata(string key, string value) - { - gst_element_class_add_static_metadata(gstElementClass, Str.toStringz(key), Str.toStringz(value)); - } - - /** - * Adds a pad template to an element class based on the static pad template - * @templ. This is mainly used in the _class_init functions of element - * implementations. If a pad template with the same name already exists, - * the old one is replaced by the new one. - * - * Params: - * staticTempl = #GstStaticPadTemplate to add as pad template to the element class. - * - * Since: 1.8 - */ - public void addStaticPadTemplate(StaticPadTemplate staticTempl) - { - gst_element_class_add_static_pad_template(gstElementClass, (staticTempl is null) ? null : staticTempl.getStaticPadTemplateStruct()); - } - - /** - * Adds a pad template to an element class based on the static pad template - * @templ. This is mainly used in the _class_init functions of element - * implementations. If a pad template with the same name already exists, - * the old one is replaced by the new one. - * - * Params: - * staticTempl = #GstStaticPadTemplate to add as pad template to the element class. - * padType = The #GType of the pad to create - * - * Since: 1.14 - */ - public void addStaticPadTemplateWithGtype(StaticPadTemplate staticTempl, GType padType) - { - gst_element_class_add_static_pad_template_with_gtype(gstElementClass, (staticTempl is null) ? null : staticTempl.getStaticPadTemplateStruct(), padType); - } - - /** - * Get metadata with @key in @klass. - * - * Params: - * key = the key to get - * - * Returns: the metadata for @key. - */ - public string getMetadata(string key) - { - return Str.toString(gst_element_class_get_metadata(gstElementClass, Str.toStringz(key))); - } - - /** - * Retrieves a padtemplate from @element_class with the given name. - * > If you use this function in the #GInstanceInitFunc of an object class - * > that has subclasses, make sure to pass the g_class parameter of the - * > #GInstanceInitFunc here. - * - * Params: - * name = the name of the #GstPadTemplate to get. - * - * Returns: the #GstPadTemplate with the - * given name, or %NULL if none was found. No unreferencing is - * necessary. - */ - public PadTemplate getPadTemplate(string name) - { - auto __p = gst_element_class_get_pad_template(gstElementClass, Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(PadTemplate)(cast(GstPadTemplate*) __p); - } - - /** - * Retrieves a list of the pad templates associated with @element_class. The - * list must not be modified by the calling code. - * > If you use this function in the #GInstanceInitFunc of an object class - * > that has subclasses, make sure to pass the g_class parameter of the - * > #GInstanceInitFunc here. - * - * Returns: the #GList of - * pad templates. - */ - public ListG getPadTemplateList() - { - auto __p = gst_element_class_get_pad_template_list(gstElementClass); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p); - } - - /** - * Sets the detailed information for a #GstElementClass. - * > This function is for use in _class_init functions only. - * - * Params: - * longname = The long English name of the element. E.g. "File Sink" - * classification = String describing the type of element, as an unordered list - * separated with slashes ('/'). See draft-klass.txt of the design docs - * for more details and common types. E.g: "Sink/File" - * description = Sentence describing the purpose of the element. - * E.g: "Write stream to a file" - * author = Name and contact details of the author(s). Use \n to separate - * multiple author metadata. E.g: "Joe Bloggs <joe.blogs at foo.com>" - */ - public void setMetadata(string longname, string classification, string description, string author) - { - gst_element_class_set_metadata(gstElementClass, Str.toStringz(longname), Str.toStringz(classification), Str.toStringz(description), Str.toStringz(author)); - } - - /** - * Sets the detailed information for a #GstElementClass. - * - * > This function is for use in _class_init functions only. - * - * Same as gst_element_class_set_metadata(), but @longname, @classification, - * @description, and @author must be static strings or inlined strings, as - * they will not be copied. (GStreamer plugins will be made resident once - * loaded, so this function can be used even from dynamically loaded plugins.) - * - * Params: - * longname = The long English name of the element. E.g. "File Sink" - * classification = String describing the type of element, as an unordered list - * separated with slashes ('/'). See draft-klass.txt of the design docs - * for more details and common types. E.g: "Sink/File" - * description = Sentence describing the purpose of the element. - * E.g: "Write stream to a file" - * author = Name and contact details of the author(s). Use \n to separate - * multiple author metadata. E.g: "Joe Bloggs <joe.blogs at foo.com>" - */ - public void setStaticMetadata(string longname, string classification, string description, string author) - { - gst_element_class_set_static_metadata(gstElementClass, Str.toStringz(longname), Str.toStringz(classification), Str.toStringz(description), Str.toStringz(author)); - } -} diff --git a/generated/gstreamer/gstreamer/ElementFactory.d b/generated/gstreamer/gstreamer/ElementFactory.d deleted file mode 100644 index 31deeaeba..000000000 --- a/generated/gstreamer/gstreamer/ElementFactory.d +++ /dev/null @@ -1,422 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ElementFactory; - -private import glib.ListG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.Caps; -private import gstreamer.Element; -private import gstreamer.PluginFeature; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * #GstElementFactory is used to create instances of elements. A - * GstElementFactory can be added to a #GstPlugin as it is also a - * #GstPluginFeature. - * - * Use the gst_element_factory_find() and gst_element_factory_create() - * functions to create element instances or use gst_element_factory_make() as a - * convenient shortcut. - * - * The following code example shows you how to create a GstFileSrc element. - * - * ## Using an element factory - * |[ - * #include <gst/gst.h> - * - * GstElement *src; - * GstElementFactory *srcfactory; - * - * gst_init (&argc, &argv); - * - * srcfactory = gst_element_factory_find ("filesrc"); - * g_return_if_fail (srcfactory != NULL); - * src = gst_element_factory_create (srcfactory, "src"); - * g_return_if_fail (src != NULL); - * ... - * ]| - */ -public class ElementFactory : PluginFeature -{ - /** the main Gtk struct */ - protected GstElementFactory* gstElementFactory; - - /** Get the main Gtk struct */ - public GstElementFactory* getElementFactoryStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstElementFactory; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstElementFactory; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstElementFactory* gstElementFactory, bool ownedRef = false) - { - this.gstElementFactory = gstElementFactory; - super(cast(GstPluginFeature*)gstElementFactory, ownedRef); - } - - /** - * Create a new element of the type defined by the given element factory. - * The element will receive a guaranteed unique name, - * consisting of the element factory name and a number. - * Params: - * factoryname = a named factory to instantiate - * Returns: - * new GstElement or NULL if unable to create element - */ - public static Element make( string factoryname ) - { - // GstElement* gst_element_factory_make (const gchar *factoryname, const gchar *name); - auto p = gst_element_factory_make(Str.toStringz(factoryname), null ); - - if(p is null) - { - return null; - } - - return ObjectG.getDObject!(Element)(cast(GstElement*) p); - } - - /** - */ - - /** */ - public static GType getType() - { - return gst_element_factory_get_type(); - } - - /** - * Search for an element factory of the given name. Refs the returned - * element factory; caller is responsible for unreffing. - * - * Params: - * name = name of factory to find - * - * Returns: #GstElementFactory if found, - * %NULL otherwise - */ - public static ElementFactory find(string name) - { - auto __p = gst_element_factory_find(Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(ElementFactory)(cast(GstElementFactory*) __p, true); - } - - /** - * Filter out all the elementfactories in @list that can handle @caps in - * the given direction. - * - * If @subsetonly is %TRUE, then only the elements whose pads templates - * are a complete superset of @caps will be returned. Else any element - * whose pad templates caps can intersect with @caps will be returned. - * - * Params: - * list = a #GList of - * #GstElementFactory to filter - * caps = a #GstCaps - * direction = a #GstPadDirection to filter on - * subsetonly = whether to filter on caps subsets or not. - * - * Returns: a #GList of - * #GstElementFactory elements that match the given requisites. - * Use #gst_plugin_feature_list_free after usage. - */ - public static ListG listFilter(ListG list, Caps caps, GstPadDirection direction, bool subsetonly) - { - auto __p = gst_element_factory_list_filter((list is null) ? null : list.getListGStruct(), (caps is null) ? null : caps.getCapsStruct(), direction, subsetonly); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Get a list of factories that match the given @type. Only elements - * with a rank greater or equal to @minrank will be returned. - * The list of factories is returned by decreasing rank. - * - * Params: - * type = a #GstElementFactoryListType - * minrank = Minimum rank - * - * Returns: a #GList of - * #GstElementFactory elements. Use gst_plugin_feature_list_free() after - * usage. - */ - public static ListG listGetElements(GstElementFactoryListType type, GstRank minrank) - { - auto __p = gst_element_factory_list_get_elements(type, minrank); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Create a new element of the type defined by the given element factory. - * If name is %NULL, then the element will receive a guaranteed unique name, - * consisting of the element factory name and a number. - * If name is given, it will be given the name supplied. - * - * Params: - * factoryname = a named factory to instantiate - * name = name of new element, or %NULL to automatically create - * a unique name - * - * Returns: new #GstElement or %NULL - * if unable to create element - */ - public static Element make(string factoryname, string name) - { - auto __p = gst_element_factory_make(Str.toStringz(factoryname), Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Element)(cast(GstElement*) __p); - } - - /** - * Checks if the factory can sink all possible capabilities. - * - * Params: - * caps = the caps to check - * - * Returns: %TRUE if the caps are fully compatible. - */ - public bool canSinkAllCaps(Caps caps) - { - return gst_element_factory_can_sink_all_caps(gstElementFactory, (caps is null) ? null : caps.getCapsStruct()) != 0; - } - - /** - * Checks if the factory can sink any possible capability. - * - * Params: - * caps = the caps to check - * - * Returns: %TRUE if the caps have a common subset. - */ - public bool canSinkAnyCaps(Caps caps) - { - return gst_element_factory_can_sink_any_caps(gstElementFactory, (caps is null) ? null : caps.getCapsStruct()) != 0; - } - - /** - * Checks if the factory can src all possible capabilities. - * - * Params: - * caps = the caps to check - * - * Returns: %TRUE if the caps are fully compatible. - */ - public bool canSrcAllCaps(Caps caps) - { - return gst_element_factory_can_src_all_caps(gstElementFactory, (caps is null) ? null : caps.getCapsStruct()) != 0; - } - - /** - * Checks if the factory can src any possible capability. - * - * Params: - * caps = the caps to check - * - * Returns: %TRUE if the caps have a common subset. - */ - public bool canSrcAnyCaps(Caps caps) - { - return gst_element_factory_can_src_any_caps(gstElementFactory, (caps is null) ? null : caps.getCapsStruct()) != 0; - } - - /** - * Create a new element of the type defined by the given elementfactory. - * It will be given the name supplied, since all elements require a name as - * their first argument. - * - * Params: - * name = name of new element, or %NULL to automatically create - * a unique name - * - * Returns: new #GstElement or %NULL - * if the element couldn't be created - */ - public Element create(string name) - { - auto __p = gst_element_factory_create(gstElementFactory, Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Element)(cast(GstElement*) __p); - } - - /** - * Get the #GType for elements managed by this factory. The type can - * only be retrieved if the element factory is loaded, which can be - * assured with gst_plugin_feature_load(). - * - * Returns: the #GType for elements managed by this factory or 0 if - * the factory is not loaded. - */ - public GType getElementType() - { - return gst_element_factory_get_element_type(gstElementFactory); - } - - /** - * Get the metadata on @factory with @key. - * - * Params: - * key = a key - * - * Returns: the metadata with @key on @factory or %NULL - * when there was no metadata with the given @key. - */ - public string getMetadata(string key) - { - return Str.toString(gst_element_factory_get_metadata(gstElementFactory, Str.toStringz(key))); - } - - /** - * Get the available keys for the metadata on @factory. - * - * Returns: a %NULL-terminated array of key strings, or %NULL when there is no - * metadata. Free with g_strfreev() when no longer needed. - */ - public string[] getMetadataKeys() - { - auto retStr = gst_element_factory_get_metadata_keys(gstElementFactory); - - scope(exit) Str.freeStringArray(retStr); - return Str.toStringArray(retStr); - } - - /** - * Gets the number of pad_templates in this factory. - * - * Returns: the number of pad_templates - */ - public uint getNumPadTemplates() - { - return gst_element_factory_get_num_pad_templates(gstElementFactory); - } - - /** - * Gets the #GList of #GstStaticPadTemplate for this factory. - * - * Returns: the - * static pad templates - */ - public ListG getStaticPadTemplates() - { - auto __p = gst_element_factory_get_static_pad_templates(gstElementFactory); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p); - } - - /** - * Gets a %NULL-terminated array of protocols this element supports or %NULL if - * no protocols are supported. You may not change the contents of the returned - * array, as it is still owned by the element factory. Use g_strdupv() to - * make a copy of the protocol string array if you need to. - * - * Returns: the supported protocols - * or %NULL - */ - public string[] getUriProtocols() - { - return Str.toStringArray(gst_element_factory_get_uri_protocols(gstElementFactory)); - } - - /** - * Gets the type of URIs the element supports or #GST_URI_UNKNOWN if none. - * - * Returns: type of URIs this element supports - */ - public GstURIType getUriType() - { - return gst_element_factory_get_uri_type(gstElementFactory); - } - - /** - * Check if @factory implements the interface with name @interfacename. - * - * Params: - * interfacename = an interface name - * - * Returns: %TRUE when @factory implement the interface. - */ - public bool hasInterface(string interfacename) - { - return gst_element_factory_has_interface(gstElementFactory, Str.toStringz(interfacename)) != 0; - } - - /** - * Check if @factory is of the given types. - * - * Params: - * type = a #GstElementFactoryListType - * - * Returns: %TRUE if @factory is of @type. - */ - public bool listIsType(GstElementFactoryListType type) - { - return gst_element_factory_list_is_type(gstElementFactory, type) != 0; - } -} diff --git a/generated/gstreamer/gstreamer/Event.d b/generated/gstreamer/gstreamer/Event.d deleted file mode 100644 index 007563aab..000000000 --- a/generated/gstreamer/gstreamer/Event.d +++ /dev/null @@ -1,1651 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Event; - -private import glib.ConstructionException; -private import glib.ListG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.Buffer; -private import gstreamer.Caps; -private import gstreamer.Message; -private import gstreamer.Segment; -private import gstreamer.Stream; -private import gstreamer.StreamCollection; -private import gstreamer.Structure; -private import gstreamer.TagList; -private import gstreamer.Toc; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * The event class provides factory methods to construct events for sending - * and functions to query (parse) received events. - * - * Events are usually created with gst_event_new_*() which takes event-type - * specific parameters as arguments. - * To send an event application will usually use gst_element_send_event() and - * elements will use gst_pad_send_event() or gst_pad_push_event(). - * The event should be unreffed with gst_event_unref() if it has not been sent. - * - * Events that have been received can be parsed with their respective - * gst_event_parse_*() functions. It is valid to pass %NULL for unwanted details. - * - * Events are passed between elements in parallel to the data stream. Some events - * are serialized with buffers, others are not. Some events only travel downstream, - * others only upstream. Some events can travel both upstream and downstream. - * - * The events are used to signal special conditions in the datastream such as - * EOS (end of stream) or the start of a new stream-segment. - * Events are also used to flush the pipeline of any pending data. - * - * Most of the event API is used inside plugins. Applications usually only - * construct and use seek events. - * To do that gst_event_new_seek() is used to create a seek event. It takes - * the needed parameters to specify seeking time and mode. - * |[ - * GstEvent *event; - * gboolean result; - * ... - * // construct a seek event to play the media from second 2 to 5, flush - * // the pipeline to decrease latency. - * event = gst_event_new_seek (1.0, - * GST_FORMAT_TIME, - * GST_SEEK_FLAG_FLUSH, - * GST_SEEK_TYPE_SET, 2 * GST_SECOND, - * GST_SEEK_TYPE_SET, 5 * GST_SECOND); - * ... - * result = gst_element_send_event (pipeline, event); - * if (!result) - * g_warning ("seek failed"); - * ... - * ]| - */ -public class Event -{ - /** the main Gtk struct */ - protected GstEvent* gstEvent; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstEvent* getEventStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstEvent; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstEvent; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstEvent* gstEvent, bool ownedRef = false) - { - this.gstEvent = gstEvent; - this.ownedRef = ownedRef; - } - - /** - * Create a new EOS event. The eos event can only travel downstream - * synchronized with the buffer flow. Elements that receive the EOS - * event on a pad can return UNEXPECTED as a GstFlowReturn when data - * after the EOS event arrives. - * The EOS event will travel down to the sink elements in the pipeline - * which will then post the GST_MESSAGE_EOS on the bus after they have - * finished playing any buffered data. - * When all sinks have posted an EOS message, the EOS message is - * forwarded to the application. - * Returns: - * The new EOS event. - */ - public static Event newEOS() - { - // GstEvent* gst_event_new_eos (void); - auto p = gst_event_new_eos(); - - if(p is null) - { - throw new ConstructionException("null returned by gst_event_new_eos"); - } - - return new Event(cast(GstEvent*)p ); - } - - /** - * Allocate a new flush start event. The flush start event can be send - * upstream and downstream and travels out-of-bounds with the dataflow. - * It marks pads as being in a WRONG_STATE to process more data. - * Elements unlock and blocking functions and exit their streaming functions - * as fast as possible. - * This event is typically generated after a seek to minimize the latency - * after the seek. - * Returns: - * A new flush start event. - */ - public static Event newFlushStart() - { - // GstEvent* gst_event_new_flush_start (void); - auto p = gst_event_new_flush_start(); - - if(p is null) - { - throw new ConstructionException("null returned by gst_event_new_flush_start"); - } - - return new Event(cast(GstEvent*)p ); - } - - /** - * Generate a TOC select event with the given uid. The purpose of the - * TOC select event is to start playback based on the TOC's entry with - * the given uid. - */ - public static Event newTocSelect(string uid) - { - // GstEvent* gst_event_new_toc_select (const gchar *uid); - auto p = gst_event_new_toc_select(cast(char*)uid.ptr); - - if(p is null) - { - throw new ConstructionException("null returned by gst_event_new_toc_select"); - } - - return new Event(cast(GstEvent*)p ); - } - - /** - */ - - /** */ - public static GType getType() - { - return gst_event_get_type(); - } - - /** - * Create a new buffersize event. The event is sent downstream and notifies - * elements that they should provide a buffer of the specified dimensions. - * - * When the @async flag is set, a thread boundary is preferred. - * - * Params: - * format = buffer format - * minsize = minimum buffer size - * maxsize = maximum buffer size - * async = thread behavior - * - * Returns: a new #GstEvent - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstFormat format, long minsize, long maxsize, bool async) - { - auto __p = gst_event_new_buffer_size(format, minsize, maxsize, async); - - if(__p is null) - { - throw new ConstructionException("null returned by new_buffer_size"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new CAPS event for @caps. The caps event can only travel downstream - * synchronized with the buffer flow and contains the format of the buffers - * that will follow after the event. - * - * Params: - * caps = a #GstCaps - * - * Returns: the new CAPS event. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(Caps caps) - { - auto __p = gst_event_new_caps((caps is null) ? null : caps.getCapsStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_caps"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new custom-typed event. This can be used for anything not - * handled by other event-specific functions to pass an event to another - * element. - * - * Make sure to allocate an event type with the #GST_EVENT_MAKE_TYPE macro, - * assigning a free number and filling in the correct direction and - * serialization flags. - * - * New custom events can also be created by subclassing the event type if - * needed. - * - * Params: - * type = The type of the new event - * structure = the structure for the event. The event will - * take ownership of the structure. - * - * Returns: the new custom event. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstEventType type, Structure structure) - { - auto __p = gst_event_new_custom(type, (structure is null) ? null : structure.getStructureStruct(true)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_custom"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Allocate a new flush stop event. The flush stop event can be sent - * upstream and downstream and travels serialized with the dataflow. - * It is typically sent after sending a FLUSH_START event to make the - * pads accept data again. - * - * Elements can process this event synchronized with the dataflow since - * the preceding FLUSH_START event stopped the dataflow. - * - * This event is typically generated to complete a seek and to resume - * dataflow. - * - * Params: - * resetTime = if time should be reset - * - * Returns: a new flush stop event. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(bool resetTime) - { - auto __p = gst_event_new_flush_stop(resetTime); - - if(__p is null) - { - throw new ConstructionException("null returned by new_flush_stop"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new GAP event. A gap event can be thought of as conceptually - * equivalent to a buffer to signal that there is no data for a certain - * amount of time. This is useful to signal a gap to downstream elements - * which may wait for data, such as muxers or mixers or overlays, especially - * for sparse streams such as subtitle streams. - * - * Params: - * timestamp = the start time (pts) of the gap - * duration = the duration of the gap - * - * Returns: the new GAP event. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstClockTime timestamp, GstClockTime duration) - { - auto __p = gst_event_new_gap(timestamp, duration); - - if(__p is null) - { - throw new ConstructionException("null returned by new_gap"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new instant-rate-change event. This event is sent by seek - * handlers (e.g. demuxers) when receiving a seek with the - * %GST_SEEK_FLAG_INSTANT_RATE_CHANGE and signals to downstream elements that - * the playback rate in the existing segment should be immediately multiplied - * by the @rate_multiplier factor. - * - * The flags provided replace any flags in the existing segment, for the - * flags within the %GST_SEGMENT_INSTANT_FLAGS set. Other GstSegmentFlags - * are ignored and not transferred in the event. - * - * Params: - * rateMultiplier = the multiplier to be applied to the playback rate - * newFlags = A new subset of segment flags to replace in segments - * - * Returns: the new instant-rate-change event. - * - * Since: 1.18 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(double rateMultiplier, GstSegmentFlags newFlags) - { - auto __p = gst_event_new_instant_rate_change(rateMultiplier, newFlags); - - if(__p is null) - { - throw new ConstructionException("null returned by new_instant_rate_change"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new instant-rate-sync-time event. This event is sent by the - * pipeline to notify elements handling the instant-rate-change event about - * the running-time when the new rate should be applied. The running time - * may be in the past when elements handle this event, which can lead to - * switching artifacts. The magnitude of those depends on the exact timing - * of event delivery to each element and the magnitude of the change in - * playback rate being applied. - * - * The @running_time and @upstream_running_time are the same if this - * is the first instant-rate adjustment, but will differ for later ones - * to compensate for the accumulated offset due to playing at a rate - * different to the one indicated in the playback segments. - * - * Params: - * rateMultiplier = the new playback rate multiplier to be applied - * runningTime = Running time when the rate change should be applied - * upstreamRunningTime = The upstream-centric running-time when the - * rate change should be applied. - * - * Returns: the new instant-rate-sync-time event. - * - * Since: 1.18 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(double rateMultiplier, GstClockTime runningTime, GstClockTime upstreamRunningTime) - { - auto __p = gst_event_new_instant_rate_sync_time(rateMultiplier, runningTime, upstreamRunningTime); - - if(__p is null) - { - throw new ConstructionException("null returned by new_instant_rate_sync_time"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new latency event. The event is sent upstream from the sinks and - * notifies elements that they should add an additional @latency to the - * running time before synchronising against the clock. - * - * The latency is mostly used in live sinks and is always expressed in - * the time format. - * - * Params: - * latency = the new latency value - * - * Returns: a new #GstEvent - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstClockTime latency) - { - auto __p = gst_event_new_latency(latency); - - if(__p is null) - { - throw new ConstructionException("null returned by new_latency"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new navigation event from the given description. - * - * Params: - * structure = description of the event. The event will take - * ownership of the structure. - * - * Returns: a new #GstEvent - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(Structure structure) - { - auto __p = gst_event_new_navigation((structure is null) ? null : structure.getStructureStruct(true)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_navigation"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Creates a new event containing information specific to a particular - * protection system (uniquely identified by @system_id), by which that - * protection system can acquire key(s) to decrypt a protected stream. - * - * In order for a decryption element to decrypt media - * protected using a specific system, it first needs all the - * protection system specific information necessary to acquire the decryption - * key(s) for that stream. The functions defined here enable this information - * to be passed in events from elements that extract it - * (e.g., ISOBMFF demuxers, MPEG DASH demuxers) to protection decrypter - * elements that use it. - * - * Events containing protection system specific information are created using - * #gst_event_new_protection, and they can be parsed by downstream elements - * using #gst_event_parse_protection. - * - * In Common Encryption, protection system specific information may be located - * within ISOBMFF files, both in movie (moov) boxes and movie fragment (moof) - * boxes; it may also be contained in ContentProtection elements within MPEG - * DASH MPDs. The events created by #gst_event_new_protection contain data - * identifying from which of these locations the encapsulated protection system - * specific information originated. This origin information is required as - * some protection systems use different encodings depending upon where the - * information originates. - * - * The events returned by gst_event_new_protection() are implemented - * in such a way as to ensure that the most recently-pushed protection info - * event of a particular @origin and @system_id will - * be stuck to the output pad of the sending element. - * - * Params: - * systemId = a string holding a UUID that uniquely - * identifies a protection system. - * data = a #GstBuffer holding protection system specific - * information. The reference count of the buffer will be incremented by one. - * origin = a string indicating where the protection - * information carried in the event was extracted from. The allowed values - * of this string will depend upon the protection scheme. - * - * Returns: a #GST_EVENT_PROTECTION event, if successful; %NULL - * if unsuccessful. - * - * Since: 1.6 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string systemId, Buffer data, string origin) - { - auto __p = gst_event_new_protection(Str.toStringz(systemId), (data is null) ? null : data.getBufferStruct(), Str.toStringz(origin)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_protection"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Allocate a new qos event with the given values. - * The QOS event is generated in an element that wants an upstream - * element to either reduce or increase its rate because of - * high/low CPU load or other resource usage such as network performance or - * throttling. Typically sinks generate these events for each buffer - * they receive. - * - * @type indicates the reason for the QoS event. #GST_QOS_TYPE_OVERFLOW is - * used when a buffer arrived in time or when the sink cannot keep up with - * the upstream datarate. #GST_QOS_TYPE_UNDERFLOW is when the sink is not - * receiving buffers fast enough and thus has to drop late buffers. - * #GST_QOS_TYPE_THROTTLE is used when the datarate is artificially limited - * by the application, for example to reduce power consumption. - * - * @proportion indicates the real-time performance of the streaming in the - * element that generated the QoS event (usually the sink). The value is - * generally computed based on more long term statistics about the streams - * timestamps compared to the clock. - * A value < 1.0 indicates that the upstream element is producing data faster - * than real-time. A value > 1.0 indicates that the upstream element is not - * producing data fast enough. 1.0 is the ideal @proportion value. The - * proportion value can safely be used to lower or increase the quality of - * the element. - * - * @diff is the difference against the clock in running time of the last - * buffer that caused the element to generate the QOS event. A negative value - * means that the buffer with @timestamp arrived in time. A positive value - * indicates how late the buffer with @timestamp was. When throttling is - * enabled, @diff will be set to the requested throttling interval. - * - * @timestamp is the timestamp of the last buffer that cause the element - * to generate the QOS event. It is expressed in running time and thus an ever - * increasing value. - * - * The upstream element can use the @diff and @timestamp values to decide - * whether to process more buffers. For positive @diff, all buffers with - * timestamp <= @timestamp + @diff will certainly arrive late in the sink - * as well. A (negative) @diff value so that @timestamp + @diff would yield a - * result smaller than 0 is not allowed. - * - * The application can use general event probes to intercept the QoS - * event and implement custom application specific QoS handling. - * - * Params: - * type = the QoS type - * proportion = the proportion of the qos message - * diff = The time difference of the last Clock sync - * timestamp = The timestamp of the buffer - * - * Returns: a new QOS event. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstQOSType type, double proportion, GstClockTimeDiff diff, GstClockTime timestamp) - { - auto __p = gst_event_new_qos(type, proportion, diff, timestamp); - - if(__p is null) - { - throw new ConstructionException("null returned by new_qos"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new reconfigure event. The purpose of the reconfigure event is - * to travel upstream and make elements renegotiate their caps or reconfigure - * their buffer pools. This is useful when changing properties on elements - * or changing the topology of the pipeline. - * - * Returns: a new #GstEvent - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_event_new_reconfigure(); - - if(__p is null) - { - throw new ConstructionException("null returned by new_reconfigure"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Allocate a new seek event with the given parameters. - * - * The seek event configures playback of the pipeline between @start to @stop - * at the speed given in @rate, also called a playback segment. - * The @start and @stop values are expressed in @format. - * - * A @rate of 1.0 means normal playback rate, 2.0 means double speed. - * Negatives values means backwards playback. A value of 0.0 for the - * rate is not allowed and should be accomplished instead by PAUSING the - * pipeline. - * - * A pipeline has a default playback segment configured with a start - * position of 0, a stop position of -1 and a rate of 1.0. The currently - * configured playback segment can be queried with #GST_QUERY_SEGMENT. - * - * @start_type and @stop_type specify how to adjust the currently configured - * start and stop fields in playback segment. Adjustments can be made relative - * or absolute to the last configured values. A type of #GST_SEEK_TYPE_NONE - * means that the position should not be updated. - * - * When the rate is positive and @start has been updated, playback will start - * from the newly configured start position. - * - * For negative rates, playback will start from the newly configured stop - * position (if any). If the stop position is updated, it must be different from - * -1 (#GST_CLOCK_TIME_NONE) for negative rates. - * - * It is not possible to seek relative to the current playback position, to do - * this, PAUSE the pipeline, query the current playback position with - * #GST_QUERY_POSITION and update the playback segment current position with a - * #GST_SEEK_TYPE_SET to the desired position. - * - * Params: - * rate = The new playback rate - * format = The format of the seek values - * flags = The optional seek flags - * startType = The type and flags for the new start position - * start = The value of the new start position - * stopType = The type and flags for the new stop position - * stop = The value of the new stop position - * - * Returns: a new seek event. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(double rate, GstFormat format, GstSeekFlags flags, GstSeekType startType, long start, GstSeekType stopType, long stop) - { - auto __p = gst_event_new_seek(rate, format, flags, startType, start, stopType, stop); - - if(__p is null) - { - throw new ConstructionException("null returned by new_seek"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new SEGMENT event for @segment. The segment event can only travel - * downstream synchronized with the buffer flow and contains timing information - * and playback properties for the buffers that will follow. - * - * The segment event marks the range of buffers to be processed. All - * data not within the segment range is not to be processed. This can be - * used intelligently by plugins to apply more efficient methods of skipping - * unneeded data. The valid range is expressed with the @start and @stop - * values. - * - * The time value of the segment is used in conjunction with the start - * value to convert the buffer timestamps into the stream time. This is - * usually done in sinks to report the current stream_time. - * @time represents the stream_time of a buffer carrying a timestamp of - * @start. @time cannot be -1. - * - * @start cannot be -1, @stop can be -1. If there - * is a valid @stop given, it must be greater or equal the @start, including - * when the indicated playback @rate is < 0. - * - * The @applied_rate value provides information about any rate adjustment that - * has already been made to the timestamps and content on the buffers of the - * stream. (@rate * @applied_rate) should always equal the rate that has been - * requested for playback. For example, if an element has an input segment - * with intended playback @rate of 2.0 and applied_rate of 1.0, it can adjust - * incoming timestamps and buffer content by half and output a segment event - * with @rate of 1.0 and @applied_rate of 2.0 - * - * After a segment event, the buffer stream time is calculated with: - * - * time + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate) - * - * Params: - * segment = a #GstSegment - * - * Returns: the new SEGMENT event. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(Segment segment) - { - auto __p = gst_event_new_segment((segment is null) ? null : segment.getSegmentStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_segment"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new segment-done event. This event is sent by elements that - * finish playback of a segment as a result of a segment seek. - * - * Params: - * format = The format of the position being done - * position = The position of the segment being done - * - * Returns: a new #GstEvent - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstFormat format, long position) - { - auto __p = gst_event_new_segment_done(format, position); - - if(__p is null) - { - throw new ConstructionException("null returned by new_segment_done"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Allocate a new select-streams event. - * - * The select-streams event requests the specified @streams to be activated. - * - * The list of @streams corresponds to the "Stream ID" of each stream to be - * activated. Those ID can be obtained via the #GstStream objects present - * in #GST_EVENT_STREAM_START, #GST_EVENT_STREAM_COLLECTION or - * #GST_MESSAGE_STREAM_COLLECTION. - * - * Note: The list of @streams can not be empty. - * - * Params: - * streams = the list of streams to - * activate - * - * Returns: a new select-streams event or %NULL in case of - * an error (like an empty streams list). - * - * Since: 1.10 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ListG streams) - { - auto __p = gst_event_new_select_streams((streams is null) ? null : streams.getListGStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_select_streams"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new sink-message event. The purpose of the sink-message event is - * to instruct a sink to post the message contained in the event synchronized - * with the stream. - * - * @name is used to store multiple sticky events on one pad. - * - * Params: - * name = a name for the event - * msg = the #GstMessage to be posted - * - * Returns: a new #GstEvent - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string name, Message msg) - { - auto __p = gst_event_new_sink_message(Str.toStringz(name), (msg is null) ? null : msg.getMessageStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_sink_message"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new step event. The purpose of the step event is to instruct a sink - * to skip @amount (expressed in @format) of media. It can be used to implement - * stepping through the video frame by frame or for doing fast trick modes. - * - * A rate of <= 0.0 is not allowed. Pause the pipeline, for the effect of rate - * = 0.0 or first reverse the direction of playback using a seek event to get - * the same effect as rate < 0.0. - * - * The @flush flag will clear any pending data in the pipeline before starting - * the step operation. - * - * The @intermediate flag instructs the pipeline that this step operation is - * part of a larger step operation. - * - * Params: - * format = the format of @amount - * amount = the amount of data to step - * rate = the step rate - * flush = flushing steps - * intermediate = intermediate steps - * - * Returns: a new #GstEvent - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstFormat format, ulong amount, double rate, bool flush, bool intermediate) - { - auto __p = gst_event_new_step(format, amount, rate, flush, intermediate); - - if(__p is null) - { - throw new ConstructionException("null returned by new_step"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new STREAM_COLLECTION event. The stream collection event can only - * travel downstream synchronized with the buffer flow. - * - * Source elements, demuxers and other elements that manage collections - * of streams and post #GstStreamCollection messages on the bus also send - * this event downstream on each pad involved in the collection, so that - * activation of a new collection can be tracked through the downstream - * data flow. - * - * Params: - * collection = Active collection for this data flow - * - * Returns: the new STREAM_COLLECTION event. - * - * Since: 1.10 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(StreamCollection collection) - { - auto __p = gst_event_new_stream_collection((collection is null) ? null : collection.getStreamCollectionStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_stream_collection"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new Stream Group Done event. The stream-group-done event can - * only travel downstream synchronized with the buffer flow. Elements - * that receive the event on a pad should handle it mostly like EOS, - * and emit any data or pending buffers that would depend on more data - * arriving and unblock, since there won't be any more data. - * - * This event is followed by EOS at some point in the future, and is - * generally used when switching pads - to unblock downstream so that - * new pads can be exposed before sending EOS on the existing pads. - * - * Params: - * groupId = the group id of the stream group which is ending - * - * Returns: the new stream-group-done event. - * - * Since: 1.10 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(uint groupId) - { - auto __p = gst_event_new_stream_group_done(groupId); - - if(__p is null) - { - throw new ConstructionException("null returned by new_stream_group_done"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Create a new STREAM_START event. The stream start event can only - * travel downstream synchronized with the buffer flow. It is expected - * to be the first event that is sent for a new stream. - * - * Source elements, demuxers and other elements that create new streams - * are supposed to send this event as the first event of a new stream. It - * should not be sent after a flushing seek or in similar situations - * and is used to mark the beginning of a new logical stream. Elements - * combining multiple streams must ensure that this event is only forwarded - * downstream once and not for every single input stream. - * - * The @stream_id should be a unique string that consists of the upstream - * stream-id, / as separator and a unique stream-id for this specific - * stream. A new stream-id should only be created for a stream if the upstream - * stream is split into (potentially) multiple new streams, e.g. in a demuxer, - * but not for every single element in the pipeline. - * gst_pad_create_stream_id() or gst_pad_create_stream_id_printf() can be - * used to create a stream-id. There are no particular semantics for the - * stream-id, though it should be deterministic (to support stream matching) - * and it might be used to order streams (besides any information conveyed by - * stream flags). - * - * Params: - * streamId = Identifier for this stream - * - * Returns: the new STREAM_START event. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string streamId) - { - auto __p = gst_event_new_stream_start(Str.toStringz(streamId)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_stream_start"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Generates a metadata tag event from the given @taglist. - * - * The scope of the taglist specifies if the taglist applies to the - * complete medium or only to this specific stream. As the tag event - * is a sticky event, elements should merge tags received from - * upstream with a given scope with their own tags with the same - * scope and create a new tag event from it. - * - * Params: - * taglist = metadata list. The event will take ownership - * of the taglist. - * - * Returns: a new #GstEvent - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(TagList taglist) - { - auto __p = gst_event_new_tag((taglist is null) ? null : taglist.getTagListStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_tag"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Generate a TOC event from the given @toc. The purpose of the TOC event is to - * inform elements that some kind of the TOC was found. - * - * Params: - * toc = #GstToc structure. - * updated = whether @toc was updated or not. - * - * Returns: a new #GstEvent. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(Toc toc, bool updated) - { - auto __p = gst_event_new_toc((toc is null) ? null : toc.getTocStruct(), updated); - - if(__p is null) - { - throw new ConstructionException("null returned by new_toc"); - } - - this(cast(GstEvent*) __p); - } - - /** - * Parses a segment @event and copies the #GstSegment into the location - * given by @segment. - * - * Params: - * segment = a pointer to a #GstSegment - */ - public void copySegment(Segment segment) - { - gst_event_copy_segment(gstEvent, (segment is null) ? null : segment.getSegmentStruct()); - } - - /** - * Retrieve the accumulated running time offset of the event. - * - * Events passing through #GstPads that have a running time - * offset set via gst_pad_set_offset() will get their offset - * adjusted according to the pad's offset. - * - * If the event contains any information that related to the - * running time, this information will need to be updated - * before usage with this offset. - * - * Returns: The event's running time offset - * - * MT safe. - * - * Since: 1.4 - */ - public long getRunningTimeOffset() - { - return gst_event_get_running_time_offset(gstEvent); - } - - /** - * Retrieve the sequence number of a event. - * - * Events have ever-incrementing sequence numbers, which may also be set - * explicitly via gst_event_set_seqnum(). Sequence numbers are typically used to - * indicate that a event corresponds to some other set of events or messages, - * for example an EOS event corresponding to a SEEK event. It is considered good - * practice to make this correspondence when possible, though it is not - * required. - * - * Note that events and messages share the same sequence number incrementor; - * two events or messages will never have the same sequence number unless - * that correspondence was made explicitly. - * - * Returns: The event's sequence number. - * - * MT safe. - */ - public uint getSeqnum() - { - return gst_event_get_seqnum(gstEvent); - } - - /** - * Access the structure of the event. - * - * Returns: The structure of the event. The - * structure is still owned by the event, which means that you should not free - * it and that the pointer becomes invalid when you free the event. - * - * MT safe. - */ - public Structure getStructure() - { - auto __p = gst_event_get_structure(gstEvent); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p); - } - - /** - * Checks if @event has the given @name. This function is usually used to - * check the name of a custom event. - * - * Params: - * name = name to check - * - * Returns: %TRUE if @name matches the name of the event structure. - */ - public bool hasName(string name) - { - return gst_event_has_name(gstEvent, Str.toStringz(name)) != 0; - } - - /** - * Checks if @event has the given @name. This function is usually used to - * check the name of a custom event. - * - * Params: - * name = name to check as a GQuark - * - * Returns: %TRUE if @name matches the name of the event structure. - * - * Since: 1.18 - */ - public bool hasNameId(GQuark name) - { - return gst_event_has_name_id(gstEvent, name) != 0; - } - - /** - * Get the format, minsize, maxsize and async-flag in the buffersize event. - * - * Params: - * format = A pointer to store the format in - * minsize = A pointer to store the minsize in - * maxsize = A pointer to store the maxsize in - * async = A pointer to store the async-flag in - */ - public void parseBufferSize(out GstFormat format, out long minsize, out long maxsize, out bool async) - { - int outasync; - - gst_event_parse_buffer_size(gstEvent, &format, &minsize, &maxsize, &outasync); - - async = (outasync == 1); - } - - /** - * Get the caps from @event. The caps remains valid as long as @event remains - * valid. - * - * Params: - * caps = A pointer to the caps - */ - public void parseCaps(out Caps caps) - { - GstCaps* outcaps = null; - - gst_event_parse_caps(gstEvent, &outcaps); - - caps = ObjectG.getDObject!(Caps)(outcaps); - } - - /** - * Parse the FLUSH_STOP event and retrieve the @reset_time member. - * - * Params: - * resetTime = if time should be reset - */ - public void parseFlushStop(out bool resetTime) - { - int outresetTime; - - gst_event_parse_flush_stop(gstEvent, &outresetTime); - - resetTime = (outresetTime == 1); - } - - /** - * Extract timestamp and duration from a new GAP event. - * - * Params: - * timestamp = location where to store the - * start time (pts) of the gap, or %NULL - * duration = location where to store the duration of - * the gap, or %NULL - */ - public void parseGap(out GstClockTime timestamp, out GstClockTime duration) - { - gst_event_parse_gap(gstEvent, ×tamp, &duration); - } - - /** - * - * Params: - * groupId = address of variable where to store the group id - * Returns: %TRUE if a group id was set on the event and could be parsed, - * %FALSE otherwise. - * - * Since: 1.2 - */ - public bool parseGroupId(out uint groupId) - { - return gst_event_parse_group_id(gstEvent, &groupId) != 0; - } - - /** - * Extract rate and flags from an instant-rate-change event. - * - * Params: - * rateMultiplier = location in which to store the rate - * multiplier of the instant-rate-change event, or %NULL - * newFlags = location in which to store the new - * segment flags of the instant-rate-change event, or %NULL - * - * Since: 1.18 - */ - public void parseInstantRateChange(out double rateMultiplier, out GstSegmentFlags newFlags) - { - gst_event_parse_instant_rate_change(gstEvent, &rateMultiplier, &newFlags); - } - - /** - * Extract the rate multiplier and running times from an instant-rate-sync-time event. - * - * Params: - * rateMultiplier = location where to store the rate of - * the instant-rate-sync-time event, or %NULL - * runningTime = location in which to store the running time - * of the instant-rate-sync-time event, or %NULL - * upstreamRunningTime = location in which to store the - * upstream running time of the instant-rate-sync-time event, or %NULL - * - * Since: 1.18 - */ - public void parseInstantRateSyncTime(out double rateMultiplier, out GstClockTime runningTime, out GstClockTime upstreamRunningTime) - { - gst_event_parse_instant_rate_sync_time(gstEvent, &rateMultiplier, &runningTime, &upstreamRunningTime); - } - - /** - * Get the latency in the latency event. - * - * Params: - * latency = A pointer to store the latency in. - */ - public void parseLatency(out GstClockTime latency) - { - gst_event_parse_latency(gstEvent, &latency); - } - - /** - * Parses an event containing protection system specific information and stores - * the results in @system_id, @data and @origin. The data stored in @system_id, - * @origin and @data are valid until @event is released. - * - * Params: - * systemId = pointer to store the UUID - * string uniquely identifying a content protection system. - * data = pointer to store a #GstBuffer - * holding protection system specific information. - * origin = pointer to store a value that - * indicates where the protection information carried by @event was extracted - * from. - * - * Since: 1.6 - */ - public void parseProtection(out string systemId, out Buffer data, out string origin) - { - char* outsystemId = null; - GstBuffer* outdata = null; - char* outorigin = null; - - gst_event_parse_protection(gstEvent, &outsystemId, &outdata, &outorigin); - - systemId = Str.toString(outsystemId); - data = ObjectG.getDObject!(Buffer)(outdata); - origin = Str.toString(outorigin); - } - - /** - * Get the type, proportion, diff and timestamp in the qos event. See - * gst_event_new_qos() for more information about the different QoS values. - * - * @timestamp will be adjusted for any pad offsets of pads it was passing through. - * - * Params: - * type = A pointer to store the QoS type in - * proportion = A pointer to store the proportion in - * diff = A pointer to store the diff in - * timestamp = A pointer to store the timestamp in - */ - public void parseQos(out GstQOSType type, out double proportion, out GstClockTimeDiff diff, out GstClockTime timestamp) - { - gst_event_parse_qos(gstEvent, &type, &proportion, &diff, ×tamp); - } - - /** - * Parses a seek @event and stores the results in the given result locations. - * - * Params: - * rate = result location for the rate - * format = result location for the stream format - * flags = result location for the #GstSeekFlags - * startType = result location for the #GstSeekType of the start position - * start = result location for the start position expressed in @format - * stopType = result location for the #GstSeekType of the stop position - * stop = result location for the stop position expressed in @format - */ - public void parseSeek(out double rate, out GstFormat format, out GstSeekFlags flags, out GstSeekType startType, out long start, out GstSeekType stopType, out long stop) - { - gst_event_parse_seek(gstEvent, &rate, &format, &flags, &startType, &start, &stopType, &stop); - } - - /** - * Retrieve the trickmode interval that may have been set on a - * seek event with gst_event_set_seek_trickmode_interval(). - * - * Since: 1.16 - */ - public void parseSeekTrickmodeInterval(out GstClockTime interval) - { - gst_event_parse_seek_trickmode_interval(gstEvent, &interval); - } - - /** - * Parses a segment @event and stores the result in the given @segment location. - * @segment remains valid only until the @event is freed. Don't modify the segment - * and make a copy if you want to modify it or store it for later use. - * - * Params: - * segment = a pointer to a #GstSegment - */ - public void parseSegment(out Segment segment) - { - GstSegment* outsegment = null; - - gst_event_parse_segment(gstEvent, &outsegment); - - segment = ObjectG.getDObject!(Segment)(outsegment); - } - - /** - * Extracts the position and format from the segment done message. - * - * Params: - * format = Result location for the format, or %NULL - * position = Result location for the position, or %NULL - */ - public void parseSegmentDone(out GstFormat format, out long position) - { - gst_event_parse_segment_done(gstEvent, &format, &position); - } - - /** - * Parse the SELECT_STREAMS event and retrieve the contained streams. - * - * Params: - * streams = the streams - * - * Since: 1.10 - */ - public void parseSelectStreams(out ListG streams) - { - GList* outstreams = null; - - gst_event_parse_select_streams(gstEvent, &outstreams); - - streams = new ListG(outstreams); - } - - /** - * Parse the sink-message event. Unref @msg after usage. - * - * Params: - * msg = a pointer to store the #GstMessage in. - */ - public void parseSinkMessage(out Message msg) - { - GstMessage* outmsg = null; - - gst_event_parse_sink_message(gstEvent, &outmsg); - - msg = ObjectG.getDObject!(Message)(outmsg); - } - - /** - * Parse the step event. - * - * Params: - * format = a pointer to store the format in - * amount = a pointer to store the amount in - * rate = a pointer to store the rate in - * flush = a pointer to store the flush boolean in - * intermediate = a pointer to store the intermediate - * boolean in - */ - public void parseStep(out GstFormat format, out ulong amount, out double rate, out bool flush, out bool intermediate) - { - int outflush; - int outintermediate; - - gst_event_parse_step(gstEvent, &format, &amount, &rate, &outflush, &outintermediate); - - flush = (outflush == 1); - intermediate = (outintermediate == 1); - } - - /** - * Parse a stream-start @event and extract the #GstStream from it. - * - * Params: - * stream = address of variable to store the stream - * - * Since: 1.10 - */ - public void parseStream(out Stream stream) - { - GstStream* outstream = null; - - gst_event_parse_stream(gstEvent, &outstream); - - stream = ObjectG.getDObject!(Stream)(outstream); - } - - /** - * Retrieve new #GstStreamCollection from STREAM_COLLECTION event @event. - * - * Params: - * collection = pointer to store the collection - * - * Since: 1.10 - */ - public void parseStreamCollection(out StreamCollection collection) - { - GstStreamCollection* outcollection = null; - - gst_event_parse_stream_collection(gstEvent, &outcollection); - - collection = ObjectG.getDObject!(StreamCollection)(outcollection); - } - - /** */ - public void parseStreamFlags(out GstStreamFlags flags) - { - gst_event_parse_stream_flags(gstEvent, &flags); - } - - /** - * Parse a stream-group-done @event and store the result in the given - * @group_id location. - * - * Params: - * groupId = address of variable to store the group id into - * - * Since: 1.10 - */ - public void parseStreamGroupDone(out uint groupId) - { - gst_event_parse_stream_group_done(gstEvent, &groupId); - } - - /** - * Parse a stream-id @event and store the result in the given @stream_id - * location. The string stored in @stream_id must not be modified and will - * remain valid only until @event gets freed. Make a copy if you want to - * modify it or store it for later use. - * - * Params: - * streamId = pointer to store the stream-id - */ - public void parseStreamStart(out string streamId) - { - char* outstreamId = null; - - gst_event_parse_stream_start(gstEvent, &outstreamId); - - streamId = Str.toString(outstreamId); - } - - /** - * Parses a tag @event and stores the results in the given @taglist location. - * No reference to the taglist will be returned, it remains valid only until - * the @event is freed. Don't modify or free the taglist, make a copy if you - * want to modify it or store it for later use. - * - * Params: - * taglist = pointer to metadata list - */ - public void parseTag(out TagList taglist) - { - GstTagList* outtaglist = null; - - gst_event_parse_tag(gstEvent, &outtaglist); - - taglist = ObjectG.getDObject!(TagList)(outtaglist); - } - - /** - * Parse a TOC @event and store the results in the given @toc and @updated locations. - * - * Params: - * toc = pointer to #GstToc structure. - * updated = pointer to store TOC updated flag. - */ - public void parseToc(out Toc toc, out bool updated) - { - GstToc* outtoc = null; - int outupdated; - - gst_event_parse_toc(gstEvent, &outtoc, &outupdated); - - toc = ObjectG.getDObject!(Toc)(outtoc); - updated = (outupdated == 1); - } - - /** - * Parse a TOC select @event and store the results in the given @uid location. - * - * Params: - * uid = storage for the selection UID. - */ - public void parseTocSelect(out string uid) - { - char* outuid = null; - - gst_event_parse_toc_select(gstEvent, &outuid); - - uid = Str.toString(outuid); - } - - /** - * All streams that have the same group id are supposed to be played - * together, i.e. all streams inside a container file should have the - * same group id but different stream ids. The group id should change - * each time the stream is started, resulting in different group ids - * each time a file is played for example. - * - * Use gst_util_group_id_next() to get a new group id. - * - * Params: - * groupId = the group id to set - * - * Since: 1.2 - */ - public void setGroupId(uint groupId) - { - gst_event_set_group_id(gstEvent, groupId); - } - - /** - * Set the running time offset of a event. See - * gst_event_get_running_time_offset() for more information. - * - * MT safe. - * - * Params: - * offset = A the new running time offset - * - * Since: 1.4 - */ - public void setRunningTimeOffset(long offset) - { - gst_event_set_running_time_offset(gstEvent, offset); - } - - /** - * Sets a trickmode interval on a (writable) seek event. Elements - * that support TRICKMODE_KEY_UNITS seeks SHOULD use this as the minimal - * interval between each frame they may output. - * - * Since: 1.16 - */ - public void setSeekTrickmodeInterval(GstClockTime interval) - { - gst_event_set_seek_trickmode_interval(gstEvent, interval); - } - - /** - * Set the sequence number of a event. - * - * This function might be called by the creator of a event to indicate that the - * event relates to other events or messages. See gst_event_get_seqnum() for - * more information. - * - * MT safe. - * - * Params: - * seqnum = A sequence number. - */ - public void setSeqnum(uint seqnum) - { - gst_event_set_seqnum(gstEvent, seqnum); - } - - /** - * Set the @stream on the stream-start @event - * - * Params: - * stream = the stream object to set - * - * Since: 1.10 - */ - public void setStream(Stream stream) - { - gst_event_set_stream(gstEvent, (stream is null) ? null : stream.getStreamStruct()); - } - - /** */ - public void setStreamFlags(GstStreamFlags flags) - { - gst_event_set_stream_flags(gstEvent, flags); - } - - /** - * Get a writable version of the structure. - * - * Returns: The structure of the event. The structure - * is still owned by the event, which means that you should not free - * it and that the pointer becomes invalid when you free the event. - * This function checks if @event is writable and will never return - * %NULL. - * - * MT safe. - */ - public Structure writableStructure() - { - auto __p = gst_event_writable_structure(gstEvent); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p); - } - - /** - * Gets the #GstEventTypeFlags associated with @type. - * - * Params: - * type = a #GstEventType - * - * Returns: a #GstEventTypeFlags. - */ - public static GstEventTypeFlags typeGetFlags(GstEventType type) - { - return gst_event_type_get_flags(type); - } - - /** - * Get a printable name for the given event type. Do not modify or free. - * - * Params: - * type = the event type - * - * Returns: a reference to the static name of the event. - */ - public static string typeGetName(GstEventType type) - { - return Str.toString(gst_event_type_get_name(type)); - } - - /** - * Get the unique quark for the given event type. - * - * Params: - * type = the event type - * - * Returns: the quark associated with the event type - */ - public static GQuark typeToQuark(GstEventType type) - { - return gst_event_type_to_quark(type); - } -} diff --git a/generated/gstreamer/gstreamer/Format.d b/generated/gstreamer/gstreamer/Format.d deleted file mode 100644 index 913e7615e..000000000 --- a/generated/gstreamer/gstreamer/Format.d +++ /dev/null @@ -1,146 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Format; - -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.Iterator; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** */ -public struct Format -{ - - /** - * Return the format registered with the given nick. - * - * Params: - * nick = The nick of the format - * - * Returns: The format with @nick or GST_FORMAT_UNDEFINED - * if the format was not registered. - */ - public static GstFormat getByNick(string nick) - { - return gst_format_get_by_nick(Str.toStringz(nick)); - } - - /** - * Get details about the given format. - * - * Params: - * format = The format to get details of - * - * Returns: The #GstFormatDefinition for @format or %NULL - * on failure. - * - * MT safe. - */ - public static GstFormatDefinition* getDetails(GstFormat format) - { - return gst_format_get_details(format); - } - - /** - * Get a printable name for the given format. Do not modify or free. - * - * Params: - * format = a #GstFormat - * - * Returns: a reference to the static name of the format - * or %NULL if the format is unknown. - */ - public static string getName(GstFormat format) - { - return Str.toString(gst_format_get_name(format)); - } - - /** - * Iterate all the registered formats. The format definition is read - * only. - * - * Returns: a GstIterator of #GstFormatDefinition. - */ - public static Iterator iterateDefinitions() - { - auto __p = gst_format_iterate_definitions(); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Create a new GstFormat based on the nick or return an - * already registered format with that nick. - * - * Params: - * nick = The nick of the new format - * description = The description of the new format - * - * Returns: A new GstFormat or an already registered format - * with the same nick. - * - * MT safe. - */ - public static GstFormat register(string nick, string description) - { - return gst_format_register(Str.toStringz(nick), Str.toStringz(description)); - } - - /** - * Get the unique quark for the given format. - * - * Params: - * format = a #GstFormat - * - * Returns: the quark associated with the format or 0 if the format - * is unknown. - */ - public static GQuark toQuark(GstFormat format) - { - return gst_format_to_quark(format); - } - - /** - * See if the given format is inside the format array. - * - * Params: - * formats = The format array to search - * format = the format to find - * - * Returns: %TRUE if the format is found inside the array - */ - public static bool contains(GstFormat[] formats, GstFormat format) - { - return gst_formats_contains(formats.ptr, format) != 0; - } -} diff --git a/generated/gstreamer/gstreamer/GError.d b/generated/gstreamer/gstreamer/GError.d deleted file mode 100644 index 6d488e8d9..000000000 --- a/generated/gstreamer/gstreamer/GError.d +++ /dev/null @@ -1,54 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.GError; - -private import glib.Str; -private import glib.c.functions; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** */ -public struct GError -{ - - /** - * Get a string describing the error message in the current locale. - * - * Params: - * domain = the GStreamer error domain this error belongs to. - * code = the error code belonging to the domain. - * - * Returns: a newly allocated string describing - * the error message (in UTF-8 encoding) - */ - public static string errorGetMessage(GQuark domain, int code) - { - auto retStr = gst_error_get_message(domain, code); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } -} diff --git a/generated/gstreamer/gstreamer/GStreamer.d b/generated/gstreamer/gstreamer/GStreamer.d deleted file mode 100644 index efd58b6c4..000000000 --- a/generated/gstreamer/gstreamer/GStreamer.d +++ /dev/null @@ -1,241 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.GStreamer; - -private import glib.ErrorG; -private import glib.GException; -private import glib.OptionGroup; -private import glib.Str; -private import glib.c.functions; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** */ -public struct GStreamer -{ - - /** - * Clean up any resources created by GStreamer in gst_init(). - * - * It is normally not needed to call this function in a normal application - * as the resources will automatically be freed when the program terminates. - * This function is therefore mostly used by testsuites and other memory - * profiling tools. - * - * After this call GStreamer (including this method) should not be used anymore. - */ - public static void deinit() - { - gst_deinit(); - } - - /** - * Initializes the GStreamer library, setting up internal path lists, - * registering built-in elements, and loading standard plugins. - * - * Unless the plugin registry is disabled at compile time, the registry will be - * loaded. By default this will also check if the registry cache needs to be - * updated and rescan all plugins if needed. See gst_update_registry() for - * details and section - * Running GStreamer Applications - * for how to disable automatic registry updates. - * - * > This function will terminate your program if it was unable to initialize - * > GStreamer for some reason. If you want your program to fall back, - * > use gst_init_check() instead. - * - * WARNING: This function does not work in the same way as corresponding - * functions in other glib-style libraries, such as gtk_init\(\). In - * particular, unknown command line options cause this function to - * abort program execution. - * - * Params: - * argv = pointer to application's argv - */ - public static void init(ref string[] argv) - { - int argc = cast(int)argv.length; - char** outargv = Str.toStringzArray(argv); - - gst_init(&argc, &outargv); - - argv = Str.toStringArray(outargv, argc); - } - - /** - * Initializes the GStreamer library, setting up internal path lists, - * registering built-in elements, and loading standard plugins. - * - * This function will return %FALSE if GStreamer could not be initialized - * for some reason. If you want your program to fail fatally, - * use gst_init() instead. - * - * Params: - * argv = pointer to application's argv - * - * Returns: %TRUE if GStreamer could be initialized. - * - * Throws: GException on failure. - */ - public static bool initCheck(ref string[] argv) - { - int argc = cast(int)argv.length; - char** outargv = Str.toStringzArray(argv); - GError* err = null; - - auto __p = gst_init_check(&argc, &outargv, &err) != 0; - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - argv = Str.toStringArray(outargv, argc); - - return __p; - } - - /** - * Returns a #GOptionGroup with GStreamer's argument specifications. The - * group is set up to use standard GOption callbacks, so when using this - * group in combination with GOption parsing methods, all argument parsing - * and initialization is automated. - * - * This function is useful if you want to integrate GStreamer with other - * libraries that use GOption (see g_option_context_add_group() ). - * - * If you use this function, you should make sure you initialise the GLib - * threading system as one of the very first things in your program - * (see the example at the beginning of this section). - * - * Returns: a pointer to GStreamer's option group. - */ - public static OptionGroup initGetOptionGroup() - { - auto __p = gst_init_get_option_group(); - - if(__p is null) - { - return null; - } - - return new OptionGroup(cast(GOptionGroup*) __p, true); - } - - /** - * Use this function to check if GStreamer has been initialized with gst_init() - * or gst_init_check(). - * - * Returns: %TRUE if initialization has been done, %FALSE otherwise. - */ - public static bool isInitialized() - { - return gst_is_initialized() != 0; - } - - /** - * Some functions in the GStreamer core might install a custom SIGSEGV handler - * to better catch and report errors to the application. Currently this feature - * is enabled by default when loading plugins. - * - * Applications might want to disable this behaviour with the - * gst_segtrap_set_enabled() function. This is typically done if the application - * wants to install its own handler without GStreamer interfering. - * - * Returns: %TRUE if GStreamer is allowed to install a custom SIGSEGV handler. - */ - public static bool segtrapIsEnabled() - { - return gst_segtrap_is_enabled() != 0; - } - - /** - * Applications might want to disable/enable the SIGSEGV handling of - * the GStreamer core. See gst_segtrap_is_enabled() for more information. - * - * Params: - * enabled = whether a custom SIGSEGV handler should be installed. - */ - public static void segtrapSetEnabled(bool enabled) - { - gst_segtrap_set_enabled(enabled); - } - - /** - * Forces GStreamer to re-scan its plugin paths and update the default - * plugin registry. - * - * Applications will almost never need to call this function, it is only - * useful if the application knows new plugins have been installed (or old - * ones removed) since the start of the application (or, to be precise, the - * first call to gst_init()) and the application wants to make use of any - * newly-installed plugins without restarting the application. - * - * Applications should assume that the registry update is neither atomic nor - * thread-safe and should therefore not have any dynamic pipelines running - * (including the playbin and decodebin elements) and should also not create - * any elements or access the GStreamer registry while the update is in - * progress. - * - * Note that this function may block for a significant amount of time. - * - * Returns: %TRUE if the registry has been updated successfully (does not - * imply that there were changes), otherwise %FALSE. - */ - public static bool updateRegistry() - { - return gst_update_registry() != 0; - } - - /** - * Gets the version number of the GStreamer library. - * - * Params: - * major = pointer to a guint to store the major version number - * minor = pointer to a guint to store the minor version number - * micro = pointer to a guint to store the micro version number - * nano = pointer to a guint to store the nano version number - */ - public static void version_(out uint major, out uint minor, out uint micro, out uint nano) - { - gst_version(&major, &minor, µ, &nano); - } - - /** - * This function returns a string that is useful for describing this version - * of GStreamer to the outside world: user agent strings, logging, ... - * - * Returns: a newly allocated string describing this version - * of GStreamer. - */ - public static string versionString() - { - auto retStr = gst_version_string(); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } -} diff --git a/generated/gstreamer/gstreamer/GhostPad.d b/generated/gstreamer/gstreamer/GhostPad.d deleted file mode 100644 index 73c6b1ecc..000000000 --- a/generated/gstreamer/gstreamer/GhostPad.d +++ /dev/null @@ -1,281 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.GhostPad; - -private import glib.ConstructionException; -private import glib.Str; -private import gobject.ObjectG; -private import gstreamer.ObjectGst; -private import gstreamer.Pad; -private import gstreamer.PadTemplate; -private import gstreamer.ProxyPad; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * GhostPads are useful when organizing pipelines with #GstBin like elements. - * The idea here is to create hierarchical element graphs. The bin element - * contains a sub-graph. Now one would like to treat the bin-element like any - * other #GstElement. This is where GhostPads come into play. A GhostPad acts as - * a proxy for another pad. Thus the bin can have sink and source ghost-pads - * that are associated with sink and source pads of the child elements. - * - * If the target pad is known at creation time, gst_ghost_pad_new() is the - * function to use to get a ghost-pad. Otherwise one can use gst_ghost_pad_new_no_target() - * to create the ghost-pad and use gst_ghost_pad_set_target() to establish the - * association later on. - * - * Note that GhostPads add overhead to the data processing of a pipeline. - */ -public class GhostPad : ProxyPad -{ - /** the main Gtk struct */ - protected GstGhostPad* gstGhostPad; - - /** Get the main Gtk struct */ - public GstGhostPad* getGhostPadStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstGhostPad; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstGhostPad; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstGhostPad* gstGhostPad, bool ownedRef = false) - { - this.gstGhostPad = gstGhostPad; - super(cast(GstProxyPad*)gstGhostPad, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_ghost_pad_get_type(); - } - - /** - * Create a new ghostpad with @target as the target. The direction will be taken - * from the target pad. @target must be unlinked. - * - * Will ref the target. - * - * Params: - * name = the name of the new pad, or %NULL to assign a default name - * target = the pad to ghost. - * - * Returns: a new #GstPad, or %NULL in - * case of an error. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string name, Pad target) - { - auto __p = gst_ghost_pad_new(Str.toStringz(name), (target is null) ? null : target.getPadStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstGhostPad*) __p); - } - - /** - * Create a new ghostpad with @target as the target. The direction will be taken - * from the target pad. The template used on the ghostpad will be @template. - * - * Will ref the target. - * - * Params: - * name = the name of the new pad, or %NULL to assign a default name. - * target = the pad to ghost. - * templ = the #GstPadTemplate to use on the ghostpad. - * - * Returns: a new #GstPad, or %NULL in - * case of an error. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string name, Pad target, PadTemplate templ) - { - auto __p = gst_ghost_pad_new_from_template(Str.toStringz(name), (target is null) ? null : target.getPadStruct(), (templ is null) ? null : templ.getPadTemplateStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_from_template"); - } - - this(cast(GstGhostPad*) __p); - } - - /** - * Create a new ghostpad without a target with the given direction. - * A target can be set on the ghostpad later with the - * gst_ghost_pad_set_target() function. - * - * The created ghostpad will not have a padtemplate. - * - * Params: - * name = the name of the new pad, or %NULL to assign a default name. - * dir = the direction of the ghostpad - * - * Returns: a new #GstPad, or %NULL in - * case of an error. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string name, GstPadDirection dir) - { - auto __p = gst_ghost_pad_new_no_target(Str.toStringz(name), dir); - - if(__p is null) - { - throw new ConstructionException("null returned by new_no_target"); - } - - this(cast(GstGhostPad*) __p); - } - - /** - * Create a new ghostpad based on @templ, without setting a target. The - * direction will be taken from the @templ. - * - * Params: - * name = the name of the new pad, or %NULL to assign a default name - * templ = the #GstPadTemplate to create the ghostpad from. - * - * Returns: a new #GstPad, or %NULL in - * case of an error. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string name, PadTemplate templ) - { - auto __p = gst_ghost_pad_new_no_target_from_template(Str.toStringz(name), (templ is null) ? null : templ.getPadTemplateStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_no_target_from_template"); - } - - this(cast(GstGhostPad*) __p); - } - - /** - * Invoke the default activate mode function of a ghost pad. - * - * Params: - * pad = the #GstPad to activate or deactivate. - * parent = the parent of @pad or %NULL - * mode = the requested activation mode - * active = whether the pad should be active or not. - * - * Returns: %TRUE if the operation was successful. - */ - public static bool activateModeDefault(Pad pad, ObjectGst parent, GstPadMode mode, bool active) - { - return gst_ghost_pad_activate_mode_default((pad is null) ? null : pad.getPadStruct(), (parent is null) ? null : parent.getObjectGstStruct(), mode, active) != 0; - } - - /** - * Invoke the default activate mode function of a proxy pad that is - * owned by a ghost pad. - * - * Params: - * pad = the #GstPad to activate or deactivate. - * parent = the parent of @pad or %NULL - * mode = the requested activation mode - * active = whether the pad should be active or not. - * - * Returns: %TRUE if the operation was successful. - */ - public static bool internalActivateModeDefault(Pad pad, ObjectGst parent, GstPadMode mode, bool active) - { - return gst_ghost_pad_internal_activate_mode_default((pad is null) ? null : pad.getPadStruct(), (parent is null) ? null : parent.getObjectGstStruct(), mode, active) != 0; - } - - /** - * Finish initialization of a newly allocated ghost pad. - * - * This function is most useful in language bindings and when subclassing - * #GstGhostPad; plugin and application developers normally will not call this - * function. Call this function directly after a call to g_object_new - * (GST_TYPE_GHOST_PAD, "direction", @dir, ..., NULL). - * - * Deprecated: This function is deprecated since 1.18 and does nothing - * anymore. - * - * Returns: %TRUE if the construction succeeds, %FALSE otherwise. - */ - public bool construct() - { - return gst_ghost_pad_construct(gstGhostPad) != 0; - } - - /** - * Get the target pad of @gpad. Unref target pad after usage. - * - * Returns: the target #GstPad, can be - * %NULL if the ghostpad has no target set. Unref target pad after - * usage. - */ - public Pad getTarget() - { - auto __p = gst_ghost_pad_get_target(gstGhostPad); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Pad)(cast(GstPad*) __p, true); - } - - /** - * Set the new target of the ghostpad @gpad. Any existing target - * is unlinked and links to the new target are established. if @newtarget is - * %NULL the target will be cleared. - * - * Params: - * newtarget = the new pad target - * - * Returns: %TRUE if the new target could be set. This function - * can return %FALSE when the internal pads could not be linked. - */ - public bool setTarget(Pad newtarget) - { - return gst_ghost_pad_set_target(gstGhostPad, (newtarget is null) ? null : newtarget.getPadStruct()) != 0; - } -} diff --git a/generated/gstreamer/gstreamer/Iterator.d b/generated/gstreamer/gstreamer/Iterator.d deleted file mode 100644 index 387739d18..000000000 --- a/generated/gstreamer/gstreamer/Iterator.d +++ /dev/null @@ -1,437 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Iterator; - -private import glib.ConstructionException; -private import glib.ListG; -private import glib.MemorySlice; -private import glib.Mutex; -private import gobject.ObjectG; -private import gobject.Value; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import gtkd.Loader; - - -/** - * A GstIterator is used to retrieve multiple objects from another object in - * a threadsafe way. - * - * Various GStreamer objects provide access to their internal structures using - * an iterator. - * - * Note that if calling a GstIterator function results in your code receiving - * a refcounted object (with, say, g_value_get_object()), the refcount for that - * object will not be increased. Your code is responsible for taking a reference - * if it wants to continue using it later. - * - * The basic use pattern of an iterator is as follows: - * |[ - * GstIterator *it = _get_iterator(object); - * GValue item = G_VALUE_INIT; - * done = FALSE; - * while (!done) { - * switch (gst_iterator_next (it, &item)) { - * case GST_ITERATOR_OK: - * ...get/use/change item here... - * g_value_reset (&item); - * break; - * case GST_ITERATOR_RESYNC: - * ...rollback changes to items... - * gst_iterator_resync (it); - * break; - * case GST_ITERATOR_ERROR: - * ...wrong parameters were given... - * done = TRUE; - * break; - * case GST_ITERATOR_DONE: - * done = TRUE; - * break; - * } - * } - * g_value_unset (&item); - * gst_iterator_free (it); - * ]| - */ -public class Iterator -{ - /** the main Gtk struct */ - protected GstIterator* gstIterator; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstIterator* getIteratorStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstIterator; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstIterator; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstIterator* gstIterator, bool ownedRef = false) - { - this.gstIterator = gstIterator; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTREAMER) && ownedRef ) - gst_iterator_free(gstIterator); - } - - - /** */ - public static GType getType() - { - return gst_iterator_get_type(); - } - - /** - * Create a new iterator. This function is mainly used for objects - * implementing the next/resync/free function to iterate a data structure. - * - * For each item retrieved, the @item function is called with the lock - * held. The @free function is called when the iterator is freed. - * - * Params: - * size = the size of the iterator structure - * type = #GType of children - * lock = pointer to a #GMutex. - * masterCookie = pointer to a guint32 that is changed when the items in the - * iterator changed. - * copy = copy function - * next = function to get next item - * item = function to call on each item retrieved - * resync = function to resync the iterator - * free = function to free the iterator - * - * Returns: the new #GstIterator. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(uint size, GType type, Mutex lock, uint* masterCookie, GstIteratorCopyFunction copy, GstIteratorNextFunction next, GstIteratorItemFunction item, GstIteratorResyncFunction resync, GstIteratorFreeFunction free) - { - auto __p = gst_iterator_new(size, type, (lock is null) ? null : lock.getMutexStruct(), masterCookie, copy, next, item, resync, free); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstIterator*) __p); - } - - /** - * Create a new iterator designed for iterating @list. - * - * The list you iterate is usually part of a data structure @owner and is - * protected with @lock. - * - * The iterator will use @lock to retrieve the next item of the list and it - * will then call the @item function before releasing @lock again. - * - * When a concurrent update to the list is performed, usually by @owner while - * holding @lock, @master_cookie will be updated. The iterator implementation - * will notice the update of the cookie and will return %GST_ITERATOR_RESYNC to - * the user of the iterator in the next call to gst_iterator_next(). - * - * Params: - * type = #GType of elements - * lock = pointer to a #GMutex protecting the list. - * masterCookie = pointer to a guint32 that is incremented when the list - * is changed. - * list = pointer to the list - * owner = object owning the list - * item = function to call on each item retrieved - * - * Returns: the new #GstIterator for @list. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GType type, Mutex lock, uint* masterCookie, ref ListG list, ObjectG owner, GstIteratorItemFunction item) - { - GList* outlist = list.getListGStruct(); - - auto __p = gst_iterator_new_list(type, (lock is null) ? null : lock.getMutexStruct(), masterCookie, &outlist, (owner is null) ? null : owner.getObjectGStruct(), item); - - if(__p is null) - { - throw new ConstructionException("null returned by new_list"); - } - - list = new ListG(outlist); - - this(cast(GstIterator*) __p); - } - - /** - * This #GstIterator is a convenient iterator for the common - * case where a #GstIterator needs to be returned but only - * a single object has to be considered. This happens often - * for the #GstPadIterIntLinkFunction. - * - * Params: - * type = #GType of the passed object - * object = object that this iterator should return - * - * Returns: the new #GstIterator for @object. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GType type, Value object) - { - auto __p = gst_iterator_new_single(type, (object is null) ? null : object.getValueStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_single"); - } - - this(cast(GstIterator*) __p); - } - - /** - * Copy the iterator and its state. - * - * Returns: a new copy of @it. - */ - public Iterator copy() - { - auto __p = gst_iterator_copy(gstIterator); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Create a new iterator from an existing iterator. The new iterator - * will only return those elements that match the given compare function @func. - * The first parameter that is passed to @func is the #GValue of the current - * iterator element and the second parameter is @user_data. @func should - * return 0 for elements that should be included in the filtered iterator. - * - * When this iterator is freed, @it will also be freed. - * - * Params: - * func = the compare function to select elements - * userData = user data passed to the compare function - * - * Returns: a new #GstIterator. - * - * MT safe. - */ - public Iterator filter(GCompareFunc func, Value userData) - { - auto __p = gst_iterator_filter(gstIterator, func, (userData is null) ? null : userData.getValueStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Find the first element in @it that matches the compare function @func. - * @func should return 0 when the element is found. The first parameter - * to @func will be the current element of the iterator and the - * second parameter will be @user_data. - * The result will be stored in @elem if a result is found. - * - * The iterator will not be freed. - * - * This function will return %FALSE if an error happened to the iterator - * or if the element wasn't found. - * - * Params: - * func = the compare function to use - * elem = pointer to a #GValue where to store the result - * userData = user data passed to the compare function - * - * Returns: Returns %TRUE if the element was found, else %FALSE. - * - * MT safe. - */ - public bool findCustom(GCompareFunc func, out Value elem, void* userData) - { - GValue* outelem = sliceNew!GValue(); - - auto __p = gst_iterator_find_custom(gstIterator, func, outelem, userData) != 0; - - elem = ObjectG.getDObject!(Value)(outelem, true); - - return __p; - } - - /** - * Folds @func over the elements of @iter. That is to say, @func will be called - * as @func (object, @ret, @user_data) for each object in @it. The normal use - * of this procedure is to accumulate the results of operating on the objects in - * @ret. - * - * This procedure can be used (and is used internally) to implement the - * gst_iterator_foreach() and gst_iterator_find_custom() operations. - * - * The fold will proceed as long as @func returns %TRUE. When the iterator has no - * more arguments, %GST_ITERATOR_DONE will be returned. If @func returns %FALSE, - * the fold will stop, and %GST_ITERATOR_OK will be returned. Errors or resyncs - * will cause fold to return %GST_ITERATOR_ERROR or %GST_ITERATOR_RESYNC as - * appropriate. - * - * The iterator will not be freed. - * - * Params: - * func = the fold function - * ret = the seed value passed to the fold function - * userData = user data passed to the fold function - * - * Returns: A #GstIteratorResult, as described above. - * - * MT safe. - */ - public GstIteratorResult fold(GstIteratorFoldFunction func, Value ret, void* userData) - { - return gst_iterator_fold(gstIterator, func, (ret is null) ? null : ret.getValueStruct(), userData); - } - - alias foreac = foreach_; - /** - * Iterate over all element of @it and call the given function @func for - * each element. - * - * Params: - * func = the function to call for each element. - * userData = user data passed to the function - * - * Returns: the result call to gst_iterator_fold(). The iterator will not be - * freed. - * - * MT safe. - */ - public GstIteratorResult foreach_(GstIteratorForeachFunction func, void* userData) - { - return gst_iterator_foreach(gstIterator, func, userData); - } - - /** - * Free the iterator. - * - * MT safe. - */ - public void free() - { - gst_iterator_free(gstIterator); - ownedRef = false; - } - - /** - * Get the next item from the iterator in @elem. - * - * Only when this function returns %GST_ITERATOR_OK, @elem will contain a valid - * value. @elem must have been initialized to the type of the iterator or - * initialized to zeroes with g_value_unset(). The caller is responsible for - * unsetting or resetting @elem with g_value_unset() or g_value_reset() - * after usage. - * - * When this function returns %GST_ITERATOR_DONE, no more elements can be - * retrieved from @it. - * - * A return value of %GST_ITERATOR_RESYNC indicates that the element list was - * concurrently updated. The user of @it should call gst_iterator_resync() to - * get the newly updated list. - * - * A return value of %GST_ITERATOR_ERROR indicates an unrecoverable fatal error. - * - * Params: - * elem = pointer to hold next element - * - * Returns: The result of the iteration. Unset @elem after usage. - * - * MT safe. - */ - public GstIteratorResult next(out Value elem) - { - GValue* outelem = sliceNew!GValue(); - - auto __p = gst_iterator_next(gstIterator, outelem); - - elem = ObjectG.getDObject!(Value)(outelem, true); - - return __p; - } - - /** - * Pushes @other iterator onto @it. All calls performed on @it are - * forwarded to @other. If @other returns %GST_ITERATOR_DONE, it is - * popped again and calls are handled by @it again. - * - * This function is mainly used by objects implementing the iterator - * next function to recurse into substructures. - * - * When gst_iterator_resync() is called on @it, @other will automatically be - * popped. - * - * MT safe. - * - * Params: - * other = The #GstIterator to push - */ - public void push(Iterator other) - { - gst_iterator_push(gstIterator, (other is null) ? null : other.getIteratorStruct()); - } - - /** - * Resync the iterator. this function is mostly called - * after gst_iterator_next() returned %GST_ITERATOR_RESYNC. - * - * When an iterator was pushed on @it, it will automatically be popped again - * with this function. - * - * MT safe. - */ - public void resync() - { - gst_iterator_resync(gstIterator); - } -} diff --git a/generated/gstreamer/gstreamer/Memory.d b/generated/gstreamer/gstreamer/Memory.d deleted file mode 100644 index 5537e5199..000000000 --- a/generated/gstreamer/gstreamer/Memory.d +++ /dev/null @@ -1,331 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Memory; - -private import glib.ConstructionException; -private import glib.Str; -private import gobject.ObjectG; -private import gstreamer.Allocator; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * GstMemory is a lightweight refcounted object that wraps a region of memory. - * They are typically used to manage the data of a #GstBuffer. - * - * A GstMemory object has an allocated region of memory of maxsize. The maximum - * size does not change during the lifetime of the memory object. The memory - * also has an offset and size property that specifies the valid range of memory - * in the allocated region. - * - * Memory is usually created by allocators with a gst_allocator_alloc() - * method call. When %NULL is used as the allocator, the default allocator will - * be used. - * - * New allocators can be registered with gst_allocator_register(). - * Allocators are identified by name and can be retrieved with - * gst_allocator_find(). gst_allocator_set_default() can be used to change the - * default allocator. - * - * New memory can be created with gst_memory_new_wrapped() that wraps the memory - * allocated elsewhere. - * - * Refcounting of the memory block is performed with gst_memory_ref() and - * gst_memory_unref(). - * - * The size of the memory can be retrieved and changed with - * gst_memory_get_sizes() and gst_memory_resize() respectively. - * - * Getting access to the data of the memory is performed with gst_memory_map(). - * The call will return a pointer to offset bytes into the region of memory. - * After the memory access is completed, gst_memory_unmap() should be called. - * - * Memory can be copied with gst_memory_copy(), which will return a writable - * copy. gst_memory_share() will create a new memory block that shares the - * memory with an existing memory block at a custom offset and with a custom - * size. - * - * Memory can be efficiently merged when gst_memory_is_span() returns %TRUE. - */ -public class Memory -{ - /** the main Gtk struct */ - protected GstMemory* gstMemory; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMemory* getMemoryStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMemory; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMemory; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMemory* gstMemory, bool ownedRef = false) - { - this.gstMemory = gstMemory; - this.ownedRef = ownedRef; - } - - - /** */ - public static GType getType() - { - return gst_memory_get_type(); - } - - /** - * Allocate a new memory block that wraps the given @data. - * - * The prefix/padding must be filled with 0 if @flags contains - * #GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively. - * - * Params: - * flags = #GstMemoryFlags - * data = data to - * wrap - * maxsize = allocated size of @data - * offset = offset in @data - * userData = user_data - * notify = called with @user_data when the memory is freed - * - * Returns: a new #GstMemory. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstMemoryFlags flags, ubyte[] data, size_t maxsize, size_t offset, void* userData, GDestroyNotify notify) - { - auto __p = gst_memory_new_wrapped(flags, data.ptr, maxsize, offset, cast(size_t)data.length, userData, notify); - - if(__p is null) - { - throw new ConstructionException("null returned by new_wrapped"); - } - - this(cast(GstMemory*) __p); - } - - /** - * Return a copy of @size bytes from @mem starting from @offset. This copy is - * guaranteed to be writable. @size can be set to -1 to return a copy - * from @offset to the end of the memory region. - * - * Params: - * offset = offset to copy from - * size = size to copy, or -1 to copy to the end of the memory region - * - * Returns: a new #GstMemory. - */ - public Memory copy(ptrdiff_t offset, ptrdiff_t size) - { - auto __p = gst_memory_copy(gstMemory, offset, size); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Memory)(cast(GstMemory*) __p, true); - } - - /** - * Get the current @size, @offset and @maxsize of @mem. - * - * Params: - * offset = pointer to offset - * maxsize = pointer to maxsize - * - * Returns: the current size of @mem - */ - public size_t getSizes(out size_t offset, out size_t maxsize) - { - return gst_memory_get_sizes(gstMemory, &offset, &maxsize); - } - - /** - * Initializes a newly allocated @mem with the given parameters. This function - * will call gst_mini_object_init() with the default memory parameters. - * - * Params: - * flags = #GstMemoryFlags - * allocator = the #GstAllocator - * parent = the parent of @mem - * maxsize = the total size of the memory - * align_ = the alignment of the memory - * offset = The offset in the memory - * size = the size of valid data in the memory - */ - public void init(GstMemoryFlags flags, Allocator allocator, Memory parent, size_t maxsize, size_t align_, size_t offset, size_t size) - { - gst_memory_init(gstMemory, flags, (allocator is null) ? null : allocator.getAllocatorStruct(), (parent is null) ? null : parent.getMemoryStruct(), maxsize, align_, offset, size); - } - - /** - * Check if @mem1 and mem2 share the memory with a common parent memory object - * and that the memory is contiguous. - * - * If this is the case, the memory of @mem1 and @mem2 can be merged - * efficiently by performing gst_memory_share() on the parent object from - * the returned @offset. - * - * Params: - * mem2 = a #GstMemory - * offset = a pointer to a result offset - * - * Returns: %TRUE if the memory is contiguous and of a common parent. - */ - public bool isSpan(Memory mem2, out size_t offset) - { - return gst_memory_is_span(gstMemory, (mem2 is null) ? null : mem2.getMemoryStruct(), &offset) != 0; - } - - /** - * Check if @mem if allocated with an allocator for @mem_type. - * - * Params: - * memType = a memory type - * - * Returns: %TRUE if @mem was allocated from an allocator for @mem_type. - * - * Since: 1.2 - */ - public bool isType(string memType) - { - return gst_memory_is_type(gstMemory, Str.toStringz(memType)) != 0; - } - - /** - * Create a #GstMemory object that is mapped with @flags. If @mem is mappable - * with @flags, this function returns the mapped @mem directly. Otherwise a - * mapped copy of @mem is returned. - * - * This function takes ownership of old @mem and returns a reference to a new - * #GstMemory. - * - * Params: - * info = pointer for info - * flags = mapping flags - * - * Returns: a #GstMemory object mapped - * with @flags or %NULL when a mapping is not possible. - */ - public Memory makeMapped(out GstMapInfo info, GstMapFlags flags) - { - auto __p = gst_memory_make_mapped(gstMemory, &info, flags); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Memory)(cast(GstMemory*) __p, true); - } - - /** - * Fill @info with the pointer and sizes of the memory in @mem that can be - * accessed according to @flags. - * - * This function can return %FALSE for various reasons: - * - the memory backed by @mem is not accessible with the given @flags. - * - the memory was already mapped with a different mapping. - * - * @info and its contents remain valid for as long as @mem is valid and - * until gst_memory_unmap() is called. - * - * For each gst_memory_map() call, a corresponding gst_memory_unmap() call - * should be done. - * - * Params: - * info = pointer for info - * flags = mapping flags - * - * Returns: %TRUE if the map operation was successful. - */ - public bool map(out GstMapInfo info, GstMapFlags flags) - { - return gst_memory_map(gstMemory, &info, flags) != 0; - } - - /** - * Resize the memory region. @mem should be writable and offset + size should be - * less than the maxsize of @mem. - * - * #GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED will be - * cleared when offset or padding is increased respectively. - * - * Params: - * offset = a new offset - * size = a new size - */ - public void resize(ptrdiff_t offset, size_t size) - { - gst_memory_resize(gstMemory, offset, size); - } - - /** - * Return a shared copy of @size bytes from @mem starting from @offset. No - * memory copy is performed and the memory region is simply shared. The result - * is guaranteed to be non-writable. @size can be set to -1 to return a shared - * copy from @offset to the end of the memory region. - * - * Params: - * offset = offset to share from - * size = size to share, or -1 to share to the end of the memory region - * - * Returns: a new #GstMemory. - */ - public Memory share(ptrdiff_t offset, ptrdiff_t size) - { - auto __p = gst_memory_share(gstMemory, offset, size); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Memory)(cast(GstMemory*) __p, true); - } - - /** - * Release the memory obtained with gst_memory_map() - * - * Params: - * info = a #GstMapInfo - */ - public void unmap(GstMapInfo* info) - { - gst_memory_unmap(gstMemory, info); - } -} diff --git a/generated/gstreamer/gstreamer/Message.d b/generated/gstreamer/gstreamer/Message.d deleted file mode 100644 index 5a100119a..000000000 --- a/generated/gstreamer/gstreamer/Message.d +++ /dev/null @@ -1,2489 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Message; - -private import glib.ConstructionException; -private import glib.ErrorG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gobject.Value; -private import gstreamer.Clock; -private import gstreamer.Context; -private import gstreamer.Device; -private import gstreamer.Element; -private import gstreamer.ObjectGst; -private import gstreamer.Stream; -private import gstreamer.StreamCollection; -private import gstreamer.Structure; -private import gstreamer.TagList; -private import gstreamer.Toc; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * Messages are implemented as a subclass of #GstMiniObject with a generic - * #GstStructure as the content. This allows for writing custom messages without - * requiring an API change while allowing a wide range of different types - * of messages. - * - * Messages are posted by objects in the pipeline and are passed to the - * application using the #GstBus. - * - * The basic use pattern of posting a message on a #GstBus is as follows: - * |[ - * gst_bus_post (bus, gst_message_new_eos()); - * ]| - * - * A #GstElement usually posts messages on the bus provided by the parent - * container using gst_element_post_message(). - */ -public class Message -{ - /** the main Gtk struct */ - protected GstMessage* gstMessage; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMessage* getMessageStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMessage; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMessage; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMessage* gstMessage, bool ownedRef = false) - { - this.gstMessage = gstMessage; - this.ownedRef = ownedRef; - } - - /** - * Get the type of the message. - */ - public GstMessageType type() - { - return cast(GstMessageType)getMessageStruct().type; - } - - /** - * Get the src (the element that originated the message) of the message. - */ - public ObjectGst src() - { - return new ObjectGst( cast(GstObject*)getMessageStruct().src ); - } - - /** - * Create a new element-specific message. This is meant as a generic way of - * allowing one-way communication from an element to an application, for example - * "the firewire cable was unplugged". The format of the message should be - * documented in the element's documentation. The structure field can be NULL. - * MT safe. - * Params: - * src = The object originating the message. - * structure = The structure for the message. The message will take ownership of - * the structure. - * Returns: - * The new element message. - */ - public static Message newElement(ObjectGst src, Structure structure) - { - // GstMessage* gst_message_new_element (GstObject *src, GstStructure *structure); - auto p = gst_message_new_element((src is null) ? null : src.getObjectGstStruct(), (structure is null) ? null : structure.getStructureStruct()); - - if(p is null) - { - throw new ConstructionException("null returned by gst_message_new_element"); - } - - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * Create a new clock message. This message is posted whenever the - * pipeline selectes a new clock for the pipeline. - * MT safe. - * Params: - * src = The object originating the message. - * clock = the new selected clock - * Returns: - * The new new clock message. - */ - public static Message newNewClock(ObjectGst src, Clock clock) - { - // GstMessage* gst_message_new_new_clock (GstObject *src, GstClock *clock); - auto p = gst_message_new_new_clock((src is null) ? null : src.getObjectGstStruct(), (clock is null) ? null : clock.getClockStruct()); - - if(p is null) - { - throw new ConstructionException("null returned by gst_message_new_new_clock"); - } - - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * Create a new segment done message. This message is posted by elements that - * finish playback of a segment as a result of a segment seek. This message - * is received by the application after all elements that posted a segment_start - * have posted the segment_done. - * MT safe. - * Params: - * src = The object originating the message. - * format = The format of the position being done - * position = The position of the segment being done - * Returns: - * The new segment done message. - */ - public static Message newSegmentDone(ObjectGst src, GstFormat format, long position) - { - // GstMessage* gst_message_new_segment_done (GstObject *src, GstFormat format, gint64 position); - auto p = gst_message_new_segment_done((src is null) ? null : src.getObjectGstStruct(), format, position); - - if(p is null) - { - throw new ConstructionException("null returned by gst_message_new_segment_done"); - } - - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * Create a new segment message. This message is posted by elements that - * start playback of a segment as a result of a segment seek. This message - * is not received by the application but is used for maintenance reasons in - * container elements. - * MT safe. - * Params: - * src = The object originating the message. - * format = The format of the position being played - * position = The position of the segment being played - * Returns: - * The new segment start message. - */ - public static Message newSegmentStart(ObjectGst src, GstFormat format, long position) - { - // GstMessage* gst_message_new_segment_start (GstObject *src, GstFormat format, gint64 position); - auto p = gst_message_new_segment_start((src is null) ? null : src.getObjectGstStruct(), format, position); - - if(p is null) - { - throw new ConstructionException("null returned by gst_message_new_segment_start"); - } - - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * Create a new warning message. The message will make copies of error and - * debug. - * MT safe. - * Params: - * src = The object originating the message. - * error = The GError for this message. - * debug = A debugging string for something or other. - * Returns: - * The new warning message. - */ - public static Message newWarning(ObjectGst src, ErrorG error, string dbug) - { - // GstMessage* gst_message_new_warning (GstObject *src, GError *error, gchar *debug); - auto p = gst_message_new_warning((src is null) ? null : src.getObjectGstStruct(), (error is null) ? null : error.getErrorGStruct(), Str.toStringz(dbug)); - - if(p is null) - { - throw new ConstructionException("null returned by gst_message_new_warning"); - } - - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * Create a state dirty message. This message is posted whenever an element - * changed its state asynchronously and is used internally to update the - * states of container objects. - * MT safe. - * Params: - * src = the object originating the message - * Returns: - * The new state dirty message. - */ - public static Message newStateDirty(ObjectGst src) - { - // GstMessage* gst_message_new_state_dirty (GstObject *src); - auto p = gst_message_new_state_dirty((src is null) ? null : src.getObjectGstStruct()); - - if(p is null) - { - throw new ConstructionException("null returned by gst_message_new_state_dirty"); - } - - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * Create a new eos message. This message is generated and posted in - * the sink elements of a GstBin. The bin will only forward the EOS - * message to the application if all sinks have posted an EOS message. - * MT safe. - * Params: - * src = The object originating the message. - * Returns: - * The new eos message. - */ - public static Message newEOS(ObjectGst src) - { - // GstMessage* gst_message_new_eos (GstObject *src); - auto p = gst_message_new_eos((src is null) ? null : src.getObjectGstStruct()); - - if(p is null) - { - throw new ConstructionException("null returned by gst_message_new_eos"); - } - - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * Create a new error message. The message will copy error and - * debug. This message is posted by element when a fatal event - * occured. The pipeline will probably (partially) stop. The application - * receiving this message should stop the pipeline. - * MT safe. - * Params: - * src = The object originating the message. - * error = The GError for this message. - * debug = A debugging string for something or other. - * Returns: - * The new error message. - */ - public static Message newError(ObjectGst src, ErrorG error, string dbug) - { - // GstMessage* gst_message_new_error (GstObject *src, GError *error, gchar *debug); - auto p = gst_message_new_error((src is null) ? null : src.getObjectGstStruct(), (error is null) ? null : error.getErrorGStruct(), Str.toStringz(dbug)); - - if(p is null) - { - throw new ConstructionException("null returned by gst_message_new_error"); - } - - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * Create a new info message. The message will make copies of error and - * debug. - * MT safe. - * Since 0.10.12 - * Params: - * src = The object originating the message. - * error = The GError for this message. - * debug = A debugging string for something or other. - * Returns: - * The new info message. - */ - public static Message newInfo(ObjectGst src, ErrorG error, string dbug) - { - // GstMessage* gst_message_new_info (GstObject *src, GError *error, gchar *debug); - auto p = gst_message_new_info((src is null) ? null : src.getObjectGstStruct(), (error is null) ? null : error.getErrorGStruct(), Str.toStringz(dbug)); - - if(p is null) - { - throw new ConstructionException("null returned by gst_message_new_info"); - } - - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * This message can be posted by elements when their latency requirements - * have changed. - * Params: - * src = The object originating the message. - * Returns: - * The new latency message. MT safe. - */ - public static Message newLatency(ObjectGst src) - { - // GstMessage* gst_message_new_latency (GstObject *src); - auto p = gst_message_new_latency((src is null) ? null : src.getObjectGstStruct()); - - if(p is null) - { - throw new ConstructionException("null returned by gst_message_new_latency"); - } - - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * Create a new duration changed message. This message is posted by elements - * that know the duration of a stream when the duration changes. This message - * is received by bins and is used to calculate the total duration of a - * pipeline. Elements may post a duration message with a duration of - * GST_CLOCK_TIME_NONE to indicate that the duration has changed and the - * cached duration should be discarded. The new duration can then be - * retrieved via a query. - * Params: - * src = The object originating the message. [transfer none] - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static Message newDurationChanged(ObjectGst src) - { - // GstMessage * gst_message_new_duration_changed (GstObject *src); - auto p = gst_message_new_duration_changed((src is null) ? null : src.getObjectGstStruct()); - - if(p is null) - { - throw new ConstructionException("null returned by gst_message_new_duration_changed((src is null) ? null : src.getObjectGstStruct())"); - } - - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * This message is posted by elements when they start an ASYNC state change. - * Params: - * src = The object originating the message. [transfer none] - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static Message newAsyncStart(ObjectGst src) - { - // GstMessage * gst_message_new_async_start (GstObject *src); - auto p = gst_message_new_async_start((src is null) ? null : src.getObjectGstStruct()); - if(p is null) - { - throw new ConstructionException("null returned by gst_message_new_async_start((src is null) ? null : src.getObjectGstStruct())"); - } - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * The message is posted when elements completed an ASYNC state change. - * running_time contains the time of the desired running_time when this - * elements goes to PLAYING. A value of GST_CLOCK_TIME_NONE for running_time - * means that the element has no clock interaction and thus doesn't care about - * the running_time of the pipeline. - * Params: - * src = The object originating the message. [transfer none] - * runningTime = the desired running_time - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static Message newAsyncDone(ObjectGst src, GstClockTime runningTime) - { - // GstMessage * gst_message_new_async_done (GstObject *src, GstClockTime running_time); - auto p = gst_message_new_async_done((src is null) ? null : src.getObjectGstStruct(), runningTime); - if(p is null) - { - throw new ConstructionException("null returned by gst_message_new_async_done((src is null) ? null : src.getObjectGstStruct(), runningTime)"); - } - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * Creates a new device-added message. The device-added message is produced by - * #GstDeviceProvider or a #GstDeviceMonitor. They announce the appearance - * of monitored devices. - * - * Params: - * src = The #GstObject that created the message - * device = The new #GstDevice - * - * Return: a newly allocated #GstMessage - * - * Since: 1.4 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static Message newDeviceAdded(ObjectGst src, Device device) - { - auto p = gst_message_new_device_added((src is null) ? null : src.getObjectGstStruct(), (device is null) ? null : device.getDeviceStruct()); - - if(p is null) - { - throw new ConstructionException("null returned by new_device_added"); - } - - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * Creates a new device-removed message. The device-removed message is produced - * by #GstDeviceProvider or a #GstDeviceMonitor. They announce the - * disappearance of monitored devices. - * - * Params: - * src = The #GstObject that created the message - * device = The removed #GstDevice - * - * Return: a newly allocated #GstMessage - * - * Since: 1.4 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static Message newDeviceRemoved(ObjectGst src, Device device) - { - auto p = gst_message_new_device_removed((src is null) ? null : src.getObjectGstStruct(), (device is null) ? null : device.getDeviceStruct()); - - if(p is null) - { - throw new ConstructionException("null returned by new_device_removed"); - } - - return new Message(cast(GstMessage*)p); //, true); - } - - /** - * Create a new error message. The message will copy @error and - * @debug. This message is posted by element when a fatal event - * occurred. The pipeline will probably (partially) stop. The application - * receiving this message should stop the pipeline. - * - * Params: - * src = The object originating the message. - * error = The GError for this message. - * dbg = A debugging string. - * details = (allow-none): A GstStructure with details - * - * Return: the new error message. - * - * Since: 1.10 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static Message newErrorWithDetails(ObjectGst src, ErrorG error, string dbg, Structure details) - { - auto p = gst_message_new_error_with_details((src is null) ? null : src.getObjectGstStruct(), (error is null) ? null : error.getErrorGStruct(), Str.toStringz(dbg), (details is null) ? null : details.getStructureStruct()); - - if(p is null) - { - throw new ConstructionException("null returned by new_error_with_details"); - } - - return new Message(cast(GstMessage*)p, true); - } - - /** - * Create a new info message. The message will make copies of @error and - * @debug. - * - * Params: - * src = The object originating the message. - * error = The GError for this message. - * dbg = A debugging string. - * details = (allow-none): A GstStructure with details - * - * Return: the new warning message. - * - * Since: 1.10 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static Message newInfoWithDetails(ObjectGst src, ErrorG error, string dbg, Structure details) - { - auto p = gst_message_new_info_with_details((src is null) ? null : src.getObjectGstStruct(), (error is null) ? null : error.getErrorGStruct(), Str.toStringz(dbg), (details is null) ? null : details.getStructureStruct()); - - if(p is null) - { - throw new ConstructionException("null returned by new_info_with_details"); - } - - return new Message(cast(GstMessage*)p, true); - } - - /** - * Create a new warning message. The message will make copies of @error and - * @debug. - * - * Params: - * src = The object originating the message. - * error = The GError for this message. - * dbg = A debugging string. - * details = (allow-none): A GstStructure with details - * - * Return: the new warning message. - * - * Since: 1.10 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static Message newWarningWithDetails(ObjectGst src, ErrorG error, string dbg, Structure details) - { - auto p = gst_message_new_warning_with_details((src is null) ? null : src.getObjectGstStruct(), (error is null) ? null : error.getErrorGStruct(), Str.toStringz(dbg), (details is null) ? null : details.getStructureStruct()); - - if(p is null) - { - throw new ConstructionException("null returned by new_warning_with_details"); - } - - return new Message(cast(GstMessage*)p, true); - } - - /** - * Creates a new stream-collection message. The message is used to announce new - * #GstStreamCollection - * - * Params: - * src = The #GstObject that created the message - * collection = The #GstStreamCollection - * - * Return: a newly allocated #GstMessage - * - * Since: 1.10 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static Message newStreamCollection(ObjectGst src, StreamCollection collection) - { - auto p = gst_message_new_stream_collection((src is null) ? null : src.getObjectGstStruct(), (collection is null) ? null : collection.getStreamCollectionStruct()); - - if(p is null) - { - throw new ConstructionException("null returned by new_stream_collection"); - } - - return new Message(cast(GstMessage*)p, true); - } - - /** - * Creates a new steams-selected message. The message is used to announce - * that an array of streams has been selected. This is generally in response - * to a #GST_EVENT_SELECT_STREAMS event, or when an element (such as decodebin3) - * makes an initial selection of streams. - * - * The message also contains the #GstStreamCollection to which the various streams - * belong to. - * - * Users of gst_message_new_streams_selected() can add the selected streams with - * gst_message_streams_selected_add(). - * - * Params: - * src = The #GstObject that created the message - * collection = The #GstStreamCollection - * - * Return: a newly allocated #GstMessage - * - * Since: 1.10 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static Message newStreamsSelected(ObjectGst src, StreamCollection collection) - { - auto p = gst_message_new_streams_selected((src is null) ? null : src.getObjectGstStruct(), (collection is null) ? null : collection.getStreamCollectionStruct()); - - if(p is null) - { - throw new ConstructionException("null returned by new_streams_selected"); - } - - return new Message(cast(GstMessage*)p, true); - } - - /** - */ - - /** */ - public static GType getType() - { - return gst_message_get_type(); - } - - /** - * Create a new application-typed message. GStreamer will never create these - * messages; they are a gift from us to you. Enjoy. - * - * Params: - * src = The object originating the message. - * structure = the structure for the message. The message - * will take ownership of the structure. - * - * Returns: The new application message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, Structure structure) - { - auto __p = gst_message_new_application((src is null) ? null : src.getObjectGstStruct(), (structure is null) ? null : structure.getStructureStruct(true)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_application"); - } - - this(cast(GstMessage*) __p); - } - - /** - * The message is posted when elements completed an ASYNC state change. - * @running_time contains the time of the desired running_time when this - * elements goes to PLAYING. A value of #GST_CLOCK_TIME_NONE for @running_time - * means that the element has no clock interaction and thus doesn't care about - * the running_time of the pipeline. - * - * Params: - * src = The object originating the message. - * runningTime = the desired running_time - * - * Returns: The new async_done message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, GstClockTime runningTime) - { - auto __p = gst_message_new_async_done((src is null) ? null : src.getObjectGstStruct(), runningTime); - - if(__p is null) - { - throw new ConstructionException("null returned by new_async_done"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Create a new buffering message. This message can be posted by an element that - * needs to buffer data before it can continue processing. @percent should be a - * value between 0 and 100. A value of 100 means that the buffering completed. - * - * When @percent is < 100 the application should PAUSE a PLAYING pipeline. When - * @percent is 100, the application can set the pipeline (back) to PLAYING. - * The application must be prepared to receive BUFFERING messages in the - * PREROLLING state and may only set the pipeline to PLAYING after receiving a - * message with @percent set to 100, which can happen after the pipeline - * completed prerolling. - * - * MT safe. - * - * Params: - * src = The object originating the message. - * percent = The buffering percent - * - * Returns: The new buffering message. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, int percent) - { - auto __p = gst_message_new_buffering((src is null) ? null : src.getObjectGstStruct(), percent); - - if(__p is null) - { - throw new ConstructionException("null returned by new_buffering"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Create a clock lost message. This message is posted whenever the - * clock is not valid anymore. - * - * If this message is posted by the pipeline, the pipeline will - * select a new clock again when it goes to PLAYING. It might therefore - * be needed to set the pipeline to PAUSED and PLAYING again. - * - * Params: - * src = The object originating the message. - * clock = the clock that was lost - * - * Returns: The new clock lost message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, Clock clock) - { - auto __p = gst_message_new_clock_lost((src is null) ? null : src.getObjectGstStruct(), (clock is null) ? null : clock.getClockStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_clock_lost"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Create a clock provide message. This message is posted whenever an - * element is ready to provide a clock or lost its ability to provide - * a clock (maybe because it paused or became EOS). - * - * This message is mainly used internally to manage the clock - * selection. - * - * Params: - * src = The object originating the message. - * clock = the clock it provides - * ready = %TRUE if the sender can provide a clock - * - * Returns: the new provide clock message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, Clock clock, bool ready) - { - auto __p = gst_message_new_clock_provide((src is null) ? null : src.getObjectGstStruct(), (clock is null) ? null : clock.getClockStruct(), ready); - - if(__p is null) - { - throw new ConstructionException("null returned by new_clock_provide"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Create a new custom-typed message. This can be used for anything not - * handled by other message-specific functions to pass a message to the - * app. The structure field can be %NULL. - * - * Params: - * type = The #GstMessageType to distinguish messages - * src = The object originating the message. - * structure = the structure for the - * message. The message will take ownership of the structure. - * - * Returns: The new message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstMessageType type, ObjectGst src, Structure structure) - { - auto __p = gst_message_new_custom(type, (src is null) ? null : src.getObjectGstStruct(), (structure is null) ? null : structure.getStructureStruct(true)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_custom"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Creates a new device-changed message. The device-changed message is produced - * by #GstDeviceProvider or a #GstDeviceMonitor. They announce that a device - * properties has changed and @device represent the new modified version of @changed_device. - * - * Params: - * src = The #GstObject that created the message - * device = The newly created device representing @replaced_device - * with its new configuration. - * - * Returns: a newly allocated #GstMessage - * - * Since: 1.16 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, Device device, Device changedDevice) - { - auto __p = gst_message_new_device_changed((src is null) ? null : src.getObjectGstStruct(), (device is null) ? null : device.getDeviceStruct(), (changedDevice is null) ? null : changedDevice.getDeviceStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_device_changed"); - } - - this(cast(GstMessage*) __p); - } - - /** - * This message is posted when an element has a new local #GstContext. - * - * Params: - * src = The object originating the message. - * context = the context - * - * Returns: The new have-context message. - * - * MT safe. - * - * Since: 1.2 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, Context context) - { - auto __p = gst_message_new_have_context((src is null) ? null : src.getObjectGstStruct(), (context is null) ? null : context.getContextStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_have_context"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Creates a new instant-rate-request message. Elements handling the - * instant-rate-change event must post this message. The message is - * handled at the pipeline, and allows the pipeline to select the - * running time when the rate change should happen and to send an - * @GST_EVENT_INSTANT_RATE_SYNC_TIME event to notify the elements - * in the pipeline. - * - * Params: - * src = The #GstObject that posted the message - * rateMultiplier = the rate multiplier factor that should be applied - * - * Returns: a newly allocated #GstMessage - * - * Since: 1.18 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, double rateMultiplier) - { - auto __p = gst_message_new_instant_rate_request((src is null) ? null : src.getObjectGstStruct(), rateMultiplier); - - if(__p is null) - { - throw new ConstructionException("null returned by new_instant_rate_request"); - } - - this(cast(GstMessage*) __p); - } - - /** - * This message is posted when an element needs a specific #GstContext. - * - * Params: - * src = The object originating the message. - * contextType = The context type that is needed - * - * Returns: The new need-context message. - * - * MT safe. - * - * Since: 1.2 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, string contextType) - { - auto __p = gst_message_new_need_context((src is null) ? null : src.getObjectGstStruct(), Str.toStringz(contextType)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_need_context"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Progress messages are posted by elements when they use an asynchronous task - * to perform actions triggered by a state change. - * - * @code contains a well defined string describing the action. - * @text should contain a user visible string detailing the current action. - * - * Params: - * src = The object originating the message. - * type = a #GstProgressType - * code = a progress code - * text = free, user visible text describing the progress - * - * Returns: The new qos message. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, GstProgressType type, string code, string text) - { - auto __p = gst_message_new_progress((src is null) ? null : src.getObjectGstStruct(), type, Str.toStringz(code), Str.toStringz(text)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_progress"); - } - - this(cast(GstMessage*) __p); - } - - /** - * - * Params: - * src = The #GstObject whose property changed (may or may not be a #GstElement) - * propertyName = name of the property that changed - * val = new property value, or %NULL - * Returns: a newly allocated #GstMessage - * - * Since: 1.10 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, string propertyName, Value val) - { - auto __p = gst_message_new_property_notify((src is null) ? null : src.getObjectGstStruct(), Str.toStringz(propertyName), (val is null) ? null : val.getValueStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_property_notify"); - } - - this(cast(GstMessage*) __p); - } - - /** - * A QOS message is posted on the bus whenever an element decides to drop a - * buffer because of QoS reasons or whenever it changes its processing strategy - * because of QoS reasons (quality adjustments such as processing at lower - * accuracy). - * - * This message can be posted by an element that performs synchronisation against the - * clock (live) or it could be dropped by an element that performs QoS because of QOS - * events received from a downstream element (!live). - * - * @running_time, @stream_time, @timestamp, @duration should be set to the - * respective running-time, stream-time, timestamp and duration of the (dropped) - * buffer that generated the QoS event. Values can be left to - * GST_CLOCK_TIME_NONE when unknown. - * - * Params: - * src = The object originating the message. - * live = if the message was generated by a live element - * runningTime = the running time of the buffer that generated the message - * streamTime = the stream time of the buffer that generated the message - * timestamp = the timestamps of the buffer that generated the message - * duration = the duration of the buffer that generated the message - * - * Returns: The new qos message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, bool live, ulong runningTime, ulong streamTime, ulong timestamp, ulong duration) - { - auto __p = gst_message_new_qos((src is null) ? null : src.getObjectGstStruct(), live, runningTime, streamTime, timestamp, duration); - - if(__p is null) - { - throw new ConstructionException("null returned by new_qos"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Creates a new redirect message and adds a new entry to it. Redirect messages - * are posted when an element detects that the actual data has to be retrieved - * from a different location. This is useful if such a redirection cannot be - * handled inside a source element, for example when HTTP 302/303 redirects - * return a non-HTTP URL. - * - * The redirect message can hold multiple entries. The first one is added - * when the redirect message is created, with the given location, tag_list, - * entry_struct arguments. Use gst_message_add_redirect_entry() to add more - * entries. - * - * Each entry has a location, a tag list, and a structure. All of these are - * optional. The tag list and structure are useful for additional metadata, - * such as bitrate statistics for the given location. - * - * By default, message recipients should treat entries in the order they are - * stored. The recipient should therefore try entry \#0 first, and if this - * entry is not acceptable or working, try entry \#1 etc. Senders must make - * sure that they add entries in this order. However, recipients are free to - * ignore the order and pick an entry that is "best" for them. One example - * would be a recipient that scans the entries for the one with the highest - * bitrate tag. - * - * The specified location string is copied. However, ownership over the tag - * list and structure are transferred to the message. - * - * Params: - * src = The #GstObject whose property changed (may or may not be a #GstElement) - * location = location string for the new entry - * tagList = tag list for the new entry - * entryStruct = structure for the new entry - * - * Returns: a newly allocated #GstMessage - * - * Since: 1.10 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, string location, TagList tagList, Structure entryStruct) - { - auto __p = gst_message_new_redirect((src is null) ? null : src.getObjectGstStruct(), Str.toStringz(location), (tagList is null) ? null : tagList.getTagListStruct(), (entryStruct is null) ? null : entryStruct.getStructureStruct(true)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_redirect"); - } - - this(cast(GstMessage*) __p); - } - - /** - * This message can be posted by elements when they want to have their state - * changed. A typical use case would be an audio server that wants to pause the - * pipeline because a higher priority stream is being played. - * - * Params: - * src = The object originating the message. - * state = The new requested state - * - * Returns: the new request state message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, GstState state) - { - auto __p = gst_message_new_request_state((src is null) ? null : src.getObjectGstStruct(), state); - - if(__p is null) - { - throw new ConstructionException("null returned by new_request_state"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Create a state change message. This message is posted whenever an element - * changed its state. - * - * Params: - * src = The object originating the message. - * oldstate = the previous state - * newstate = the new (current) state - * pending = the pending (target) state - * - * Returns: the new state change message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, GstState oldstate, GstState newstate, GstState pending) - { - auto __p = gst_message_new_state_changed((src is null) ? null : src.getObjectGstStruct(), oldstate, newstate, pending); - - if(__p is null) - { - throw new ConstructionException("null returned by new_state_changed"); - } - - this(cast(GstMessage*) __p); - } - - /** - * This message is posted by elements when they complete a part, when @intermediate set - * to %TRUE, or a complete step operation. - * - * @duration will contain the amount of time (in GST_FORMAT_TIME) of the stepped - * @amount of media in format @format. - * - * Params: - * src = The object originating the message. - * format = the format of @amount - * amount = the amount of stepped data - * rate = the rate of the stepped amount - * flush = is this an flushing step - * intermediate = is this an intermediate step - * duration = the duration of the data - * eos = the step caused EOS - * - * Returns: the new step_done message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, GstFormat format, ulong amount, double rate, bool flush, bool intermediate, ulong duration, bool eos) - { - auto __p = gst_message_new_step_done((src is null) ? null : src.getObjectGstStruct(), format, amount, rate, flush, intermediate, duration, eos); - - if(__p is null) - { - throw new ConstructionException("null returned by new_step_done"); - } - - this(cast(GstMessage*) __p); - } - - /** - * This message is posted by elements when they accept or activate a new step - * event for @amount in @format. - * - * @active is set to %FALSE when the element accepted the new step event and has - * queued it for execution in the streaming threads. - * - * @active is set to %TRUE when the element has activated the step operation and - * is now ready to start executing the step in the streaming thread. After this - * message is emitted, the application can queue a new step operation in the - * element. - * - * Params: - * src = The object originating the message. - * active = if the step is active or queued - * format = the format of @amount - * amount = the amount of stepped data - * rate = the rate of the stepped amount - * flush = is this an flushing step - * intermediate = is this an intermediate step - * - * Returns: The new step_start message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, bool active, GstFormat format, ulong amount, double rate, bool flush, bool intermediate) - { - auto __p = gst_message_new_step_start((src is null) ? null : src.getObjectGstStruct(), active, format, amount, rate, flush, intermediate); - - if(__p is null) - { - throw new ConstructionException("null returned by new_step_start"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Create a new stream_start message. This message is generated and posted in - * the sink elements of a GstBin. The bin will only forward the STREAM_START - * message to the application if all sinks have posted an STREAM_START message. - * - * Params: - * src = The object originating the message. - * - * Returns: The new stream_start message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src) - { - auto __p = gst_message_new_stream_start((src is null) ? null : src.getObjectGstStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_stream_start"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Create a new stream status message. This message is posted when a streaming - * thread is created/destroyed or when the state changed. - * - * Params: - * src = The object originating the message. - * type = The stream status type. - * owner = the owner element of @src. - * - * Returns: the new stream status message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, GstStreamStatusType type, Element owner) - { - auto __p = gst_message_new_stream_status((src is null) ? null : src.getObjectGstStruct(), type, (owner is null) ? null : owner.getElementStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_stream_status"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Create a new structure change message. This message is posted when the - * structure of a pipeline is in the process of being changed, for example - * when pads are linked or unlinked. - * - * @src should be the sinkpad that unlinked or linked. - * - * Params: - * src = The object originating the message. - * type = The change type. - * owner = The owner element of @src. - * busy = Whether the structure change is busy. - * - * Returns: the new structure change message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, GstStructureChangeType type, Element owner, bool busy) - { - auto __p = gst_message_new_structure_change((src is null) ? null : src.getObjectGstStruct(), type, (owner is null) ? null : owner.getElementStruct(), busy); - - if(__p is null) - { - throw new ConstructionException("null returned by new_structure_change"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Create a new tag message. The message will take ownership of the tag list. - * The message is posted by elements that discovered a new taglist. - * - * Params: - * src = The object originating the message. - * tagList = the tag list for the message. - * - * Returns: the new tag message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, TagList tagList) - { - auto __p = gst_message_new_tag((src is null) ? null : src.getObjectGstStruct(), (tagList is null) ? null : tagList.getTagListStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_tag"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Create a new TOC message. The message is posted by elements - * that discovered or updated a TOC. - * - * Params: - * src = the object originating the message. - * toc = #GstToc structure for the message. - * updated = whether TOC was updated or not. - * - * Returns: a new TOC message. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ObjectGst src, Toc toc, bool updated) - { - auto __p = gst_message_new_toc((src is null) ? null : src.getObjectGstStruct(), (toc is null) ? null : toc.getTocStruct(), updated); - - if(__p is null) - { - throw new ConstructionException("null returned by new_toc"); - } - - this(cast(GstMessage*) __p); - } - - /** - * Creates and appends a new entry. - * - * The specified location string is copied. However, ownership over the tag - * list and structure are transferred to the message. - * - * Params: - * location = location string for the new entry - * tagList = tag list for the new entry - * entryStruct = structure for the new entry - * - * Since: 1.10 - */ - public void addRedirectEntry(string location, TagList tagList, Structure entryStruct) - { - gst_message_add_redirect_entry(gstMessage, Str.toStringz(location), (tagList is null) ? null : tagList.getTagListStruct(), (entryStruct is null) ? null : entryStruct.getStructureStruct(true)); - } - - /** - * Creates a copy of the message. Returns a copy of the message. - * - * Returns: a new copy of @msg. - * - * MT safe - */ - public Message copy() - { - auto __p = gst_message_copy(gstMessage); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Message)(cast(GstMessage*) __p, true); - } - - /** - * Returns: the number of entries stored in the message - * - * Since: 1.10 - */ - public size_t getNumRedirectEntries() - { - return gst_message_get_num_redirect_entries(gstMessage); - } - - /** - * Retrieve the sequence number of a message. - * - * Messages have ever-incrementing sequence numbers, which may also be set - * explicitly via gst_message_set_seqnum(). Sequence numbers are typically used - * to indicate that a message corresponds to some other set of messages or - * events, for example a SEGMENT_DONE message corresponding to a SEEK event. It - * is considered good practice to make this correspondence when possible, though - * it is not required. - * - * Note that events and messages share the same sequence number incrementor; - * two events or messages will never have the same sequence number unless - * that correspondence was made explicitly. - * - * Returns: The message's sequence number. - * - * MT safe. - */ - public uint getSeqnum() - { - return gst_message_get_seqnum(gstMessage); - } - - /** - * Extracts the object managing the streaming thread from @message. - * - * Returns: a GValue containing the object that manages the - * streaming thread. This object is usually of type GstTask but other types can - * be added in the future. The object remains valid as long as @message is - * valid. - */ - public Value getStreamStatusObject() - { - auto __p = gst_message_get_stream_status_object(gstMessage); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Value)(cast(GValue*) __p); - } - - /** - * Access the structure of the message. - * - * Returns: The structure of the message. The - * structure is still owned by the message, which means that you should not - * free it and that the pointer becomes invalid when you free the message. - * - * MT safe. - */ - public Structure getStructure() - { - auto __p = gst_message_get_structure(gstMessage); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p); - } - - /** - * Checks if @message has the given @name. This function is usually used to - * check the name of a custom message. - * - * Params: - * name = name to check - * - * Returns: %TRUE if @name matches the name of the message structure. - */ - public bool hasName(string name) - { - return gst_message_has_name(gstMessage, Str.toStringz(name)) != 0; - } - - /** - * Extract the running_time from the async_done message. - * - * MT safe. - * - * Params: - * runningTime = Result location for the running_time or %NULL - */ - public void parseAsyncDone(out GstClockTime runningTime) - { - gst_message_parse_async_done(gstMessage, &runningTime); - } - - /** - * Extracts the buffering percent from the GstMessage. see also - * gst_message_new_buffering(). - * - * MT safe. - * - * Params: - * percent = Return location for the percent. - */ - public void parseBuffering(out int percent) - { - gst_message_parse_buffering(gstMessage, &percent); - } - - /** - * Extracts the buffering stats values from @message. - * - * Params: - * mode = a buffering mode, or %NULL - * avgIn = the average input rate, or %NULL - * avgOut = the average output rate, or %NULL - * bufferingLeft = amount of buffering time left in - * milliseconds, or %NULL - */ - public void parseBufferingStats(out GstBufferingMode mode, out int avgIn, out int avgOut, out long bufferingLeft) - { - gst_message_parse_buffering_stats(gstMessage, &mode, &avgIn, &avgOut, &bufferingLeft); - } - - /** - * Extracts the lost clock from the GstMessage. - * The clock object returned remains valid until the message is freed. - * - * MT safe. - * - * Params: - * clock = a pointer to hold the lost clock - */ - public void parseClockLost(out Clock clock) - { - GstClock* outclock = null; - - gst_message_parse_clock_lost(gstMessage, &outclock); - - clock = ObjectG.getDObject!(Clock)(outclock); - } - - /** - * Extracts the clock and ready flag from the GstMessage. - * The clock object returned remains valid until the message is freed. - * - * MT safe. - * - * Params: - * clock = a pointer to hold a clock - * object, or %NULL - * ready = a pointer to hold the ready flag, or %NULL - */ - public void parseClockProvide(out Clock clock, out bool ready) - { - GstClock* outclock = null; - int outready; - - gst_message_parse_clock_provide(gstMessage, &outclock, &outready); - - clock = ObjectG.getDObject!(Clock)(outclock); - ready = (outready == 1); - } - - /** - * Parse a context type from an existing GST_MESSAGE_NEED_CONTEXT message. - * - * Params: - * contextType = the context type, or %NULL - * - * Returns: a #gboolean indicating if the parsing succeeded. - * - * Since: 1.2 - */ - public bool parseContextType(out string contextType) - { - char* outcontextType = null; - - auto __p = gst_message_parse_context_type(gstMessage, &outcontextType) != 0; - - contextType = Str.toString(outcontextType); - - return __p; - } - - /** - * Parses a device-added message. The device-added message is produced by - * #GstDeviceProvider or a #GstDeviceMonitor. It announces the appearance - * of monitored devices. - * - * Params: - * device = A location where to store a - * pointer to the new #GstDevice, or %NULL - * - * Since: 1.4 - */ - public void parseDeviceAdded(out Device device) - { - GstDevice* outdevice = null; - - gst_message_parse_device_added(gstMessage, &outdevice); - - device = ObjectG.getDObject!(Device)(outdevice); - } - - /** - * Parses a device-changed message. The device-changed message is produced by - * #GstDeviceProvider or a #GstDeviceMonitor. It announces the - * disappearance of monitored devices. * It announce that a device properties has - * changed and @device represents the new modified version of @changed_device. - * - * Params: - * device = A location where to store a - * pointer to the updated version of the #GstDevice, or %NULL - * changedDevice = A location where to store a - * pointer to the old version of the #GstDevice, or %NULL - * - * Since: 1.16 - */ - public void parseDeviceChanged(out Device device, out Device changedDevice) - { - GstDevice* outdevice = null; - GstDevice* outchangedDevice = null; - - gst_message_parse_device_changed(gstMessage, &outdevice, &outchangedDevice); - - device = ObjectG.getDObject!(Device)(outdevice); - changedDevice = ObjectG.getDObject!(Device)(outchangedDevice); - } - - /** - * Parses a device-removed message. The device-removed message is produced by - * #GstDeviceProvider or a #GstDeviceMonitor. It announces the - * disappearance of monitored devices. - * - * Params: - * device = A location where to store a - * pointer to the removed #GstDevice, or %NULL - * - * Since: 1.4 - */ - public void parseDeviceRemoved(out Device device) - { - GstDevice* outdevice = null; - - gst_message_parse_device_removed(gstMessage, &outdevice); - - device = ObjectG.getDObject!(Device)(outdevice); - } - - /** - * Extracts the GError and debug string from the GstMessage. The values returned - * in the output arguments are copies; the caller must free them when done. - * - * Typical usage of this function might be: - * |[ - * ... - * switch (GST_MESSAGE_TYPE (msg)) { - * case GST_MESSAGE_ERROR: { - * GError *err = NULL; - * gchar *dbg_info = NULL; - * - * gst_message_parse_error (msg, &err, &dbg_info); - * g_printerr ("ERROR from element %s: %s\n", - * GST_OBJECT_NAME (msg->src), err->message); - * g_printerr ("Debugging info: %s\n", (dbg_info) ? dbg_info : "none"); - * g_error_free (err); - * g_free (dbg_info); - * break; - * } - * ... - * } - * ... - * ]| - * - * MT safe. - * - * Params: - * gerror = location for the GError - * debug_ = location for the debug message, - * or %NULL - */ - public void parseError(out ErrorG gerror, out string debug_) - { - GError* outgerror = null; - char* outdebug_ = null; - - gst_message_parse_error(gstMessage, &outgerror, &outdebug_); - - gerror = new ErrorG(outgerror); - debug_ = Str.toString(outdebug_); - } - - /** - * Returns the optional details structure, may be NULL if none. - * The returned structure must not be freed. - * - * Params: - * structure = A pointer to the returned details - * - * Since: 1.10 - */ - public void parseErrorDetails(out Structure structure) - { - GstStructure* outstructure = null; - - gst_message_parse_error_details(gstMessage, &outstructure); - - structure = ObjectG.getDObject!(Structure)(outstructure); - } - - /** - * Extract the group from the STREAM_START message. - * - * Params: - * groupId = Result location for the group id or - * %NULL - * - * Returns: %TRUE if the message had a group id set, %FALSE otherwise - * - * MT safe. - * - * Since: 1.2 - */ - public bool parseGroupId(out uint groupId) - { - return gst_message_parse_group_id(gstMessage, &groupId) != 0; - } - - /** - * Extract the context from the HAVE_CONTEXT message. - * - * MT safe. - * - * Params: - * context = Result location for the - * context or %NULL - * - * Since: 1.2 - */ - public void parseHaveContext(out Context context) - { - GstContext* outcontext = null; - - gst_message_parse_have_context(gstMessage, &outcontext); - - context = ObjectG.getDObject!(Context)(outcontext); - } - - /** - * Extracts the GError and debug string from the GstMessage. The values returned - * in the output arguments are copies; the caller must free them when done. - * - * MT safe. - * - * Params: - * gerror = location for the GError - * debug_ = location for the debug message, - * or %NULL - */ - public void parseInfo(out ErrorG gerror, out string debug_) - { - GError* outgerror = null; - char* outdebug_ = null; - - gst_message_parse_info(gstMessage, &outgerror, &outdebug_); - - gerror = new ErrorG(outgerror); - debug_ = Str.toString(outdebug_); - } - - /** - * Returns the optional details structure, may be NULL if none - * The returned structure must not be freed. - * - * Params: - * structure = A pointer to the returned details structure - * - * Since: 1.10 - */ - public void parseInfoDetails(out Structure structure) - { - GstStructure* outstructure = null; - - gst_message_parse_info_details(gstMessage, &outstructure); - - structure = ObjectG.getDObject!(Structure)(outstructure); - } - - /** - * Parses the rate_multiplier from the instant-rate-request message. - * - * Params: - * rateMultiplier = return location for the rate, or %NULL - * - * Since: 1.18 - */ - public void parseInstantRateRequest(out double rateMultiplier) - { - gst_message_parse_instant_rate_request(gstMessage, &rateMultiplier); - } - - /** - * Extracts the new clock from the GstMessage. - * The clock object returned remains valid until the message is freed. - * - * MT safe. - * - * Params: - * clock = a pointer to hold the selected - * new clock - */ - public void parseNewClock(out Clock clock) - { - GstClock* outclock = null; - - gst_message_parse_new_clock(gstMessage, &outclock); - - clock = ObjectG.getDObject!(Clock)(outclock); - } - - /** - * Parses the progress @type, @code and @text. - * - * Params: - * type = location for the type - * code = location for the code - * text = location for the text - */ - public void parseProgress(out GstProgressType type, out string code, out string text) - { - char* outcode = null; - char* outtext = null; - - gst_message_parse_progress(gstMessage, &type, &outcode, &outtext); - - code = Str.toString(outcode); - text = Str.toString(outtext); - } - - /** - * Parses a property-notify message. These will be posted on the bus only - * when set up with gst_element_add_property_notify_watch() or - * gst_element_add_property_deep_notify_watch(). - * - * Params: - * object = location where to store a - * pointer to the object whose property got changed, or %NULL - * propertyName = return location for - * the name of the property that got changed, or %NULL - * propertyValue = return location for - * the new value of the property that got changed, or %NULL. This will - * only be set if the property notify watch was told to include the value - * when it was set up - * - * Since: 1.10 - */ - public void parsePropertyNotify(out ObjectGst object, out string propertyName, out Value propertyValue) - { - GstObject* outobject = null; - char* outpropertyName = null; - GValue* outpropertyValue = null; - - gst_message_parse_property_notify(gstMessage, &outobject, &outpropertyName, &outpropertyValue); - - object = ObjectG.getDObject!(ObjectGst)(outobject); - propertyName = Str.toString(outpropertyName); - propertyValue = ObjectG.getDObject!(Value)(outpropertyValue); - } - - /** - * Extract the timestamps and live status from the QoS message. - * - * The returned values give the running_time, stream_time, timestamp and - * duration of the dropped buffer. Values of GST_CLOCK_TIME_NONE mean unknown - * values. - * - * MT safe. - * - * Params: - * live = if the message was generated by a live element - * runningTime = the running time of the buffer that - * generated the message - * streamTime = the stream time of the buffer that - * generated the message - * timestamp = the timestamps of the buffer that - * generated the message - * duration = the duration of the buffer that - * generated the message - */ - public void parseQos(out bool live, out ulong runningTime, out ulong streamTime, out ulong timestamp, out ulong duration) - { - int outlive; - - gst_message_parse_qos(gstMessage, &outlive, &runningTime, &streamTime, ×tamp, &duration); - - live = (outlive == 1); - } - - /** - * Extract the QoS stats representing the history of the current continuous - * pipeline playback period. - * - * When @format is @GST_FORMAT_UNDEFINED both @dropped and @processed are - * invalid. Values of -1 for either @processed or @dropped mean unknown values. - * - * MT safe. - * - * Params: - * format = Units of the 'processed' and 'dropped' fields. - * Video sinks and video filters will use GST_FORMAT_BUFFERS (frames). - * Audio sinks and audio filters will likely use GST_FORMAT_DEFAULT - * (samples). - * processed = Total number of units correctly processed - * since the last state change to READY or a flushing operation. - * dropped = Total number of units dropped since the last - * state change to READY or a flushing operation. - */ - public void parseQosStats(out GstFormat format, out ulong processed, out ulong dropped) - { - gst_message_parse_qos_stats(gstMessage, &format, &processed, &dropped); - } - - /** - * Extract the QoS values that have been calculated/analysed from the QoS data - * - * MT safe. - * - * Params: - * jitter = The difference of the running-time against - * the deadline. - * proportion = Long term prediction of the ideal rate - * relative to normal rate to get optimal quality. - * quality = An element dependent integer value that - * specifies the current quality level of the element. The default - * maximum quality is 1000000. - */ - public void parseQosValues(out long jitter, out double proportion, out int quality) - { - gst_message_parse_qos_values(gstMessage, &jitter, &proportion, &quality); - } - - /** - * Parses the location and/or structure from the entry with the given index. - * The index must be between 0 and gst_message_get_num_redirect_entries() - 1. - * Returned pointers are valid for as long as this message exists. - * - * Params: - * entryIndex = index of the entry to parse - * location = return location for - * the pointer to the entry's location string, or %NULL - * tagList = return location for - * the pointer to the entry's tag list, or %NULL - * entryStruct = return location - * for the pointer to the entry's structure, or %NULL - * - * Since: 1.10 - */ - public void parseRedirectEntry(size_t entryIndex, out string location, out TagList tagList, out Structure entryStruct) - { - char* outlocation = null; - GstTagList* outtagList = null; - GstStructure* outentryStruct = null; - - gst_message_parse_redirect_entry(gstMessage, entryIndex, &outlocation, &outtagList, &outentryStruct); - - location = Str.toString(outlocation); - tagList = ObjectG.getDObject!(TagList)(outtagList); - entryStruct = ObjectG.getDObject!(Structure)(outentryStruct); - } - - /** - * Extract the requested state from the request_state message. - * - * MT safe. - * - * Params: - * state = Result location for the requested state or %NULL - */ - public void parseRequestState(out GstState state) - { - gst_message_parse_request_state(gstMessage, &state); - } - - /** - * Extract the running-time from the RESET_TIME message. - * - * MT safe. - * - * Params: - * runningTime = Result location for the running_time or - * %NULL - */ - public void parseResetTime(out GstClockTime runningTime) - { - gst_message_parse_reset_time(gstMessage, &runningTime); - } - - /** - * Extracts the position and format from the segment done message. - * - * MT safe. - * - * Params: - * format = Result location for the format, or %NULL - * position = Result location for the position, or %NULL - */ - public void parseSegmentDone(out GstFormat format, out long position) - { - gst_message_parse_segment_done(gstMessage, &format, &position); - } - - /** - * Extracts the position and format from the segment start message. - * - * MT safe. - * - * Params: - * format = Result location for the format, or %NULL - * position = Result location for the position, or %NULL - */ - public void parseSegmentStart(out GstFormat format, out long position) - { - gst_message_parse_segment_start(gstMessage, &format, &position); - } - - /** - * Extracts the old and new states from the GstMessage. - * - * Typical usage of this function might be: - * |[ - * ... - * switch (GST_MESSAGE_TYPE (msg)) { - * case GST_MESSAGE_STATE_CHANGED: { - * GstState old_state, new_state; - * - * gst_message_parse_state_changed (msg, &old_state, &new_state, NULL); - * g_print ("Element %s changed state from %s to %s.\n", - * GST_OBJECT_NAME (msg->src), - * gst_element_state_get_name (old_state), - * gst_element_state_get_name (new_state)); - * break; - * } - * ... - * } - * ... - * ]| - * - * MT safe. - * - * Params: - * oldstate = the previous state, or %NULL - * newstate = the new (current) state, or %NULL - * pending = the pending (target) state, or %NULL - */ - public void parseStateChanged(out GstState oldstate, out GstState newstate, out GstState pending) - { - gst_message_parse_state_changed(gstMessage, &oldstate, &newstate, &pending); - } - - /** - * Extract the values the step_done message. - * - * MT safe. - * - * Params: - * format = result location for the format - * amount = result location for the amount - * rate = result location for the rate - * flush = result location for the flush flag - * intermediate = result location for the intermediate flag - * duration = result location for the duration - * eos = result location for the EOS flag - */ - public void parseStepDone(out GstFormat format, out ulong amount, out double rate, out bool flush, out bool intermediate, out ulong duration, out bool eos) - { - int outflush; - int outintermediate; - int outeos; - - gst_message_parse_step_done(gstMessage, &format, &amount, &rate, &outflush, &outintermediate, &duration, &outeos); - - flush = (outflush == 1); - intermediate = (outintermediate == 1); - eos = (outeos == 1); - } - - /** - * Extract the values from step_start message. - * - * MT safe. - * - * Params: - * active = result location for the active flag - * format = result location for the format - * amount = result location for the amount - * rate = result location for the rate - * flush = result location for the flush flag - * intermediate = result location for the intermediate flag - */ - public void parseStepStart(out bool active, out GstFormat format, out ulong amount, out double rate, out bool flush, out bool intermediate) - { - int outactive; - int outflush; - int outintermediate; - - gst_message_parse_step_start(gstMessage, &outactive, &format, &amount, &rate, &outflush, &outintermediate); - - active = (outactive == 1); - flush = (outflush == 1); - intermediate = (outintermediate == 1); - } - - /** - * Parses a stream-collection message. - * - * Params: - * collection = A location where to store a - * pointer to the #GstStreamCollection, or %NULL - * - * Since: 1.10 - */ - public void parseStreamCollection(out StreamCollection collection) - { - GstStreamCollection* outcollection = null; - - gst_message_parse_stream_collection(gstMessage, &outcollection); - - collection = ObjectG.getDObject!(StreamCollection)(outcollection); - } - - /** - * Extracts the stream status type and owner the GstMessage. The returned - * owner remains valid for as long as the reference to @message is valid and - * should thus not be unreffed. - * - * MT safe. - * - * Params: - * type = A pointer to hold the status type - * owner = The owner element of the message source - */ - public void parseStreamStatus(out GstStreamStatusType type, out Element owner) - { - GstElement* outowner = null; - - gst_message_parse_stream_status(gstMessage, &type, &outowner); - - owner = ObjectG.getDObject!(Element)(outowner); - } - - /** - * Parses a streams-selected message. - * - * Params: - * collection = A location where to store a - * pointer to the #GstStreamCollection, or %NULL - * - * Since: 1.10 - */ - public void parseStreamsSelected(out StreamCollection collection) - { - GstStreamCollection* outcollection = null; - - gst_message_parse_streams_selected(gstMessage, &outcollection); - - collection = ObjectG.getDObject!(StreamCollection)(outcollection); - } - - /** - * Extracts the change type and completion status from the GstMessage. - * - * MT safe. - * - * Params: - * type = A pointer to hold the change type - * owner = The owner element of the - * message source - * busy = a pointer to hold whether the change is in - * progress or has been completed - */ - public void parseStructureChange(out GstStructureChangeType type, out Element owner, out bool busy) - { - GstElement* outowner = null; - int outbusy; - - gst_message_parse_structure_change(gstMessage, &type, &outowner, &outbusy); - - owner = ObjectG.getDObject!(Element)(outowner); - busy = (outbusy == 1); - } - - /** - * Extracts the tag list from the GstMessage. The tag list returned in the - * output argument is a copy; the caller must free it when done. - * - * Typical usage of this function might be: - * |[ - * ... - * switch (GST_MESSAGE_TYPE (msg)) { - * case GST_MESSAGE_TAG: { - * GstTagList *tags = NULL; - * - * gst_message_parse_tag (msg, &tags); - * g_print ("Got tags from element %s\n", GST_OBJECT_NAME (msg->src)); - * handle_tags (tags); - * gst_tag_list_unref (tags); - * break; - * } - * ... - * } - * ... - * ]| - * - * MT safe. - * - * Params: - * tagList = return location for the tag-list. - */ - public void parseTag(out TagList tagList) - { - GstTagList* outtagList = null; - - gst_message_parse_tag(gstMessage, &outtagList); - - tagList = ObjectG.getDObject!(TagList)(outtagList); - } - - /** - * Extract the TOC from the #GstMessage. The TOC returned in the - * output argument is a copy; the caller must free it with - * gst_toc_unref() when done. - * - * MT safe. - * - * Params: - * toc = return location for the TOC. - * updated = return location for the updated flag. - */ - public void parseToc(out Toc toc, out bool updated) - { - GstToc* outtoc = null; - int outupdated; - - gst_message_parse_toc(gstMessage, &outtoc, &outupdated); - - toc = ObjectG.getDObject!(Toc)(outtoc); - updated = (outupdated == 1); - } - - /** - * Extracts the GError and debug string from the GstMessage. The values returned - * in the output arguments are copies; the caller must free them when done. - * - * MT safe. - * - * Params: - * gerror = location for the GError - * debug_ = location for the debug message, - * or %NULL - */ - public void parseWarning(out ErrorG gerror, out string debug_) - { - GError* outgerror = null; - char* outdebug_ = null; - - gst_message_parse_warning(gstMessage, &outgerror, &outdebug_); - - gerror = new ErrorG(outgerror); - debug_ = Str.toString(outdebug_); - } - - /** - * Returns the optional details structure, may be NULL if none - * The returned structure must not be freed. - * - * Params: - * structure = A pointer to the returned details structure - * - * Since: 1.10 - */ - public void parseWarningDetails(out Structure structure) - { - GstStructure* outstructure = null; - - gst_message_parse_warning_details(gstMessage, &outstructure); - - structure = ObjectG.getDObject!(Structure)(outstructure); - } - - /** - * Configures the buffering stats values in @message. - * - * Params: - * mode = a buffering mode - * avgIn = the average input rate - * avgOut = the average output rate - * bufferingLeft = amount of buffering time left in milliseconds - */ - public void setBufferingStats(GstBufferingMode mode, int avgIn, int avgOut, long bufferingLeft) - { - gst_message_set_buffering_stats(gstMessage, mode, avgIn, avgOut, bufferingLeft); - } - - /** - * Sets the group id on the stream-start message. - * - * All streams that have the same group id are supposed to be played - * together, i.e. all streams inside a container file should have the - * same group id but different stream ids. The group id should change - * each time the stream is started, resulting in different group ids - * each time a file is played for example. - * - * MT safe. - * - * Params: - * groupId = the group id - * - * Since: 1.2 - */ - public void setGroupId(uint groupId) - { - gst_message_set_group_id(gstMessage, groupId); - } - - /** - * Set the QoS stats representing the history of the current continuous pipeline - * playback period. - * - * When @format is @GST_FORMAT_UNDEFINED both @dropped and @processed are - * invalid. Values of -1 for either @processed or @dropped mean unknown values. - * - * MT safe. - * - * Params: - * format = Units of the 'processed' and 'dropped' fields. Video sinks and video - * filters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters - * will likely use GST_FORMAT_DEFAULT (samples). - * processed = Total number of units correctly processed since the last state - * change to READY or a flushing operation. - * dropped = Total number of units dropped since the last state change to READY - * or a flushing operation. - */ - public void setQosStats(GstFormat format, ulong processed, ulong dropped) - { - gst_message_set_qos_stats(gstMessage, format, processed, dropped); - } - - /** - * Set the QoS values that have been calculated/analysed from the QoS data - * - * MT safe. - * - * Params: - * jitter = The difference of the running-time against the deadline. - * proportion = Long term prediction of the ideal rate relative to normal rate - * to get optimal quality. - * quality = An element dependent integer value that specifies the current - * quality level of the element. The default maximum quality is 1000000. - */ - public void setQosValues(long jitter, double proportion, int quality) - { - gst_message_set_qos_values(gstMessage, jitter, proportion, quality); - } - - /** - * Set the sequence number of a message. - * - * This function might be called by the creator of a message to indicate that - * the message relates to other messages or events. See gst_message_get_seqnum() - * for more information. - * - * MT safe. - * - * Params: - * seqnum = A sequence number. - */ - public void setSeqnum(uint seqnum) - { - gst_message_set_seqnum(gstMessage, seqnum); - } - - /** - * Configures the object handling the streaming thread. This is usually a - * GstTask object but other objects might be added in the future. - * - * Params: - * object = the object controlling the streaming - */ - public void setStreamStatusObject(Value object) - { - gst_message_set_stream_status_object(gstMessage, (object is null) ? null : object.getValueStruct()); - } - - /** - * Adds the @stream to the @message. - * - * Params: - * stream = a #GstStream to add to @message - * - * Since: 1.10 - */ - public void streamsSelectedAdd(Stream stream) - { - gst_message_streams_selected_add(gstMessage, (stream is null) ? null : stream.getStreamStruct()); - } - - /** - * Returns the number of streams contained in the @message. - * - * Returns: The number of streams contained within. - * - * Since: 1.10 - */ - public uint streamsSelectedGetSize() - { - return gst_message_streams_selected_get_size(gstMessage); - } - - /** - * Retrieves the #GstStream with index @index from the @message. - * - * Params: - * idx = Index of the stream to retrieve - * - * Returns: A #GstStream - * - * Since: 1.10 - */ - public Stream streamsSelectedGetStream(uint idx) - { - auto __p = gst_message_streams_selected_get_stream(gstMessage, idx); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Stream)(cast(GstStream*) __p, true); - } - - /** - * Get a writable version of the structure. - * - * Returns: The structure of the message. The structure - * is still owned by the message, which means that you should not free - * it and that the pointer becomes invalid when you free the message. - * This function checks if @message is writable and will never return - * %NULL. - * - * MT safe. - * - * Since: 1.14 - */ - public Structure writableStructure() - { - auto __p = gst_message_writable_structure(gstMessage); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p); - } - - /** - * Modifies a pointer to a #GstMessage to point to a different #GstMessage. The - * modification is done atomically (so this is useful for ensuring thread safety - * in some cases), and the reference counts are updated appropriately (the old - * message is unreffed, the new one is reffed). - * - * Either @new_message or the #GstMessage pointed to by @old_message may be %NULL. - * - * Params: - * oldMessage = pointer to a - * pointer to a #GstMessage to be replaced. - * newMessage = pointer to a #GstMessage that will - * replace the message pointed to by @old_message. - * - * Returns: %TRUE if @new_message was different from @old_message - */ - public static bool replace(ref Message oldMessage, Message newMessage) - { - GstMessage* outoldMessage = oldMessage.getMessageStruct(); - - auto __p = gst_message_replace(&outoldMessage, (newMessage is null) ? null : newMessage.getMessageStruct()) != 0; - - oldMessage = ObjectG.getDObject!(Message)(outoldMessage); - - return __p; - } - - /** - * Get a printable name for the given message type. Do not modify or free. - * - * Params: - * type = the message type - * - * Returns: a reference to the static name of the message. - */ - public static string typeGetName(GstMessageType type) - { - return Str.toString(gst_message_type_get_name(type)); - } - - /** - * Get the unique quark for the given message type. - * - * Params: - * type = the message type - * - * Returns: the quark associated with the message type - */ - public static GQuark typeToQuark(GstMessageType type) - { - return gst_message_type_to_quark(type); - } -} diff --git a/generated/gstreamer/gstreamer/Meta.d b/generated/gstreamer/gstreamer/Meta.d deleted file mode 100644 index fe2fb2faa..000000000 --- a/generated/gstreamer/gstreamer/Meta.d +++ /dev/null @@ -1,226 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Meta; - -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import gtkd.Loader; - - -/** - * The #GstMeta structure should be included as the first member of a #GstBuffer - * metadata structure. The structure defines the API of the metadata and should - * be accessible to all elements using the metadata. - * - * A metadata API is registered with gst_meta_api_type_register() which takes a - * name for the metadata API and some tags associated with the metadata. - * With gst_meta_api_type_has_tag() one can check if a certain metadata API - * contains a given tag. - * - * Multiple implementations of a metadata API can be registered. - * To implement a metadata API, gst_meta_register() should be used. This - * function takes all parameters needed to create, free and transform metadata - * along with the size of the metadata. The function returns a #GstMetaInfo - * structure that contains the information for the implementation of the API. - * - * A specific implementation can be retrieved by name with gst_meta_get_info(). - * - * See #GstBuffer for how the metadata can be added, retrieved and removed from - * buffers. - */ -public final class Meta -{ - /** the main Gtk struct */ - protected GstMeta* gstMeta; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMeta* getMetaStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMeta; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMeta; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMeta* gstMeta, bool ownedRef = false) - { - this.gstMeta = gstMeta; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTREAMER) && ownedRef ) - sliceFree(gstMeta); - } - - - /** - * extra flags for the metadata - */ - public @property GstMetaFlags flags() - { - return gstMeta.flags; - } - - /** Ditto */ - public @property void flags(GstMetaFlags value) - { - gstMeta.flags = value; - } - - /** - * pointer to the #GstMetaInfo - */ - public @property GstMetaInfo* info() - { - return gstMeta.info; - } - - /** Ditto */ - public @property void info(GstMetaInfo* value) - { - gstMeta.info = value; - } - - /** - * Meta sequence number compare function. Can be used as #GCompareFunc - * or a #GCompareDataFunc. - * - * Params: - * meta2 = a #GstMeta - * - * Returns: a negative number if @meta1 comes before @meta2, 0 if both metas - * have an equal sequence number, or a positive integer if @meta1 comes - * after @meta2. - * - * Since: 1.16 - */ - public int compareSeqnum(Meta meta2) - { - return gst_meta_compare_seqnum(gstMeta, (meta2 is null) ? null : meta2.getMetaStruct()); - } - - /** - * Gets seqnum for this meta. - * - * Since: 1.16 - */ - public ulong getSeqnum() - { - return gst_meta_get_seqnum(gstMeta); - } - - /** - * - * Params: - * api = an API - * Returns: an array of tags as strings. - * - * Since: 1.2 - */ - public static string[] apiTypeGetTags(GType api) - { - return Str.toStringArray(gst_meta_api_type_get_tags(api)); - } - - /** - * Check if @api was registered with @tag. - * - * Params: - * api = an API - * tag = the tag to check - * - * Returns: %TRUE if @api was registered with @tag. - */ - public static bool apiTypeHasTag(GType api, GQuark tag) - { - return gst_meta_api_type_has_tag(api, tag) != 0; - } - - /** - * Register and return a GType for the @api and associate it with - * @tags. - * - * Params: - * api = an API to register - * tags = tags for @api - * - * Returns: a unique GType for @api. - */ - public static GType apiTypeRegister(string api, string[] tags) - { - return gst_meta_api_type_register(Str.toStringz(api), Str.toStringzArray(tags)); - } - - /** - * Lookup a previously registered meta info structure by its implementation name - * @impl. - * - * Params: - * impl = the name - * - * Returns: a #GstMetaInfo with @impl, or - * %NULL when no such metainfo exists. - */ - public static GstMetaInfo* getInfo(string impl) - { - return gst_meta_get_info(Str.toStringz(impl)); - } - - /** - * Register a new #GstMeta implementation. - * - * The same @info can be retrieved later with gst_meta_get_info() by using - * @impl as the key. - * - * Params: - * api = the type of the #GstMeta API - * impl = the name of the #GstMeta implementation - * size = the size of the #GstMeta structure - * initFunc = a #GstMetaInitFunction - * freeFunc = a #GstMetaFreeFunction - * transformFunc = a #GstMetaTransformFunction - * - * Returns: a #GstMetaInfo that can be used to - * access metadata. - */ - public static GstMetaInfo* register(GType api, string impl, size_t size, GstMetaInitFunction initFunc, GstMetaFreeFunction freeFunc, GstMetaTransformFunction transformFunc) - { - return gst_meta_register(api, Str.toStringz(impl), size, initFunc, freeFunc, transformFunc); - } -} diff --git a/generated/gstreamer/gstreamer/MiniObject.d b/generated/gstreamer/gstreamer/MiniObject.d deleted file mode 100644 index 0b33304a6..000000000 --- a/generated/gstreamer/gstreamer/MiniObject.d +++ /dev/null @@ -1,427 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.MiniObject; - -private import gobject.ObjectG; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import gtkd.Loader; - - -/** - * #GstMiniObject is a simple structure that can be used to implement refcounted - * types. - * - * Subclasses will include #GstMiniObject as the first member in their structure - * and then call gst_mini_object_init() to initialize the #GstMiniObject fields. - * - * gst_mini_object_ref() and gst_mini_object_unref() increment and decrement the - * refcount respectively. When the refcount of a mini-object reaches 0, the - * dispose function is called first and when this returns %TRUE, the free - * function of the miniobject is called. - * - * A copy can be made with gst_mini_object_copy(). - * - * gst_mini_object_is_writable() will return %TRUE when the refcount of the - * object is exactly 1 and there is no parent or a single parent exists and is - * writable itself, meaning the current caller has the only reference to the - * object. gst_mini_object_make_writable() will return a writable version of - * the object, which might be a new copy when the refcount was not 1. - * - * Opaque data can be associated with a #GstMiniObject with - * gst_mini_object_set_qdata() and gst_mini_object_get_qdata(). The data is - * meant to be specific to the particular object and is not automatically copied - * with gst_mini_object_copy() or similar methods. - * - * A weak reference can be added and remove with gst_mini_object_weak_ref() - * and gst_mini_object_weak_unref() respectively. - */ -public class MiniObject -{ - /** the main Gtk struct */ - protected GstMiniObject* gstMiniObject; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstMiniObject* getMiniObjectStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstMiniObject; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstMiniObject; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstMiniObject* gstMiniObject, bool ownedRef = false) - { - this.gstMiniObject = gstMiniObject; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTREAMER) && ownedRef ) - gst_mini_object_unref(gstMiniObject); - } - - - /** - * This adds @parent as a parent for @object. Having one ore more parents affects the - * writability of @object: if a @parent is not writable, @object is also not - * writable, regardless of its refcount. @object is only writable if all - * the parents are writable and its own refcount is exactly 1. - * - * Note: This function does not take ownership of @parent and also does not - * take an additional reference. It is the responsibility of the caller to - * remove the parent again at a later time. - * - * Params: - * parent = a parent #GstMiniObject - * - * Since: 1.16 - */ - public void addParent(MiniObject parent) - { - gst_mini_object_add_parent(gstMiniObject, (parent is null) ? null : parent.getMiniObjectStruct()); - } - - /** - * Creates a copy of the mini-object. - * - * MT safe - * - * Returns: the new mini-object if copying is - * possible, %NULL otherwise. - */ - public MiniObject copy() - { - auto __p = gst_mini_object_copy(gstMiniObject); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(MiniObject)(cast(GstMiniObject*) __p, true); - } - - /** - * This function gets back user data pointers stored via - * gst_mini_object_set_qdata(). - * - * Params: - * quark = A #GQuark, naming the user data pointer - * - * Returns: The user data pointer set, or - * %NULL - */ - public void* getQdata(GQuark quark) - { - return gst_mini_object_get_qdata(gstMiniObject, quark); - } - - /** - * Initializes a mini-object with the desired type and copy/dispose/free - * functions. - * - * Params: - * flags = initial #GstMiniObjectFlags - * type = the #GType of the mini-object to create - * copyFunc = the copy function, or %NULL - * disposeFunc = the dispose function, or %NULL - * freeFunc = the free function or %NULL - */ - public void init(uint flags, GType type, GstMiniObjectCopyFunction copyFunc, GstMiniObjectDisposeFunction disposeFunc, GstMiniObjectFreeFunction freeFunc) - { - gst_mini_object_init(gstMiniObject, flags, type, copyFunc, disposeFunc, freeFunc); - } - - /** - * If @mini_object has the LOCKABLE flag set, check if the current EXCLUSIVE - * lock on @object is the only one, this means that changes to the object will - * not be visible to any other object. - * - * If the LOCKABLE flag is not set, check if the refcount of @mini_object is - * exactly 1, meaning that no other reference exists to the object and that the - * object is therefore writable. - * - * Modification of a mini-object should only be done after verifying that it - * is writable. - * - * Returns: %TRUE if the object is writable. - */ - public bool isWritable() - { - return gst_mini_object_is_writable(gstMiniObject) != 0; - } - - /** - * Lock the mini-object with the specified access mode in @flags. - * - * Params: - * flags = #GstLockFlags - * - * Returns: %TRUE if @object could be locked. - */ - public bool lock(GstLockFlags flags) - { - return gst_mini_object_lock(gstMiniObject, flags) != 0; - } - - /** - * Checks if a mini-object is writable. If not, a writable copy is made and - * returned. This gives away the reference to the original mini object, - * and returns a reference to the new object. - * - * MT safe - * - * Returns: a mini-object (possibly the same pointer) that - * is writable. - */ - public MiniObject makeWritable() - { - auto __p = gst_mini_object_make_writable(gstMiniObject); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(MiniObject)(cast(GstMiniObject*) __p, true); - } - - alias doref = ref_; - /** - * Increase the reference count of the mini-object. - * - * Note that the refcount affects the writability - * of @mini-object, see gst_mini_object_is_writable(). It is - * important to note that keeping additional references to - * GstMiniObject instances can potentially increase the number - * of memcpy operations in a pipeline, especially if the miniobject - * is a #GstBuffer. - * - * Returns: the mini-object. - */ - public MiniObject ref_() - { - auto __p = gst_mini_object_ref(gstMiniObject); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(MiniObject)(cast(GstMiniObject*) __p, true); - } - - /** - * This removes @parent as a parent for @object. See - * gst_mini_object_add_parent(). - * - * Params: - * parent = a parent #GstMiniObject - * - * Since: 1.16 - */ - public void removeParent(MiniObject parent) - { - gst_mini_object_remove_parent(gstMiniObject, (parent is null) ? null : parent.getMiniObjectStruct()); - } - - /** - * This sets an opaque, named pointer on a miniobject. - * The name is specified through a #GQuark (retrieved e.g. via - * g_quark_from_static_string()), and the pointer - * can be gotten back from the @object with gst_mini_object_get_qdata() - * until the @object is disposed. - * Setting a previously set user data pointer, overrides (frees) - * the old pointer set, using %NULL as pointer essentially - * removes the data stored. - * - * @destroy may be specified which is called with @data as argument - * when the @object is disposed, or the data is being overwritten by - * a call to gst_mini_object_set_qdata() with the same @quark. - * - * Params: - * quark = A #GQuark, naming the user data pointer - * data = An opaque user data pointer - * destroy = Function to invoke with @data as argument, when @data - * needs to be freed - */ - public void setQdata(GQuark quark, void* data, GDestroyNotify destroy) - { - gst_mini_object_set_qdata(gstMiniObject, quark, data, destroy); - } - - /** - * This function gets back user data pointers stored via gst_mini_object_set_qdata() - * and removes the data from @object without invoking its `destroy()` function (if - * any was set). - * - * Params: - * quark = A #GQuark, naming the user data pointer - * - * Returns: The user data pointer set, or - * %NULL - */ - public void* stealQdata(GQuark quark) - { - return gst_mini_object_steal_qdata(gstMiniObject, quark); - } - - /** - * Unlock the mini-object with the specified access mode in @flags. - * - * Params: - * flags = #GstLockFlags - */ - public void unlock(GstLockFlags flags) - { - gst_mini_object_unlock(gstMiniObject, flags); - } - - /** - * Decreases the reference count of the mini-object, possibly freeing - * the mini-object. - */ - public void unref() - { - gst_mini_object_unref(gstMiniObject); - } - - /** - * Adds a weak reference callback to a mini object. Weak references are - * used for notification when a mini object is finalized. They are called - * "weak references" because they allow you to safely hold a pointer - * to the mini object without calling gst_mini_object_ref() - * (gst_mini_object_ref() adds a strong reference, that is, forces the object - * to stay alive). - * - * Params: - * notify = callback to invoke before the mini object is freed - * data = extra data to pass to notify - */ - public void weakRef(GstMiniObjectNotify notify, void* data) - { - gst_mini_object_weak_ref(gstMiniObject, notify, data); - } - - /** - * Removes a weak reference callback from a mini object. - * - * Params: - * notify = callback to search for - * data = data to search for - */ - public void weakUnref(GstMiniObjectNotify notify, void* data) - { - gst_mini_object_weak_unref(gstMiniObject, notify, data); - } - - /** - * Atomically modifies a pointer to point to a new mini-object. - * The reference count of @olddata is decreased and the reference count of - * @newdata is increased. - * - * Either @newdata and the value pointed to by @olddata may be %NULL. - * - * Params: - * olddata = pointer to a pointer to a - * mini-object to be replaced - * newdata = pointer to new mini-object - * - * Returns: %TRUE if @newdata was different from @olddata - */ - public static bool replace(ref MiniObject olddata, MiniObject newdata) - { - GstMiniObject* outolddata = olddata.getMiniObjectStruct(); - - auto __p = gst_mini_object_replace(&outolddata, (newdata is null) ? null : newdata.getMiniObjectStruct()) != 0; - - olddata = ObjectG.getDObject!(MiniObject)(outolddata); - - return __p; - } - - /** - * Replace the current #GstMiniObject pointer to by @olddata with %NULL and - * return the old value. - * - * Params: - * olddata = pointer to a pointer to a mini-object to - * be stolen - * - * Returns: the #GstMiniObject at @oldata - */ - public static MiniObject steal(ref MiniObject olddata) - { - GstMiniObject* outolddata = olddata.getMiniObjectStruct(); - - auto __p = gst_mini_object_steal(&outolddata); - - olddata = ObjectG.getDObject!(MiniObject)(outolddata); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(MiniObject)(cast(GstMiniObject*) __p); - } - - /** - * Modifies a pointer to point to a new mini-object. The modification - * is done atomically. This version is similar to gst_mini_object_replace() - * except that it does not increase the refcount of @newdata and thus - * takes ownership of @newdata. - * - * Either @newdata and the value pointed to by @olddata may be %NULL. - * - * Params: - * olddata = pointer to a pointer to a mini-object to - * be replaced - * newdata = pointer to new mini-object - * - * Returns: %TRUE if @newdata was different from @olddata - */ - public static bool take(ref MiniObject olddata, MiniObject newdata) - { - GstMiniObject* outolddata = olddata.getMiniObjectStruct(); - - auto __p = gst_mini_object_take(&outolddata, (newdata is null) ? null : newdata.getMiniObjectStruct()) != 0; - - olddata = ObjectG.getDObject!(MiniObject)(outolddata); - - return __p; - } -} diff --git a/generated/gstreamer/gstreamer/ObjectGst.d b/generated/gstreamer/gstreamer/ObjectGst.d deleted file mode 100644 index 339810fa6..000000000 --- a/generated/gstreamer/gstreamer/ObjectGst.d +++ /dev/null @@ -1,677 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ObjectGst; - -private import glib.ErrorG; -private import glib.ListG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gobject.ParamSpec; -private import gobject.Signals; -private import gobject.Value; -private import gstreamer.ControlBinding; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import std.algorithm; - - -/** - * #GstObject provides a root for the object hierarchy tree filed in by the - * GStreamer library. It is currently a thin wrapper on top of - * #GInitiallyUnowned. It is an abstract class that is not very usable on its own. - * - * #GstObject gives us basic refcounting, parenting functionality and locking. - * Most of the functions are just extended for special GStreamer needs and can be - * found under the same name in the base class of #GstObject which is #GObject - * (e.g. g_object_ref() becomes gst_object_ref()). - * - * Since #GstObject derives from #GInitiallyUnowned, it also inherits the - * floating reference. Be aware that functions such as gst_bin_add() and - * gst_element_add_pad() take ownership of the floating reference. - * - * In contrast to #GObject instances, #GstObject adds a name property. The functions - * gst_object_set_name() and gst_object_get_name() are used to set/get the name - * of the object. - * - * ## controlled properties - * - * Controlled properties offers a lightweight way to adjust gobject properties - * over stream-time. It works by using time-stamped value pairs that are queued - * for element-properties. At run-time the elements continuously pull value - * changes for the current stream-time. - * - * What needs to be changed in a #GstElement? - * Very little - it is just two steps to make a plugin controllable! - * - * * mark gobject-properties paramspecs that make sense to be controlled, - * by GST_PARAM_CONTROLLABLE. - * - * * when processing data (get, chain, loop function) at the beginning call - * gst_object_sync_values(element,timestamp). - * This will make the controller update all GObject properties that are - * under its control with the current values based on the timestamp. - * - * What needs to be done in applications? Again it's not a lot to change. - * - * * create a #GstControlSource. - * csource = gst_interpolation_control_source_new (); - * g_object_set (csource, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL); - * - * * Attach the #GstControlSource on the controller to a property. - * gst_object_add_control_binding (object, gst_direct_control_binding_new (object, "prop1", csource)); - * - * * Set the control values - * gst_timed_value_control_source_set ((GstTimedValueControlSource *)csource,0 * GST_SECOND, value1); - * gst_timed_value_control_source_set ((GstTimedValueControlSource *)csource,1 * GST_SECOND, value2); - * - * * start your pipeline - */ -public class ObjectGst : ObjectG -{ - /** the main Gtk struct */ - protected GstObject* gstObject; - - /** Get the main Gtk struct */ - public GstObject* getObjectGstStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstObject; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstObject; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstObject* gstObject, bool ownedRef = false) - { - this.gstObject = gstObject; - super(cast(GObject*)gstObject, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_object_get_type(); - } - - /** - * Checks to see if there is any object named @name in @list. This function - * does not do any locking of any kind. You might want to protect the - * provided list with the lock of the owner of the list. This function - * will lock each #GstObject in the list to compare the name, so be - * careful when passing a list with a locked object. - * - * Params: - * list = a list of #GstObject to - * check through - * name = the name to search for - * - * Returns: %TRUE if a #GstObject named @name does not appear in @list, - * %FALSE if it does. - * - * MT safe. Grabs and releases the LOCK of each object in the list. - */ - public static bool checkUniqueness(ListG list, string name) - { - return gst_object_check_uniqueness((list is null) ? null : list.getListGStruct(), Str.toStringz(name)) != 0; - } - - /** - * A default deep_notify signal callback for an object. The user data - * should contain a pointer to an array of strings that should be excluded - * from the notify. The default handler will print the new value of the property - * using g_print. - * - * MT safe. This function grabs and releases @object's LOCK for getting its - * path string. - * - * Params: - * object = the #GObject that signalled the notify. - * orig = a #GstObject that initiated the notify. - * pspec = a #GParamSpec of the property. - * excludedProps = a set of user-specified properties to exclude or %NULL to show - * all changes. - */ - public static void defaultDeepNotify(ObjectG object, ObjectGst orig, ParamSpec pspec, string[] excludedProps) - { - gst_object_default_deep_notify((object is null) ? null : object.getObjectGStruct(), (orig is null) ? null : orig.getObjectGstStruct(), (pspec is null) ? null : pspec.getParamSpecStruct(), Str.toStringzArray(excludedProps)); - } - - /** - * Increase the reference count of @object, and possibly remove the floating - * reference, if @object has a floating reference. - * - * In other words, if the object is floating, then this call "assumes ownership" - * of the floating reference, converting it to a normal reference by clearing - * the floating flag while leaving the reference count unchanged. If the object - * is not floating, then this call adds a new normal reference increasing the - * reference count by one. - * - * For more background on "floating references" please see the #GObject - * documentation. - * - * Params: - * object = a #GstObject to sink - */ - public static void* refSink(void* object) - { - return gst_object_ref_sink(object); - } - - /** - * Atomically modifies a pointer to point to a new object. - * The reference count of @oldobj is decreased and the reference count of - * @newobj is increased. - * - * Either @newobj and the value pointed to by @oldobj may be %NULL. - * - * Params: - * oldobj = pointer to a place of - * a #GstObject to replace - * newobj = a new #GstObject - * - * Returns: %TRUE if @newobj was different from @oldobj - */ - public static bool replace(ref ObjectGst oldobj, ObjectGst newobj) - { - GstObject* outoldobj = oldobj.getObjectGstStruct(); - - auto __p = gst_object_replace(&outoldobj, (newobj is null) ? null : newobj.getObjectGstStruct()) != 0; - - oldobj = ObjectG.getDObject!(ObjectGst)(outoldobj); - - return __p; - } - - /** - * Attach the #GstControlBinding to the object. If there already was a - * #GstControlBinding for this property it will be replaced. - * - * The object's reference count will be incremented, and any floating - * reference will be removed (see gst_object_ref_sink()) - * - * Params: - * binding = the #GstControlBinding that should be used - * - * Returns: %FALSE if the given @binding has not been setup for this object or - * has been setup for a non suitable property, %TRUE otherwise. - */ - public bool addControlBinding(ControlBinding binding) - { - return gst_object_add_control_binding(gstObject, (binding is null) ? null : binding.getControlBindingStruct()) != 0; - } - - /** - * A default error function that uses g_printerr() to display the error message - * and the optional debug string.. - * - * The default handler will simply print the error string using g_print. - * - * Params: - * error = the GError. - * debug_ = an additional debug information string, or %NULL - */ - public void defaultError(ErrorG error, string debug_) - { - gst_object_default_error(gstObject, (error is null) ? null : error.getErrorGStruct(), Str.toStringz(debug_)); - } - - /** - * Gets the corresponding #GstControlBinding for the property. This should be - * unreferenced again after use. - * - * Params: - * propertyName = name of the property - * - * Returns: the #GstControlBinding for - * @property_name or %NULL if the property is not controlled. - */ - public ControlBinding getControlBinding(string propertyName) - { - auto __p = gst_object_get_control_binding(gstObject, Str.toStringz(propertyName)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(ControlBinding)(cast(GstControlBinding*) __p, true); - } - - /** - * Obtain the control-rate for this @object. Audio processing #GstElement - * objects will use this rate to sub-divide their processing loop and call - * gst_object_sync_values() in between. The length of the processing segment - * should be up to @control-rate nanoseconds. - * - * If the @object is not under property control, this will return - * %GST_CLOCK_TIME_NONE. This allows the element to avoid the sub-dividing. - * - * The control-rate is not expected to change if the element is in - * %GST_STATE_PAUSED or %GST_STATE_PLAYING. - * - * Returns: the control rate in nanoseconds - */ - public GstClockTime getControlRate() - { - return gst_object_get_control_rate(gstObject); - } - - /** - * Gets a number of #GValues for the given controlled property starting at the - * requested time. The array @values need to hold enough space for @n_values of - * #GValue. - * - * This function is useful if one wants to e.g. draw a graph of the control - * curve or apply a control curve sample by sample. - * - * Params: - * propertyName = the name of the property to get - * timestamp = the time that should be processed - * interval = the time spacing between subsequent values - * values = array to put control-values in - * - * Returns: %TRUE if the given array could be filled, %FALSE otherwise - */ - public bool getGValueArray(string propertyName, GstClockTime timestamp, GstClockTime interval, Value[] values) - { - GValue[] valuesArray = new GValue[values.length]; - for ( int i = 0; i < values.length; i++ ) - { - valuesArray[i] = *(values[i].getValueStruct()); - } - - return gst_object_get_g_value_array(gstObject, Str.toStringz(propertyName), timestamp, interval, cast(uint)values.length, valuesArray.ptr) != 0; - } - - /** - * Returns a copy of the name of @object. - * Caller should g_free() the return value after usage. - * For a nameless object, this returns %NULL, which you can safely g_free() - * as well. - * - * Free-function: g_free - * - * Returns: the name of @object. g_free() - * after usage. - * - * MT safe. This function grabs and releases @object's LOCK. - */ - public string getName() - { - auto retStr = gst_object_get_name(gstObject); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Returns the parent of @object. This function increases the refcount - * of the parent object so you should gst_object_unref() it after usage. - * - * Returns: parent of @object, this can be - * %NULL if @object has no parent. unref after usage. - * - * MT safe. Grabs and releases @object's LOCK. - */ - public ObjectGst getParent() - { - auto __p = gst_object_get_parent(gstObject); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(ObjectGst)(cast(GstObject*) __p, true); - } - - /** - * Generates a string describing the path of @object in - * the object hierarchy. Only useful (or used) for debugging. - * - * Free-function: g_free - * - * Returns: a string describing the path of @object. You must - * g_free() the string after usage. - * - * MT safe. Grabs and releases the #GstObject's LOCK for all objects - * in the hierarchy. - */ - public string getPathString() - { - auto retStr = gst_object_get_path_string(gstObject); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Gets the value for the given controlled property at the requested time. - * - * Params: - * propertyName = the name of the property to get - * timestamp = the time the control-change should be read from - * - * Returns: the GValue of the property at the given time, - * or %NULL if the property isn't controlled. - */ - public Value getValue(string propertyName, GstClockTime timestamp) - { - auto __p = gst_object_get_value(gstObject, Str.toStringz(propertyName), timestamp); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Value)(cast(GValue*) __p, true); - } - - /** - * Gets a number of values for the given controlled property starting at the - * requested time. The array @values need to hold enough space for @n_values of - * the same type as the objects property's type. - * - * This function is useful if one wants to e.g. draw a graph of the control - * curve or apply a control curve sample by sample. - * - * The values are unboxed and ready to be used. The similar function - * gst_object_get_g_value_array() returns the array as #GValues and is - * better suites for bindings. - * - * Params: - * propertyName = the name of the property to get - * timestamp = the time that should be processed - * interval = the time spacing between subsequent values - * nValues = the number of values - * values = array to put control-values in - * - * Returns: %TRUE if the given array could be filled, %FALSE otherwise - */ - public bool getValueArray(string propertyName, GstClockTime timestamp, GstClockTime interval, uint nValues, void* values) - { - return gst_object_get_value_array(gstObject, Str.toStringz(propertyName), timestamp, interval, nValues, values) != 0; - } - - /** - * Check if the @object has active controlled properties. - * - * Returns: %TRUE if the object has active controlled properties - */ - public bool hasActiveControlBindings() - { - return gst_object_has_active_control_bindings(gstObject) != 0; - } - - /** - * Check if @object has an ancestor @ancestor somewhere up in - * the hierarchy. One can e.g. check if a #GstElement is inside a #GstPipeline. - * - * Deprecated: Use gst_object_has_as_ancestor() instead. - * - * MT safe. Grabs and releases @object's locks. - * - * Params: - * ancestor = a #GstObject to check as ancestor - * - * Returns: %TRUE if @ancestor is an ancestor of @object. - */ - public bool hasAncestor(ObjectGst ancestor) - { - return gst_object_has_ancestor(gstObject, (ancestor is null) ? null : ancestor.getObjectGstStruct()) != 0; - } - - /** - * Check if @object has an ancestor @ancestor somewhere up in - * the hierarchy. One can e.g. check if a #GstElement is inside a #GstPipeline. - * - * Params: - * ancestor = a #GstObject to check as ancestor - * - * Returns: %TRUE if @ancestor is an ancestor of @object. - * - * MT safe. Grabs and releases @object's locks. - */ - public bool hasAsAncestor(ObjectGst ancestor) - { - return gst_object_has_as_ancestor(gstObject, (ancestor is null) ? null : ancestor.getObjectGstStruct()) != 0; - } - - /** - * Check if @parent is the parent of @object. - * E.g. a #GstElement can check if it owns a given #GstPad. - * - * Params: - * parent = a #GstObject to check as parent - * - * Returns: %FALSE if either @object or @parent is %NULL. %TRUE if @parent is - * the parent of @object. Otherwise %FALSE. - * - * MT safe. Grabs and releases @object's locks. - * - * Since: 1.6 - */ - public bool hasAsParent(ObjectGst parent) - { - return gst_object_has_as_parent(gstObject, (parent is null) ? null : parent.getObjectGstStruct()) != 0; - } - - alias doref = ref_; - /** - * Increments the reference count on @object. This function - * does not take the lock on @object because it relies on - * atomic refcounting. - * - * This object returns the input parameter to ease writing - * constructs like : - * result = gst_object_ref (object->parent); - * - * Returns: A pointer to @object - */ - public override ObjectGst ref_() - { - auto __p = gst_object_ref(gstObject); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(ObjectGst)(cast(GstObject*) __p, true); - } - - /** - * Removes the corresponding #GstControlBinding. If it was the - * last ref of the binding, it will be disposed. - * - * Params: - * binding = the binding - * - * Returns: %TRUE if the binding could be removed. - */ - public bool removeControlBinding(ControlBinding binding) - { - return gst_object_remove_control_binding(gstObject, (binding is null) ? null : binding.getControlBindingStruct()) != 0; - } - - /** - * This function is used to disable the control bindings on a property for - * some time, i.e. gst_object_sync_values() will do nothing for the - * property. - * - * Params: - * propertyName = property to disable - * disabled = boolean that specifies whether to disable the controller - * or not. - */ - public void setControlBindingDisabled(string propertyName, bool disabled) - { - gst_object_set_control_binding_disabled(gstObject, Str.toStringz(propertyName), disabled); - } - - /** - * This function is used to disable all controlled properties of the @object for - * some time, i.e. gst_object_sync_values() will do nothing. - * - * Params: - * disabled = boolean that specifies whether to disable the controller - * or not. - */ - public void setControlBindingsDisabled(bool disabled) - { - gst_object_set_control_bindings_disabled(gstObject, disabled); - } - - /** - * Change the control-rate for this @object. Audio processing #GstElement - * objects will use this rate to sub-divide their processing loop and call - * gst_object_sync_values() in between. The length of the processing segment - * should be up to @control-rate nanoseconds. - * - * The control-rate should not change if the element is in %GST_STATE_PAUSED or - * %GST_STATE_PLAYING. - * - * Params: - * controlRate = the new control-rate in nanoseconds. - */ - public void setControlRate(GstClockTime controlRate) - { - gst_object_set_control_rate(gstObject, controlRate); - } - - /** - * Sets the name of @object, or gives @object a guaranteed unique - * name (if @name is %NULL). - * This function makes a copy of the provided name, so the caller - * retains ownership of the name it sent. - * - * Params: - * name = new name of object - * - * Returns: %TRUE if the name could be set. Since Objects that have - * a parent cannot be renamed, this function returns %FALSE in those - * cases. - * - * MT safe. This function grabs and releases @object's LOCK. - */ - public bool setName(string name) - { - return gst_object_set_name(gstObject, Str.toStringz(name)) != 0; - } - - /** - * Sets the parent of @object to @parent. The object's reference count will - * be incremented, and any floating reference will be removed (see gst_object_ref_sink()). - * - * Params: - * parent = new parent of object - * - * Returns: %TRUE if @parent could be set or %FALSE when @object - * already had a parent or @object and @parent are the same. - * - * MT safe. Grabs and releases @object's LOCK. - */ - public bool setParent(ObjectGst parent) - { - return gst_object_set_parent(gstObject, (parent is null) ? null : parent.getObjectGstStruct()) != 0; - } - - /** - * Returns a suggestion for timestamps where buffers should be split - * to get best controller results. - * - * Returns: Returns the suggested timestamp or %GST_CLOCK_TIME_NONE - * if no control-rate was set. - */ - public GstClockTime suggestNextSync() - { - return gst_object_suggest_next_sync(gstObject); - } - - /** - * Sets the properties of the object, according to the #GstControlSources that - * (maybe) handle them and for the given timestamp. - * - * If this function fails, it is most likely the application developers fault. - * Most probably the control sources are not setup correctly. - * - * Params: - * timestamp = the time that should be processed - * - * Returns: %TRUE if the controller values could be applied to the object - * properties, %FALSE otherwise - */ - public bool syncValues(GstClockTime timestamp) - { - return gst_object_sync_values(gstObject, timestamp) != 0; - } - - /** - * Clear the parent of @object, removing the associated reference. - * This function decreases the refcount of @object. - * - * MT safe. Grabs and releases @object's lock. - */ - public void unparent() - { - gst_object_unparent(gstObject); - } - - /** - * Decrements the reference count on @object. If reference count hits - * zero, destroy @object. This function does not take the lock - * on @object as it relies on atomic refcounting. - * - * The unref method should never be called with the LOCK held since - * this might deadlock the dispose function. - */ - public override void unref() - { - gst_object_unref(gstObject); - } - - /** - * The deep notify signal is used to be notified of property changes. It is - * typically attached to the toplevel bin to receive notifications from all - * the elements contained in that bin. - * - * Params: - * propObject = the object that originated the signal - * prop = the property that changed - */ - gulong addOnDeepNotify(void delegate(ObjectGst, ParamSpec, ObjectGst) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "deep-notify", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gstreamer/Pad.d b/generated/gstreamer/gstreamer/Pad.d deleted file mode 100644 index 120cc6d51..000000000 --- a/generated/gstreamer/gstreamer/Pad.d +++ /dev/null @@ -1,1875 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Pad; - -private import glib.ConstructionException; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gobject.Signals; -private import gstreamer.Buffer; -private import gstreamer.BufferList; -private import gstreamer.Caps; -private import gstreamer.Element; -private import gstreamer.Event; -private import gstreamer.Iterator; -private import gstreamer.ObjectGst; -private import gstreamer.PadTemplate; -private import gstreamer.Query; -private import gstreamer.StaticPadTemplate; -private import gstreamer.Stream; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import std.algorithm; - - -/** - * A #GstElement is linked to other elements via "pads", which are extremely - * light-weight generic link points. - * - * Pads have a #GstPadDirection, source pads produce data, sink pads consume - * data. - * - * Pads are typically created from a #GstPadTemplate with - * gst_pad_new_from_template() and are then added to a #GstElement. This usually - * happens when the element is created but it can also happen dynamically based - * on the data that the element is processing or based on the pads that the - * application requests. - * - * Pads without pad templates can be created with gst_pad_new(), - * which takes a direction and a name as an argument. If the name is %NULL, - * then a guaranteed unique name will be assigned to it. - * - * A #GstElement creating a pad will typically use the various - * gst_pad_set_*_function\() calls to register callbacks for events, queries or - * dataflow on the pads. - * - * gst_pad_get_parent() will retrieve the #GstElement that owns the pad. - * - * After two pads are retrieved from an element by gst_element_get_static_pad(), - * the pads can be linked with gst_pad_link(). (For quick links, - * you can also use gst_element_link(), which will make the obvious - * link for you if it's straightforward.). Pads can be unlinked again with - * gst_pad_unlink(). gst_pad_get_peer() can be used to check what the pad is - * linked to. - * - * Before dataflow is possible on the pads, they need to be activated with - * gst_pad_set_active(). - * - * gst_pad_query() and gst_pad_peer_query() can be used to query various - * properties of the pad and the stream. - * - * To send a #GstEvent on a pad, use gst_pad_send_event() and - * gst_pad_push_event(). Some events will be sticky on the pad, meaning that - * after they pass on the pad they can be queried later with - * gst_pad_get_sticky_event() and gst_pad_sticky_events_foreach(). - * gst_pad_get_current_caps() and gst_pad_has_current_caps() are convenience - * functions to query the current sticky CAPS event on a pad. - * - * GstElements will use gst_pad_push() and gst_pad_pull_range() to push out - * or pull in a buffer. - * - * The dataflow, events and queries that happen on a pad can be monitored with - * probes that can be installed with gst_pad_add_probe(). gst_pad_is_blocked() - * can be used to check if a block probe is installed on the pad. - * gst_pad_is_blocking() checks if the blocking probe is currently blocking the - * pad. gst_pad_remove_probe() is used to remove a previously installed probe - * and unblock blocking probes if any. - * - * Pad have an offset that can be retrieved with gst_pad_get_offset(). This - * offset will be applied to the running_time of all data passing over the pad. - * gst_pad_set_offset() can be used to change the offset. - * - * Convenience functions exist to start, pause and stop the task on a pad with - * gst_pad_start_task(), gst_pad_pause_task() and gst_pad_stop_task() - * respectively. - */ -public class Pad : ObjectGst -{ - /** the main Gtk struct */ - protected GstPad* gstPad; - - /** Get the main Gtk struct */ - public GstPad* getPadStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstPad; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstPad; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstPad* gstPad, bool ownedRef = false) - { - this.gstPad = gstPad; - super(cast(GstObject*)gstPad, ownedRef); - } - - /** - * Queries a pad for the stream position. - * This is a convenience function for gstreamerD. - * Returns: - * The current position in nanoseconds - GstFormat.TIME. - */ - public long queryPosition() - { - long cur_pos; - queryPosition( GstFormat.TIME, cur_pos ); - return cur_pos; - } - - /** - * Queries a pad for the stream duration. - * This is a convenience function for gstreamerD. - * Returns: - * The duration in nanoseconds - GstFormat.TIME. - */ - public long queryDuration() - { - long cur_dur; - queryDuration( GstFormat.TIME, cur_dur ); - return cur_dur; - } - - /** - */ - - /** */ - public static GType getType() - { - return gst_pad_get_type(); - } - - /** - * Creates a new pad with the given name in the given direction. - * If name is %NULL, a guaranteed unique name (across all pads) - * will be assigned. - * This function makes a copy of the name so you can safely free the name. - * - * Params: - * name = the name of the new pad. - * direction = the #GstPadDirection of the pad. - * - * Returns: a new #GstPad. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string name, GstPadDirection direction) - { - auto __p = gst_pad_new(Str.toStringz(name), direction); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstPad*) __p); - } - - /** - * Creates a new pad with the given name from the given static template. - * If name is %NULL, a guaranteed unique name (across all pads) - * will be assigned. - * This function makes a copy of the name so you can safely free the name. - * - * Params: - * templ = the #GstStaticPadTemplate to use - * name = the name of the pad - * - * Returns: a new #GstPad. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(StaticPadTemplate templ, string name) - { - auto __p = gst_pad_new_from_static_template((templ is null) ? null : templ.getStaticPadTemplateStruct(), Str.toStringz(name)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_from_static_template"); - } - - this(cast(GstPad*) __p); - } - - /** - * Creates a new pad with the given name from the given template. - * If name is %NULL, a guaranteed unique name (across all pads) - * will be assigned. - * This function makes a copy of the name so you can safely free the name. - * - * Params: - * templ = the pad template to use - * name = the name of the pad - * - * Returns: a new #GstPad. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(PadTemplate templ, string name) - { - auto __p = gst_pad_new_from_template((templ is null) ? null : templ.getPadTemplateStruct(), Str.toStringz(name)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_from_template"); - } - - this(cast(GstPad*) __p); - } - - /** - * Gets a string representing the given pad-link return. - * - * Params: - * ret = a #GstPadLinkReturn to get the name of. - * - * Returns: a static string with the name of the pad-link return. - * - * Since: 1.4 - */ - public static string linkGetName(GstPadLinkReturn ret) - { - return Str.toString(gst_pad_link_get_name(ret)); - } - - /** - * Activates or deactivates the given pad in @mode via dispatching to the - * pad's activatemodefunc. For use from within pad activation functions only. - * - * If you don't know what this is, you probably don't want to call it. - * - * Params: - * mode = the requested activation mode - * active = whether or not the pad should be active. - * - * Returns: %TRUE if the operation was successful. - * - * MT safe. - */ - public bool activateMode(GstPadMode mode, bool active) - { - return gst_pad_activate_mode(gstPad, mode, active) != 0; - } - - /** - * Be notified of different states of pads. The provided callback is called for - * every state that matches @mask. - * - * Probes are called in groups: First GST_PAD_PROBE_TYPE_BLOCK probes are - * called, then others, then finally GST_PAD_PROBE_TYPE_IDLE. The only - * exception here are GST_PAD_PROBE_TYPE_IDLE probes that are called - * immediately if the pad is already idle while calling gst_pad_add_probe(). - * In each of the groups, probes are called in the order in which they were - * added. - * - * Params: - * mask = the probe mask - * callback = #GstPadProbeCallback that will be called with notifications of - * the pad state - * userData = user data passed to the callback - * destroyData = #GDestroyNotify for user_data - * - * Returns: an id or 0 if no probe is pending. The id can be used to remove the - * probe with gst_pad_remove_probe(). When using GST_PAD_PROBE_TYPE_IDLE it can - * happen that the probe can be run immediately and if the probe returns - * GST_PAD_PROBE_REMOVE this functions returns 0. - * - * MT safe. - */ - public gulong addProbe(GstPadProbeType mask, GstPadProbeCallback callback, void* userData, GDestroyNotify destroyData) - { - return gst_pad_add_probe(gstPad, mask, callback, userData, destroyData); - } - - /** - * Checks if the source pad and the sink pad are compatible so they can be - * linked. - * - * Params: - * sinkpad = the sink #GstPad. - * - * Returns: %TRUE if the pads can be linked. - */ - public bool canLink(Pad sinkpad) - { - return gst_pad_can_link(gstPad, (sinkpad is null) ? null : sinkpad.getPadStruct()) != 0; - } - - /** - * Chain a buffer to @pad. - * - * The function returns #GST_FLOW_FLUSHING if the pad was flushing. - * - * If the buffer type is not acceptable for @pad (as negotiated with a - * preceding GST_EVENT_CAPS event), this function returns - * #GST_FLOW_NOT_NEGOTIATED. - * - * The function proceeds calling the chain function installed on @pad (see - * gst_pad_set_chain_function()) and the return value of that function is - * returned to the caller. #GST_FLOW_NOT_SUPPORTED is returned if @pad has no - * chain function. - * - * In all cases, success or failure, the caller loses its reference to @buffer - * after calling this function. - * - * Params: - * buffer = the #GstBuffer to send, return GST_FLOW_ERROR - * if not. - * - * Returns: a #GstFlowReturn from the pad. - * - * MT safe. - */ - public GstFlowReturn chain(Buffer buffer) - { - return gst_pad_chain(gstPad, (buffer is null) ? null : buffer.getBufferStruct()); - } - - /** - * Chain a bufferlist to @pad. - * - * The function returns #GST_FLOW_FLUSHING if the pad was flushing. - * - * If @pad was not negotiated properly with a CAPS event, this function - * returns #GST_FLOW_NOT_NEGOTIATED. - * - * The function proceeds calling the chainlist function installed on @pad (see - * gst_pad_set_chain_list_function()) and the return value of that function is - * returned to the caller. #GST_FLOW_NOT_SUPPORTED is returned if @pad has no - * chainlist function. - * - * In all cases, success or failure, the caller loses its reference to @list - * after calling this function. - * - * MT safe. - * - * Params: - * list = the #GstBufferList to send, return GST_FLOW_ERROR - * if not. - * - * Returns: a #GstFlowReturn from the pad. - */ - public GstFlowReturn chainList(BufferList list) - { - return gst_pad_chain_list(gstPad, (list is null) ? null : list.getBufferListStruct()); - } - - /** - * Check and clear the #GST_PAD_FLAG_NEED_RECONFIGURE flag on @pad and return %TRUE - * if the flag was set. - * - * Returns: %TRUE is the GST_PAD_FLAG_NEED_RECONFIGURE flag was set on @pad. - */ - public bool checkReconfigure() - { - return gst_pad_check_reconfigure(gstPad) != 0; - } - - /** - * Creates a stream-id for the source #GstPad @pad by combining the - * upstream information with the optional @stream_id of the stream - * of @pad. @pad must have a parent #GstElement and which must have zero - * or one sinkpad. @stream_id can only be %NULL if the parent element - * of @pad has only a single source pad. - * - * This function generates an unique stream-id by getting the upstream - * stream-start event stream ID and appending @stream_id to it. If the - * element has no sinkpad it will generate an upstream stream-id by - * doing an URI query on the element and in the worst case just uses - * a random number. Source elements that don't implement the URI - * handler interface should ideally generate a unique, deterministic - * stream-id manually instead. - * - * Since stream IDs are sorted alphabetically, any numbers in the - * stream ID should be printed with a fixed number of characters, - * preceded by 0's, such as by using the format \%03u instead of \%u. - * - * Params: - * parent = Parent #GstElement of @pad - * streamId = The stream-id - * - * Returns: A stream-id for @pad. g_free() after usage. - */ - public string createStreamId(Element parent, string streamId) - { - auto retStr = gst_pad_create_stream_id(gstPad, (parent is null) ? null : parent.getElementStruct(), Str.toStringz(streamId)); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Creates a stream-id for the source #GstPad @pad by combining the - * upstream information with the optional @stream_id of the stream - * of @pad. @pad must have a parent #GstElement and which must have zero - * or one sinkpad. @stream_id can only be %NULL if the parent element - * of @pad has only a single source pad. - * - * This function generates an unique stream-id by getting the upstream - * stream-start event stream ID and appending @stream_id to it. If the - * element has no sinkpad it will generate an upstream stream-id by - * doing an URI query on the element and in the worst case just uses - * a random number. Source elements that don't implement the URI - * handler interface should ideally generate a unique, deterministic - * stream-id manually instead. - * - * Params: - * parent = Parent #GstElement of @pad - * streamId = The stream-id - * varArgs = parameters for the @stream_id format string - * - * Returns: A stream-id for @pad. g_free() after usage. - */ - public string createStreamIdPrintfValist(Element parent, string streamId, void* varArgs) - { - auto retStr = gst_pad_create_stream_id_printf_valist(gstPad, (parent is null) ? null : parent.getElementStruct(), Str.toStringz(streamId), varArgs); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Invokes the default event handler for the given pad. - * - * The EOS event will pause the task associated with @pad before it is forwarded - * to all internally linked pads, - * - * The event is sent to all pads internally linked to @pad. This function - * takes ownership of @event. - * - * Params: - * parent = the parent of @pad or %NULL - * event = the #GstEvent to handle. - * - * Returns: %TRUE if the event was sent successfully. - */ - public bool eventDefault(ObjectGst parent, Event event) - { - return gst_pad_event_default(gstPad, (parent is null) ? null : parent.getObjectGstStruct(), (event is null) ? null : event.getEventStruct()) != 0; - } - - /** - * Calls @forward for all internally linked pads of @pad. This function deals with - * dynamically changing internal pads and will make sure that the @forward - * function is only called once for each pad. - * - * When @forward returns %TRUE, no further pads will be processed. - * - * Params: - * forward = a #GstPadForwardFunction - * userData = user data passed to @forward - * - * Returns: %TRUE if one of the dispatcher functions returned %TRUE. - */ - public bool forward(GstPadForwardFunction forward, void* userData) - { - return gst_pad_forward(gstPad, forward, userData) != 0; - } - - /** - * Gets the capabilities of the allowed media types that can flow through - * @pad and its peer. - * - * The allowed capabilities is calculated as the intersection of the results of - * calling gst_pad_query_caps() on @pad and its peer. The caller owns a reference - * on the resulting caps. - * - * Returns: the allowed #GstCaps of the - * pad link. Unref the caps when you no longer need it. This - * function returns %NULL when @pad has no peer. - * - * MT safe. - */ - public Caps getAllowedCaps() - { - auto __p = gst_pad_get_allowed_caps(gstPad); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Gets the capabilities currently configured on @pad with the last - * #GST_EVENT_CAPS event. - * - * Returns: the current caps of the pad with - * incremented ref-count or %NULL when pad has no caps. Unref after usage. - */ - public Caps getCurrentCaps() - { - auto __p = gst_pad_get_current_caps(gstPad); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Gets the direction of the pad. The direction of the pad is - * decided at construction time so this function does not take - * the LOCK. - * - * Returns: the #GstPadDirection of the pad. - * - * MT safe. - */ - public GstPadDirection getDirection() - { - return gst_pad_get_direction(gstPad); - } - - /** - * Gets the private data of a pad. - * No locking is performed in this function. - * - * Returns: a #gpointer to the private data. - */ - public void* getElementPrivate() - { - return gst_pad_get_element_private(gstPad); - } - - /** - * Gets the #GstFlowReturn return from the last data passed by this pad. - * - * Since: 1.4 - */ - public GstFlowReturn getLastFlowReturn() - { - return gst_pad_get_last_flow_return(gstPad); - } - - /** - * Get the offset applied to the running time of @pad. @pad has to be a source - * pad. - * - * Returns: the offset. - */ - public long getOffset() - { - return gst_pad_get_offset(gstPad); - } - - /** - * Gets the template for @pad. - * - * Returns: the #GstPadTemplate from which - * this pad was instantiated, or %NULL if this pad has no - * template. Unref after usage. - */ - public PadTemplate getPadTemplate() - { - auto __p = gst_pad_get_pad_template(gstPad); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(PadTemplate)(cast(GstPadTemplate*) __p, true); - } - - /** - * Gets the capabilities for @pad's template. - * - * Returns: the #GstCaps of this pad template. - * Unref after usage. - */ - public Caps getPadTemplateCaps() - { - auto __p = gst_pad_get_pad_template_caps(gstPad); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Gets the parent of @pad, cast to a #GstElement. If a @pad has no parent or - * its parent is not an element, return %NULL. - * - * Returns: the parent of the pad. The - * caller has a reference on the parent, so unref when you're finished - * with it. - * - * MT safe. - */ - public Element getParentElement() - { - auto __p = gst_pad_get_parent_element(gstPad); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Element)(cast(GstElement*) __p, true); - } - - /** - * Gets the peer of @pad. This function refs the peer pad so - * you need to unref it after use. - * - * Returns: the peer #GstPad. Unref after usage. - * - * MT safe. - */ - public Pad getPeer() - { - auto __p = gst_pad_get_peer(gstPad); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Pad)(cast(GstPad*) __p, true); - } - - /** - * When @pad is flushing this function returns #GST_FLOW_FLUSHING - * immediately and @buffer is %NULL. - * - * Calls the getrange function of @pad, see #GstPadGetRangeFunction for a - * description of a getrange function. If @pad has no getrange function - * installed (see gst_pad_set_getrange_function()) this function returns - * #GST_FLOW_NOT_SUPPORTED. - * - * If @buffer points to a variable holding %NULL, a valid new #GstBuffer will be - * placed in @buffer when this function returns #GST_FLOW_OK. The new buffer - * must be freed with gst_buffer_unref() after usage. - * - * When @buffer points to a variable that points to a valid #GstBuffer, the - * buffer will be filled with the result data when this function returns - * #GST_FLOW_OK. If the provided buffer is larger than @size, only - * @size bytes will be filled in the result buffer and its size will be updated - * accordingly. - * - * Note that less than @size bytes can be returned in @buffer when, for example, - * an EOS condition is near or when @buffer is not large enough to hold @size - * bytes. The caller should check the result buffer size to get the result size. - * - * When this function returns any other result value than #GST_FLOW_OK, @buffer - * will be unchanged. - * - * This is a lowlevel function. Usually gst_pad_pull_range() is used. - * - * Params: - * offset = The start offset of the buffer - * size = The length of the buffer - * buffer = a pointer to hold the #GstBuffer, - * returns #GST_FLOW_ERROR if %NULL. - * - * Returns: a #GstFlowReturn from the pad. - * - * MT safe. - */ - public GstFlowReturn getRange(ulong offset, uint size, out Buffer buffer) - { - GstBuffer* outbuffer = null; - - auto __p = gst_pad_get_range(gstPad, offset, size, &outbuffer); - - buffer = ObjectG.getDObject!(Buffer)(outbuffer); - - return __p; - } - - /** - * If there is a single internal link of the given pad, this function will - * return it. Otherwise, it will return NULL. - * - * Returns: a #GstPad, or %NULL if @pad has none - * or more than one internal links. Unref returned pad with - * gst_object_unref(). - * - * Since: 1.18 - */ - public Pad getSingleInternalLink() - { - auto __p = gst_pad_get_single_internal_link(gstPad); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Pad)(cast(GstPad*) __p, true); - } - - /** - * Returns a new reference of the sticky event of type @event_type - * from the event. - * - * Params: - * eventType = the #GstEventType that should be retrieved. - * idx = the index of the event - * - * Returns: a #GstEvent of type - * @event_type or %NULL when no event of @event_type was on - * @pad. Unref after usage. - */ - public Event getStickyEvent(GstEventType eventType, uint idx) - { - auto __p = gst_pad_get_sticky_event(gstPad, eventType, idx); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Event)(cast(GstEvent*) __p, true); - } - - /** - * Returns the current #GstStream for the @pad, or %NULL if none has been - * set yet, i.e. the pad has not received a stream-start event yet. - * - * This is a convenience wrapper around gst_pad_get_sticky_event() and - * gst_event_parse_stream(). - * - * Returns: the current #GstStream for @pad, or %NULL. - * unref the returned stream when no longer needed. - * - * Since: 1.10 - */ - public Stream getStream() - { - auto __p = gst_pad_get_stream(gstPad); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Stream)(cast(GstStream*) __p, true); - } - - /** - * Returns the current stream-id for the @pad, or %NULL if none has been - * set yet, i.e. the pad has not received a stream-start event yet. - * - * This is a convenience wrapper around gst_pad_get_sticky_event() and - * gst_event_parse_stream_start(). - * - * The returned stream-id string should be treated as an opaque string, its - * contents should not be interpreted. - * - * Returns: a newly-allocated copy of the stream-id for - * @pad, or %NULL. g_free() the returned string when no longer - * needed. - * - * Since: 1.2 - */ - public string getStreamId() - { - auto retStr = gst_pad_get_stream_id(gstPad); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Get @pad task state. If no task is currently - * set, #GST_TASK_STOPPED is returned. - * - * Returns: The current state of @pad's task. - * - * Since: 1.12 - */ - public GstTaskState getTaskState() - { - return gst_pad_get_task_state(gstPad); - } - - /** - * Check if @pad has caps set on it with a #GST_EVENT_CAPS event. - * - * Returns: %TRUE when @pad has caps associated with it. - */ - public bool hasCurrentCaps() - { - return gst_pad_has_current_caps(gstPad) != 0; - } - - /** - * Query if a pad is active - * - * Returns: %TRUE if the pad is active. - * - * MT safe. - */ - public bool isActive() - { - return gst_pad_is_active(gstPad) != 0; - } - - /** - * Checks if the pad is blocked or not. This function returns the - * last requested state of the pad. It is not certain that the pad - * is actually blocking at this point (see gst_pad_is_blocking()). - * - * Returns: %TRUE if the pad is blocked. - * - * MT safe. - */ - public bool isBlocked() - { - return gst_pad_is_blocked(gstPad) != 0; - } - - /** - * Checks if the pad is blocking or not. This is a guaranteed state - * of whether the pad is actually blocking on a #GstBuffer or a #GstEvent. - * - * Returns: %TRUE if the pad is blocking. - * - * MT safe. - */ - public bool isBlocking() - { - return gst_pad_is_blocking(gstPad) != 0; - } - - /** - * Checks if a @pad is linked to another pad or not. - * - * Returns: %TRUE if the pad is linked, %FALSE otherwise. - * - * MT safe. - */ - public bool isLinked() - { - return gst_pad_is_linked(gstPad) != 0; - } - - /** - * Gets an iterator for the pads to which the given pad is linked to inside - * of the parent element. - * - * Each #GstPad element yielded by the iterator will have its refcount increased, - * so unref after use. - * - * Free-function: gst_iterator_free - * - * Returns: a new #GstIterator of #GstPad - * or %NULL when the pad does not have an iterator function - * configured. Use gst_iterator_free() after usage. - */ - public Iterator iterateInternalLinks() - { - auto __p = gst_pad_iterate_internal_links(gstPad); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Iterate the list of pads to which the given pad is linked to inside of - * the parent element. - * This is the default handler, and thus returns an iterator of all of the - * pads inside the parent element with opposite direction. - * - * The caller must free this iterator after use with gst_iterator_free(). - * - * Params: - * parent = the parent of @pad or %NULL - * - * Returns: a #GstIterator of #GstPad, or %NULL if @pad - * has no parent. Unref each returned pad with gst_object_unref(). - */ - public Iterator iterateInternalLinksDefault(ObjectGst parent) - { - auto __p = gst_pad_iterate_internal_links_default(gstPad, (parent is null) ? null : parent.getObjectGstStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Links the source pad and the sink pad. - * - * Params: - * sinkpad = the sink #GstPad to link. - * - * Returns: A result code indicating if the connection worked or - * what went wrong. - * - * MT Safe. - */ - public GstPadLinkReturn link(Pad sinkpad) - { - return gst_pad_link(gstPad, (sinkpad is null) ? null : sinkpad.getPadStruct()); - } - - /** - * Links the source pad and the sink pad. - * - * This variant of #gst_pad_link provides a more granular control on the - * checks being done when linking. While providing some considerable speedups - * the caller of this method must be aware that wrong usage of those flags - * can cause severe issues. Refer to the documentation of #GstPadLinkCheck - * for more information. - * - * MT Safe. - * - * Params: - * sinkpad = the sink #GstPad to link. - * flags = the checks to validate when linking - * - * Returns: A result code indicating if the connection worked or - * what went wrong. - */ - public GstPadLinkReturn linkFull(Pad sinkpad, GstPadLinkCheck flags) - { - return gst_pad_link_full(gstPad, (sinkpad is null) ? null : sinkpad.getPadStruct(), flags); - } - - /** - * Links @src to @sink, creating any #GstGhostPad's in between as necessary. - * - * This is a convenience function to save having to create and add intermediate - * #GstGhostPad's as required for linking across #GstBin boundaries. - * - * If @src or @sink pads don't have parent elements or do not share a common - * ancestor, the link will fail. - * - * Params: - * sink = a #GstPad - * - * Returns: whether the link succeeded. - * - * Since: 1.10 - */ - public bool linkMaybeGhosting(Pad sink) - { - return gst_pad_link_maybe_ghosting(gstPad, (sink is null) ? null : sink.getPadStruct()) != 0; - } - - /** - * Links @src to @sink, creating any #GstGhostPad's in between as necessary. - * - * This is a convenience function to save having to create and add intermediate - * #GstGhostPad's as required for linking across #GstBin boundaries. - * - * If @src or @sink pads don't have parent elements or do not share a common - * ancestor, the link will fail. - * - * Calling gst_pad_link_maybe_ghosting_full() with - * @flags == %GST_PAD_LINK_CHECK_DEFAULT is the recommended way of linking - * pads with safety checks applied. - * - * Params: - * sink = a #GstPad - * flags = some #GstPadLinkCheck flags - * - * Returns: whether the link succeeded. - * - * Since: 1.10 - */ - public bool linkMaybeGhostingFull(Pad sink, GstPadLinkCheck flags) - { - return gst_pad_link_maybe_ghosting_full(gstPad, (sink is null) ? null : sink.getPadStruct(), flags) != 0; - } - - /** - * Mark a pad for needing reconfiguration. The next call to - * gst_pad_check_reconfigure() will return %TRUE after this call. - */ - public void markReconfigure() - { - gst_pad_mark_reconfigure(gstPad); - } - - /** - * Check the #GST_PAD_FLAG_NEED_RECONFIGURE flag on @pad and return %TRUE - * if the flag was set. - * - * Returns: %TRUE is the GST_PAD_FLAG_NEED_RECONFIGURE flag is set on @pad. - */ - public bool needsReconfigure() - { - return gst_pad_needs_reconfigure(gstPad) != 0; - } - - /** - * Pause the task of @pad. This function will also wait until the - * function executed by the task is finished if this function is not - * called from the task function. - * - * Returns: a %TRUE if the task could be paused or %FALSE when the pad - * has no task. - */ - public bool pauseTask() - { - return gst_pad_pause_task(gstPad) != 0; - } - - /** - * Performs gst_pad_query() on the peer of @pad. - * - * The caller is responsible for both the allocation and deallocation of - * the query structure. - * - * Params: - * query = the #GstQuery to perform. - * - * Returns: %TRUE if the query could be performed. This function returns %FALSE - * if @pad has no peer. - */ - public bool peerQuery(Query query) - { - return gst_pad_peer_query(gstPad, (query is null) ? null : query.getQueryStruct()) != 0; - } - - /** - * Check if the peer of @pad accepts @caps. If @pad has no peer, this function - * returns %TRUE. - * - * Params: - * caps = a #GstCaps to check on the pad - * - * Returns: %TRUE if the peer of @pad can accept the caps or @pad has no peer. - */ - public bool peerQueryAcceptCaps(Caps caps) - { - return gst_pad_peer_query_accept_caps(gstPad, (caps is null) ? null : caps.getCapsStruct()) != 0; - } - - /** - * Gets the capabilities of the peer connected to this pad. Similar to - * gst_pad_query_caps(). - * - * When called on srcpads @filter contains the caps that - * upstream could produce in the order preferred by upstream. When - * called on sinkpads @filter contains the caps accepted by - * downstream in the preferred order. @filter might be %NULL but - * if it is not %NULL the returned caps will be a subset of @filter. - * - * Params: - * filter = a #GstCaps filter, or %NULL. - * - * Returns: the caps of the peer pad with incremented - * ref-count. When there is no peer pad, this function returns @filter or, - * when @filter is %NULL, ANY caps. - */ - public Caps peerQueryCaps(Caps filter) - { - auto __p = gst_pad_peer_query_caps(gstPad, (filter is null) ? null : filter.getCapsStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Queries the peer pad of a given sink pad to convert @src_val in @src_format - * to @dest_format. - * - * Params: - * srcFormat = a #GstFormat to convert from. - * srcVal = a value to convert. - * destFormat = the #GstFormat to convert to. - * destVal = a pointer to the result. - * - * Returns: %TRUE if the query could be performed. - */ - public bool peerQueryConvert(GstFormat srcFormat, long srcVal, GstFormat destFormat, out long destVal) - { - return gst_pad_peer_query_convert(gstPad, srcFormat, srcVal, destFormat, &destVal) != 0; - } - - /** - * Queries the peer pad of a given sink pad for the total stream duration. - * - * Params: - * format = the #GstFormat requested - * duration = a location in which to store the total - * duration, or %NULL. - * - * Returns: %TRUE if the query could be performed. - */ - public bool peerQueryDuration(GstFormat format, out long duration) - { - return gst_pad_peer_query_duration(gstPad, format, &duration) != 0; - } - - /** - * Queries the peer of a given sink pad for the stream position. - * - * Params: - * format = the #GstFormat requested - * cur = a location in which to store the current - * position, or %NULL. - * - * Returns: %TRUE if the query could be performed. - */ - public bool peerQueryPosition(GstFormat format, out long cur) - { - return gst_pad_peer_query_position(gstPad, format, &cur) != 0; - } - - /** - * Checks if all internally linked pads of @pad accepts the caps in @query and - * returns the intersection of the results. - * - * This function is useful as a default accept caps query function for an element - * that can handle any stream format, but requires caps that are acceptable for - * all opposite pads. - * - * Params: - * query = an ACCEPT_CAPS #GstQuery. - * - * Returns: %TRUE if @query could be executed - */ - public bool proxyQueryAcceptCaps(Query query) - { - return gst_pad_proxy_query_accept_caps(gstPad, (query is null) ? null : query.getQueryStruct()) != 0; - } - - /** - * Calls gst_pad_query_caps() for all internally linked pads of @pad and returns - * the intersection of the results. - * - * This function is useful as a default caps query function for an element - * that can handle any stream format, but requires all its pads to have - * the same caps. Two such elements are tee and adder. - * - * Params: - * query = a CAPS #GstQuery. - * - * Returns: %TRUE if @query could be executed - */ - public bool proxyQueryCaps(Query query) - { - return gst_pad_proxy_query_caps(gstPad, (query is null) ? null : query.getQueryStruct()) != 0; - } - - /** - * Pulls a @buffer from the peer pad or fills up a provided buffer. - * - * This function will first trigger the pad block signal if it was - * installed. - * - * When @pad is not linked #GST_FLOW_NOT_LINKED is returned else this - * function returns the result of gst_pad_get_range() on the peer pad. - * See gst_pad_get_range() for a list of return values and for the - * semantics of the arguments of this function. - * - * If @buffer points to a variable holding %NULL, a valid new #GstBuffer will be - * placed in @buffer when this function returns #GST_FLOW_OK. The new buffer - * must be freed with gst_buffer_unref() after usage. When this function - * returns any other result value, @buffer will still point to %NULL. - * - * When @buffer points to a variable that points to a valid #GstBuffer, the - * buffer will be filled with the result data when this function returns - * #GST_FLOW_OK. When this function returns any other result value, - * @buffer will be unchanged. If the provided buffer is larger than @size, only - * @size bytes will be filled in the result buffer and its size will be updated - * accordingly. - * - * Note that less than @size bytes can be returned in @buffer when, for example, - * an EOS condition is near or when @buffer is not large enough to hold @size - * bytes. The caller should check the result buffer size to get the result size. - * - * Params: - * offset = The start offset of the buffer - * size = The length of the buffer - * buffer = a pointer to hold the #GstBuffer, returns - * GST_FLOW_ERROR if %NULL. - * - * Returns: a #GstFlowReturn from the peer pad. - * - * MT safe. - */ - public GstFlowReturn pullRange(ulong offset, uint size, out Buffer buffer) - { - GstBuffer* outbuffer = null; - - auto __p = gst_pad_pull_range(gstPad, offset, size, &outbuffer); - - buffer = ObjectG.getDObject!(Buffer)(outbuffer); - - return __p; - } - - /** - * Pushes a buffer to the peer of @pad. - * - * This function will call installed block probes before triggering any - * installed data probes. - * - * The function proceeds calling gst_pad_chain() on the peer pad and returns - * the value from that function. If @pad has no peer, #GST_FLOW_NOT_LINKED will - * be returned. - * - * In all cases, success or failure, the caller loses its reference to @buffer - * after calling this function. - * - * Params: - * buffer = the #GstBuffer to push returns GST_FLOW_ERROR - * if not. - * - * Returns: a #GstFlowReturn from the peer pad. - * - * MT safe. - */ - public GstFlowReturn push(Buffer buffer) - { - return gst_pad_push(gstPad, (buffer is null) ? null : buffer.getBufferStruct()); - } - - /** - * Sends the event to the peer of the given pad. This function is - * mainly used by elements to send events to their peer - * elements. - * - * This function takes ownership of the provided event so you should - * gst_event_ref() it if you want to reuse the event after this call. - * - * Params: - * event = the #GstEvent to send to the pad. - * - * Returns: %TRUE if the event was handled. - * - * MT safe. - */ - public bool pushEvent(Event event) - { - return gst_pad_push_event(gstPad, (event is null) ? null : event.getEventStruct()) != 0; - } - - /** - * Pushes a buffer list to the peer of @pad. - * - * This function will call installed block probes before triggering any - * installed data probes. - * - * The function proceeds calling the chain function on the peer pad and returns - * the value from that function. If @pad has no peer, #GST_FLOW_NOT_LINKED will - * be returned. If the peer pad does not have any installed chainlist function - * every group buffer of the list will be merged into a normal #GstBuffer and - * chained via gst_pad_chain(). - * - * In all cases, success or failure, the caller loses its reference to @list - * after calling this function. - * - * Params: - * list = the #GstBufferList to push returns GST_FLOW_ERROR - * if not. - * - * Returns: a #GstFlowReturn from the peer pad. - * - * MT safe. - */ - public GstFlowReturn pushList(BufferList list) - { - return gst_pad_push_list(gstPad, (list is null) ? null : list.getBufferListStruct()); - } - - /** - * Dispatches a query to a pad. The query should have been allocated by the - * caller via one of the type-specific allocation functions. The element that - * the pad belongs to is responsible for filling the query with an appropriate - * response, which should then be parsed with a type-specific query parsing - * function. - * - * Again, the caller is responsible for both the allocation and deallocation of - * the query structure. - * - * Please also note that some queries might need a running pipeline to work. - * - * Params: - * query = the #GstQuery to perform. - * - * Returns: %TRUE if the query could be performed. - */ - public bool query(Query query) - { - return gst_pad_query(gstPad, (query is null) ? null : query.getQueryStruct()) != 0; - } - - /** - * Check if the given pad accepts the caps. - * - * Params: - * caps = a #GstCaps to check on the pad - * - * Returns: %TRUE if the pad can accept the caps. - */ - public bool queryAcceptCaps(Caps caps) - { - return gst_pad_query_accept_caps(gstPad, (caps is null) ? null : caps.getCapsStruct()) != 0; - } - - /** - * Gets the capabilities this pad can produce or consume. - * Note that this method doesn't necessarily return the caps set by sending a - * gst_event_new_caps() - use gst_pad_get_current_caps() for that instead. - * gst_pad_query_caps returns all possible caps a pad can operate with, using - * the pad's CAPS query function, If the query fails, this function will return - * @filter, if not %NULL, otherwise ANY. - * - * When called on sinkpads @filter contains the caps that - * upstream could produce in the order preferred by upstream. When - * called on srcpads @filter contains the caps accepted by - * downstream in the preferred order. @filter might be %NULL but - * if it is not %NULL the returned caps will be a subset of @filter. - * - * Note that this function does not return writable #GstCaps, use - * gst_caps_make_writable() before modifying the caps. - * - * Params: - * filter = suggested #GstCaps, or %NULL - * - * Returns: the caps of the pad with incremented ref-count. - */ - public Caps queryCaps(Caps filter) - { - auto __p = gst_pad_query_caps(gstPad, (filter is null) ? null : filter.getCapsStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Queries a pad to convert @src_val in @src_format to @dest_format. - * - * Params: - * srcFormat = a #GstFormat to convert from. - * srcVal = a value to convert. - * destFormat = the #GstFormat to convert to. - * destVal = a pointer to the result. - * - * Returns: %TRUE if the query could be performed. - */ - public bool queryConvert(GstFormat srcFormat, long srcVal, GstFormat destFormat, out long destVal) - { - return gst_pad_query_convert(gstPad, srcFormat, srcVal, destFormat, &destVal) != 0; - } - - /** - * Invokes the default query handler for the given pad. - * The query is sent to all pads internally linked to @pad. Note that - * if there are many possible sink pads that are internally linked to - * @pad, only one will be sent the query. - * Multi-sinkpad elements should implement custom query handlers. - * - * Params: - * parent = the parent of @pad or %NULL - * query = the #GstQuery to handle. - * - * Returns: %TRUE if the query was performed successfully. - */ - public bool queryDefault(ObjectGst parent, Query query) - { - return gst_pad_query_default(gstPad, (parent is null) ? null : parent.getObjectGstStruct(), (query is null) ? null : query.getQueryStruct()) != 0; - } - - /** - * Queries a pad for the total stream duration. - * - * Params: - * format = the #GstFormat requested - * duration = a location in which to store the total - * duration, or %NULL. - * - * Returns: %TRUE if the query could be performed. - */ - public bool queryDuration(GstFormat format, out long duration) - { - return gst_pad_query_duration(gstPad, format, &duration) != 0; - } - - /** - * Queries a pad for the stream position. - * - * Params: - * format = the #GstFormat requested - * cur = A location in which to store the current position, or %NULL. - * - * Returns: %TRUE if the query could be performed. - */ - public bool queryPosition(GstFormat format, out long cur) - { - return gst_pad_query_position(gstPad, format, &cur) != 0; - } - - /** - * Remove the probe with @id from @pad. - * - * MT safe. - * - * Params: - * id = the probe id to remove - */ - public void removeProbe(gulong id) - { - gst_pad_remove_probe(gstPad, id); - } - - /** - * Sends the event to the pad. This function can be used - * by applications to send events in the pipeline. - * - * If @pad is a source pad, @event should be an upstream event. If @pad is a - * sink pad, @event should be a downstream event. For example, you would not - * send a #GST_EVENT_EOS on a src pad; EOS events only propagate downstream. - * Furthermore, some downstream events have to be serialized with data flow, - * like EOS, while some can travel out-of-band, like #GST_EVENT_FLUSH_START. If - * the event needs to be serialized with data flow, this function will take the - * pad's stream lock while calling its event function. - * - * To find out whether an event type is upstream, downstream, or downstream and - * serialized, see #GstEventTypeFlags, gst_event_type_get_flags(), - * #GST_EVENT_IS_UPSTREAM, #GST_EVENT_IS_DOWNSTREAM, and - * #GST_EVENT_IS_SERIALIZED. Note that in practice that an application or - * plugin doesn't need to bother itself with this information; the core handles - * all necessary locks and checks. - * - * This function takes ownership of the provided event so you should - * gst_event_ref() it if you want to reuse the event after this call. - * - * Params: - * event = the #GstEvent to send to the pad. - * - * Returns: %TRUE if the event was handled. - */ - public bool sendEvent(Event event) - { - return gst_pad_send_event(gstPad, (event is null) ? null : event.getEventStruct()) != 0; - } - - /** - * Sets the given activate function for @pad. The activate function will - * dispatch to gst_pad_activate_mode() to perform the actual activation. - * Only makes sense to set on sink pads. - * - * Call this function if your sink pad can start a pull-based task. - * - * Params: - * activate = the #GstPadActivateFunction to set. - * userData = user_data passed to @notify - * notify = notify called when @activate will not be used anymore. - */ - public void setActivateFunctionFull(GstPadActivateFunction activate, void* userData, GDestroyNotify notify) - { - gst_pad_set_activate_function_full(gstPad, activate, userData, notify); - } - - /** - * Sets the given activate_mode function for the pad. An activate_mode function - * prepares the element for data passing. - * - * Params: - * activatemode = the #GstPadActivateModeFunction to set. - * userData = user_data passed to @notify - * notify = notify called when @activatemode will not be used anymore. - */ - public void setActivatemodeFunctionFull(GstPadActivateModeFunction activatemode, void* userData, GDestroyNotify notify) - { - gst_pad_set_activatemode_function_full(gstPad, activatemode, userData, notify); - } - - /** - * Activates or deactivates the given pad. - * Normally called from within core state change functions. - * - * If @active, makes sure the pad is active. If it is already active, either in - * push or pull mode, just return. Otherwise dispatches to the pad's activate - * function to perform the actual activation. - * - * If not @active, calls gst_pad_activate_mode() with the pad's current mode - * and a %FALSE argument. - * - * Params: - * active = whether or not the pad should be active. - * - * Returns: %TRUE if the operation was successful. - * - * MT safe. - */ - public bool setActive(bool active) - { - return gst_pad_set_active(gstPad, active) != 0; - } - - /** - * Sets the given chain function for the pad. The chain function is called to - * process a #GstBuffer input buffer. see #GstPadChainFunction for more details. - * - * Params: - * chain = the #GstPadChainFunction to set. - * userData = user_data passed to @notify - * notify = notify called when @chain will not be used anymore. - */ - public void setChainFunctionFull(GstPadChainFunction chain, void* userData, GDestroyNotify notify) - { - gst_pad_set_chain_function_full(gstPad, chain, userData, notify); - } - - /** - * Sets the given chain list function for the pad. The chainlist function is - * called to process a #GstBufferList input buffer list. See - * #GstPadChainListFunction for more details. - * - * Params: - * chainlist = the #GstPadChainListFunction to set. - * userData = user_data passed to @notify - * notify = notify called when @chainlist will not be used anymore. - */ - public void setChainListFunctionFull(GstPadChainListFunction chainlist, void* userData, GDestroyNotify notify) - { - gst_pad_set_chain_list_function_full(gstPad, chainlist, userData, notify); - } - - /** - * Set the given private data gpointer on the pad. - * This function can only be used by the element that owns the pad. - * No locking is performed in this function. - * - * Params: - * priv = The private data to attach to the pad. - */ - public void setElementPrivate(void* priv) - { - gst_pad_set_element_private(gstPad, priv); - } - - /** - * Sets the given event handler for the pad. - * - * Params: - * event = the #GstPadEventFullFunction to set. - * userData = user_data passed to @notify - * notify = notify called when @event will not be used anymore. - * - * Since: 1.8 - */ - public void setEventFullFunctionFull(GstPadEventFullFunction event, void* userData, GDestroyNotify notify) - { - gst_pad_set_event_full_function_full(gstPad, event, userData, notify); - } - - /** - * Sets the given event handler for the pad. - * - * Params: - * event = the #GstPadEventFunction to set. - * userData = user_data passed to @notify - * notify = notify called when @event will not be used anymore. - */ - public void setEventFunctionFull(GstPadEventFunction event, void* userData, GDestroyNotify notify) - { - gst_pad_set_event_function_full(gstPad, event, userData, notify); - } - - /** - * Sets the given getrange function for the pad. The getrange function is - * called to produce a new #GstBuffer to start the processing pipeline. see - * #GstPadGetRangeFunction for a description of the getrange function. - * - * Params: - * get = the #GstPadGetRangeFunction to set. - * userData = user_data passed to @notify - * notify = notify called when @get will not be used anymore. - */ - public void setGetrangeFunctionFull(GstPadGetRangeFunction get, void* userData, GDestroyNotify notify) - { - gst_pad_set_getrange_function_full(gstPad, get, userData, notify); - } - - /** - * Sets the given internal link iterator function for the pad. - * - * Params: - * iterintlink = the #GstPadIterIntLinkFunction to set. - * userData = user_data passed to @notify - * notify = notify called when @iterintlink will not be used anymore. - */ - public void setIterateInternalLinksFunctionFull(GstPadIterIntLinkFunction iterintlink, void* userData, GDestroyNotify notify) - { - gst_pad_set_iterate_internal_links_function_full(gstPad, iterintlink, userData, notify); - } - - /** - * Sets the given link function for the pad. It will be called when - * the pad is linked with another pad. - * - * The return value #GST_PAD_LINK_OK should be used when the connection can be - * made. - * - * The return value #GST_PAD_LINK_REFUSED should be used when the connection - * cannot be made for some reason. - * - * If @link is installed on a source pad, it should call the #GstPadLinkFunction - * of the peer sink pad, if present. - * - * Params: - * link = the #GstPadLinkFunction to set. - * userData = user_data passed to @notify - * notify = notify called when @link will not be used anymore. - */ - public void setLinkFunctionFull(GstPadLinkFunction link, void* userData, GDestroyNotify notify) - { - gst_pad_set_link_function_full(gstPad, link, userData, notify); - } - - /** - * Set the offset that will be applied to the running time of @pad. - * - * Params: - * offset = the offset - */ - public void setOffset(long offset) - { - gst_pad_set_offset(gstPad, offset); - } - - /** - * Set the given query function for the pad. - * - * Params: - * query = the #GstPadQueryFunction to set. - * userData = user_data passed to @notify - * notify = notify called when @query will not be used anymore. - */ - public void setQueryFunctionFull(GstPadQueryFunction query, void* userData, GDestroyNotify notify) - { - gst_pad_set_query_function_full(gstPad, query, userData, notify); - } - - /** - * Sets the given unlink function for the pad. It will be called - * when the pad is unlinked. - * - * Note that the pad's lock is already held when the unlink - * function is called, so most pad functions cannot be called - * from within the callback. - * - * Params: - * unlink = the #GstPadUnlinkFunction to set. - * userData = user_data passed to @notify - * notify = notify called when @unlink will not be used anymore. - */ - public void setUnlinkFunctionFull(GstPadUnlinkFunction unlink, void* userData, GDestroyNotify notify) - { - gst_pad_set_unlink_function_full(gstPad, unlink, userData, notify); - } - - /** - * Starts a task that repeatedly calls @func with @user_data. This function - * is mostly used in pad activation functions to start the dataflow. - * The #GST_PAD_STREAM_LOCK of @pad will automatically be acquired - * before @func is called. - * - * Params: - * func = the task function to call - * userData = user data passed to the task function - * notify = called when @user_data is no longer referenced - * - * Returns: a %TRUE if the task could be started. - */ - public bool startTask(GstTaskFunction func, void* userData, GDestroyNotify notify) - { - return gst_pad_start_task(gstPad, func, userData, notify) != 0; - } - - /** - * Iterates all sticky events on @pad and calls @foreach_func for every - * event. If @foreach_func returns %FALSE the iteration is immediately stopped. - * - * Params: - * foreachFunc = the #GstPadStickyEventsForeachFunction that - * should be called for every event. - * userData = the optional user data. - */ - public void stickyEventsForeach(GstPadStickyEventsForeachFunction foreachFunc, void* userData) - { - gst_pad_sticky_events_foreach(gstPad, foreachFunc, userData); - } - - /** - * Stop the task of @pad. This function will also make sure that the - * function executed by the task will effectively stop if not called - * from the GstTaskFunction. - * - * This function will deadlock if called from the GstTaskFunction of - * the task. Use gst_task_pause() instead. - * - * Regardless of whether the pad has a task, the stream lock is acquired and - * released so as to ensure that streaming through this pad has finished. - * - * Returns: a %TRUE if the task could be stopped or %FALSE on error. - */ - public bool stopTask() - { - return gst_pad_stop_task(gstPad) != 0; - } - - /** - * Store the sticky @event on @pad - * - * Params: - * event = a #GstEvent - * - * Returns: #GST_FLOW_OK on success, #GST_FLOW_FLUSHING when the pad - * was flushing or #GST_FLOW_EOS when the pad was EOS. - * - * Since: 1.2 - */ - public GstFlowReturn storeStickyEvent(Event event) - { - return gst_pad_store_sticky_event(gstPad, (event is null) ? null : event.getEventStruct()); - } - - /** - * Unlinks the source pad from the sink pad. Will emit the #GstPad::unlinked - * signal on both pads. - * - * Params: - * sinkpad = the sink #GstPad to unlink. - * - * Returns: %TRUE if the pads were unlinked. This function returns %FALSE if - * the pads were not linked together. - * - * MT safe. - */ - public bool unlink(Pad sinkpad) - { - return gst_pad_unlink(gstPad, (sinkpad is null) ? null : sinkpad.getPadStruct()) != 0; - } - - /** - * A helper function you can use that sets the FIXED_CAPS flag - * This way the default CAPS query will always return the negotiated caps - * or in case the pad is not negotiated, the padtemplate caps. - * - * The negotiated caps are the caps of the last CAPS event that passed on the - * pad. Use this function on a pad that, once it negotiated to a CAPS, cannot - * be renegotiated to something else. - */ - public void useFixedCaps() - { - gst_pad_use_fixed_caps(gstPad); - } - - /** - * Signals that a pad has been linked to the peer pad. - * - * Params: - * peer = the peer pad that has been connected - */ - gulong addOnLinked(void delegate(Pad, Pad) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "linked", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Signals that a pad has been unlinked from the peer pad. - * - * Params: - * peer = the peer pad that has been disconnected - */ - gulong addOnUnlinked(void delegate(Pad, Pad) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "unlinked", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Gets a string representing the given flow return. - * - * Params: - * ret = a #GstFlowReturn to get the name of. - * - * Returns: a static string with the name of the flow return. - */ - public static string flowGetName(GstFlowReturn ret) - { - return Str.toString(gst_flow_get_name(ret)); - } - - /** - * Get the unique quark for the given GstFlowReturn. - * - * Params: - * ret = a #GstFlowReturn to get the quark of. - * - * Returns: the quark associated with the flow return or 0 if an - * invalid return was specified. - */ - public static GQuark flowToQuark(GstFlowReturn ret) - { - return gst_flow_to_quark(ret); - } - - /** - * Return the name of a pad mode, for use in debug messages mostly. - * - * Params: - * mode = the pad mode - * - * Returns: short mnemonic for pad mode @mode - */ - public static string modeGetName(GstPadMode mode) - { - return Str.toString(gst_pad_mode_get_name(mode)); - } -} diff --git a/generated/gstreamer/gstreamer/PadProbeInfo.d b/generated/gstreamer/gstreamer/PadProbeInfo.d deleted file mode 100644 index 01262d5dd..000000000 --- a/generated/gstreamer/gstreamer/PadProbeInfo.d +++ /dev/null @@ -1,128 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.PadProbeInfo; - -private import gobject.ObjectG; -private import gstreamer.Buffer; -private import gstreamer.BufferList; -private import gstreamer.Event; -private import gstreamer.Query; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * Info passed in the #GstPadProbeCallback. - */ -public class PadProbeInfo -{ - /** the main Gtk struct */ - protected GstPadProbeInfo* gstPadProbeInfo; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstPadProbeInfo* getPadProbeInfoStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstPadProbeInfo; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstPadProbeInfo; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstPadProbeInfo* gstPadProbeInfo, bool ownedRef = false) - { - this.gstPadProbeInfo = gstPadProbeInfo; - this.ownedRef = ownedRef; - } - - - /** - * Returns: The #GstBuffer from the probe - */ - public Buffer getBuffer() - { - auto __p = gst_pad_probe_info_get_buffer(gstPadProbeInfo); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p); - } - - /** - * Returns: The #GstBufferList from the probe - */ - public BufferList getBufferList() - { - auto __p = gst_pad_probe_info_get_buffer_list(gstPadProbeInfo); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(BufferList)(cast(GstBufferList*) __p); - } - - /** - * Returns: The #GstEvent from the probe - */ - public Event getEvent() - { - auto __p = gst_pad_probe_info_get_event(gstPadProbeInfo); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Event)(cast(GstEvent*) __p); - } - - /** - * Returns: The #GstQuery from the probe - */ - public Query getQuery() - { - auto __p = gst_pad_probe_info_get_query(gstPadProbeInfo); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Query)(cast(GstQuery*) __p); - } -} diff --git a/generated/gstreamer/gstreamer/PadTemplate.d b/generated/gstreamer/gstreamer/PadTemplate.d deleted file mode 100644 index 202f82483..000000000 --- a/generated/gstreamer/gstreamer/PadTemplate.d +++ /dev/null @@ -1,292 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.PadTemplate; - -private import glib.ConstructionException; -private import glib.Str; -private import gobject.ObjectG; -private import gobject.Signals; -private import gstreamer.Caps; -private import gstreamer.ObjectGst; -private import gstreamer.Pad; -private import gstreamer.StaticPadTemplate; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import std.algorithm; - - -/** - * Padtemplates describe the possible media types a pad or an elementfactory can - * handle. This allows for both inspection of handled types before loading the - * element plugin as well as identifying pads on elements that are not yet - * created (request or sometimes pads). - * - * Pad and PadTemplates have #GstCaps attached to it to describe the media type - * they are capable of dealing with. gst_pad_template_get_caps() or - * GST_PAD_TEMPLATE_CAPS() are used to get the caps of a padtemplate. It's not - * possible to modify the caps of a padtemplate after creation. - * - * PadTemplates have a #GstPadPresence property which identifies the lifetime - * of the pad and that can be retrieved with GST_PAD_TEMPLATE_PRESENCE(). Also - * the direction of the pad can be retrieved from the #GstPadTemplate with - * GST_PAD_TEMPLATE_DIRECTION(). - * - * The GST_PAD_TEMPLATE_NAME_TEMPLATE () is important for GST_PAD_REQUEST pads - * because it has to be used as the name in the gst_element_get_request_pad() - * call to instantiate a pad from this template. - * - * Padtemplates can be created with gst_pad_template_new() or with - * gst_static_pad_template_get (), which creates a #GstPadTemplate from a - * #GstStaticPadTemplate that can be filled with the - * convenient GST_STATIC_PAD_TEMPLATE() macro. - * - * A padtemplate can be used to create a pad (see gst_pad_new_from_template() - * or gst_pad_new_from_static_template ()) or to add to an element class - * (see gst_element_class_add_static_pad_template ()). - * - * The following code example shows the code to create a pad from a padtemplate. - * |[ - * GstStaticPadTemplate my_template = - * GST_STATIC_PAD_TEMPLATE ( - * "sink", // the name of the pad - * GST_PAD_SINK, // the direction of the pad - * GST_PAD_ALWAYS, // when this pad will be present - * GST_STATIC_CAPS ( // the capabilities of the padtemplate - * "audio/x-raw, " - * "channels = (int) [ 1, 6 ]" - * ) - * ); - * void - * my_method (void) - * { - * GstPad *pad; - * pad = gst_pad_new_from_static_template (&my_template, "sink"); - * ... - * } - * ]| - * - * The following example shows you how to add the padtemplate to an - * element class, this is usually done in the class_init of the class: - * |[ - * static void - * my_element_class_init (GstMyElementClass *klass) - * { - * GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass); - * - * gst_element_class_add_static_pad_template (gstelement_class, &my_template); - * } - * ]| - */ -public class PadTemplate : ObjectGst -{ - /** the main Gtk struct */ - protected GstPadTemplate* gstPadTemplate; - - /** Get the main Gtk struct */ - public GstPadTemplate* getPadTemplateStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstPadTemplate; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstPadTemplate; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstPadTemplate* gstPadTemplate, bool ownedRef = false) - { - this.gstPadTemplate = gstPadTemplate; - super(cast(GstObject*)gstPadTemplate, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_pad_template_get_type(); - } - - /** - * Creates a new pad template with a name according to the given template - * and with the given arguments. - * - * Params: - * nameTemplate = the name template. - * direction = the #GstPadDirection of the template. - * presence = the #GstPadPresence of the pad. - * caps = a #GstCaps set for the template. - * - * Returns: a new #GstPadTemplate. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string nameTemplate, GstPadDirection direction, GstPadPresence presence, Caps caps) - { - auto __p = gst_pad_template_new(Str.toStringz(nameTemplate), direction, presence, (caps is null) ? null : caps.getCapsStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstPadTemplate*) __p); - } - - /** - * Converts a #GstStaticPadTemplate into a #GstPadTemplate with a type. - * - * Params: - * padTemplate = the static pad template - * padType = The #GType of the pad to create - * - * Returns: a new #GstPadTemplate. - * - * Since: 1.14 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(StaticPadTemplate padTemplate, GType padType) - { - auto __p = gst_pad_template_new_from_static_pad_template_with_gtype((padTemplate is null) ? null : padTemplate.getStaticPadTemplateStruct(), padType); - - if(__p is null) - { - throw new ConstructionException("null returned by new_from_static_pad_template_with_gtype"); - } - - this(cast(GstPadTemplate*) __p); - } - - /** - * Creates a new pad template with a name according to the given template - * and with the given arguments. - * - * Params: - * nameTemplate = the name template. - * direction = the #GstPadDirection of the template. - * presence = the #GstPadPresence of the pad. - * caps = a #GstCaps set for the template. - * padType = The #GType of the pad to create - * - * Returns: a new #GstPadTemplate. - * - * Since: 1.14 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string nameTemplate, GstPadDirection direction, GstPadPresence presence, Caps caps, GType padType) - { - auto __p = gst_pad_template_new_with_gtype(Str.toStringz(nameTemplate), direction, presence, (caps is null) ? null : caps.getCapsStruct(), padType); - - if(__p is null) - { - throw new ConstructionException("null returned by new_with_gtype"); - } - - this(cast(GstPadTemplate*) __p); - } - - /** - * Gets the capabilities of the pad template. - * - * Returns: the #GstCaps of the pad template. - * Unref after usage. - */ - public Caps getCaps() - { - auto __p = gst_pad_template_get_caps(gstPadTemplate); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * See gst_pad_template_set_documentation_caps(). - * - * Returns: The caps to document. For convenience, this will return - * gst_pad_template_get_caps() when no documentation caps were set. - * - * Since: 1.18 - */ - public Caps getDocumentationCaps() - { - auto __p = gst_pad_template_get_documentation_caps(gstPadTemplate); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Emit the pad-created signal for this template when created by this pad. - * - * Params: - * pad = the #GstPad that created it - */ - public void padCreated(Pad pad) - { - gst_pad_template_pad_created(gstPadTemplate, (pad is null) ? null : pad.getPadStruct()); - } - - /** - * Certain elements will dynamically construct the caps of their - * pad templates. In order not to let environment-specific information - * into the documentation, element authors should use this method to - * expose "stable" caps to the reader. - * - * Params: - * caps = the documented capabilities - * - * Since: 1.18 - */ - public void setDocumentationCaps(Caps caps) - { - gst_pad_template_set_documentation_caps(gstPadTemplate, (caps is null) ? null : caps.getCapsStruct()); - } - - /** - * This signal is fired when an element creates a pad from this template. - * - * Params: - * pad = the pad that was created. - */ - gulong addOnPadCreated(void delegate(Pad, PadTemplate) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "pad-created", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gstreamer/ParamSpecFraction.d b/generated/gstreamer/gstreamer/ParamSpecFraction.d deleted file mode 100644 index 829ba2c7a..000000000 --- a/generated/gstreamer/gstreamer/ParamSpecFraction.d +++ /dev/null @@ -1,96 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ParamSpecFraction; - -private import glib.ConstructionException; -private import glib.Str; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * A GParamSpec derived structure that contains the meta data for fractional - * properties. - */ -public class ParamSpecFraction -{ - /** the main Gtk struct */ - protected GstParamSpecFraction* gstParamSpecFraction; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstParamSpecFraction* getParamSpecFractionStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstParamSpecFraction; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstParamSpecFraction; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstParamSpecFraction* gstParamSpecFraction, bool ownedRef = false) - { - this.gstParamSpecFraction = gstParamSpecFraction; - this.ownedRef = ownedRef; - } - - /** - * This function creates a fraction GParamSpec for use by objects/elements - * that want to expose properties of fraction type. This function is typically - * used in connection with g_object_class_install_property() in a GObjects's - * instance_init function. - * Params: - * name = canonical name of the property specified - * nick = nick name for the property specified - * blurb = description of the property specified - * minNum = minimum value (fraction numerator) - * minDenom = minimum value (fraction denominator) - * maxNum = maximum value (fraction numerator) - * maxDenom = maximum value (fraction denominator) - * defaultNum = default value (fraction numerator) - * defaultDenom = default value (fraction denominator) - * flags = flags for the property specified - * Returns: a newly created parameter specification. [transfer full] - */ - public this(string name, string nick, string blurb, int minNum, int minDenom, int maxNum, int maxDenom, int defaultNum, int defaultDenom, GParamFlags flags) - { - auto p = gst_param_spec_fraction(Str.toStringz(name), Str.toStringz(nick), Str.toStringz(blurb), minNum, minDenom, maxNum, maxDenom, defaultNum, defaultDenom, flags); - if(p is null) - { - throw new ConstructionException("null returned by gst_param_spec_fraction"); - } - this(cast(GstParamSpecFraction*) p); - } - - /** - */ -} diff --git a/generated/gstreamer/gstreamer/ParentBufferMeta.d b/generated/gstreamer/gstreamer/ParentBufferMeta.d deleted file mode 100644 index 711ac209d..000000000 --- a/generated/gstreamer/gstreamer/ParentBufferMeta.d +++ /dev/null @@ -1,63 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ParentBufferMeta; - -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * The #GstParentBufferMeta is a #GstMeta which can be attached to a #GstBuffer - * to hold a reference to another buffer that is only released when the child - * #GstBuffer is released. - * - * Typically, #GstParentBufferMeta is used when the child buffer is directly - * using the #GstMemory of the parent buffer, and wants to prevent the parent - * buffer from being returned to a buffer pool until the #GstMemory is available - * for re-use. - * - * Since: 1.6 - */ -public struct ParentBufferMeta -{ - - /** - * Get the global #GstMetaInfo describing the #GstParentBufferMeta meta. - * - * Returns: The #GstMetaInfo - * - * Since: 1.6 - */ - public static GstMetaInfo* getInfo() - { - return gst_parent_buffer_meta_get_info(); - } - - /** */ - public static GType getType() - { - return gst_parent_buffer_meta_api_get_type(); - } -} diff --git a/generated/gstreamer/gstreamer/Parse.d b/generated/gstreamer/gstreamer/Parse.d deleted file mode 100644 index 4bd5bc35f..000000000 --- a/generated/gstreamer/gstreamer/Parse.d +++ /dev/null @@ -1,286 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Parse; - -private import glib.ErrorG; -private import glib.GException; -private import glib.Str; -private import gobject.ObjectG; -private import gstreamer.Bin; -private import gstreamer.Element; -private import gstreamer.ParseContext; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** */ -public struct Parse -{ - - /** - * This is a convenience wrapper around gst_parse_launch() to create a - * #GstBin from a gst-launch-style pipeline description. See - * gst_parse_launch() and the gst-launch man page for details about the - * syntax. Ghost pads on the bin for unlinked source or sink pads - * within the bin can automatically be created (but only a maximum of - * one ghost pad for each direction will be created; if you expect - * multiple unlinked source pads or multiple unlinked sink pads - * and want them all ghosted, you will have to create the ghost pads - * yourself). - * - * Params: - * binDescription = command line describing the bin - * ghostUnlinkedPads = whether to automatically create ghost pads - * for unlinked source or sink pads within the bin - * - * Returns: a - * newly-created bin, or %NULL if an error occurred. - * - * Throws: GException on failure. - */ - public static Bin binFromDescription(string binDescription, bool ghostUnlinkedPads) - { - GError* err = null; - - auto __p = gst_parse_bin_from_description(Str.toStringz(binDescription), ghostUnlinkedPads, &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Bin)(cast(GstBin*) __p); - } - - /** - * This is a convenience wrapper around gst_parse_launch() to create a - * #GstBin from a gst-launch-style pipeline description. See - * gst_parse_launch() and the gst-launch man page for details about the - * syntax. Ghost pads on the bin for unlinked source or sink pads - * within the bin can automatically be created (but only a maximum of - * one ghost pad for each direction will be created; if you expect - * multiple unlinked source pads or multiple unlinked sink pads - * and want them all ghosted, you will have to create the ghost pads - * yourself). - * - * Params: - * binDescription = command line describing the bin - * ghostUnlinkedPads = whether to automatically create ghost pads - * for unlinked source or sink pads within the bin - * context = a parse context allocated with - * gst_parse_context_new(), or %NULL - * flags = parsing options, or #GST_PARSE_FLAG_NONE - * - * Returns: a newly-created - * element, which is guaranteed to be a bin unless - * #GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS was passed, or %NULL if an error - * occurred. - * - * Throws: GException on failure. - */ - public static Element binFromDescriptionFull(string binDescription, bool ghostUnlinkedPads, ParseContext context, GstParseFlags flags) - { - GError* err = null; - - auto __p = gst_parse_bin_from_description_full(Str.toStringz(binDescription), ghostUnlinkedPads, (context is null) ? null : context.getParseContextStruct(), flags, &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Element)(cast(GstElement*) __p); - } - - /** - * Get the error quark used by the parsing subsystem. - * - * Returns: the quark of the parse errors. - */ - public static GQuark errorQuark() - { - return gst_parse_error_quark(); - } - - /** - * Create a new pipeline based on command line syntax. - * Please note that you might get a return value that is not %NULL even though - * the @error is set. In this case there was a recoverable parsing error and you - * can try to play the pipeline. - * - * To create a sub-pipeline (bin) for embedding into an existing pipeline - * use gst_parse_bin_from_description(). - * - * Params: - * pipelineDescription = the command line describing the pipeline - * - * Returns: a new element on success, %NULL on - * failure. If more than one toplevel element is specified by the - * @pipeline_description, all elements are put into a #GstPipeline, which - * than is returned. - * - * Throws: GException on failure. - */ - public static Element launch(string pipelineDescription) - { - GError* err = null; - - auto __p = gst_parse_launch(Str.toStringz(pipelineDescription), &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Element)(cast(GstElement*) __p); - } - - /** - * Create a new pipeline based on command line syntax. - * Please note that you might get a return value that is not %NULL even though - * the @error is set. In this case there was a recoverable parsing error and you - * can try to play the pipeline. - * - * To create a sub-pipeline (bin) for embedding into an existing pipeline - * use gst_parse_bin_from_description_full(). - * - * Params: - * pipelineDescription = the command line describing the pipeline - * context = a parse context allocated with - * gst_parse_context_new(), or %NULL - * flags = parsing options, or #GST_PARSE_FLAG_NONE - * - * Returns: a new element on success, %NULL on - * failure. If more than one toplevel element is specified by the - * @pipeline_description, all elements are put into a #GstPipeline, which - * then is returned (unless the GST_PARSE_FLAG_PLACE_IN_BIN flag is set, in - * which case they are put in a #GstBin instead). - * - * Throws: GException on failure. - */ - public static Element launchFull(string pipelineDescription, ParseContext context, GstParseFlags flags) - { - GError* err = null; - - auto __p = gst_parse_launch_full(Str.toStringz(pipelineDescription), (context is null) ? null : context.getParseContextStruct(), flags, &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Element)(cast(GstElement*) __p); - } - - /** - * Create a new element based on command line syntax. - * @error will contain an error message if an erroneous pipeline is specified. - * An error does not mean that the pipeline could not be constructed. - * - * Params: - * argv = null-terminated array of arguments - * - * Returns: a new element on success and %NULL - * on failure. - * - * Throws: GException on failure. - */ - public static Element launchv(string[] argv) - { - GError* err = null; - - auto __p = gst_parse_launchv(Str.toStringzArray(argv), &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Element)(cast(GstElement*) __p); - } - - /** - * Create a new element based on command line syntax. - * @error will contain an error message if an erroneous pipeline is specified. - * An error does not mean that the pipeline could not be constructed. - * - * Params: - * argv = null-terminated array of arguments - * context = a parse context allocated with - * gst_parse_context_new(), or %NULL - * flags = parsing options, or #GST_PARSE_FLAG_NONE - * - * Returns: a new element on success; on - * failure, either %NULL or a partially-constructed bin or element will be - * returned and @error will be set (unless you passed - * #GST_PARSE_FLAG_FATAL_ERRORS in @flags, then %NULL will always be returned - * on failure) - * - * Throws: GException on failure. - */ - public static Element launchvFull(string[] argv, ParseContext context, GstParseFlags flags) - { - GError* err = null; - - auto __p = gst_parse_launchv_full(Str.toStringzArray(argv), (context is null) ? null : context.getParseContextStruct(), flags, &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Element)(cast(GstElement*) __p); - } -} diff --git a/generated/gstreamer/gstreamer/ParseContext.d b/generated/gstreamer/gstreamer/ParseContext.d deleted file mode 100644 index 96c043b96..000000000 --- a/generated/gstreamer/gstreamer/ParseContext.d +++ /dev/null @@ -1,148 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ParseContext; - -private import glib.ConstructionException; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import gtkd.Loader; - - -/** - * Opaque structure. - */ -public class ParseContext -{ - /** the main Gtk struct */ - protected GstParseContext* gstParseContext; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstParseContext* getParseContextStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstParseContext; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstParseContext; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstParseContext* gstParseContext, bool ownedRef = false) - { - this.gstParseContext = gstParseContext; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTREAMER) && ownedRef ) - gst_parse_context_free(gstParseContext); - } - - - /** */ - public static GType getType() - { - return gst_parse_context_get_type(); - } - - /** - * Allocates a parse context for use with gst_parse_launch_full() or - * gst_parse_launchv_full(). - * - * Free-function: gst_parse_context_free - * - * Returns: a newly-allocated parse context. Free - * with gst_parse_context_free() when no longer needed. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_parse_context_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstParseContext*) __p); - } - - /** - * Copies the @context. - * - * Returns: A copied #GstParseContext - * - * Since: 1.12.1 - */ - public ParseContext copy() - { - auto __p = gst_parse_context_copy(gstParseContext); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(ParseContext)(cast(GstParseContext*) __p, true); - } - - /** - * Frees a parse context previously allocated with gst_parse_context_new(). - */ - public void free() - { - gst_parse_context_free(gstParseContext); - ownedRef = false; - } - - /** - * Retrieve missing elements from a previous run of gst_parse_launch_full() - * or gst_parse_launchv_full(). Will only return results if an error code - * of %GST_PARSE_ERROR_NO_SUCH_ELEMENT was returned. - * - * Returns: a - * %NULL-terminated array of element factory name strings of missing - * elements. Free with g_strfreev() when no longer needed. - */ - public string[] getMissingElements() - { - auto retStr = gst_parse_context_get_missing_elements(gstParseContext); - - scope(exit) Str.freeStringArray(retStr); - return Str.toStringArray(retStr); - } -} diff --git a/generated/gstreamer/gstreamer/Pipeline.d b/generated/gstreamer/gstreamer/Pipeline.d deleted file mode 100644 index f6e1155ab..000000000 --- a/generated/gstreamer/gstreamer/Pipeline.d +++ /dev/null @@ -1,360 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Pipeline; - -private import glib.ConstructionException; -private import glib.Str; -private import gobject.ObjectG; -private import gstreamer.Bin; -private import gstreamer.Bus; -private import gstreamer.Clock; -private import gstreamer.Element; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * A #GstPipeline is a special #GstBin used as the toplevel container for - * the filter graph. The #GstPipeline will manage the selection and - * distribution of a global #GstClock as well as provide a #GstBus to the - * application. - * - * gst_pipeline_new() is used to create a pipeline. when you are done with - * the pipeline, use gst_object_unref() to free its resources including all - * added #GstElement objects (if not otherwise referenced). - * - * Elements are added and removed from the pipeline using the #GstBin - * methods like gst_bin_add() and gst_bin_remove() (see #GstBin). - * - * Before changing the state of the #GstPipeline (see #GstElement) a #GstBus - * can be retrieved with gst_pipeline_get_bus(). This bus can then be - * used to receive #GstMessage from the elements in the pipeline. - * - * By default, a #GstPipeline will automatically flush the pending #GstBus - * messages when going to the NULL state to ensure that no circular - * references exist when no messages are read from the #GstBus. This - * behaviour can be changed with gst_pipeline_set_auto_flush_bus(). - * - * When the #GstPipeline performs the PAUSED to PLAYING state change it will - * select a clock for the elements. The clock selection algorithm will by - * default select a clock provided by an element that is most upstream - * (closest to the source). For live pipelines (ones that return - * #GST_STATE_CHANGE_NO_PREROLL from the gst_element_set_state() call) this - * will select the clock provided by the live source. For normal pipelines - * this will select a clock provided by the sinks (most likely the audio - * sink). If no element provides a clock, a default #GstSystemClock is used. - * - * The clock selection can be controlled with the gst_pipeline_use_clock() - * method, which will enforce a given clock on the pipeline. With - * gst_pipeline_auto_clock() the default clock selection algorithm can be - * restored. - * - * A #GstPipeline maintains a running time for the elements. The running - * time is defined as the difference between the current clock time and - * the base time. When the pipeline goes to READY or a flushing seek is - * performed on it, the running time is reset to 0. When the pipeline is - * set from PLAYING to PAUSED, the current clock time is sampled and used to - * configure the base time for the elements when the pipeline is set - * to PLAYING again. The effect is that the running time (as the difference - * between the clock time and the base time) will count how much time was spent - * in the PLAYING state. This default behaviour can be changed with the - * gst_element_set_start_time() method. - */ -public class Pipeline : Bin -{ - /** the main Gtk struct */ - protected GstPipeline* gstPipeline; - - /** Get the main Gtk struct */ - public GstPipeline* getPipelineStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstPipeline; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstPipeline; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstPipeline* gstPipeline, bool ownedRef = false) - { - this.gstPipeline = gstPipeline; - super(cast(GstBin*)gstPipeline, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_pipeline_get_type(); - } - - /** - * Create a new pipeline with the given name. - * - * Params: - * name = name of new pipeline - * - * Returns: newly created GstPipeline - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string name) - { - auto __p = gst_pipeline_new(Str.toStringz(name)); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstPipeline*) __p); - } - - /** - * Let @pipeline select a clock automatically. This is the default - * behaviour. - * - * Use this function if you previous forced a fixed clock with - * gst_pipeline_use_clock() and want to restore the default - * pipeline clock selection algorithm. - * - * MT safe. - */ - public void autoClock() - { - gst_pipeline_auto_clock(gstPipeline); - } - - /** - * Check if @pipeline will automatically flush messages when going to - * the NULL state. - * - * Returns: whether the pipeline will automatically flush its bus when - * going from READY to NULL state or not. - * - * MT safe. - */ - public bool getAutoFlushBus() - { - return gst_pipeline_get_auto_flush_bus(gstPipeline) != 0; - } - - /** - * Gets the #GstBus of @pipeline. The bus allows applications to receive - * #GstMessage packets. - * - * Returns: a #GstBus, unref after usage. - * - * MT safe. - */ - public override Bus getBus() - { - auto __p = gst_pipeline_get_bus(gstPipeline); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Bus)(cast(GstBus*) __p, true); - } - - /** - * Gets the current clock used by @pipeline. Users of object - * oriented languages should use gst_pipeline_get_pipeline_clock() - * to avoid confusion with gst_element_get_clock() which has a different behavior. - * - * Unlike gst_element_get_clock(), this function will always return a - * clock, even if the pipeline is not in the PLAYING state. - * - * Returns: a #GstClock, unref after usage. - */ - public override Clock getClock() - { - auto __p = gst_pipeline_get_clock(gstPipeline); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Clock)(cast(GstClock*) __p, true); - } - - /** - * Get the configured delay (see gst_pipeline_set_delay()). - * - * Returns: The configured delay. - * - * MT safe. - */ - public GstClockTime getDelay() - { - return gst_pipeline_get_delay(gstPipeline); - } - - /** - * Gets the latency that should be configured on the pipeline. See - * gst_pipeline_set_latency(). - * - * Returns: Latency to configure on the pipeline or GST_CLOCK_TIME_NONE - * - * Since: 1.6 - */ - public GstClockTime getLatency() - { - return gst_pipeline_get_latency(gstPipeline); - } - - /** - * Gets the current clock used by @pipeline. - * - * Unlike gst_element_get_clock(), this function will always return a - * clock, even if the pipeline is not in the PLAYING state. - * - * Returns: a #GstClock, unref after usage. - * - * Since: 1.6 - */ - public Clock getPipelineClock() - { - auto __p = gst_pipeline_get_pipeline_clock(gstPipeline); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Clock)(cast(GstClock*) __p, true); - } - - /** - * Usually, when a pipeline goes from READY to NULL state, it automatically - * flushes all pending messages on the bus, which is done for refcounting - * purposes, to break circular references. - * - * This means that applications that update state using (async) bus messages - * (e.g. do certain things when a pipeline goes from PAUSED to READY) might - * not get to see messages when the pipeline is shut down, because they might - * be flushed before they can be dispatched in the main thread. This behaviour - * can be disabled using this function. - * - * It is important that all messages on the bus are handled when the - * automatic flushing is disabled else memory leaks will be introduced. - * - * MT safe. - * - * Params: - * autoFlush = whether or not to automatically flush the bus when - * the pipeline goes from READY to NULL state - */ - public void setAutoFlushBus(bool autoFlush) - { - gst_pipeline_set_auto_flush_bus(gstPipeline, autoFlush); - } - - /** - * Set the clock for @pipeline. The clock will be distributed - * to all the elements managed by the pipeline. - * - * Params: - * clock = the clock to set - * - * Returns: %TRUE if the clock could be set on the pipeline. %FALSE if - * some element did not accept the clock. - * - * MT safe. - */ - public override bool setClock(Clock clock) - { - return gst_pipeline_set_clock(gstPipeline, (clock is null) ? null : clock.getClockStruct()) != 0; - } - - /** - * Set the expected delay needed for all elements to perform the - * PAUSED to PLAYING state change. @delay will be added to the - * base time of the elements so that they wait an additional @delay - * amount of time before starting to process buffers and cannot be - * #GST_CLOCK_TIME_NONE. - * - * This option is used for tuning purposes and should normally not be - * used. - * - * MT safe. - * - * Params: - * delay = the delay - */ - public void setDelay(GstClockTime delay) - { - gst_pipeline_set_delay(gstPipeline, delay); - } - - /** - * Sets the latency that should be configured on the pipeline. Setting - * GST_CLOCK_TIME_NONE will restore the default behaviour of using the minimum - * latency from the LATENCY query. Setting this is usually not required and - * the pipeline will figure out an appropriate latency automatically. - * - * Setting a too low latency, especially lower than the minimum latency from - * the LATENCY query, will most likely cause the pipeline to fail. - * - * Params: - * latency = latency to configure - * - * Since: 1.6 - */ - public void setLatency(GstClockTime latency) - { - gst_pipeline_set_latency(gstPipeline, latency); - } - - /** - * Force @pipeline to use the given @clock. The pipeline will - * always use the given clock even if new clock providers are added - * to this pipeline. - * - * If @clock is %NULL all clocking will be disabled which will make - * the pipeline run as fast as possible. - * - * MT safe. - * - * Params: - * clock = the clock to use - */ - public void useClock(Clock clock) - { - gst_pipeline_use_clock(gstPipeline, (clock is null) ? null : clock.getClockStruct()); - } -} diff --git a/generated/gstreamer/gstreamer/Plugin.d b/generated/gstreamer/gstreamer/Plugin.d deleted file mode 100644 index 57d9313c4..000000000 --- a/generated/gstreamer/gstreamer/Plugin.d +++ /dev/null @@ -1,464 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Plugin; - -private import glib.ErrorG; -private import glib.GException; -private import glib.ListG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.ObjectGst; -private import gstreamer.Structure; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * GStreamer is extensible, so #GstElement instances can be loaded at runtime. - * A plugin system can provide one or more of the basic GStreamer - * #GstPluginFeature subclasses. - * - * A plugin should export a symbol `gst_plugin_desc` that is a - * struct of type #GstPluginDesc. - * the plugin loader will check the version of the core library the plugin was - * linked against and will create a new #GstPlugin. It will then call the - * #GstPluginInitFunc function that was provided in the - * `gst_plugin_desc`. - * - * Once you have a handle to a #GstPlugin (e.g. from the #GstRegistry), you - * can add any object that subclasses #GstPluginFeature. - * - * Usually plugins are always automatically loaded so you don't need to call - * gst_plugin_load() explicitly to bring it into memory. There are options to - * statically link plugins to an app or even use GStreamer without a plugin - * repository in which case gst_plugin_load() can be needed to bring the plugin - * into memory. - */ -public class Plugin : ObjectGst -{ - /** the main Gtk struct */ - protected GstPlugin* gstPlugin; - - /** Get the main Gtk struct */ - public GstPlugin* getPluginStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstPlugin; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstPlugin; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstPlugin* gstPlugin, bool ownedRef = false) - { - this.gstPlugin = gstPlugin; - super(cast(GstObject*)gstPlugin, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_plugin_get_type(); - } - - /** - * Unrefs each member of @list, then frees the list. - * - * Params: - * list = list of #GstPlugin - */ - public static void listFree(ListG list) - { - gst_plugin_list_free((list is null) ? null : list.getListGStruct()); - } - - /** - * Load the named plugin. Refs the plugin. - * - * Params: - * name = name of plugin to load - * - * Returns: a reference to a loaded plugin, or - * %NULL on error. - */ - public static Plugin loadByName(string name) - { - auto __p = gst_plugin_load_by_name(Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Plugin)(cast(GstPlugin*) __p, true); - } - - /** - * Loads the given plugin and refs it. Caller needs to unref after use. - * - * Params: - * filename = the plugin filename to load - * - * Returns: a reference to the existing loaded GstPlugin, a - * reference to the newly-loaded GstPlugin, or %NULL if an error occurred. - * - * Throws: GException on failure. - */ - public static Plugin loadFile(string filename) - { - GError* err = null; - - auto __p = gst_plugin_load_file(Str.toStringz(filename), &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Plugin)(cast(GstPlugin*) __p, true); - } - - /** - * Registers a static plugin, ie. a plugin which is private to an application - * or library and contained within the application or library (as opposed to - * being shipped as a separate module file). - * - * You must make sure that GStreamer has been initialised (with gst_init() or - * via gst_init_get_option_group()) before calling this function. - * - * Params: - * majorVersion = the major version number of the GStreamer core that the - * plugin was compiled for, you can just use GST_VERSION_MAJOR here - * minorVersion = the minor version number of the GStreamer core that the - * plugin was compiled for, you can just use GST_VERSION_MINOR here - * name = a unique name of the plugin (ideally prefixed with an application- or - * library-specific namespace prefix in order to avoid name conflicts in - * case a similar plugin with the same name ever gets added to GStreamer) - * description = description of the plugin - * initFunc = pointer to the init function of this plugin. - * version_ = version string of the plugin - * license = effective license of plugin. Must be one of the approved licenses - * (see #GstPluginDesc above) or the plugin will not be registered. - * source = source module plugin belongs to - * package_ = shipped package plugin belongs to - * origin = URL to provider of plugin - * - * Returns: %TRUE if the plugin was registered correctly, otherwise %FALSE. - */ - public static bool registerStatic(int majorVersion, int minorVersion, string name, string description, GstPluginInitFunc initFunc, string version_, string license, string source, string package_, string origin) - { - return gst_plugin_register_static(majorVersion, minorVersion, Str.toStringz(name), Str.toStringz(description), initFunc, Str.toStringz(version_), Str.toStringz(license), Str.toStringz(source), Str.toStringz(package_), Str.toStringz(origin)) != 0; - } - - /** - * Registers a static plugin, ie. a plugin which is private to an application - * or library and contained within the application or library (as opposed to - * being shipped as a separate module file) with a #GstPluginInitFullFunc - * which allows user data to be passed to the callback function (useful - * for bindings). - * - * You must make sure that GStreamer has been initialised (with gst_init() or - * via gst_init_get_option_group()) before calling this function. - * - * Params: - * majorVersion = the major version number of the GStreamer core that the - * plugin was compiled for, you can just use GST_VERSION_MAJOR here - * minorVersion = the minor version number of the GStreamer core that the - * plugin was compiled for, you can just use GST_VERSION_MINOR here - * name = a unique name of the plugin (ideally prefixed with an application- or - * library-specific namespace prefix in order to avoid name conflicts in - * case a similar plugin with the same name ever gets added to GStreamer) - * description = description of the plugin - * initFullFunc = pointer to the init function with user data - * of this plugin. - * version_ = version string of the plugin - * license = effective license of plugin. Must be one of the approved licenses - * (see #GstPluginDesc above) or the plugin will not be registered. - * source = source module plugin belongs to - * package_ = shipped package plugin belongs to - * origin = URL to provider of plugin - * userData = gpointer to user data - * - * Returns: %TRUE if the plugin was registered correctly, otherwise %FALSE. - */ - public static bool registerStaticFull(int majorVersion, int minorVersion, string name, string description, GstPluginInitFullFunc initFullFunc, string version_, string license, string source, string package_, string origin, void* userData) - { - return gst_plugin_register_static_full(majorVersion, minorVersion, Str.toStringz(name), Str.toStringz(description), initFullFunc, Str.toStringz(version_), Str.toStringz(license), Str.toStringz(source), Str.toStringz(package_), Str.toStringz(origin), userData) != 0; - } - - /** - * Make GStreamer aware of external dependencies which affect the feature - * set of this plugin (ie. the elements or typefinders associated with it). - * - * GStreamer will re-inspect plugins with external dependencies whenever any - * of the external dependencies change. This is useful for plugins which wrap - * other plugin systems, e.g. a plugin which wraps a plugin-based visualisation - * library and makes visualisations available as GStreamer elements, or a - * codec loader which exposes elements and/or caps dependent on what external - * codec libraries are currently installed. - * - * Params: - * envVars = %NULL-terminated array of environment variables affecting the - * feature set of the plugin (e.g. an environment variable containing - * paths where to look for additional modules/plugins of a library), - * or %NULL. Environment variable names may be followed by a path component - * which will be added to the content of the environment variable, e.g. - * "HOME/.mystuff/plugins". - * paths = %NULL-terminated array of directories/paths where dependent files - * may be, or %NULL. - * names = %NULL-terminated array of file names (or file name suffixes, - * depending on @flags) to be used in combination with the paths from - * @paths and/or the paths extracted from the environment variables in - * @env_vars, or %NULL. - * flags = optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE - */ - public void addDependency(string[] envVars, string[] paths, string[] names, GstPluginDependencyFlags flags) - { - gst_plugin_add_dependency(gstPlugin, Str.toStringzArray(envVars), Str.toStringzArray(paths), Str.toStringzArray(names), flags); - } - - /** - * Make GStreamer aware of external dependencies which affect the feature - * set of this plugin (ie. the elements or typefinders associated with it). - * - * GStreamer will re-inspect plugins with external dependencies whenever any - * of the external dependencies change. This is useful for plugins which wrap - * other plugin systems, e.g. a plugin which wraps a plugin-based visualisation - * library and makes visualisations available as GStreamer elements, or a - * codec loader which exposes elements and/or caps dependent on what external - * codec libraries are currently installed. - * - * Convenience wrapper function for gst_plugin_add_dependency() which - * takes simple strings as arguments instead of string arrays, with multiple - * arguments separated by predefined delimiters (see above). - * - * Params: - * envVars = one or more environment variables (separated by ':', ';' or ','), - * or %NULL. Environment variable names may be followed by a path component - * which will be added to the content of the environment variable, e.g. - * "HOME/.mystuff/plugins:MYSTUFF_PLUGINS_PATH" - * paths = one ore more directory paths (separated by ':' or ';' or ','), - * or %NULL. Example: "/usr/lib/mystuff/plugins" - * names = one or more file names or file name suffixes (separated by commas), - * or %NULL - * flags = optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE - */ - public void addDependencySimple(string envVars, string paths, string names, GstPluginDependencyFlags flags) - { - gst_plugin_add_dependency_simple(gstPlugin, Str.toStringz(envVars), Str.toStringz(paths), Str.toStringz(names), flags); - } - - /** - * Gets the plugin specific data cache. If it is %NULL there is no cached data - * stored. This is the case when the registry is getting rebuilt. - * - * Returns: The cached data as a - * #GstStructure or %NULL. - */ - public Structure getCacheData() - { - auto __p = gst_plugin_get_cache_data(gstPlugin); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p); - } - - /** - * Get the long descriptive name of the plugin - * - * Returns: the long name of the plugin - */ - public string getDescription() - { - return Str.toString(gst_plugin_get_description(gstPlugin)); - } - - /** - * get the filename of the plugin - * - * Returns: the filename of the plugin - */ - public string getFilename() - { - return Str.toString(gst_plugin_get_filename(gstPlugin)); - } - - /** - * get the license of the plugin - * - * Returns: the license of the plugin - */ - public string getLicense() - { - return Str.toString(gst_plugin_get_license(gstPlugin)); - } - - /** - * Get the short name of the plugin - * - * Returns: the name of the plugin - */ - public override string getName() - { - return Str.toString(gst_plugin_get_name(gstPlugin)); - } - - /** - * get the URL where the plugin comes from - * - * Returns: the origin of the plugin - */ - public string getOrigin() - { - return Str.toString(gst_plugin_get_origin(gstPlugin)); - } - - /** - * get the package the plugin belongs to. - * - * Returns: the package of the plugin - */ - public string getPackage() - { - return Str.toString(gst_plugin_get_package(gstPlugin)); - } - - /** - * Get the release date (and possibly time) in form of a string, if available. - * - * For normal GStreamer plugin releases this will usually just be a date in - * the form of "YYYY-MM-DD", while pre-releases and builds from git may contain - * a time component after the date as well, in which case the string will be - * formatted like "YYYY-MM-DDTHH:MMZ" (e.g. "2012-04-30T09:30Z"). - * - * There may be plugins that do not have a valid release date set on them. - * - * Returns: the date string of the plugin, or %NULL if not - * available. - */ - public string getReleaseDateString() - { - return Str.toString(gst_plugin_get_release_date_string(gstPlugin)); - } - - /** - * get the source module the plugin belongs to. - * - * Returns: the source of the plugin - */ - public string getSource() - { - return Str.toString(gst_plugin_get_source(gstPlugin)); - } - - /** - * get the version of the plugin - * - * Returns: the version of the plugin - */ - public string getVersion() - { - return Str.toString(gst_plugin_get_version(gstPlugin)); - } - - /** - * queries if the plugin is loaded into memory - * - * Returns: %TRUE is loaded, %FALSE otherwise - */ - public bool isLoaded() - { - return gst_plugin_is_loaded(gstPlugin) != 0; - } - - /** - * Loads @plugin. Note that the *return value* is the loaded plugin; @plugin is - * untouched. The normal use pattern of this function goes like this: - * - * |[ - * GstPlugin *loaded_plugin; - * loaded_plugin = gst_plugin_load (plugin); - * // presumably, we're no longer interested in the potentially-unloaded plugin - * gst_object_unref (plugin); - * plugin = loaded_plugin; - * ]| - * - * Returns: a reference to a loaded plugin, or - * %NULL on error. - */ - public Plugin load() - { - auto __p = gst_plugin_load(gstPlugin); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Plugin)(cast(GstPlugin*) __p, true); - } - - /** - * Adds plugin specific data to cache. Passes the ownership of the structure to - * the @plugin. - * - * The cache is flushed every time the registry is rebuilt. - * - * Params: - * cacheData = a structure containing the data to cache - */ - public void setCacheData(Structure cacheData) - { - gst_plugin_set_cache_data(gstPlugin, (cacheData is null) ? null : cacheData.getStructureStruct(true)); - } - - /** - * Get the error quark. - * - * Returns: The error quark used in GError messages - */ - public static GQuark pluginErrorQuark() - { - return gst_plugin_error_quark(); - } -} diff --git a/generated/gstreamer/gstreamer/PluginFeature.d b/generated/gstreamer/gstreamer/PluginFeature.d deleted file mode 100644 index 6d8b0e631..000000000 --- a/generated/gstreamer/gstreamer/PluginFeature.d +++ /dev/null @@ -1,240 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.PluginFeature; - -private import glib.ListG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.ObjectGst; -private import gstreamer.Plugin; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * This is a base class for anything that can be added to a #GstPlugin. - */ -public class PluginFeature : ObjectGst -{ - /** the main Gtk struct */ - protected GstPluginFeature* gstPluginFeature; - - /** Get the main Gtk struct */ - public GstPluginFeature* getPluginFeatureStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstPluginFeature; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstPluginFeature; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstPluginFeature* gstPluginFeature, bool ownedRef = false) - { - this.gstPluginFeature = gstPluginFeature; - super(cast(GstObject*)gstPluginFeature, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_plugin_feature_get_type(); - } - - /** - * Copies the list of features. Caller should call @gst_plugin_feature_list_free - * when done with the list. - * - * Params: - * list = list - * of #GstPluginFeature - * - * Returns: a copy of @list, - * with each feature's reference count incremented. - */ - public static ListG listCopy(ListG list) - { - auto __p = gst_plugin_feature_list_copy((list is null) ? null : list.getListGStruct()); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Debug the plugin feature names in @list. - * - * Params: - * list = a #GList of - * plugin features - */ - public static void listDebug(ListG list) - { - gst_plugin_feature_list_debug((list is null) ? null : list.getListGStruct()); - } - - /** - * Unrefs each member of @list, then frees the list. - * - * Params: - * list = list - * of #GstPluginFeature - */ - public static void listFree(ListG list) - { - gst_plugin_feature_list_free((list is null) ? null : list.getListGStruct()); - } - - /** - * Compares the two given #GstPluginFeature instances. This function can be - * used as a #GCompareFunc when sorting by rank and then by name. - * - * Params: - * p1 = a #GstPluginFeature - * p2 = a #GstPluginFeature - * - * Returns: negative value if the rank of p1 > the rank of p2 or the ranks are - * equal but the name of p1 comes before the name of p2; zero if the rank - * and names are equal; positive value if the rank of p1 < the rank of p2 or the - * ranks are equal but the name of p2 comes before the name of p1 - */ - public static int rankCompareFunc(void* p1, void* p2) - { - return gst_plugin_feature_rank_compare_func(p1, p2); - } - - /** - * Checks whether the given plugin feature is at least - * the required version - * - * Params: - * minMajor = minimum required major version - * minMinor = minimum required minor version - * minMicro = minimum required micro version - * - * Returns: %TRUE if the plugin feature has at least - * the required version, otherwise %FALSE. - */ - public bool checkVersion(uint minMajor, uint minMinor, uint minMicro) - { - return gst_plugin_feature_check_version(gstPluginFeature, minMajor, minMinor, minMicro) != 0; - } - - /** - * Get the plugin that provides this feature. - * - * Returns: the plugin that provides this - * feature, or %NULL. Unref with gst_object_unref() when no - * longer needed. - */ - public Plugin getPlugin() - { - auto __p = gst_plugin_feature_get_plugin(gstPluginFeature); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Plugin)(cast(GstPlugin*) __p, true); - } - - /** - * Get the name of the plugin that provides this feature. - * - * Returns: the name of the plugin that provides this - * feature, or %NULL if the feature is not associated with a - * plugin. - * - * Since: 1.2 - */ - public string getPluginName() - { - return Str.toString(gst_plugin_feature_get_plugin_name(gstPluginFeature)); - } - - /** - * Gets the rank of a plugin feature. - * - * Returns: The rank of the feature - */ - public uint getRank() - { - return gst_plugin_feature_get_rank(gstPluginFeature); - } - - /** - * Loads the plugin containing @feature if it's not already loaded. @feature is - * unaffected; use the return value instead. - * - * Normally this function is used like this: - * |[ - * GstPluginFeature *loaded_feature; - * - * loaded_feature = gst_plugin_feature_load (feature); - * // presumably, we're no longer interested in the potentially-unloaded feature - * gst_object_unref (feature); - * feature = loaded_feature; - * ]| - * - * Returns: a reference to the loaded - * feature, or %NULL on error - */ - public PluginFeature load() - { - auto __p = gst_plugin_feature_load(gstPluginFeature); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(PluginFeature)(cast(GstPluginFeature*) __p, true); - } - - /** - * Specifies a rank for a plugin feature, so that autoplugging uses - * the most appropriate feature. - * - * Params: - * rank = rank value - higher number means more priority rank - */ - public void setRank(uint rank) - { - gst_plugin_feature_set_rank(gstPluginFeature, rank); - } -} diff --git a/generated/gstreamer/gstreamer/Poll.d b/generated/gstreamer/gstreamer/Poll.d deleted file mode 100644 index 911fbdab2..000000000 --- a/generated/gstreamer/gstreamer/Poll.d +++ /dev/null @@ -1,442 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Poll; - -private import glib.ConstructionException; -private import gobject.ObjectG; -private import gstreamer.PollFD; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import gtkd.Loader; - - -/** - * A #GstPoll keeps track of file descriptors much like fd_set (used with - * select ()) or a struct pollfd array (used with poll ()). Once created with - * gst_poll_new(), the set can be used to wait for file descriptors to be - * readable and/or writable. It is possible to make this wait be controlled - * by specifying %TRUE for the @controllable flag when creating the set (or - * later calling gst_poll_set_controllable()). - * - * New file descriptors are added to the set using gst_poll_add_fd(), and - * removed using gst_poll_remove_fd(). Controlling which file descriptors - * should be waited for to become readable and/or writable are done using - * gst_poll_fd_ctl_read(), gst_poll_fd_ctl_write() and gst_poll_fd_ctl_pri(). - * - * Use gst_poll_wait() to wait for the file descriptors to actually become - * readable and/or writable, or to timeout if no file descriptor is available - * in time. The wait can be controlled by calling gst_poll_restart() and - * gst_poll_set_flushing(). - * - * Once the file descriptor set has been waited for, one can use - * gst_poll_fd_has_closed() to see if the file descriptor has been closed, - * gst_poll_fd_has_error() to see if it has generated an error, - * gst_poll_fd_can_read() to see if it is possible to read from the file - * descriptor, and gst_poll_fd_can_write() to see if it is possible to - * write to it. - */ -public class Poll -{ - /** the main Gtk struct */ - protected GstPoll* gstPoll; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstPoll* getPollStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstPoll; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstPoll; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstPoll* gstPoll, bool ownedRef = false) - { - this.gstPoll = gstPoll; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTREAMER) && ownedRef ) - gst_poll_free(gstPoll); - } - - - /** - * Add a file descriptor to the file descriptor set. - * - * Params: - * fd = a file descriptor. - * - * Returns: %TRUE if the file descriptor was successfully added to the set. - */ - public bool addFd(PollFD fd) - { - return gst_poll_add_fd(gstPoll, (fd is null) ? null : fd.getPollFDStruct()) != 0; - } - - /** - * Check if @fd in @set has data to be read. - * - * Params: - * fd = a file descriptor. - * - * Returns: %TRUE if the descriptor has data to be read. - */ - public bool fdCanRead(PollFD fd) - { - return gst_poll_fd_can_read(gstPoll, (fd is null) ? null : fd.getPollFDStruct()) != 0; - } - - /** - * Check if @fd in @set can be used for writing. - * - * Params: - * fd = a file descriptor. - * - * Returns: %TRUE if the descriptor can be used for writing. - */ - public bool fdCanWrite(PollFD fd) - { - return gst_poll_fd_can_write(gstPoll, (fd is null) ? null : fd.getPollFDStruct()) != 0; - } - - /** - * Control whether the descriptor @fd in @set will be monitored for - * exceptional conditions (POLLPRI). - * - * Not implemented on Windows (will just return %FALSE there). - * - * Params: - * fd = a file descriptor. - * active = a new status. - * - * Returns: %TRUE if the descriptor was successfully updated. - * - * Since: 1.16 - */ - public bool fdCtlPri(PollFD fd, bool active) - { - return gst_poll_fd_ctl_pri(gstPoll, (fd is null) ? null : fd.getPollFDStruct(), active) != 0; - } - - /** - * Control whether the descriptor @fd in @set will be monitored for - * readability. - * - * Params: - * fd = a file descriptor. - * active = a new status. - * - * Returns: %TRUE if the descriptor was successfully updated. - */ - public bool fdCtlRead(PollFD fd, bool active) - { - return gst_poll_fd_ctl_read(gstPoll, (fd is null) ? null : fd.getPollFDStruct(), active) != 0; - } - - /** - * Control whether the descriptor @fd in @set will be monitored for - * writability. - * - * Params: - * fd = a file descriptor. - * active = a new status. - * - * Returns: %TRUE if the descriptor was successfully updated. - */ - public bool fdCtlWrite(PollFD fd, bool active) - { - return gst_poll_fd_ctl_write(gstPoll, (fd is null) ? null : fd.getPollFDStruct(), active) != 0; - } - - /** - * Check if @fd in @set has closed the connection. - * - * Params: - * fd = a file descriptor. - * - * Returns: %TRUE if the connection was closed. - */ - public bool fdHasClosed(PollFD fd) - { - return gst_poll_fd_has_closed(gstPoll, (fd is null) ? null : fd.getPollFDStruct()) != 0; - } - - /** - * Check if @fd in @set has an error. - * - * Params: - * fd = a file descriptor. - * - * Returns: %TRUE if the descriptor has an error. - */ - public bool fdHasError(PollFD fd) - { - return gst_poll_fd_has_error(gstPoll, (fd is null) ? null : fd.getPollFDStruct()) != 0; - } - - /** - * Check if @fd in @set has an exceptional condition (POLLPRI). - * - * Not implemented on Windows (will just return %FALSE there). - * - * Params: - * fd = a file descriptor. - * - * Returns: %TRUE if the descriptor has an exceptional condition. - * - * Since: 1.16 - */ - public bool fdHasPri(PollFD fd) - { - return gst_poll_fd_has_pri(gstPoll, (fd is null) ? null : fd.getPollFDStruct()) != 0; - } - - /** - * Mark @fd as ignored so that the next call to gst_poll_wait() will yield - * the same result for @fd as last time. This function must be called if no - * operation (read/write/recv/send/etc.) will be performed on @fd before - * the next call to gst_poll_wait(). - * - * The reason why this is needed is because the underlying implementation - * might not allow querying the fd more than once between calls to one of - * the re-enabling operations. - * - * Params: - * fd = a file descriptor. - */ - public void fdIgnored(PollFD fd) - { - gst_poll_fd_ignored(gstPoll, (fd is null) ? null : fd.getPollFDStruct()); - } - - /** - * Free a file descriptor set. - */ - public void free() - { - gst_poll_free(gstPoll); - ownedRef = false; - } - - /** - * Get a GPollFD for the reading part of the control socket. This is useful when - * integrating with a GSource and GMainLoop. - * - * Params: - * fd = a #GPollFD - */ - public void getReadGpollfd(GPollFD* fd) - { - gst_poll_get_read_gpollfd(gstPoll, fd); - } - - /** - * Read a byte from the control socket of the controllable @set. - * - * This function only works for timer #GstPoll objects created with - * gst_poll_new_timer(). - * - * Returns: %TRUE on success. %FALSE when when there was no byte to read or - * reading the byte failed. If there was no byte to read, and only then, errno - * will contain EWOULDBLOCK or EAGAIN. For all other values of errno this always signals a - * critical error. - */ - public bool readControl() - { - return gst_poll_read_control(gstPoll) != 0; - } - - /** - * Remove a file descriptor from the file descriptor set. - * - * Params: - * fd = a file descriptor. - * - * Returns: %TRUE if the file descriptor was successfully removed from the set. - */ - public bool removeFd(PollFD fd) - { - return gst_poll_remove_fd(gstPoll, (fd is null) ? null : fd.getPollFDStruct()) != 0; - } - - /** - * Restart any gst_poll_wait() that is in progress. This function is typically - * used after adding or removing descriptors to @set. - * - * If @set is not controllable, then this call will have no effect. - * - * This function only works for non-timer #GstPoll objects created with - * gst_poll_new(). - */ - public void restart() - { - gst_poll_restart(gstPoll); - } - - /** - * When @controllable is %TRUE, this function ensures that future calls to - * gst_poll_wait() will be affected by gst_poll_restart() and - * gst_poll_set_flushing(). - * - * This function only works for non-timer #GstPoll objects created with - * gst_poll_new(). - * - * Params: - * controllable = new controllable state. - * - * Returns: %TRUE if the controllability of @set could be updated. - */ - public bool setControllable(bool controllable) - { - return gst_poll_set_controllable(gstPoll, controllable) != 0; - } - - /** - * When @flushing is %TRUE, this function ensures that current and future calls - * to gst_poll_wait() will return -1, with errno set to EBUSY. - * - * Unsetting the flushing state will restore normal operation of @set. - * - * This function only works for non-timer #GstPoll objects created with - * gst_poll_new(). - * - * Params: - * flushing = new flushing state. - */ - public void setFlushing(bool flushing) - { - gst_poll_set_flushing(gstPoll, flushing); - } - - /** - * Wait for activity on the file descriptors in @set. This function waits up to - * the specified @timeout. A timeout of #GST_CLOCK_TIME_NONE waits forever. - * - * For #GstPoll objects created with gst_poll_new(), this function can only be - * called from a single thread at a time. If called from multiple threads, - * -1 will be returned with errno set to EPERM. - * - * This is not true for timer #GstPoll objects created with - * gst_poll_new_timer(), where it is allowed to have multiple threads waiting - * simultaneously. - * - * Params: - * timeout = a timeout in nanoseconds. - * - * Returns: The number of #GstPollFD in @set that have activity or 0 when no - * activity was detected after @timeout. If an error occurs, -1 is returned - * and errno is set. - */ - public int wait(GstClockTime timeout) - { - return gst_poll_wait(gstPoll, timeout); - } - - /** - * Write a byte to the control socket of the controllable @set. - * This function is mostly useful for timer #GstPoll objects created with - * gst_poll_new_timer(). - * - * It will make any current and future gst_poll_wait() function return with - * 1, meaning the control socket is set. After an equal amount of calls to - * gst_poll_read_control() have been performed, calls to gst_poll_wait() will - * block again until their timeout expired. - * - * This function only works for timer #GstPoll objects created with - * gst_poll_new_timer(). - * - * Returns: %TRUE on success. %FALSE when when the byte could not be written. - * errno contains the detailed error code but will never be EAGAIN, EINTR or - * EWOULDBLOCK. %FALSE always signals a critical error. - */ - public bool writeControl() - { - return gst_poll_write_control(gstPoll) != 0; - } - - /** - * Create a new file descriptor set. If @controllable, it - * is possible to restart or flush a call to gst_poll_wait() with - * gst_poll_restart() and gst_poll_set_flushing() respectively. - * - * Free-function: gst_poll_free - * - * Params: - * controllable = whether it should be possible to control a wait. - * - * Returns: a new #GstPoll, or %NULL in - * case of an error. Free with gst_poll_free(). - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(bool controllable) - { - auto __p = gst_poll_new(controllable); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstPoll*) __p); - } - - /** - * Create a new poll object that can be used for scheduling cancellable - * timeouts. - * - * A timeout is performed with gst_poll_wait(). Multiple timeouts can be - * performed from different threads. - * - * Free-function: gst_poll_free - * - * Returns: a new #GstPoll, or %NULL in - * case of an error. Free with gst_poll_free(). - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_poll_new_timer(); - - if(__p is null) - { - throw new ConstructionException("null returned by new_timer"); - } - - this(cast(GstPoll*) __p); - } -} diff --git a/generated/gstreamer/gstreamer/PresetIF.d b/generated/gstreamer/gstreamer/PresetIF.d deleted file mode 100644 index 0c065ecce..000000000 --- a/generated/gstreamer/gstreamer/PresetIF.d +++ /dev/null @@ -1,193 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.PresetIF; - -private import glib.Str; -private import glib.c.functions; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * This interface offers methods to query and manipulate parameter preset sets. - * A preset is a bunch of property settings, together with meta data and a name. - * The name of a preset serves as key for subsequent method calls to manipulate - * single presets. - * All instances of one type will share the list of presets. The list is created - * on demand, if presets are not used, the list is not created. - * - * The interface comes with a default implementation that serves most plugins. - * Wrapper plugins will override most methods to implement support for the - * native preset format of those wrapped plugins. - * One method that is useful to be overridden is gst_preset_get_property_names(). - * With that one can control which properties are saved and in which order. - * When implementing support for read-only presets, one should set the vmethods - * for gst_preset_save_preset() and gst_preset_delete_preset() to %NULL. - * Applications can use gst_preset_is_editable() to check for that. - * - * The default implementation supports presets located in a system directory, - * application specific directory and in the users home directory. When getting - * a list of presets individual presets are read and overlaid in 1) system, - * 2) application and 3) user order. Whenever an earlier entry is newer, the - * later entries will be updated. Since 1.8 you can also provide extra paths - * where to find presets through the GST_PRESET_PATH environment variable. - * Presets found in those paths will be considered as "app presets". - */ -public interface PresetIF{ - /** Get the main Gtk struct */ - public GstPreset* getPresetStruct(bool transferOwnership = false); - - /** the main Gtk struct as a void* */ - protected void* getStruct(); - - - /** */ - public static GType getType() - { - return gst_preset_get_type(); - } - - /** - * Gets the directory for application specific presets if set by the - * application. - * - * Returns: the directory or %NULL, don't free or modify - * the string - */ - public static string getAppDir() - { - return Str.toString(gst_preset_get_app_dir()); - } - - /** - * Sets an extra directory as an absolute path that should be considered when - * looking for presets. Any presets in the application dir will shadow the - * system presets. - * - * Params: - * appDir = the application specific preset dir - * - * Returns: %TRUE for success, %FALSE if the dir already has been set - */ - public static bool setAppDir(string appDir) - { - return gst_preset_set_app_dir(Str.toStringz(appDir)) != 0; - } - - /** - * Delete the given preset. - * - * Params: - * name = preset name to remove - * - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name - */ - public bool deletePreset(string name); - - /** - * Gets the @value for an existing meta data @tag. Meta data @tag names can be - * something like e.g. "comment". Returned values need to be released when done. - * - * Params: - * name = preset name - * tag = meta data item name - * value = value - * - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name - * or no value for the given @tag - */ - public bool getMeta(string name, string tag, out string value); - - /** - * Get a copy of preset names as a %NULL terminated string array. - * - * Returns: list with names, use g_strfreev() after usage. - */ - public string[] getPresetNames(); - - /** - * Get a the names of the GObject properties that can be used for presets. - * - * Returns: an - * array of property names which should be freed with g_strfreev() after use. - */ - public string[] getPropertyNames(); - - /** - * Check if one can add new presets, change existing ones and remove presets. - * - * Returns: %TRUE if presets are editable or %FALSE if they are static - * - * Since: 1.6 - */ - public bool isEditable(); - - /** - * Load the given preset. - * - * Params: - * name = preset name to load - * - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name - */ - public bool loadPreset(string name); - - /** - * Renames a preset. If there is already a preset by the @new_name it will be - * overwritten. - * - * Params: - * oldName = current preset name - * newName = new preset name - * - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with @old_name - */ - public bool renamePreset(string oldName, string newName); - - /** - * Save the current object settings as a preset under the given name. If there - * is already a preset by this @name it will be overwritten. - * - * Params: - * name = preset name to save - * - * Returns: %TRUE for success, %FALSE - */ - public bool savePreset(string name); - - /** - * Sets a new @value for an existing meta data item or adds a new item. Meta - * data @tag names can be something like e.g. "comment". Supplying %NULL for the - * @value will unset an existing value. - * - * Params: - * name = preset name - * tag = meta data item name - * value = new value - * - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name - */ - public bool setMeta(string name, string tag, string value); -} diff --git a/generated/gstreamer/gstreamer/PresetT.d b/generated/gstreamer/gstreamer/PresetT.d deleted file mode 100644 index 7bf3a7156..000000000 --- a/generated/gstreamer/gstreamer/PresetT.d +++ /dev/null @@ -1,202 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.PresetT; - -public import glib.Str; -public import glib.c.functions; -public import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * This interface offers methods to query and manipulate parameter preset sets. - * A preset is a bunch of property settings, together with meta data and a name. - * The name of a preset serves as key for subsequent method calls to manipulate - * single presets. - * All instances of one type will share the list of presets. The list is created - * on demand, if presets are not used, the list is not created. - * - * The interface comes with a default implementation that serves most plugins. - * Wrapper plugins will override most methods to implement support for the - * native preset format of those wrapped plugins. - * One method that is useful to be overridden is gst_preset_get_property_names(). - * With that one can control which properties are saved and in which order. - * When implementing support for read-only presets, one should set the vmethods - * for gst_preset_save_preset() and gst_preset_delete_preset() to %NULL. - * Applications can use gst_preset_is_editable() to check for that. - * - * The default implementation supports presets located in a system directory, - * application specific directory and in the users home directory. When getting - * a list of presets individual presets are read and overlaid in 1) system, - * 2) application and 3) user order. Whenever an earlier entry is newer, the - * later entries will be updated. Since 1.8 you can also provide extra paths - * where to find presets through the GST_PRESET_PATH environment variable. - * Presets found in those paths will be considered as "app presets". - */ -public template PresetT(TStruct) -{ - /** Get the main Gtk struct */ - public GstPreset* getPresetStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return cast(GstPreset*)getStruct(); - } - - - /** - * Delete the given preset. - * - * Params: - * name = preset name to remove - * - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name - */ - public bool deletePreset(string name) - { - return gst_preset_delete_preset(getPresetStruct(), Str.toStringz(name)) != 0; - } - - /** - * Gets the @value for an existing meta data @tag. Meta data @tag names can be - * something like e.g. "comment". Returned values need to be released when done. - * - * Params: - * name = preset name - * tag = meta data item name - * value = value - * - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name - * or no value for the given @tag - */ - public bool getMeta(string name, string tag, out string value) - { - char* outvalue = null; - - auto __p = gst_preset_get_meta(getPresetStruct(), Str.toStringz(name), Str.toStringz(tag), &outvalue) != 0; - - value = Str.toString(outvalue); - - return __p; - } - - /** - * Get a copy of preset names as a %NULL terminated string array. - * - * Returns: list with names, use g_strfreev() after usage. - */ - public string[] getPresetNames() - { - auto retStr = gst_preset_get_preset_names(getPresetStruct()); - - scope(exit) Str.freeStringArray(retStr); - return Str.toStringArray(retStr); - } - - /** - * Get a the names of the GObject properties that can be used for presets. - * - * Returns: an - * array of property names which should be freed with g_strfreev() after use. - */ - public string[] getPropertyNames() - { - auto retStr = gst_preset_get_property_names(getPresetStruct()); - - scope(exit) Str.freeStringArray(retStr); - return Str.toStringArray(retStr); - } - - /** - * Check if one can add new presets, change existing ones and remove presets. - * - * Returns: %TRUE if presets are editable or %FALSE if they are static - * - * Since: 1.6 - */ - public bool isEditable() - { - return gst_preset_is_editable(getPresetStruct()) != 0; - } - - /** - * Load the given preset. - * - * Params: - * name = preset name to load - * - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name - */ - public bool loadPreset(string name) - { - return gst_preset_load_preset(getPresetStruct(), Str.toStringz(name)) != 0; - } - - /** - * Renames a preset. If there is already a preset by the @new_name it will be - * overwritten. - * - * Params: - * oldName = current preset name - * newName = new preset name - * - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with @old_name - */ - public bool renamePreset(string oldName, string newName) - { - return gst_preset_rename_preset(getPresetStruct(), Str.toStringz(oldName), Str.toStringz(newName)) != 0; - } - - /** - * Save the current object settings as a preset under the given name. If there - * is already a preset by this @name it will be overwritten. - * - * Params: - * name = preset name to save - * - * Returns: %TRUE for success, %FALSE - */ - public bool savePreset(string name) - { - return gst_preset_save_preset(getPresetStruct(), Str.toStringz(name)) != 0; - } - - /** - * Sets a new @value for an existing meta data item or adds a new item. Meta - * data @tag names can be something like e.g. "comment". Supplying %NULL for the - * @value will unset an existing value. - * - * Params: - * name = preset name - * tag = meta data item name - * value = new value - * - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name - */ - public bool setMeta(string name, string tag, string value) - { - return gst_preset_set_meta(getPresetStruct(), Str.toStringz(name), Str.toStringz(tag), Str.toStringz(value)) != 0; - } -} diff --git a/generated/gstreamer/gstreamer/Promise.d b/generated/gstreamer/gstreamer/Promise.d deleted file mode 100644 index 7f7987a40..000000000 --- a/generated/gstreamer/gstreamer/Promise.d +++ /dev/null @@ -1,249 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Promise; - -private import glib.ConstructionException; -private import gobject.ObjectG; -private import gstreamer.Structure; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * The #GstPromise object implements the container for values that may - * be available later. i.e. a Future or a Promise in - * . - * As with all Future/Promise-like functionality, there is the concept of the - * producer of the value and the consumer of the value. - * - * A #GstPromise is created with gst_promise_new() by the consumer and passed - * to the producer to avoid thread safety issues with the change callback. - * A #GstPromise can be replied to with a value (or an error) by the producer - * with gst_promise_reply(). The exact value returned is defined by the API - * contract of the producer and %NULL may be a valid reply. - * gst_promise_interrupt() is for the consumer to - * indicate to the producer that the value is not needed anymore and producing - * that value can stop. The @GST_PROMISE_RESULT_EXPIRED state set by a call - * to gst_promise_expire() indicates to the consumer that a value will never - * be produced and is intended to be called by a third party that implements - * some notion of message handling such as #GstBus. - * A callback can also be installed at #GstPromise creation for - * result changes with gst_promise_new_with_change_func(). - * The change callback can be used to chain #GstPromises's together as in the - * following example. - * |[ - * const GstStructure *reply; - * GstPromise *p; - * if (gst_promise_wait (promise) != GST_PROMISE_RESULT_REPLIED) - * return; // interrupted or expired value - * reply = gst_promise_get_reply (promise); - * if (error in reply) - * return; // propagate error - * p = gst_promise_new_with_change_func (another_promise_change_func, user_data, notify); - * pass p to promise-using API - * ]| - * - * Each #GstPromise starts out with a #GstPromiseResult of - * %GST_PROMISE_RESULT_PENDING and only ever transitions once - * into one of the other #GstPromiseResult's. - * - * In order to support multi-threaded code, gst_promise_reply(), - * gst_promise_interrupt() and gst_promise_expire() may all be from - * different threads with some restrictions and the final result of the promise - * is whichever call is made first. There are two restrictions on ordering: - * - * 1. That gst_promise_reply() and gst_promise_interrupt() cannot be called - * after gst_promise_expire() - * 2. That gst_promise_reply() and gst_promise_interrupt() - * cannot be called twice. - * - * The change function set with gst_promise_new_with_change_func() is - * called directly from either the gst_promise_reply(), - * gst_promise_interrupt() or gst_promise_expire() and can be called - * from an arbitrary thread. #GstPromise using APIs can restrict this to - * a single thread or a subset of threads but that is entirely up to the API - * that uses #GstPromise. - * - * Since: 1.14 - */ -public class Promise -{ - /** the main Gtk struct */ - protected GstPromise* gstPromise; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstPromise* getPromiseStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstPromise; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstPromise; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstPromise* gstPromise, bool ownedRef = false) - { - this.gstPromise = gstPromise; - this.ownedRef = ownedRef; - } - - - /** */ - public static GType getType() - { - return gst_promise_get_type(); - } - - /** - * Returns: a new #GstPromise - * - * Since: 1.14 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_promise_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstPromise*) __p); - } - - /** - * @func will be called exactly once when transitioning out of - * %GST_PROMISE_RESULT_PENDING into any of the other #GstPromiseResult - * states. - * - * Params: - * func = a #GstPromiseChangeFunc to call - * userData = argument to call @func with - * notify = notification function that @user_data is no longer needed - * - * Returns: a new #GstPromise - * - * Since: 1.14 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstPromiseChangeFunc func, void* userData, GDestroyNotify notify) - { - auto __p = gst_promise_new_with_change_func(func, userData, notify); - - if(__p is null) - { - throw new ConstructionException("null returned by new_with_change_func"); - } - - this(cast(GstPromise*) __p); - } - - /** - * Expire a @promise. This will wake up any waiters with - * %GST_PROMISE_RESULT_EXPIRED. Called by a message loop when the parent - * message is handled and/or destroyed (possibly unanswered). - * - * Since: 1.14 - */ - public void expire() - { - gst_promise_expire(gstPromise); - } - - /** - * Retrieve the reply set on @promise. @promise must be in - * %GST_PROMISE_RESULT_REPLIED and the returned structure is owned by @promise - * - * Returns: The reply set on @promise - * - * Since: 1.14 - */ - public Structure getReply() - { - auto __p = gst_promise_get_reply(gstPromise); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p); - } - - /** - * Interrupt waiting for a @promise. This will wake up any waiters with - * %GST_PROMISE_RESULT_INTERRUPTED. Called when the consumer does not want - * the value produced anymore. - * - * Since: 1.14 - */ - public void interrupt() - { - gst_promise_interrupt(gstPromise); - } - - /** - * Set a reply on @promise. This will wake up any waiters with - * %GST_PROMISE_RESULT_REPLIED. Called by the producer of the value to - * indicate success (or failure). - * - * If @promise has already been interrupted by the consumer, then this reply - * is not visible to the consumer. - * - * Params: - * s = a #GstStructure with the the reply contents - * - * Since: 1.14 - */ - public void reply(Structure s) - { - gst_promise_reply(gstPromise, (s is null) ? null : s.getStructureStruct(true)); - } - - /** - * Wait for @promise to move out of the %GST_PROMISE_RESULT_PENDING state. - * If @promise is not in %GST_PROMISE_RESULT_PENDING then it will return - * immediately with the current result. - * - * Returns: the result of the promise - * - * Since: 1.14 - */ - public GstPromiseResult wait() - { - return gst_promise_wait(gstPromise); - } -} diff --git a/generated/gstreamer/gstreamer/ProtectionMeta.d b/generated/gstreamer/gstreamer/ProtectionMeta.d deleted file mode 100644 index 2c095f9a0..000000000 --- a/generated/gstreamer/gstreamer/ProtectionMeta.d +++ /dev/null @@ -1,102 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ProtectionMeta; - -private import glib.Str; -private import glib.c.functions; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * Metadata type that holds information about a sample from a protection-protected - * track, including the information needed to decrypt it (if it is encrypted). - * - * Since: 1.6 - */ -public class ProtectionMeta -{ - /** the main Gtk struct */ - protected GstProtectionMeta* gstProtectionMeta; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstProtectionMeta* getProtectionMetaStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstProtectionMeta; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstProtectionMeta; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstProtectionMeta* gstProtectionMeta, bool ownedRef = false) - { - this.gstProtectionMeta = gstProtectionMeta; - this.ownedRef = ownedRef; - } - - - /** */ - public static GstMetaInfo* getInfo() - { - return gst_protection_meta_get_info(); - } - - /** */ - public static GType getType() - { - return gst_protection_meta_api_get_type(); - } - - /** - * Iterates the supplied list of UUIDs and checks the GstRegistry for - * an element that supports one of the supplied UUIDs. If more than one - * element matches, the system ID of the highest ranked element is selected. - * - * Params: - * systemIdentifiers = A null terminated array of strings - * that contains the UUID values of each protection system that is to be - * checked. - * - * Returns: One of the strings from - * @system_identifiers that indicates the highest ranked element that - * implements the protection system indicated by that system ID, or %NULL if no - * element has been found. - * - * Since: 1.6 - */ - public static string protectionSelectSystem(string[] systemIdentifiers) - { - return Str.toString(gst_protection_select_system(Str.toStringzArray(systemIdentifiers))); - } -} diff --git a/generated/gstreamer/gstreamer/ProxyPad.d b/generated/gstreamer/gstreamer/ProxyPad.d deleted file mode 100644 index af73f7c33..000000000 --- a/generated/gstreamer/gstreamer/ProxyPad.d +++ /dev/null @@ -1,171 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ProxyPad; - -private import gobject.ObjectG; -private import gstreamer.Buffer; -private import gstreamer.BufferList; -private import gstreamer.Iterator; -private import gstreamer.ObjectGst; -private import gstreamer.Pad; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** */ -public class ProxyPad : Pad -{ - /** the main Gtk struct */ - protected GstProxyPad* gstProxyPad; - - /** Get the main Gtk struct */ - public GstProxyPad* getProxyPadStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstProxyPad; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstProxyPad; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstProxyPad* gstProxyPad, bool ownedRef = false) - { - this.gstProxyPad = gstProxyPad; - super(cast(GstPad*)gstProxyPad, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_proxy_pad_get_type(); - } - - /** - * Invoke the default chain function of the proxy pad. - * - * Params: - * pad = a sink #GstPad, returns GST_FLOW_ERROR if not. - * parent = the parent of @pad or %NULL - * buffer = the #GstBuffer to send, return GST_FLOW_ERROR - * if not. - * - * Returns: a #GstFlowReturn from the pad. - */ - public static GstFlowReturn chainDefault(Pad pad, ObjectGst parent, Buffer buffer) - { - return gst_proxy_pad_chain_default((pad is null) ? null : pad.getPadStruct(), (parent is null) ? null : parent.getObjectGstStruct(), (buffer is null) ? null : buffer.getBufferStruct()); - } - - /** - * Invoke the default chain list function of the proxy pad. - * - * Params: - * pad = a sink #GstPad, returns GST_FLOW_ERROR if not. - * parent = the parent of @pad or %NULL - * list = the #GstBufferList to send, return GST_FLOW_ERROR - * if not. - * - * Returns: a #GstFlowReturn from the pad. - */ - public static GstFlowReturn chainListDefault(Pad pad, ObjectGst parent, BufferList list) - { - return gst_proxy_pad_chain_list_default((pad is null) ? null : pad.getPadStruct(), (parent is null) ? null : parent.getObjectGstStruct(), (list is null) ? null : list.getBufferListStruct()); - } - - /** - * Invoke the default getrange function of the proxy pad. - * - * Params: - * pad = a src #GstPad, returns #GST_FLOW_ERROR if not. - * parent = the parent of @pad - * offset = The start offset of the buffer - * size = The length of the buffer - * buffer = a pointer to hold the #GstBuffer, - * returns #GST_FLOW_ERROR if %NULL. - * - * Returns: a #GstFlowReturn from the pad. - */ - public static GstFlowReturn getrangeDefault(Pad pad, ObjectGst parent, ulong offset, uint size, out Buffer buffer) - { - GstBuffer* outbuffer = null; - - auto __p = gst_proxy_pad_getrange_default((pad is null) ? null : pad.getPadStruct(), (parent is null) ? null : parent.getObjectGstStruct(), offset, size, &outbuffer); - - buffer = ObjectG.getDObject!(Buffer)(outbuffer); - - return __p; - } - - /** - * Invoke the default iterate internal links function of the proxy pad. - * - * Params: - * pad = the #GstPad to get the internal links of. - * parent = the parent of @pad or %NULL - * - * Returns: a #GstIterator of #GstPad, or %NULL if @pad - * has no parent. Unref each returned pad with gst_object_unref(). - */ - public static Iterator iterateInternalLinksDefault(Pad pad, ObjectGst parent) - { - auto __p = gst_proxy_pad_iterate_internal_links_default((pad is null) ? null : pad.getPadStruct(), (parent is null) ? null : parent.getObjectGstStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Iterator)(cast(GstIterator*) __p, true); - } - - /** - * Get the internal pad of @pad. Unref target pad after usage. - * - * The internal pad of a #GstGhostPad is the internally used - * pad of opposite direction, which is used to link to the target. - * - * Returns: the target #GstProxyPad, can - * be %NULL. Unref target pad after usage. - */ - public ProxyPad getInternal() - { - auto __p = gst_proxy_pad_get_internal(gstProxyPad); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(ProxyPad)(cast(GstProxyPad*) __p, true); - } -} diff --git a/generated/gstreamer/gstreamer/Query.d b/generated/gstreamer/gstreamer/Query.d deleted file mode 100644 index 63b4479c2..000000000 --- a/generated/gstreamer/gstreamer/Query.d +++ /dev/null @@ -1,1535 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Query; - -private import glib.ConstructionException; -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.AllocationParams; -private import gstreamer.Allocator; -private import gstreamer.BufferPool; -private import gstreamer.Caps; -private import gstreamer.Context; -private import gstreamer.Structure; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * Queries can be performed on pads (gst_pad_query()) and elements - * (gst_element_query()). Please note that some queries might need a running - * pipeline to work. - * - * Queries can be created using the gst_query_new_*() functions. - * Query values can be set using gst_query_set_*(), and parsed using - * gst_query_parse_*() helpers. - * - * The following example shows how to query the duration of a pipeline: - * |[ - * GstQuery *query; - * gboolean res; - * query = gst_query_new_duration (GST_FORMAT_TIME); - * res = gst_element_query (pipeline, query); - * if (res) { - * gint64 duration; - * gst_query_parse_duration (query, NULL, &duration); - * g_print ("duration = %"GST_TIME_FORMAT, GST_TIME_ARGS (duration)); - * } else { - * g_print ("duration query failed..."); - * } - * gst_query_unref (query); - * ]| - */ -public class Query -{ - /** the main Gtk struct */ - protected GstQuery* gstQuery; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstQuery* getQueryStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstQuery; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstQuery; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstQuery* gstQuery, bool ownedRef = false) - { - this.gstQuery = gstQuery; - this.ownedRef = ownedRef; - } - - /** - * Constructs a new query stream position query object. Use gst_query_unref() - * when done with it. A position query is used to query the current position - * of playback in the streams, in some format. - * Params: - * format = the default GstFormat for the new query - * Returns: - * A GstQuery - */ - public static Query newPosition(GstFormat format) - { - auto p = gst_query_new_position(format); - - if(p is null) - { - throw new ConstructionException("null returned by gst_query_new_position"); - } - - return new Query( cast(GstQuery*)p); //, true); - } - - /** - * Constructs a new stream duration query object to query in the given format. - * Use gst_query_unref() when done with it. A duration query will give the - * total length of the stream. - * Params: - * format = the GstFormat for this duration query - * Returns: - * A GstQuery - */ - public static Query newDuration(GstFormat format) - { - auto p = gst_query_new_duration(format); - - if(p is null) - { - throw new ConstructionException("null returned by gst_query_new_duration"); - } - - return new Query( cast(GstQuery*)p); //, true); - } - - /** - * Constructs a new query object for querying seeking properties of - * the stream. - * Params: - * format = the default GstFormat for the new query - * Returns: - * A GstQuery - */ - public static Query newSeeking(GstFormat format) - { - auto p = gst_query_new_seeking(format); - - if(p is null) - { - throw new ConstructionException("null returned by gst_query_new_seeking"); - } - - return new Query(cast(GstQuery*)p); //, true); - } - - /** - * Constructs a new query object for querying formats of - * the stream. - * Returns: - * A GstQuery - */ - public static Query newFormats() - { - auto p = gst_query_new_formats(); - - if(p is null) - { - throw new ConstructionException("null returned by gst_query_new_formats"); - } - - return new Query(cast(GstQuery*)p); //, true); - } - - /** - * Constructs a new segment query object. Use gst_query_unref() - * when done with it. A segment query is used to discover information about the - * currently configured segment for playback. - * Params: - * format = the GstFormat for the new query - * Returns: - * a GstQuery - */ - public static Query newSegment(GstFormat format) - { - auto p = gst_query_new_segment(format); - - if(p is null) - { - throw new ConstructionException("null returned by gst_query_new_segment"); - } - - return new Query(cast(GstQuery*)p); //, true); - } - - /** - * Constructs a new latency query object. - * Use gst_query_unref() when done with it. A latency query is usually performed - * by sinks to compensate for additional latency introduced by elements in the - * pipeline. - * Free-function: gst_query_unref - */ - public static Query newLatency() - { - auto p = gst_query_new_latency(); - - if(p is null) - { - throw new ConstructionException("null returned by gst_query_new_latency()"); - } - - return new Query(cast(GstQuery*)p); //, true); - } - - /** - * Constructs a new query URI query object. Use gst_query_unref() - * when done with it. An URI query is used to query the current URI - * that is used by the source or sink. - * Free-function: gst_query_unref - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static Query newUri() - { - auto p = gst_query_new_uri(); - - if(p is null) - { - throw new ConstructionException("null returned by gst_query_new_uri()"); - } - - return new Query(cast(GstQuery*)p); //, true); - } - - /** - * Constructs a new query object for querying the scheduling properties. - * Free-function: gst_query_unref - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static Query newScheduling() - { - auto p = gst_query_new_scheduling(); - - if(p is null) - { - throw new ConstructionException("null returned by gst_query_new_scheduling()"); - } - - return new Query(cast(GstQuery*)p); //, true); - } - - /** - * Constructs a new query object for querying the drain state. - * Free-function: gst_query_unref - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static Query newDrain() - { - auto p = gst_query_new_drain(); - - if(p is null) - { - throw new ConstructionException("null returned by gst_query_new_drain()"); - } - - return new Query(cast(GstQuery*)p); //, true); - } - - /** - * Constructs a new query object for querying if caps are accepted. - * Free-function: gst_query_unref - * Params: - * caps = a fixed GstCaps - * Throws: ConstructionException GTK+ fails to create the object. - */ - public static Query newAcceptCaps(Caps caps) - { - auto p = gst_query_new_accept_caps((caps is null) ? null : caps.getCapsStruct()); - - if(p is null) - { - throw new ConstructionException("null returned by gst_query_new_accept_caps((caps is null) ? null : caps.getCapsStruct())"); - } - - return new Query(cast(GstQuery*)p); //, true); - } - - /** - */ - - /** */ - public static GType getType() - { - return gst_query_get_type(); - } - - /** - * Constructs a new query object for querying the allocation properties. - * - * Free-function: gst_query_unref() - * - * Params: - * caps = the negotiated caps - * needPool = return a pool - * - * Returns: a new #GstQuery - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(Caps caps, bool needPool) - { - auto __p = gst_query_new_allocation((caps is null) ? null : caps.getCapsStruct(), needPool); - - if(__p is null) - { - throw new ConstructionException("null returned by new_allocation"); - } - - this(cast(GstQuery*) __p); - } - - /** - * Constructs a new query object for querying the bitrate. - * - * Free-function: gst_query_unref() - * - * Returns: a new #GstQuery - * - * Since: 1.16 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_query_new_bitrate(); - - if(__p is null) - { - throw new ConstructionException("null returned by new_bitrate"); - } - - this(cast(GstQuery*) __p); - } - - /** - * Constructs a new query object for querying the buffering status of - * a stream. - * - * Free-function: gst_query_unref() - * - * Params: - * format = the default #GstFormat for the new query - * - * Returns: a new #GstQuery - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstFormat format) - { - auto __p = gst_query_new_buffering(format); - - if(__p is null) - { - throw new ConstructionException("null returned by new_buffering"); - } - - this(cast(GstQuery*) __p); - } - - /** - * Constructs a new query object for querying the caps. - * - * The CAPS query should return the allowable caps for a pad in the context - * of the element's state, its link to other elements, and the devices or files - * it has opened. These caps must be a subset of the pad template caps. In the - * NULL state with no links, the CAPS query should ideally return the same caps - * as the pad template. In rare circumstances, an object property can affect - * the caps returned by the CAPS query, but this is discouraged. - * - * For most filters, the caps returned by CAPS query is directly affected by the - * allowed caps on other pads. For demuxers and decoders, the caps returned by - * the srcpad's getcaps function is directly related to the stream data. Again, - * the CAPS query should return the most specific caps it reasonably can, since this - * helps with autoplugging. - * - * The @filter is used to restrict the result caps, only the caps matching - * @filter should be returned from the CAPS query. Specifying a filter might - * greatly reduce the amount of processing an element needs to do. - * - * Free-function: gst_query_unref() - * - * Params: - * filter = a filter - * - * Returns: a new #GstQuery - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(Caps filter) - { - auto __p = gst_query_new_caps((filter is null) ? null : filter.getCapsStruct()); - - if(__p is null) - { - throw new ConstructionException("null returned by new_caps"); - } - - this(cast(GstQuery*) __p); - } - - /** - * Constructs a new query object for querying the pipeline-local context. - * - * Free-function: gst_query_unref() - * - * Params: - * contextType = Context type to query - * - * Returns: a new #GstQuery - * - * Since: 1.2 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string contextType) - { - auto __p = gst_query_new_context(Str.toStringz(contextType)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_context"); - } - - this(cast(GstQuery*) __p); - } - - /** - * Constructs a new convert query object. Use gst_query_unref() - * when done with it. A convert query is used to ask for a conversion between - * one format and another. - * - * Free-function: gst_query_unref() - * - * Params: - * srcFormat = the source #GstFormat for the new query - * value = the value to convert - * destFormat = the target #GstFormat - * - * Returns: a #GstQuery - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstFormat srcFormat, long value, GstFormat destFormat) - { - auto __p = gst_query_new_convert(srcFormat, value, destFormat); - - if(__p is null) - { - throw new ConstructionException("null returned by new_convert"); - } - - this(cast(GstQuery*) __p); - } - - /** - * Constructs a new custom query object. Use gst_query_unref() - * when done with it. - * - * Free-function: gst_query_unref() - * - * Params: - * type = the query type - * structure = a structure for the query - * - * Returns: a new #GstQuery - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstQueryType type, Structure structure) - { - auto __p = gst_query_new_custom(type, (structure is null) ? null : structure.getStructureStruct(true)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_custom"); - } - - this(cast(GstQuery*) __p); - } - - /** - * Add @api with @params as one of the supported metadata API to @query. - * - * Params: - * api = the metadata API - * params = API specific parameters - */ - public void addAllocationMeta(GType api, Structure params) - { - gst_query_add_allocation_meta(gstQuery, api, (params is null) ? null : params.getStructureStruct()); - } - - /** - * Add @allocator and its @params as a supported memory allocator. - * - * Params: - * allocator = the memory allocator - * params = a #GstAllocationParams - */ - public void addAllocationParam(Allocator allocator, AllocationParams params) - { - gst_query_add_allocation_param(gstQuery, (allocator is null) ? null : allocator.getAllocatorStruct(), (params is null) ? null : params.getAllocationParamsStruct()); - } - - /** - * Set the pool parameters in @query. - * - * Params: - * pool = the #GstBufferPool - * size = the buffer size - * minBuffers = the min buffers - * maxBuffers = the max buffers - */ - public void addAllocationPool(BufferPool pool, uint size, uint minBuffers, uint maxBuffers) - { - gst_query_add_allocation_pool(gstQuery, (pool is null) ? null : pool.getBufferPoolStruct(), size, minBuffers, maxBuffers); - } - - /** - * Set the buffering-ranges array field in @query. The current last - * start position of the array should be inferior to @start. - * - * Params: - * start = start position of the range - * stop = stop position of the range - * - * Returns: a #gboolean indicating if the range was added or not. - */ - public bool addBufferingRange(long start, long stop) - { - return gst_query_add_buffering_range(gstQuery, start, stop) != 0; - } - - /** - * Add @mode as one of the supported scheduling modes to @query. - * - * Params: - * mode = a #GstPadMode - */ - public void addSchedulingMode(GstPadMode mode) - { - gst_query_add_scheduling_mode(gstQuery, mode); - } - - /** - * Check if @query has metadata @api set. When this function returns %TRUE, - * @index will contain the index where the requested API and the parameters - * can be found. - * - * Params: - * api = the metadata API - * index = the index - * - * Returns: %TRUE when @api is in the list of metadata. - */ - public bool findAllocationMeta(GType api, out uint index) - { - return gst_query_find_allocation_meta(gstQuery, api, &index) != 0; - } - - /** - * Retrieve the number of values currently stored in the - * meta API array of the query's structure. - * - * Returns: the metadata API array size as a #guint. - */ - public uint getNAllocationMetas() - { - return gst_query_get_n_allocation_metas(gstQuery); - } - - /** - * Retrieve the number of values currently stored in the - * allocator params array of the query's structure. - * - * If no memory allocator is specified, the downstream element can handle - * the default memory allocator. The first memory allocator in the query - * should be generic and allow mapping to system memory, all following - * allocators should be ordered by preference with the preferred one first. - * - * Returns: the allocator array size as a #guint. - */ - public uint getNAllocationParams() - { - return gst_query_get_n_allocation_params(gstQuery); - } - - /** - * Retrieve the number of values currently stored in the - * pool array of the query's structure. - * - * Returns: the pool array size as a #guint. - */ - public uint getNAllocationPools() - { - return gst_query_get_n_allocation_pools(gstQuery); - } - - /** - * Retrieve the number of values currently stored in the - * buffered-ranges array of the query's structure. - * - * Returns: the range array size as a #guint. - */ - public uint getNBufferingRanges() - { - return gst_query_get_n_buffering_ranges(gstQuery); - } - - /** - * Retrieve the number of values currently stored in the - * scheduling mode array of the query's structure. - * - * Returns: the scheduling mode array size as a #guint. - */ - public uint getNSchedulingModes() - { - return gst_query_get_n_scheduling_modes(gstQuery); - } - - /** - * Get the structure of a query. - * - * Returns: the #GstStructure of the query. The - * structure is still owned by the query and will therefore be freed when the - * query is unreffed. - */ - public Structure getStructure() - { - auto __p = gst_query_get_structure(gstQuery); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p); - } - - /** - * Check if @query has scheduling mode set. - * - * > When checking if upstream supports pull mode, it is usually not - * > enough to just check for GST_PAD_MODE_PULL with this function, you - * > also want to check whether the scheduling flags returned by - * > gst_query_parse_scheduling() have the seeking flag set (meaning - * > random access is supported, not only sequential pulls). - * - * Params: - * mode = the scheduling mode - * - * Returns: %TRUE when @mode is in the list of scheduling modes. - */ - public bool hasSchedulingMode(GstPadMode mode) - { - return gst_query_has_scheduling_mode(gstQuery, mode) != 0; - } - - /** - * Check if @query has scheduling mode set and @flags is set in - * query scheduling flags. - * - * Params: - * mode = the scheduling mode - * flags = #GstSchedulingFlags - * - * Returns: %TRUE when @mode is in the list of scheduling modes - * and @flags are compatible with query flags. - */ - public bool hasSchedulingModeWithFlags(GstPadMode mode, GstSchedulingFlags flags) - { - return gst_query_has_scheduling_mode_with_flags(gstQuery, mode, flags) != 0; - } - - /** - * Get the caps from @query. The caps remains valid as long as @query remains - * valid. - * - * Params: - * caps = A pointer to the caps - */ - public void parseAcceptCaps(out Caps caps) - { - GstCaps* outcaps = null; - - gst_query_parse_accept_caps(gstQuery, &outcaps); - - caps = ObjectG.getDObject!(Caps)(outcaps); - } - - /** - * Parse the result from @query and store in @result. - * - * Params: - * result = location for the result - */ - public void parseAcceptCapsResult(ref bool result) - { - int outresult = (result ? 1 : 0); - - gst_query_parse_accept_caps_result(gstQuery, &outresult); - - result = (outresult == 1); - } - - /** - * Parse an allocation query, writing the requested caps in @caps and - * whether a pool is needed in @need_pool, if the respective parameters - * are non-%NULL. - * - * Pool details can be retrieved using gst_query_get_n_allocation_pools() and - * gst_query_parse_nth_allocation_pool(). - * - * Params: - * caps = The #GstCaps - * needPool = Whether a #GstBufferPool is needed - */ - public void parseAllocation(out Caps caps, out bool needPool) - { - GstCaps* outcaps = null; - int outneedPool; - - gst_query_parse_allocation(gstQuery, &outcaps, &outneedPool); - - caps = ObjectG.getDObject!(Caps)(outcaps); - needPool = (outneedPool == 1); - } - - /** - * Get the results of a bitrate query. See also gst_query_set_bitrate(). - * - * Params: - * nominalBitrate = The resulting bitrate in bits per second - * - * Since: 1.16 - */ - public void parseBitrate(out uint nominalBitrate) - { - gst_query_parse_bitrate(gstQuery, &nominalBitrate); - } - - /** - * Get the percentage of buffered data. This is a value between 0 and 100. - * The @busy indicator is %TRUE when the buffering is in progress. - * - * Params: - * busy = if buffering is busy, or %NULL - * percent = a buffering percent, or %NULL - */ - public void parseBufferingPercent(out bool busy, out int percent) - { - int outbusy; - - gst_query_parse_buffering_percent(gstQuery, &outbusy, &percent); - - busy = (outbusy == 1); - } - - /** - * Parse an available query, writing the format into @format, and - * other results into the passed parameters, if the respective parameters - * are non-%NULL - * - * Params: - * format = the format to set for the @segment_start - * and @segment_end values, or %NULL - * start = the start to set, or %NULL - * stop = the stop to set, or %NULL - * estimatedTotal = estimated total amount of download - * time remaining in milliseconds, or %NULL - */ - public void parseBufferingRange(out GstFormat format, out long start, out long stop, out long estimatedTotal) - { - gst_query_parse_buffering_range(gstQuery, &format, &start, &stop, &estimatedTotal); - } - - /** - * Extracts the buffering stats values from @query. - * - * Params: - * mode = a buffering mode, or %NULL - * avgIn = the average input rate, or %NULL - * avgOut = the average output rat, or %NULL - * bufferingLeft = amount of buffering time left in - * milliseconds, or %NULL - */ - public void parseBufferingStats(out GstBufferingMode mode, out int avgIn, out int avgOut, out long bufferingLeft) - { - gst_query_parse_buffering_stats(gstQuery, &mode, &avgIn, &avgOut, &bufferingLeft); - } - - /** - * Get the filter from the caps @query. The caps remains valid as long as - * @query remains valid. - * - * Params: - * filter = A pointer to the caps filter - */ - public void parseCaps(out Caps filter) - { - GstCaps* outfilter = null; - - gst_query_parse_caps(gstQuery, &outfilter); - - filter = ObjectG.getDObject!(Caps)(outfilter); - } - - /** - * Get the caps result from @query. The caps remains valid as long as - * @query remains valid. - * - * Params: - * caps = A pointer to the caps - */ - public void parseCapsResult(out Caps caps) - { - GstCaps* outcaps = null; - - gst_query_parse_caps_result(gstQuery, &outcaps); - - caps = ObjectG.getDObject!(Caps)(outcaps); - } - - /** - * Get the context from the context @query. The context remains valid as long as - * @query remains valid. - * - * Params: - * context = A pointer to store the #GstContext - * - * Since: 1.2 - */ - public void parseContext(out Context context) - { - GstContext* outcontext = null; - - gst_query_parse_context(gstQuery, &outcontext); - - context = ObjectG.getDObject!(Context)(outcontext); - } - - /** - * Parse a context type from an existing GST_QUERY_CONTEXT query. - * - * Params: - * contextType = the context type, or %NULL - * - * Returns: a #gboolean indicating if the parsing succeeded. - * - * Since: 1.2 - */ - public bool parseContextType(out string contextType) - { - char* outcontextType = null; - - auto __p = gst_query_parse_context_type(gstQuery, &outcontextType) != 0; - - contextType = Str.toString(outcontextType); - - return __p; - } - - /** - * Parse a convert query answer. Any of @src_format, @src_value, @dest_format, - * and @dest_value may be %NULL, in which case that value is omitted. - * - * Params: - * srcFormat = the storage for the #GstFormat of the - * source value, or %NULL - * srcValue = the storage for the source value, or %NULL - * destFormat = the storage for the #GstFormat of the - * destination value, or %NULL - * destValue = the storage for the destination value, - * or %NULL - */ - public void parseConvert(out GstFormat srcFormat, out long srcValue, out GstFormat destFormat, out long destValue) - { - gst_query_parse_convert(gstQuery, &srcFormat, &srcValue, &destFormat, &destValue); - } - - /** - * Parse a duration query answer. Write the format of the duration into @format, - * and the value into @duration, if the respective variables are non-%NULL. - * - * Params: - * format = the storage for the #GstFormat of the duration - * value, or %NULL. - * duration = the storage for the total duration, or %NULL. - */ - public void parseDuration(out GstFormat format, out long duration) - { - gst_query_parse_duration(gstQuery, &format, &duration); - } - - /** - * Parse a latency query answer. - * - * Params: - * live = storage for live or %NULL - * minLatency = the storage for the min latency or %NULL - * maxLatency = the storage for the max latency or %NULL - */ - public void parseLatency(out bool live, out GstClockTime minLatency, out GstClockTime maxLatency) - { - int outlive; - - gst_query_parse_latency(gstQuery, &outlive, &minLatency, &maxLatency); - - live = (outlive == 1); - } - - /** - * Parse the number of formats in the formats @query. - * - * Params: - * nFormats = the number of formats in this query. - */ - public void parseNFormats(out uint nFormats) - { - gst_query_parse_n_formats(gstQuery, &nFormats); - } - - /** - * Parse an available query and get the metadata API - * at @index of the metadata API array. - * - * Params: - * index = position in the metadata API array to read - * params = API specific parameters - * - * Returns: a #GType of the metadata API at @index. - */ - public GType parseNthAllocationMeta(uint index, out Structure params) - { - GstStructure* outparams = null; - - auto __p = gst_query_parse_nth_allocation_meta(gstQuery, index, &outparams); - - params = ObjectG.getDObject!(Structure)(outparams); - - return __p; - } - - /** - * Parse an available query and get the allocator and its params - * at @index of the allocator array. - * - * Params: - * index = position in the allocator array to read - * allocator = variable to hold the result - * params = parameters for the allocator - */ - public void parseNthAllocationParam(uint index, out Allocator allocator, out AllocationParams params) - { - GstAllocator* outallocator = null; - GstAllocationParams* outparams = sliceNew!GstAllocationParams(); - - gst_query_parse_nth_allocation_param(gstQuery, index, &outallocator, outparams); - - allocator = ObjectG.getDObject!(Allocator)(outallocator); - params = ObjectG.getDObject!(AllocationParams)(outparams, true); - } - - /** - * Get the pool parameters in @query. - * - * Unref @pool with gst_object_unref() when it's not needed any more. - * - * Params: - * index = index to parse - * pool = the #GstBufferPool - * size = the buffer size - * minBuffers = the min buffers - * maxBuffers = the max buffers - */ - public void parseNthAllocationPool(uint index, out BufferPool pool, out uint size, out uint minBuffers, out uint maxBuffers) - { - GstBufferPool* outpool = null; - - gst_query_parse_nth_allocation_pool(gstQuery, index, &outpool, &size, &minBuffers, &maxBuffers); - - pool = ObjectG.getDObject!(BufferPool)(outpool); - } - - /** - * Parse an available query and get the start and stop values stored - * at the @index of the buffered ranges array. - * - * Params: - * index = position in the buffered-ranges array to read - * start = the start position to set, or %NULL - * stop = the stop position to set, or %NULL - * - * Returns: a #gboolean indicating if the parsing succeeded. - */ - public bool parseNthBufferingRange(uint index, out long start, out long stop) - { - return gst_query_parse_nth_buffering_range(gstQuery, index, &start, &stop) != 0; - } - - /** - * Parse the format query and retrieve the @nth format from it into - * @format. If the list contains less elements than @nth, @format will be - * set to GST_FORMAT_UNDEFINED. - * - * Params: - * nth = the nth format to retrieve. - * format = a pointer to store the nth format - */ - public void parseNthFormat(uint nth, out GstFormat format) - { - gst_query_parse_nth_format(gstQuery, nth, &format); - } - - /** - * Parse an available query and get the scheduling mode - * at @index of the scheduling modes array. - * - * Params: - * index = position in the scheduling modes array to read - * - * Returns: a #GstPadMode of the scheduling mode at @index. - */ - public GstPadMode parseNthSchedulingMode(uint index) - { - return gst_query_parse_nth_scheduling_mode(gstQuery, index); - } - - /** - * Parse a position query, writing the format into @format, and the position - * into @cur, if the respective parameters are non-%NULL. - * - * Params: - * format = the storage for the #GstFormat of the - * position values (may be %NULL) - * cur = the storage for the current position (may be %NULL) - */ - public void parsePosition(out GstFormat format, out long cur) - { - gst_query_parse_position(gstQuery, &format, &cur); - } - - /** - * Set the scheduling properties. - * - * Params: - * flags = #GstSchedulingFlags - * minsize = the suggested minimum size of pull requests - * maxsize = the suggested maximum size of pull requests: - * align_ = the suggested alignment of pull requests - */ - public void parseScheduling(out GstSchedulingFlags flags, out int minsize, out int maxsize, out int align_) - { - gst_query_parse_scheduling(gstQuery, &flags, &minsize, &maxsize, &align_); - } - - /** - * Parse a seeking query, writing the format into @format, and - * other results into the passed parameters, if the respective parameters - * are non-%NULL - * - * Params: - * format = the format to set for the @segment_start - * and @segment_end values, or %NULL - * seekable = the seekable flag to set, or %NULL - * segmentStart = the segment_start to set, or %NULL - * segmentEnd = the segment_end to set, or %NULL - */ - public void parseSeeking(out GstFormat format, out bool seekable, out long segmentStart, out long segmentEnd) - { - int outseekable; - - gst_query_parse_seeking(gstQuery, &format, &outseekable, &segmentStart, &segmentEnd); - - seekable = (outseekable == 1); - } - - /** - * Parse a segment query answer. Any of @rate, @format, @start_value, and - * @stop_value may be %NULL, which will cause this value to be omitted. - * - * See gst_query_set_segment() for an explanation of the function arguments. - * - * Params: - * rate = the storage for the rate of the segment, or %NULL - * format = the storage for the #GstFormat of the values, - * or %NULL - * startValue = the storage for the start value, or %NULL - * stopValue = the storage for the stop value, or %NULL - */ - public void parseSegment(out double rate, out GstFormat format, out long startValue, out long stopValue) - { - gst_query_parse_segment(gstQuery, &rate, &format, &startValue, &stopValue); - } - - /** - * Parse an URI query, writing the URI into @uri as a newly - * allocated string, if the respective parameters are non-%NULL. - * Free the string with g_free() after usage. - * - * Params: - * uri = the storage for the current URI - * (may be %NULL) - */ - public void parseUri(out string uri) - { - char* outuri = null; - - gst_query_parse_uri(gstQuery, &outuri); - - uri = Str.toString(outuri); - } - - /** - * Parse an URI query, writing the URI into @uri as a newly - * allocated string, if the respective parameters are non-%NULL. - * Free the string with g_free() after usage. - * - * Params: - * uri = the storage for the redirect URI - * (may be %NULL) - * - * Since: 1.2 - */ - public void parseUriRedirection(out string uri) - { - char* outuri = null; - - gst_query_parse_uri_redirection(gstQuery, &outuri); - - uri = Str.toString(outuri); - } - - /** - * Parse an URI query, and set @permanent to %TRUE if there is a redirection - * and it should be considered permanent. If a redirection is permanent, - * applications should update their internal storage of the URI, otherwise - * they should make all future requests to the original URI. - * - * Params: - * permanent = if the URI redirection is permanent - * (may be %NULL) - * - * Since: 1.4 - */ - public void parseUriRedirectionPermanent(out bool permanent) - { - int outpermanent; - - gst_query_parse_uri_redirection_permanent(gstQuery, &outpermanent); - - permanent = (outpermanent == 1); - } - - /** - * Remove the metadata API at @index of the metadata API array. - * - * Params: - * index = position in the metadata API array to remove - */ - public void removeNthAllocationMeta(uint index) - { - gst_query_remove_nth_allocation_meta(gstQuery, index); - } - - /** - * Remove the allocation param at @index of the allocation param array. - * - * Params: - * index = position in the allocation param array to remove - * - * Since: 1.2 - */ - public void removeNthAllocationParam(uint index) - { - gst_query_remove_nth_allocation_param(gstQuery, index); - } - - /** - * Remove the allocation pool at @index of the allocation pool array. - * - * Params: - * index = position in the allocation pool array to remove - * - * Since: 1.2 - */ - public void removeNthAllocationPool(uint index) - { - gst_query_remove_nth_allocation_pool(gstQuery, index); - } - - /** - * Set @result as the result for the @query. - * - * Params: - * result = the result to set - */ - public void setAcceptCapsResult(bool result) - { - gst_query_set_accept_caps_result(gstQuery, result); - } - - /** - * Set the results of a bitrate query. The nominal bitrate is the average - * bitrate expected over the length of the stream as advertised in file - * headers (or similar). - * - * Params: - * nominalBitrate = the nominal bitrate in bits per second - * - * Since: 1.16 - */ - public void setBitrate(uint nominalBitrate) - { - gst_query_set_bitrate(gstQuery, nominalBitrate); - } - - /** - * Set the percentage of buffered data. This is a value between 0 and 100. - * The @busy indicator is %TRUE when the buffering is in progress. - * - * Params: - * busy = if buffering is busy - * percent = a buffering percent - */ - public void setBufferingPercent(bool busy, int percent) - { - gst_query_set_buffering_percent(gstQuery, busy, percent); - } - - /** - * Set the available query result fields in @query. - * - * Params: - * format = the format to set for the @start and @stop values - * start = the start to set - * stop = the stop to set - * estimatedTotal = estimated total amount of download time remaining in - * milliseconds - */ - public void setBufferingRange(GstFormat format, long start, long stop, long estimatedTotal) - { - gst_query_set_buffering_range(gstQuery, format, start, stop, estimatedTotal); - } - - /** - * Configures the buffering stats values in @query. - * - * Params: - * mode = a buffering mode - * avgIn = the average input rate - * avgOut = the average output rate - * bufferingLeft = amount of buffering time left in milliseconds - */ - public void setBufferingStats(GstBufferingMode mode, int avgIn, int avgOut, long bufferingLeft) - { - gst_query_set_buffering_stats(gstQuery, mode, avgIn, avgOut, bufferingLeft); - } - - /** - * Set the @caps result in @query. - * - * Params: - * caps = A pointer to the caps - */ - public void setCapsResult(Caps caps) - { - gst_query_set_caps_result(gstQuery, (caps is null) ? null : caps.getCapsStruct()); - } - - /** - * Answer a context query by setting the requested context. - * - * Params: - * context = the requested #GstContext - * - * Since: 1.2 - */ - public void setContext(Context context) - { - gst_query_set_context(gstQuery, (context is null) ? null : context.getContextStruct()); - } - - /** - * Answer a convert query by setting the requested values. - * - * Params: - * srcFormat = the source #GstFormat - * srcValue = the source value - * destFormat = the destination #GstFormat - * destValue = the destination value - */ - public void setConvert(GstFormat srcFormat, long srcValue, GstFormat destFormat, long destValue) - { - gst_query_set_convert(gstQuery, srcFormat, srcValue, destFormat, destValue); - } - - /** - * Answer a duration query by setting the requested value in the given format. - * - * Params: - * format = the #GstFormat for the duration - * duration = the duration of the stream - */ - public void setDuration(GstFormat format, long duration) - { - gst_query_set_duration(gstQuery, format, duration); - } - - /** - * Set the formats query result fields in @query. The number of formats passed - * in the @formats array must be equal to @n_formats. - * - * Params: - * formats = an array containing @n_formats - * @GstFormat values. - */ - public void setFormatsv(GstFormat[] formats) - { - gst_query_set_formatsv(gstQuery, cast(int)formats.length, formats.ptr); - } - - /** - * Answer a latency query by setting the requested values in the given format. - * - * Params: - * live = if there is a live element upstream - * minLatency = the minimal latency of the upstream elements - * maxLatency = the maximal latency of the upstream elements - */ - public void setLatency(bool live, GstClockTime minLatency, GstClockTime maxLatency) - { - gst_query_set_latency(gstQuery, live, minLatency, maxLatency); - } - - /** - * Parse an available query and get the allocator and its params - * at @index of the allocator array. - * - * Params: - * index = position in the allocator array to set - * allocator = new allocator to set - * params = parameters for the allocator - */ - public void setNthAllocationParam(uint index, Allocator allocator, AllocationParams params) - { - gst_query_set_nth_allocation_param(gstQuery, index, (allocator is null) ? null : allocator.getAllocatorStruct(), (params is null) ? null : params.getAllocationParamsStruct()); - } - - /** - * Set the pool parameters in @query. - * - * Params: - * index = index to modify - * pool = the #GstBufferPool - * size = the buffer size - * minBuffers = the min buffers - * maxBuffers = the max buffers - */ - public void setNthAllocationPool(uint index, BufferPool pool, uint size, uint minBuffers, uint maxBuffers) - { - gst_query_set_nth_allocation_pool(gstQuery, index, (pool is null) ? null : pool.getBufferPoolStruct(), size, minBuffers, maxBuffers); - } - - /** - * Answer a position query by setting the requested value in the given format. - * - * Params: - * format = the requested #GstFormat - * cur = the position to set - */ - public void setPosition(GstFormat format, long cur) - { - gst_query_set_position(gstQuery, format, cur); - } - - /** - * Set the scheduling properties. - * - * Params: - * flags = #GstSchedulingFlags - * minsize = the suggested minimum size of pull requests - * maxsize = the suggested maximum size of pull requests - * align_ = the suggested alignment of pull requests - */ - public void setScheduling(GstSchedulingFlags flags, int minsize, int maxsize, int align_) - { - gst_query_set_scheduling(gstQuery, flags, minsize, maxsize, align_); - } - - /** - * Set the seeking query result fields in @query. - * - * Params: - * format = the format to set for the @segment_start and @segment_end values - * seekable = the seekable flag to set - * segmentStart = the segment_start to set - * segmentEnd = the segment_end to set - */ - public void setSeeking(GstFormat format, bool seekable, long segmentStart, long segmentEnd) - { - gst_query_set_seeking(gstQuery, format, seekable, segmentStart, segmentEnd); - } - - /** - * Answer a segment query by setting the requested values. The normal - * playback segment of a pipeline is 0 to duration at the default rate of - * 1.0. If a seek was performed on the pipeline to play a different - * segment, this query will return the range specified in the last seek. - * - * @start_value and @stop_value will respectively contain the configured - * playback range start and stop values expressed in @format. - * The values are always between 0 and the duration of the media and - * @start_value <= @stop_value. @rate will contain the playback rate. For - * negative rates, playback will actually happen from @stop_value to - * @start_value. - * - * Params: - * rate = the rate of the segment - * format = the #GstFormat of the segment values (@start_value and @stop_value) - * startValue = the start value - * stopValue = the stop value - */ - public void setSegment(double rate, GstFormat format, long startValue, long stopValue) - { - gst_query_set_segment(gstQuery, rate, format, startValue, stopValue); - } - - /** - * Answer a URI query by setting the requested URI. - * - * Params: - * uri = the URI to set - */ - public void setUri(string uri) - { - gst_query_set_uri(gstQuery, Str.toStringz(uri)); - } - - /** - * Answer a URI query by setting the requested URI redirection. - * - * Params: - * uri = the URI to set - * - * Since: 1.2 - */ - public void setUriRedirection(string uri) - { - gst_query_set_uri_redirection(gstQuery, Str.toStringz(uri)); - } - - /** - * Answer a URI query by setting the requested URI redirection - * to permanent or not. - * - * Params: - * permanent = whether the redirect is permanent or not - * - * Since: 1.4 - */ - public void setUriRedirectionPermanent(bool permanent) - { - gst_query_set_uri_redirection_permanent(gstQuery, permanent); - } - - /** - * Get the structure of a query. This method should be called with a writable - * @query so that the returned structure is guaranteed to be writable. - * - * Returns: the #GstStructure of the query. The structure is - * still owned by the query and will therefore be freed when the query - * is unreffed. - */ - public Structure writableStructure() - { - auto __p = gst_query_writable_structure(gstQuery); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p); - } - - /** - * Gets the #GstQueryTypeFlags associated with @type. - * - * Params: - * type = a #GstQueryType - * - * Returns: a #GstQueryTypeFlags. - */ - public static GstQueryTypeFlags typeGetFlags(GstQueryType type) - { - return gst_query_type_get_flags(type); - } - - /** - * Get a printable name for the given query type. Do not modify or free. - * - * Params: - * type = the query type - * - * Returns: a reference to the static name of the query. - */ - public static string typeGetName(GstQueryType type) - { - return Str.toString(gst_query_type_get_name(type)); - } - - /** - * Get the unique quark for the given query type. - * - * Params: - * type = the query type - * - * Returns: the quark associated with the query type - */ - public static GQuark typeToQuark(GstQueryType type) - { - return gst_query_type_to_quark(type); - } -} diff --git a/generated/gstreamer/gstreamer/ReferenceTimestampMeta.d b/generated/gstreamer/gstreamer/ReferenceTimestampMeta.d deleted file mode 100644 index 697c909cc..000000000 --- a/generated/gstreamer/gstreamer/ReferenceTimestampMeta.d +++ /dev/null @@ -1,59 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ReferenceTimestampMeta; - -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * #GstReferenceTimestampMeta can be used to attach alternative timestamps and - * possibly durations to a #GstBuffer. These are generally not according to - * the pipeline clock and could be e.g. the NTP timestamp when the media was - * captured. - * - * The reference is stored as a #GstCaps in @reference. Examples of valid - * references would be "timestamp/x-drivername-stream" for timestamps that are locally - * generated by some driver named "drivername" when generating the stream, - * e.g. based on a frame counter, or "timestamp/x-ntp, host=pool.ntp.org, - * port=123" for timestamps based on a specific NTP server. - * - * Since: 1.14 - */ -public struct ReferenceTimestampMeta -{ - - /** - * Get the global #GstMetaInfo describing the #GstReferenceTimestampMeta meta. - * - * Returns: The #GstMetaInfo - * - * Since: 1.14 - */ - public static GstMetaInfo* getInfo() - { - return gst_reference_timestamp_meta_get_info(); - } -} diff --git a/generated/gstreamer/gstreamer/Registry.d b/generated/gstreamer/gstreamer/Registry.d deleted file mode 100644 index 16b0caba6..000000000 --- a/generated/gstreamer/gstreamer/Registry.d +++ /dev/null @@ -1,528 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Registry; - -private import glib.ListG; -private import glib.Str; -private import gobject.ObjectG; -private import gobject.Signals; -private import gstreamer.ObjectGst; -private import gstreamer.Plugin; -private import gstreamer.PluginFeature; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import std.algorithm; - - -/** - * One registry holds the metadata of a set of plugins. - * - * Design: - * - * The #GstRegistry object is a list of plugins and some functions for dealing - * with them. Each #GstPlugin is matched 1-1 with a file on disk, and may or may - * not be loaded at a given time. - * - * The primary source, at all times, of plugin information is each plugin file - * itself. Thus, if an application wants information about a particular plugin, - * or wants to search for a feature that satisfies given criteria, the primary - * means of doing so is to load every plugin and look at the resulting - * information that is gathered in the default registry. Clearly, this is a time - * consuming process, so we cache information in the registry file. The format - * and location of the cache file is internal to gstreamer. - * - * On startup, plugins are searched for in the plugin search path. The following - * locations are checked in this order: - * - * * location from --gst-plugin-path commandline option. - * * the GST_PLUGIN_PATH environment variable. - * * the GST_PLUGIN_SYSTEM_PATH environment variable. - * * default locations (if GST_PLUGIN_SYSTEM_PATH is not set). - * Those default locations are: - * `$XDG_DATA_HOME/gstreamer-$GST_API_VERSION/plugins/` - * and `$prefix/libs/gstreamer-$GST_API_VERSION/`. - * [$XDG_DATA_HOME](http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html) defaults to - * `$HOME/.local/share`. - * - * The registry cache file is loaded from - * `$XDG_CACHE_HOME/gstreamer-$GST_API_VERSION/registry-$ARCH.bin` - * (where $XDG_CACHE_HOME defaults to `$HOME/.cache`) or the file listed in the `GST_REGISTRY` - * env var. One reason to change the registry location is for testing. - * - * For each plugin that is found in the plugin search path, there could be 3 - * possibilities for cached information: - * - * * the cache may not contain information about a given file. - * * the cache may have stale information. - * * the cache may have current information. - * - * In the first two cases, the plugin is loaded and the cache updated. In - * addition to these cases, the cache may have entries for plugins that are not - * relevant to the current process. These are marked as not available to the - * current process. If the cache is updated for whatever reason, it is marked - * dirty. - * - * A dirty cache is written out at the end of initialization. Each entry is - * checked to make sure the information is minimally valid. If not, the entry is - * simply dropped. - * - * ## Implementation notes: - * - * The "cache" and "registry" are different concepts and can represent - * different sets of plugins. For various reasons, at init time, the cache is - * stored in the default registry, and plugins not relevant to the current - * process are marked with the %GST_PLUGIN_FLAG_CACHED bit. These plugins are - * removed at the end of initialization. - */ -public class Registry : ObjectGst -{ - /** the main Gtk struct */ - protected GstRegistry* gstRegistry; - - /** Get the main Gtk struct */ - public GstRegistry* getRegistryStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstRegistry; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstRegistry; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstRegistry* gstRegistry, bool ownedRef = false) - { - this.gstRegistry = gstRegistry; - super(cast(GstObject*)gstRegistry, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_registry_get_type(); - } - - /** - * By default GStreamer will perform scanning and rebuilding of the - * registry file using a helper child process. - * - * Applications might want to disable this behaviour with the - * gst_registry_fork_set_enabled() function, in which case new plugins - * are scanned (and loaded) into the application process. - * - * Returns: %TRUE if GStreamer will use the child helper process when - * rebuilding the registry. - */ - public static bool forkIsEnabled() - { - return gst_registry_fork_is_enabled() != 0; - } - - /** - * Applications might want to disable/enable spawning of a child helper process - * when rebuilding the registry. See gst_registry_fork_is_enabled() for more - * information. - * - * Params: - * enabled = whether rebuilding the registry can use a temporary child helper process. - */ - public static void forkSetEnabled(bool enabled) - { - gst_registry_fork_set_enabled(enabled); - } - - /** - * Retrieves the singleton plugin registry. The caller does not own a - * reference on the registry, as it is alive as long as GStreamer is - * initialized. - * - * Returns: the #GstRegistry. - */ - public static Registry get() - { - auto __p = gst_registry_get(); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Registry)(cast(GstRegistry*) __p); - } - - /** - * Add the feature to the registry. The feature-added signal will be emitted. - * - * @feature's reference count will be incremented, and any floating - * reference will be removed (see gst_object_ref_sink()) - * - * Params: - * feature = the feature to add - * - * Returns: %TRUE on success. - * - * MT safe. - */ - public bool addFeature(PluginFeature feature) - { - return gst_registry_add_feature(gstRegistry, (feature is null) ? null : feature.getPluginFeatureStruct()) != 0; - } - - /** - * Add the plugin to the registry. The plugin-added signal will be emitted. - * - * @plugin's reference count will be incremented, and any floating - * reference will be removed (see gst_object_ref_sink()) - * - * Params: - * plugin = the plugin to add - * - * Returns: %TRUE on success. - * - * MT safe. - */ - public bool addPlugin(Plugin plugin) - { - return gst_registry_add_plugin(gstRegistry, (plugin is null) ? null : plugin.getPluginStruct()) != 0; - } - - /** - * Checks whether a plugin feature by the given name exists in - * @registry and whether its version is at least the - * version required. - * - * Params: - * featureName = the name of the feature (e.g. "oggdemux") - * minMajor = the minimum major version number - * minMinor = the minimum minor version number - * minMicro = the minimum micro version number - * - * Returns: %TRUE if the feature could be found and the version is - * the same as the required version or newer, and %FALSE otherwise. - */ - public bool checkFeatureVersion(string featureName, uint minMajor, uint minMinor, uint minMicro) - { - return gst_registry_check_feature_version(gstRegistry, Str.toStringz(featureName), minMajor, minMinor, minMicro) != 0; - } - - /** - * Runs a filter against all features of the plugins in the registry - * and returns a GList with the results. - * If the first flag is set, only the first match is - * returned (as a list with a single object). - * - * Params: - * filter = the filter to use - * first = only return first match - * userData = user data passed to the filter function - * - * Returns: a #GList of - * #GstPluginFeature. Use gst_plugin_feature_list_free() after usage. - * - * MT safe. - */ - public ListG featureFilter(GstPluginFeatureFilter filter, bool first, void* userData) - { - auto __p = gst_registry_feature_filter(gstRegistry, filter, first, userData); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Find the pluginfeature with the given name and type in the registry. - * - * Params: - * name = the pluginfeature name to find - * type = the pluginfeature type to find - * - * Returns: the pluginfeature with the - * given name and type or %NULL if the plugin was not - * found. gst_object_unref() after usage. - * - * MT safe. - */ - public PluginFeature findFeature(string name, GType type) - { - auto __p = gst_registry_find_feature(gstRegistry, Str.toStringz(name), type); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(PluginFeature)(cast(GstPluginFeature*) __p, true); - } - - /** - * Find the plugin with the given name in the registry. - * The plugin will be reffed; caller is responsible for unreffing. - * - * Params: - * name = the plugin name to find - * - * Returns: the plugin with the given name - * or %NULL if the plugin was not found. gst_object_unref() after - * usage. - * - * MT safe. - */ - public Plugin findPlugin(string name) - { - auto __p = gst_registry_find_plugin(gstRegistry, Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Plugin)(cast(GstPlugin*) __p, true); - } - - /** - * Retrieves a #GList of #GstPluginFeature of @type. - * - * Params: - * type = a #GType. - * - * Returns: a #GList of - * #GstPluginFeature of @type. Use gst_plugin_feature_list_free() after use - * - * MT safe. - */ - public ListG getFeatureList(GType type) - { - auto __p = gst_registry_get_feature_list(gstRegistry, type); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Retrieves a #GList of features of the plugin with name @name. - * - * Params: - * name = a plugin name. - * - * Returns: a #GList of - * #GstPluginFeature. Use gst_plugin_feature_list_free() after usage. - */ - public ListG getFeatureListByPlugin(string name) - { - auto __p = gst_registry_get_feature_list_by_plugin(gstRegistry, Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Returns the registry's feature list cookie. This changes - * every time a feature is added or removed from the registry. - * - * Returns: the feature list cookie. - */ - public uint getFeatureListCookie() - { - return gst_registry_get_feature_list_cookie(gstRegistry); - } - - /** - * Get a copy of all plugins registered in the given registry. The refcount - * of each element in the list in incremented. - * - * Returns: a #GList of #GstPlugin. - * Use gst_plugin_list_free() after usage. - * - * MT safe. - */ - public ListG getPluginList() - { - auto __p = gst_registry_get_plugin_list(gstRegistry); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Look up a plugin in the given registry with the given filename. - * If found, plugin is reffed. - * - * Params: - * filename = the name of the file to look up - * - * Returns: the #GstPlugin if found, or - * %NULL if not. gst_object_unref() after usage. - */ - public Plugin lookup(string filename) - { - auto __p = gst_registry_lookup(gstRegistry, Str.toStringz(filename)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Plugin)(cast(GstPlugin*) __p, true); - } - - /** - * Find a #GstPluginFeature with @name in @registry. - * - * Params: - * name = a #GstPluginFeature name - * - * Returns: a #GstPluginFeature with its refcount incremented, - * use gst_object_unref() after usage. - * - * MT safe. - */ - public PluginFeature lookupFeature(string name) - { - auto __p = gst_registry_lookup_feature(gstRegistry, Str.toStringz(name)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(PluginFeature)(cast(GstPluginFeature*) __p, true); - } - - /** - * Runs a filter against all plugins in the registry and returns a #GList with - * the results. If the first flag is set, only the first match is - * returned (as a list with a single object). - * Every plugin is reffed; use gst_plugin_list_free() after use, which - * will unref again. - * - * Params: - * filter = the filter to use - * first = only return first match - * userData = user data passed to the filter function - * - * Returns: a #GList of #GstPlugin. - * Use gst_plugin_list_free() after usage. - * - * MT safe. - */ - public ListG pluginFilter(GstPluginFilter filter, bool first, void* userData) - { - auto __p = gst_registry_plugin_filter(gstRegistry, filter, first, userData); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Remove the feature from the registry. - * - * MT safe. - * - * Params: - * feature = the feature to remove - */ - public void removeFeature(PluginFeature feature) - { - gst_registry_remove_feature(gstRegistry, (feature is null) ? null : feature.getPluginFeatureStruct()); - } - - /** - * Remove the plugin from the registry. - * - * MT safe. - * - * Params: - * plugin = the plugin to remove - */ - public void removePlugin(Plugin plugin) - { - gst_registry_remove_plugin(gstRegistry, (plugin is null) ? null : plugin.getPluginStruct()); - } - - /** - * Scan the given path for plugins to add to the registry. The syntax of the - * path is specific to the registry. - * - * Params: - * path = the path to scan - * - * Returns: %TRUE if registry changed - */ - public bool scanPath(string path) - { - return gst_registry_scan_path(gstRegistry, Str.toStringz(path)) != 0; - } - - /** - * Signals that a feature has been added to the registry (possibly - * replacing a previously-added one by the same name) - * - * Params: - * feature = the feature that has been added - */ - gulong addOnFeatureAdded(void delegate(PluginFeature, Registry) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "feature-added", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } - - /** - * Signals that a plugin has been added to the registry (possibly - * replacing a previously-added one by the same name) - * - * Params: - * plugin = the plugin that has been added - */ - gulong addOnPluginAdded(void delegate(Plugin, Registry) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "plugin-added", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gstreamer/Sample.d b/generated/gstreamer/gstreamer/Sample.d deleted file mode 100644 index 4583cc33e..000000000 --- a/generated/gstreamer/gstreamer/Sample.d +++ /dev/null @@ -1,269 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Sample; - -private import glib.ConstructionException; -private import gobject.ObjectG; -private import gstreamer.Buffer; -private import gstreamer.BufferList; -private import gstreamer.Caps; -private import gstreamer.Segment; -private import gstreamer.Structure; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * A #GstSample is a small object containing data, a type, timing and - * extra arbitrary information. - */ -public class Sample -{ - /** the main Gtk struct */ - protected GstSample* gstSample; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstSample* getSampleStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstSample; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstSample; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstSample* gstSample, bool ownedRef = false) - { - this.gstSample = gstSample; - this.ownedRef = ownedRef; - } - - - /** */ - public static GType getType() - { - return gst_sample_get_type(); - } - - /** - * Create a new #GstSample with the provided details. - * - * Free-function: gst_sample_unref - * - * Params: - * buffer = a #GstBuffer, or %NULL - * caps = a #GstCaps, or %NULL - * segment = a #GstSegment, or %NULL - * info = a #GstStructure, or %NULL - * - * Returns: the new #GstSample. gst_sample_unref() - * after usage. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(Buffer buffer, Caps caps, Segment segment, Structure info) - { - auto __p = gst_sample_new((buffer is null) ? null : buffer.getBufferStruct(), (caps is null) ? null : caps.getCapsStruct(), (segment is null) ? null : segment.getSegmentStruct(), (info is null) ? null : info.getStructureStruct(true)); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstSample*) __p); - } - - /** - * Get the buffer associated with @sample - * - * Returns: the buffer of @sample or %NULL - * when there is no buffer. The buffer remains valid as long as - * @sample is valid. If you need to hold on to it for longer than - * that, take a ref to the buffer with gst_buffer_ref(). - */ - public Buffer getBuffer() - { - auto __p = gst_sample_get_buffer(gstSample); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Buffer)(cast(GstBuffer*) __p); - } - - /** - * Get the buffer list associated with @sample - * - * Returns: the buffer list of @sample or %NULL - * when there is no buffer list. The buffer list remains valid as long as - * @sample is valid. If you need to hold on to it for longer than - * that, take a ref to the buffer list with gst_mini_object_ref (). - * - * Since: 1.6 - */ - public BufferList getBufferList() - { - auto __p = gst_sample_get_buffer_list(gstSample); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(BufferList)(cast(GstBufferList*) __p); - } - - /** - * Get the caps associated with @sample - * - * Returns: the caps of @sample or %NULL - * when there is no caps. The caps remain valid as long as @sample is - * valid. If you need to hold on to the caps for longer than that, - * take a ref to the caps with gst_caps_ref(). - */ - public Caps getCaps() - { - auto __p = gst_sample_get_caps(gstSample); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p); - } - - /** - * Get extra information associated with @sample. - * - * Returns: the extra info of @sample. - * The info remains valid as long as @sample is valid. - */ - public Structure getInfo() - { - auto __p = gst_sample_get_info(gstSample); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p); - } - - /** - * Get the segment associated with @sample - * - * Returns: the segment of @sample. - * The segment remains valid as long as @sample is valid. - */ - public Segment getSegment() - { - auto __p = gst_sample_get_segment(gstSample); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Segment)(cast(GstSegment*) __p); - } - - /** - * Set the buffer associated with @sample. @sample must be writable. - * - * Params: - * buffer = A #GstBuffer - * - * Since: 1.16 - */ - public void setBuffer(Buffer buffer) - { - gst_sample_set_buffer(gstSample, (buffer is null) ? null : buffer.getBufferStruct()); - } - - /** - * Set the buffer list associated with @sample. @sample must be writable. - * - * Params: - * bufferList = a #GstBufferList - * - * Since: 1.6 - */ - public void setBufferList(BufferList bufferList) - { - gst_sample_set_buffer_list(gstSample, (bufferList is null) ? null : bufferList.getBufferListStruct()); - } - - /** - * Set the caps associated with @sample. @sample must be writable. - * - * Params: - * caps = A #GstCaps - * - * Since: 1.16 - */ - public void setCaps(Caps caps) - { - gst_sample_set_caps(gstSample, (caps is null) ? null : caps.getCapsStruct()); - } - - /** - * Set the info structure associated with @sample. @sample must be writable, - * and @info must not have a parent set already. - * - * Params: - * info = A #GstStructure - * - * Since: 1.16 - */ - public bool setInfo(Structure info) - { - return gst_sample_set_info(gstSample, (info is null) ? null : info.getStructureStruct(true)) != 0; - } - - /** - * Set the segment associated with @sample. @sample must be writable. - * - * Params: - * segment = A #GstSegment - * - * Since: 1.16 - */ - public void setSegment(Segment segment) - { - gst_sample_set_segment(gstSample, (segment is null) ? null : segment.getSegmentStruct()); - } -} diff --git a/generated/gstreamer/gstreamer/Segment.d b/generated/gstreamer/gstreamer/Segment.d deleted file mode 100644 index 12a135bbd..000000000 --- a/generated/gstreamer/gstreamer/Segment.d +++ /dev/null @@ -1,560 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Segment; - -private import glib.ConstructionException; -private import gobject.ObjectG; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import gtkd.Loader; - - -/** - * This helper structure holds the relevant values for tracking the region of - * interest in a media file, called a segment. - * - * The structure can be used for two purposes: - * - * * performing seeks (handling seek events) - * * tracking playback regions (handling newsegment events) - * - * The segment is usually configured by the application with a seek event which - * is propagated upstream and eventually handled by an element that performs the seek. - * - * The configured segment is then propagated back downstream with a newsegment event. - * This information is then used to clip media to the segment boundaries. - * - * A segment structure is initialized with gst_segment_init(), which takes a #GstFormat - * that will be used as the format of the segment values. The segment will be configured - * with a start value of 0 and a stop/duration of -1, which is undefined. The default - * rate and applied_rate is 1.0. - * - * The public duration field contains the duration of the segment. When using - * the segment for seeking, the start and time members should normally be left - * to their default 0 value. The stop position is left to -1 unless explicitly - * configured to a different value after a seek event. - * - * The current position in the segment should be set by changing the position - * member in the structure. - * - * For elements that perform seeks, the current segment should be updated with the - * gst_segment_do_seek() and the values from the seek event. This method will update - * all the segment fields. The position field will contain the new playback position. - * If the start_type was different from GST_SEEK_TYPE_NONE, playback continues from - * the position position, possibly with updated flags or rate. - * - * For elements that want to use #GstSegment to track the playback region, - * update the segment fields with the information from the newsegment event. - * The gst_segment_clip() method can be used to check and clip - * the media data to the segment boundaries. - * - * For elements that want to synchronize to the pipeline clock, gst_segment_to_running_time() - * can be used to convert a timestamp to a value that can be used to synchronize - * to the clock. This function takes into account the base as well as - * any rate or applied_rate conversions. - * - * For elements that need to perform operations on media data in stream_time, - * gst_segment_to_stream_time() can be used to convert a timestamp and the segment - * info to stream time (which is always between 0 and the duration of the stream). - */ -public class Segment -{ - /** the main Gtk struct */ - protected GstSegment* gstSegment; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstSegment* getSegmentStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstSegment; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstSegment; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstSegment* gstSegment, bool ownedRef = false) - { - this.gstSegment = gstSegment; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTREAMER) && ownedRef ) - gst_segment_free(gstSegment); - } - - - /** */ - public static GType getType() - { - return gst_segment_get_type(); - } - - /** - * Allocate a new #GstSegment structure and initialize it using - * gst_segment_init(). - * - * Free-function: gst_segment_free - * - * Returns: a new #GstSegment, free with gst_segment_free(). - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_segment_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstSegment*) __p); - } - - /** - * Clip the given @start and @stop values to the segment boundaries given - * in @segment. @start and @stop are compared and clipped to @segment - * start and stop values. - * - * If the function returns %FALSE, @start and @stop are known to fall - * outside of @segment and @clip_start and @clip_stop are not updated. - * - * When the function returns %TRUE, @clip_start and @clip_stop will be - * updated. If @clip_start or @clip_stop are different from @start or @stop - * respectively, the region fell partially in the segment. - * - * Note that when @stop is -1, @clip_stop will be set to the end of the - * segment. Depending on the use case, this may or may not be what you want. - * - * Params: - * format = the format of the segment. - * start = the start position in the segment - * stop = the stop position in the segment - * clipStart = the clipped start position in the segment - * clipStop = the clipped stop position in the segment - * - * Returns: %TRUE if the given @start and @stop times fall partially or - * completely in @segment, %FALSE if the values are completely outside - * of the segment. - */ - public bool clip(GstFormat format, ulong start, ulong stop, out ulong clipStart, out ulong clipStop) - { - return gst_segment_clip(gstSegment, format, start, stop, &clipStart, &clipStop) != 0; - } - - /** - * Create a copy of given @segment. - * - * Free-function: gst_segment_free - * - * Returns: a new #GstSegment, free with gst_segment_free(). - */ - public Segment copy() - { - auto __p = gst_segment_copy(gstSegment); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Segment)(cast(GstSegment*) __p, true); - } - - /** - * Copy the contents of @src into @dest. - * - * Params: - * dest = a #GstSegment - */ - public void copyInto(Segment dest) - { - gst_segment_copy_into(gstSegment, (dest is null) ? null : dest.getSegmentStruct()); - } - - /** - * Update the segment structure with the field values of a seek event (see - * gst_event_new_seek()). - * - * After calling this method, the segment field position and time will - * contain the requested new position in the segment. The new requested - * position in the segment depends on @rate and @start_type and @stop_type. - * - * For positive @rate, the new position in the segment is the new @segment - * start field when it was updated with a @start_type different from - * #GST_SEEK_TYPE_NONE. If no update was performed on @segment start position - * (#GST_SEEK_TYPE_NONE), @start is ignored and @segment position is - * unmodified. - * - * For negative @rate, the new position in the segment is the new @segment - * stop field when it was updated with a @stop_type different from - * #GST_SEEK_TYPE_NONE. If no stop was previously configured in the segment, the - * duration of the segment will be used to update the stop position. - * If no update was performed on @segment stop position (#GST_SEEK_TYPE_NONE), - * @stop is ignored and @segment position is unmodified. - * - * The applied rate of the segment will be set to 1.0 by default. - * If the caller can apply a rate change, it should update @segment - * rate and applied_rate after calling this function. - * - * @update will be set to %TRUE if a seek should be performed to the segment - * position field. This field can be %FALSE if, for example, only the @rate - * has been changed but not the playback position. - * - * Params: - * rate = the rate of the segment. - * format = the format of the segment. - * flags = the segment flags for the segment - * startType = the seek method - * start = the seek start value - * stopType = the seek method - * stop = the seek stop value - * update = boolean holding whether position was updated. - * - * Returns: %TRUE if the seek could be performed. - */ - public bool doSeek(double rate, GstFormat format, GstSeekFlags flags, GstSeekType startType, ulong start, GstSeekType stopType, ulong stop, ref bool update) - { - int outupdate = (update ? 1 : 0); - - auto __p = gst_segment_do_seek(gstSegment, rate, format, flags, startType, start, stopType, stop, &outupdate) != 0; - - update = (outupdate == 1); - - return __p; - } - - /** - * Free the allocated segment @segment. - */ - public void free() - { - gst_segment_free(gstSegment); - ownedRef = false; - } - - /** - * The start/position fields are set to 0 and the stop/duration - * fields are set to -1 (unknown). The default rate of 1.0 and no - * flags are set. - * - * Initialize @segment to its default values. - * - * Params: - * format = the format of the segment. - */ - public void init(GstFormat format) - { - gst_segment_init(gstSegment, format); - } - - /** - * Checks for two segments being equal. Equality here is defined - * as perfect equality, including floating point values. - * - * Params: - * s1 = a #GstSegment structure. - * - * Returns: %TRUE if the segments are equal, %FALSE otherwise. - * - * Since: 1.6 - */ - public bool isEqual(Segment s1) - { - return gst_segment_is_equal(gstSegment, (s1 is null) ? null : s1.getSegmentStruct()) != 0; - } - - /** - * Adjust the values in @segment so that @offset is applied to all - * future running-time calculations. - * - * Params: - * format = the format of the segment. - * offset = the offset to apply in the segment - * - * Returns: %TRUE if the segment could be updated successfully. If %FALSE is - * returned, @offset is not in @segment. - * - * Since: 1.2.3 - */ - public bool offsetRunningTime(GstFormat format, long offset) - { - return gst_segment_offset_running_time(gstSegment, format, offset) != 0; - } - - /** - * Convert @running_time into a position in the segment so that - * gst_segment_to_running_time() with that position returns @running_time. - * - * Params: - * format = the format of the segment. - * runningTime = the running_time in the segment - * - * Returns: the position in the segment for @running_time. This function returns - * -1 when @running_time is -1 or when it is not inside @segment. - * - * Since: 1.8 - */ - public ulong positionFromRunningTime(GstFormat format, ulong runningTime) - { - return gst_segment_position_from_running_time(gstSegment, format, runningTime); - } - - /** - * Translate @running_time to the segment position using the currently configured - * segment. Compared to gst_segment_position_from_running_time() this function can - * return negative segment position. - * - * This function is typically used by elements that need to synchronize buffers - * against the clock or each other. - * - * @running_time can be any value and the result of this function for values - * outside of the segment is extrapolated. - * - * When 1 is returned, @running_time resulted in a positive position returned - * in @position. - * - * When this function returns -1, the returned @position was < 0, and the value - * in the position variable should be negated to get the real negative segment - * position. - * - * Params: - * format = the format of the segment. - * runningTime = the running-time - * position = the resulting position in the segment - * - * Returns: a 1 or -1 on success, 0 on failure. - * - * Since: 1.8 - */ - public int positionFromRunningTimeFull(GstFormat format, ulong runningTime, out ulong position) - { - return gst_segment_position_from_running_time_full(gstSegment, format, runningTime, &position); - } - - /** - * Convert @stream_time into a position in the segment so that - * gst_segment_to_stream_time() with that position returns @stream_time. - * - * Params: - * format = the format of the segment. - * streamTime = the stream_time in the segment - * - * Returns: the position in the segment for @stream_time. This function returns - * -1 when @stream_time is -1 or when it is not inside @segment. - * - * Since: 1.8 - */ - public ulong positionFromStreamTime(GstFormat format, ulong streamTime) - { - return gst_segment_position_from_stream_time(gstSegment, format, streamTime); - } - - /** - * Translate @stream_time to the segment position using the currently configured - * segment. Compared to gst_segment_position_from_stream_time() this function can - * return negative segment position. - * - * This function is typically used by elements that need to synchronize buffers - * against the clock or each other. - * - * @stream_time can be any value and the result of this function for values outside - * of the segment is extrapolated. - * - * When 1 is returned, @stream_time resulted in a positive position returned - * in @position. - * - * When this function returns -1, the returned @position should be negated - * to get the real negative segment position. - * - * Params: - * format = the format of the segment. - * streamTime = the stream-time - * position = the resulting position in the segment - * - * Returns: a 1 or -1 on success, 0 on failure. - * - * Since: 1.8 - */ - public int positionFromStreamTimeFull(GstFormat format, ulong streamTime, out ulong position) - { - return gst_segment_position_from_stream_time_full(gstSegment, format, streamTime, &position); - } - - /** - * Adjust the start/stop and base values of @segment such that the next valid - * buffer will be one with @running_time. - * - * Params: - * format = the format of the segment. - * runningTime = the running_time in the segment - * - * Returns: %TRUE if the segment could be updated successfully. If %FALSE is - * returned, @running_time is -1 or not in @segment. - */ - public bool setRunningTime(GstFormat format, ulong runningTime) - { - return gst_segment_set_running_time(gstSegment, format, runningTime) != 0; - } - - /** - * Convert @running_time into a position in the segment so that - * gst_segment_to_running_time() with that position returns @running_time. - * - * Deprecated: Use gst_segment_position_from_running_time() instead. - * - * Params: - * format = the format of the segment. - * runningTime = the running_time in the segment - * - * Returns: the position in the segment for @running_time. This function returns - * -1 when @running_time is -1 or when it is not inside @segment. - */ - public ulong toPosition(GstFormat format, ulong runningTime) - { - return gst_segment_to_position(gstSegment, format, runningTime); - } - - /** - * Translate @position to the total running time using the currently configured - * segment. Position is a value between @segment start and stop time. - * - * This function is typically used by elements that need to synchronize to the - * global clock in a pipeline. The running time is a constantly increasing value - * starting from 0. When gst_segment_init() is called, this value will reset to - * 0. - * - * This function returns -1 if the position is outside of @segment start and stop. - * - * Params: - * format = the format of the segment. - * position = the position in the segment - * - * Returns: the position as the total running time or -1 when an invalid position - * was given. - */ - public ulong toRunningTime(GstFormat format, ulong position) - { - return gst_segment_to_running_time(gstSegment, format, position); - } - - /** - * Translate @position to the total running time using the currently configured - * segment. Compared to gst_segment_to_running_time() this function can return - * negative running-time. - * - * This function is typically used by elements that need to synchronize buffers - * against the clock or each other. - * - * @position can be any value and the result of this function for values outside - * of the segment is extrapolated. - * - * When 1 is returned, @position resulted in a positive running-time returned - * in @running_time. - * - * When this function returns -1, the returned @running_time should be negated - * to get the real negative running time. - * - * Params: - * format = the format of the segment. - * position = the position in the segment - * runningTime = result running-time - * - * Returns: a 1 or -1 on success, 0 on failure. - * - * Since: 1.6 - */ - public int toRunningTimeFull(GstFormat format, ulong position, out ulong runningTime) - { - return gst_segment_to_running_time_full(gstSegment, format, position, &runningTime); - } - - /** - * Translate @position to stream time using the currently configured - * segment. The @position value must be between @segment start and - * stop value. - * - * This function is typically used by elements that need to operate on - * the stream time of the buffers it receives, such as effect plugins. - * In those use cases, @position is typically the buffer timestamp or - * clock time that one wants to convert to the stream time. - * The stream time is always between 0 and the total duration of the - * media stream. - * - * Params: - * format = the format of the segment. - * position = the position in the segment - * - * Returns: the position in stream_time or -1 when an invalid position - * was given. - * - * Since: 1.8 - */ - public ulong toStreamTime(GstFormat format, ulong position) - { - return gst_segment_to_stream_time(gstSegment, format, position); - } - - /** - * Translate @position to the total stream time using the currently configured - * segment. Compared to gst_segment_to_stream_time() this function can return - * negative stream-time. - * - * This function is typically used by elements that need to synchronize buffers - * against the clock or each other. - * - * @position can be any value and the result of this function for values outside - * of the segment is extrapolated. - * - * When 1 is returned, @position resulted in a positive stream-time returned - * in @stream_time. - * - * When this function returns -1, the returned @stream_time should be negated - * to get the real negative stream time. - * - * Params: - * format = the format of the segment. - * position = the position in the segment - * streamTime = result stream-time - * - * Returns: a 1 or -1 on success, 0 on failure. - * - * Since: 1.8 - */ - public int toStreamTimeFull(GstFormat format, ulong position, out ulong streamTime) - { - return gst_segment_to_stream_time_full(gstSegment, format, position, &streamTime); - } -} diff --git a/generated/gstreamer/gstreamer/StaticPadTemplate.d b/generated/gstreamer/gstreamer/StaticPadTemplate.d deleted file mode 100644 index 637bb62e9..000000000 --- a/generated/gstreamer/gstreamer/StaticPadTemplate.d +++ /dev/null @@ -1,170 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.StaticPadTemplate; - -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.Caps; -private import gstreamer.PadTemplate; -private import gstreamer.StaticCaps; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import gtkd.Loader; - - -/** - * Structure describing the #GstStaticPadTemplate. - */ -public final class StaticPadTemplate -{ - /** the main Gtk struct */ - protected GstStaticPadTemplate* gstStaticPadTemplate; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstStaticPadTemplate* getStaticPadTemplateStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstStaticPadTemplate; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstStaticPadTemplate; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstStaticPadTemplate* gstStaticPadTemplate, bool ownedRef = false) - { - this.gstStaticPadTemplate = gstStaticPadTemplate; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTREAMER) && ownedRef ) - sliceFree(gstStaticPadTemplate); - } - - - /** - * the name of the template - */ - public @property string nameTemplate() - { - return Str.toString(gstStaticPadTemplate.nameTemplate); - } - - /** Ditto */ - public @property void nameTemplate(string value) - { - gstStaticPadTemplate.nameTemplate = Str.toStringz(value); - } - - /** - * the direction of the template - */ - public @property GstPadDirection direction() - { - return gstStaticPadTemplate.direction; - } - - /** Ditto */ - public @property void direction(GstPadDirection value) - { - gstStaticPadTemplate.direction = value; - } - - /** - * the presence of the template - */ - public @property GstPadPresence presence() - { - return gstStaticPadTemplate.presence; - } - - /** Ditto */ - public @property void presence(GstPadPresence value) - { - gstStaticPadTemplate.presence = value; - } - - /** - * the caps of the template. - */ - public @property GstStaticCaps staticCaps() - { - return gstStaticPadTemplate.staticCaps; - } - - /** Ditto */ - public @property void staticCaps(GstStaticCaps value) - { - gstStaticPadTemplate.staticCaps = value; - } - - /** - * Converts a #GstStaticPadTemplate into a #GstPadTemplate. - * - * Returns: a new #GstPadTemplate. - */ - public PadTemplate get() - { - auto __p = gst_static_pad_template_get(gstStaticPadTemplate); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(PadTemplate)(cast(GstPadTemplate*) __p); - } - - /** - * Gets the capabilities of the static pad template. - * - * Returns: the #GstCaps of the static pad template. - * Unref after usage. Since the core holds an additional - * ref to the returned caps, use gst_caps_make_writable() - * on the returned caps to modify it. - */ - public Caps getCaps() - { - auto __p = gst_static_pad_template_get_caps(gstStaticPadTemplate); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } -} diff --git a/generated/gstreamer/gstreamer/Stream.d b/generated/gstreamer/gstreamer/Stream.d deleted file mode 100644 index e2313ebab..000000000 --- a/generated/gstreamer/gstreamer/Stream.d +++ /dev/null @@ -1,244 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Stream; - -private import glib.ConstructionException; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.Caps; -private import gstreamer.ObjectGst; -private import gstreamer.TagList; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * A high-level object representing a single stream. It might be backed, or - * not, by an actual flow of data in a pipeline (#GstPad). - * - * A #GstStream does not care about data changes (such as decoding, encoding, - * parsing,...) as long as the underlying data flow corresponds to the same - * high-level flow (ex: a certain audio track). - * - * A #GstStream contains all the information pertinent to a stream, such as - * stream-id, tags, caps, type, ... - * - * Elements can subclass a #GstStream for internal usage (to contain information - * pertinent to streams of data). - * - * Since: 1.10 - */ -public class Stream : ObjectGst -{ - /** the main Gtk struct */ - protected GstStream* gstStream; - - /** Get the main Gtk struct */ - public GstStream* getStreamStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstStream; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstStream; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstStream* gstStream, bool ownedRef = false) - { - this.gstStream = gstStream; - super(cast(GstObject*)gstStream, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_stream_get_type(); - } - - /** - * Create a new #GstStream for the given @stream_id, @caps, @type - * and @flags - * - * Params: - * streamId = the id for the new stream. If %NULL, - * a new one will be automatically generated - * caps = the #GstCaps of the stream - * type = the #GstStreamType of the stream - * flags = the #GstStreamFlags of the stream - * - * Returns: The new #GstStream - * - * Since: 1.10 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string streamId, Caps caps, GstStreamType type, GstStreamFlags flags) - { - auto __p = gst_stream_new(Str.toStringz(streamId), (caps is null) ? null : caps.getCapsStruct(), type, flags); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstStream*) __p, true); - } - - /** - * Retrieve the caps for @stream, if any - * - * Returns: The #GstCaps for @stream - * - * Since: 1.10 - */ - public Caps getCaps() - { - auto __p = gst_stream_get_caps(gstStream); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); - } - - /** - * Retrieve the current stream flags for @stream - * - * Returns: The #GstStreamFlags for @stream - * - * Since: 1.10 - */ - public GstStreamFlags getStreamFlags() - { - return gst_stream_get_stream_flags(gstStream); - } - - /** - * Returns the stream ID of @stream. - * - * Returns: the stream ID of @stream. Only valid - * during the lifetime of @stream. - * - * Since: 1.10 - */ - public string getStreamId() - { - return Str.toString(gst_stream_get_stream_id(gstStream)); - } - - /** - * Retrieve the stream type for @stream - * - * Returns: The #GstStreamType for @stream - * - * Since: 1.10 - */ - public GstStreamType getStreamType() - { - return gst_stream_get_stream_type(gstStream); - } - - /** - * Retrieve the tags for @stream, if any - * - * Returns: The #GstTagList for @stream - * - * Since: 1.10 - */ - public TagList getTags() - { - auto __p = gst_stream_get_tags(gstStream); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(TagList)(cast(GstTagList*) __p, true); - } - - /** - * Set the caps for the #GstStream - * - * Params: - * caps = a #GstCaps - * - * Since: 1.10 - */ - public void setCaps(Caps caps) - { - gst_stream_set_caps(gstStream, (caps is null) ? null : caps.getCapsStruct()); - } - - /** - * Set the @flags for the @stream. - * - * Params: - * flags = the flags to set on @stream - * - * Since: 1.10 - */ - public void setStreamFlags(GstStreamFlags flags) - { - gst_stream_set_stream_flags(gstStream, flags); - } - - /** - * Set the stream type of @stream - * - * Params: - * streamType = the type to set on @stream - * - * Since: 1.10 - */ - public void setStreamType(GstStreamType streamType) - { - gst_stream_set_stream_type(gstStream, streamType); - } - - /** - * Set the tags for the #GstStream - * - * Params: - * tags = a #GstTagList - * - * Since: 1.10 - */ - public void setTags(TagList tags) - { - gst_stream_set_tags(gstStream, (tags is null) ? null : tags.getTagListStruct()); - } -} diff --git a/generated/gstreamer/gstreamer/StreamCollection.d b/generated/gstreamer/gstreamer/StreamCollection.d deleted file mode 100644 index 9840d02b7..000000000 --- a/generated/gstreamer/gstreamer/StreamCollection.d +++ /dev/null @@ -1,187 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.StreamCollection; - -private import glib.ConstructionException; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gobject.ParamSpec; -private import gobject.Signals; -private import gstreamer.ObjectGst; -private import gstreamer.Stream; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import std.algorithm; - - -/** - * A collection of #GstStream that are available. - * - * A #GstStreamCollection will be provided by elements that can make those - * streams available. Applications can use the collection to show the user - * what streams are available by using %gst_stream_collection_get_stream() - * - * Once posted, a #GstStreamCollection is immutable. Updates are made by sending - * a new #GstStreamCollection message, which may or may not share some of - * the #GstStream objects from the collection it replaces. The receiver can check - * the sender of a stream collection message to know which collection is - * obsoleted. - * - * Several elements in a pipeline can provide #GstStreamCollection. - * - * Applications can activate streams from a collection by using the - * #GST_EVENT_SELECT_STREAMS event on a pipeline, bin or element. - * - * Since: 1.10 - */ -public class StreamCollection : ObjectGst -{ - /** the main Gtk struct */ - protected GstStreamCollection* gstStreamCollection; - - /** Get the main Gtk struct */ - public GstStreamCollection* getStreamCollectionStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstStreamCollection; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstStreamCollection; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstStreamCollection* gstStreamCollection, bool ownedRef = false) - { - this.gstStreamCollection = gstStreamCollection; - super(cast(GstObject*)gstStreamCollection, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_stream_collection_get_type(); - } - - /** - * Create a new #GstStreamCollection. - * - * Params: - * upstreamId = The stream id of the parent stream - * - * Returns: The new #GstStreamCollection. - * - * Since: 1.10 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string upstreamId) - { - auto __p = gst_stream_collection_new(Str.toStringz(upstreamId)); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstStreamCollection*) __p, true); - } - - /** - * Add the given @stream to the @collection. - * - * Params: - * stream = the #GstStream to add - * - * Returns: %TRUE if the @stream was properly added, else %FALSE - * - * Since: 1.10 - */ - public bool addStream(Stream stream) - { - return gst_stream_collection_add_stream(gstStreamCollection, (stream is null) ? null : stream.getStreamStruct()) != 0; - } - - /** - * Get the number of streams this collection contains - * - * Returns: The number of streams that @collection contains - * - * Since: 1.10 - */ - public uint getSize() - { - return gst_stream_collection_get_size(gstStreamCollection); - } - - /** - * Retrieve the #GstStream with index @index from the collection. - * - * The caller should not modify the returned #GstStream - * - * Params: - * index = Index of the stream to retrieve - * - * Returns: A #GstStream - * - * Since: 1.10 - */ - public Stream getStream(uint index) - { - auto __p = gst_stream_collection_get_stream(gstStreamCollection, index); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Stream)(cast(GstStream*) __p); - } - - /** - * Returns the upstream id of the @collection. - * - * Returns: The upstream id - * - * Since: 1.10 - */ - public string getUpstreamId() - { - return Str.toString(gst_stream_collection_get_upstream_id(gstStreamCollection)); - } - - /** */ - gulong addOnStreamNotify(void delegate(Stream, ParamSpec, StreamCollection) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) - { - return Signals.connect(this, "stream-notify", dlg, connectFlags ^ ConnectFlags.SWAPPED); - } -} diff --git a/generated/gstreamer/gstreamer/Structure.d b/generated/gstreamer/gstreamer/Structure.d deleted file mode 100644 index e23819fd3..000000000 --- a/generated/gstreamer/gstreamer/Structure.d +++ /dev/null @@ -1,1306 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Structure; - -private import glib.ConstructionException; -private import glib.Date; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gobject.Value; -private import gobject.ValueArray; -private import gstreamer.DateTime; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import gtkd.Loader; - - -/** - * A #GstStructure is a collection of key/value pairs. The keys are expressed as - * GQuarks and the values can be of any GType. - * - * In addition to the key/value pairs, a #GstStructure also has a name. The name - * starts with a letter and can be filled by letters, numbers and any of - * "/-_.:". - * - * #GstStructure is used by various GStreamer subsystems to store information in - * a flexible and extensible way. A #GstStructure does not have a refcount - * because it usually is part of a higher level object such as #GstCaps, - * #GstMessage, #GstEvent, #GstQuery. It provides a means to enforce mutability - * using the refcount of the parent with the gst_structure_set_parent_refcount() - * method. - * - * A #GstStructure can be created with gst_structure_new_empty() or - * gst_structure_new(), which both take a name and an optional set of key/value - * pairs along with the types of the values. - * - * Field values can be changed with gst_structure_set_value() or - * gst_structure_set(). - * - * Field values can be retrieved with gst_structure_get_value() or the more - * convenient gst_structure_get_*() functions. - * - * Fields can be removed with gst_structure_remove_field() or - * gst_structure_remove_fields(). - * - * Strings in structures must be ASCII or UTF-8 encoded. Other encodings are not - * allowed. Strings may be %NULL however. - * - * ## The serialization format - * - * GstStructure serialization format serialize the GstStructure name, - * keys/GType/values in a comma separated list with the structure name as first - * field without value followed by separated key/value pairs in the form - * `key=value`, for example: - * - * ``` - * a-structure, key=value - * ```` - * - * The values type will be inferred if not explicitly specified with the - * `(GTypeName)value` syntax, for example the following struct will have one - * field called 'is-string' which has the string 'true' as a value: - * - * ``` - * a-struct, field-is-string=(string)true, field-is-boolean=true - * ``` - * - * *Note*: without specifying `(string), `field-is-string` type would have been - * inferred as boolean. - * - * *Note*: we specified `(string)` as a type even if `gchararray` is the actual - * GType name as for convenience some well known types have been aliased or - * abbreviated. - * - * To avoid specifying the type, you can give some hints to the "type system". - * For example to specify a value as a double, you should add a decimal (ie. `1` - * is an `int` while `1.0` is a `double`). - * - * *Note*: when a structure is serialized with #gst_structure_to_string, all - * values are explicitly typed. - * - * Some types have special delimiters: - * - * - [GstValueArray](GST_TYPE_ARRAY) are inside curly brackets (`{` and `}`). - * For example `a-structure, array={1, 2, 3}` - * - Ranges are inside brackets (`[` and `]`). For example `a-structure, - * range=[1, 6, 2]` 1 being the min value, 6 the maximum and 2 the step. To - * specify a #GST_TYPE_INT64_RANGE you need to explicitly specify it like: - * `a-structure, a-int64-range=(gint64) [1, 5]` - * - [GstValueList](GST_TYPE_LIST) are inside "less and greater than" (`<` and - * `>`). For example `a-structure, list=<1, 2, 3> - * - * Structures are delimited either by a null character `\0` or a semicolumn `;` - * the latter allowing to store multiple structures in the same string (see - * #GstCaps). - * - * Quotes are used as "default" delimiters and can be used around any types that - * don't use other delimiters (for example `a-struct, i=(int)"1"`). They are use - * to allow adding spaces or special characters (such as delimiters, - * semicolumns, etc..) inside strings and you can use backslashes `\` to escape - * characters inside them, for example: - * - * ``` - * a-struct, special="\"{[(;)]}\" can be used inside quotes" - * ``` - * - * They also allow for nested structure, such as: - * - * ``` - * a-struct, nested=(GstStructure)"nested-struct, nested=true" - * ``` - * - * > *Note*: Be aware that the current #GstCaps / #GstStructure serialization - * > into string has limited support for nested #GstCaps / #GstStructure fields. - * > It can only support one level of nesting. Using more levels will lead to - * > unexpected behavior when using serialization features, such as - * > gst_caps_to_string() or gst_value_serialize() and their counterparts. - */ -public class Structure -{ - /** the main Gtk struct */ - protected GstStructure* gstStructure; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstStructure* getStructureStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstStructure; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstStructure; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstStructure* gstStructure, bool ownedRef = false) - { - this.gstStructure = gstStructure; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTREAMER) && ownedRef ) - gst_structure_free(gstStructure); - } - - public static Structure fromString(string name) - { - auto p = gst_structure_new_from_string(Str.toStringz(name)); - - if(p is null) - { - throw new ConstructionException("null returned by gst_structure_new_from_string(Str.toStringz(name))"); - } - - return new Structure(cast(GstStructure*)p); //, true); - } - - /** - */ - - /** */ - public static GType getType() - { - return gst_structure_get_type(); - } - - /** - * Creates a #GstStructure from a string representation. - * If end is not %NULL, a pointer to the place inside the given string - * where parsing ended will be returned. - * - * Free-function: gst_structure_free - * - * Params: - * string_ = a string representation of a #GstStructure. - * end = pointer to store the end of the string in. - * - * Returns: a new #GstStructure or %NULL - * when the string could not be parsed. Free with - * gst_structure_free() after use. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string string_, out string end) - { - char* outend = null; - - auto __p = gst_structure_from_string(Str.toStringz(string_), &outend); - - if(__p is null) - { - throw new ConstructionException("null returned by from_string"); - } - - end = Str.toString(outend); - - this(cast(GstStructure*) __p); - } - - /** - * Creates a new, empty #GstStructure with the given @name. - * - * See gst_structure_set_name() for constraints on the @name parameter. - * - * Free-function: gst_structure_free - * - * Params: - * name = name of new structure - * - * Returns: a new, empty #GstStructure - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string name) - { - auto __p = gst_structure_new_empty(Str.toStringz(name)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_empty"); - } - - this(cast(GstStructure*) __p); - } - - /** - * Creates a new, empty #GstStructure with the given name as a GQuark. - * - * Free-function: gst_structure_free - * - * Params: - * quark = name of new structure - * - * Returns: a new, empty #GstStructure - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GQuark quark) - { - auto __p = gst_structure_new_id_empty(quark); - - if(__p is null) - { - throw new ConstructionException("null returned by new_id_empty"); - } - - this(cast(GstStructure*) __p); - } - - /** - * Creates a new #GstStructure with the given @name. Structure fields - * are set according to the varargs in a manner similar to - * gst_structure_new(). - * - * See gst_structure_set_name() for constraints on the @name parameter. - * - * Free-function: gst_structure_free - * - * Params: - * name = name of new structure - * firstfield = name of first field to set - * varargs = variable argument list - * - * Returns: a new #GstStructure - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string name, string firstfield, void* varargs) - { - auto __p = gst_structure_new_valist(Str.toStringz(name), Str.toStringz(firstfield), varargs); - - if(__p is null) - { - throw new ConstructionException("null returned by new_valist"); - } - - this(cast(GstStructure*) __p); - } - - /** - * Tries intersecting @struct1 and @struct2 and reports whether the result - * would not be empty. - * - * Params: - * struct2 = a #GstStructure - * - * Returns: %TRUE if intersection would not be empty - */ - public bool canIntersect(Structure struct2) - { - return gst_structure_can_intersect(gstStructure, (struct2 is null) ? null : struct2.getStructureStruct()) != 0; - } - - /** - * Duplicates a #GstStructure and all its fields and values. - * - * Free-function: gst_structure_free - * - * Returns: a new #GstStructure. - */ - public Structure copy() - { - auto __p = gst_structure_copy(gstStructure); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p, true); - } - - /** - * Calls the provided function once for each field in the #GstStructure. In - * contrast to gst_structure_foreach(), the function may modify the fields. - * In contrast to gst_structure_map_in_place(), the field is removed from - * the structure if %FALSE is returned from the function. - * The structure must be mutable. - * - * Params: - * func = a function to call for each field - * userData = private data - * - * Since: 1.6 - */ - public void filterAndMapInPlace(GstStructureFilterMapFunc func, void* userData) - { - gst_structure_filter_and_map_in_place(gstStructure, func, userData); - } - - /** - * Fixate all values in @structure using gst_value_fixate(). - * @structure will be modified in-place and should be writable. - */ - public void fixate() - { - gst_structure_fixate(gstStructure); - } - - /** - * Fixates a #GstStructure by changing the given field with its fixated value. - * - * Params: - * fieldName = a field in @structure - * - * Returns: %TRUE if the structure field could be fixated - */ - public bool fixateField(string fieldName) - { - return gst_structure_fixate_field(gstStructure, Str.toStringz(fieldName)) != 0; - } - - /** - * Fixates a #GstStructure by changing the given @field_name field to the given - * @target boolean if that field is not fixed yet. - * - * Params: - * fieldName = a field in @structure - * target = the target value of the fixation - * - * Returns: %TRUE if the structure could be fixated - */ - public bool fixateFieldBoolean(string fieldName, bool target) - { - return gst_structure_fixate_field_boolean(gstStructure, Str.toStringz(fieldName), target) != 0; - } - - /** - * Fixates a #GstStructure by changing the given field to the nearest - * double to @target that is a subset of the existing field. - * - * Params: - * fieldName = a field in @structure - * target = the target value of the fixation - * - * Returns: %TRUE if the structure could be fixated - */ - public bool fixateFieldNearestDouble(string fieldName, double target) - { - return gst_structure_fixate_field_nearest_double(gstStructure, Str.toStringz(fieldName), target) != 0; - } - - /** - * Fixates a #GstStructure by changing the given field to the nearest - * fraction to @target_numerator/@target_denominator that is a subset - * of the existing field. - * - * Params: - * fieldName = a field in @structure - * targetNumerator = The numerator of the target value of the fixation - * targetDenominator = The denominator of the target value of the fixation - * - * Returns: %TRUE if the structure could be fixated - */ - public bool fixateFieldNearestFraction(string fieldName, int targetNumerator, int targetDenominator) - { - return gst_structure_fixate_field_nearest_fraction(gstStructure, Str.toStringz(fieldName), targetNumerator, targetDenominator) != 0; - } - - /** - * Fixates a #GstStructure by changing the given field to the nearest - * integer to @target that is a subset of the existing field. - * - * Params: - * fieldName = a field in @structure - * target = the target value of the fixation - * - * Returns: %TRUE if the structure could be fixated - */ - public bool fixateFieldNearestInt(string fieldName, int target) - { - return gst_structure_fixate_field_nearest_int(gstStructure, Str.toStringz(fieldName), target) != 0; - } - - /** - * Fixates a #GstStructure by changing the given @field_name field to the given - * @target string if that field is not fixed yet. - * - * Params: - * fieldName = a field in @structure - * target = the target value of the fixation - * - * Returns: %TRUE if the structure could be fixated - */ - public bool fixateFieldString(string fieldName, string target) - { - return gst_structure_fixate_field_string(gstStructure, Str.toStringz(fieldName), Str.toStringz(target)) != 0; - } - - alias foreac = foreach_; - /** - * Calls the provided function once for each field in the #GstStructure. The - * function must not modify the fields. Also see gst_structure_map_in_place() - * and gst_structure_filter_and_map_in_place(). - * - * Params: - * func = a function to call for each field - * userData = private data - * - * Returns: %TRUE if the supplied function returns %TRUE For each of the fields, - * %FALSE otherwise. - */ - public bool foreach_(GstStructureForeachFunc func, void* userData) - { - return gst_structure_foreach(gstStructure, func, userData) != 0; - } - - /** - * Frees a #GstStructure and all its fields and values. The structure must not - * have a parent when this function is called. - */ - public void free() - { - gst_structure_free(gstStructure); - ownedRef = false; - } - - /** - * This is useful in language bindings where unknown #GValue types are not - * supported. This function will convert the %GST_TYPE_ARRAY into a newly - * allocated #GValueArray and return it through @array. Be aware that this is - * slower then getting the #GValue directly. - * - * Params: - * fieldname = the name of a field - * array = a pointer to a #GValueArray - * - * Returns: %TRUE if the value could be set correctly. If there was no field - * with @fieldname or the existing field did not contain a %GST_TYPE_ARRAY, - * this function returns %FALSE. - * - * Since: 1.12 - */ - public bool getArray(string fieldname, out ValueArray array) - { - GValueArray* outarray = null; - - auto __p = gst_structure_get_array(gstStructure, Str.toStringz(fieldname), &outarray) != 0; - - array = ObjectG.getDObject!(ValueArray)(outarray); - - return __p; - } - - /** - * Sets the boolean pointed to by @value corresponding to the value of the - * given field. Caller is responsible for making sure the field exists - * and has the correct type. - * - * Params: - * fieldname = the name of a field - * value = a pointer to a #gboolean to set - * - * Returns: %TRUE if the value could be set correctly. If there was no field - * with @fieldname or the existing field did not contain a boolean, this - * function returns %FALSE. - */ - public bool getBoolean(string fieldname, out bool value) - { - int outvalue; - - auto __p = gst_structure_get_boolean(gstStructure, Str.toStringz(fieldname), &outvalue) != 0; - - value = (outvalue == 1); - - return __p; - } - - /** - * Sets the clock time pointed to by @value corresponding to the clock time - * of the given field. Caller is responsible for making sure the field exists - * and has the correct type. - * - * Params: - * fieldname = the name of a field - * value = a pointer to a #GstClockTime to set - * - * Returns: %TRUE if the value could be set correctly. If there was no field - * with @fieldname or the existing field did not contain a #GstClockTime, this - * function returns %FALSE. - */ - public bool getClockTime(string fieldname, out GstClockTime value) - { - return gst_structure_get_clock_time(gstStructure, Str.toStringz(fieldname), &value) != 0; - } - - /** - * Sets the date pointed to by @value corresponding to the date of the - * given field. Caller is responsible for making sure the field exists - * and has the correct type. - * - * On success @value will point to a newly-allocated copy of the date which - * should be freed with g_date_free() when no longer needed (note: this is - * inconsistent with e.g. gst_structure_get_string() which doesn't return a - * copy of the string). - * - * Params: - * fieldname = the name of a field - * value = a pointer to a #GDate to set - * - * Returns: %TRUE if the value could be set correctly. If there was no field - * with @fieldname or the existing field did not contain a data, this function - * returns %FALSE. - */ - public bool getDate(string fieldname, out Date value) - { - GDate* outvalue = null; - - auto __p = gst_structure_get_date(gstStructure, Str.toStringz(fieldname), &outvalue) != 0; - - value = new Date(outvalue); - - return __p; - } - - /** - * Sets the datetime pointed to by @value corresponding to the datetime of the - * given field. Caller is responsible for making sure the field exists - * and has the correct type. - * - * On success @value will point to a reference of the datetime which - * should be unreffed with gst_date_time_unref() when no longer needed - * (note: this is inconsistent with e.g. gst_structure_get_string() - * which doesn't return a copy of the string). - * - * Params: - * fieldname = the name of a field - * value = a pointer to a #GstDateTime to set - * - * Returns: %TRUE if the value could be set correctly. If there was no field - * with @fieldname or the existing field did not contain a data, this function - * returns %FALSE. - */ - public bool getDateTime(string fieldname, out DateTime value) - { - GstDateTime* outvalue = null; - - auto __p = gst_structure_get_date_time(gstStructure, Str.toStringz(fieldname), &outvalue) != 0; - - value = ObjectG.getDObject!(DateTime)(outvalue); - - return __p; - } - - /** - * Sets the double pointed to by @value corresponding to the value of the - * given field. Caller is responsible for making sure the field exists - * and has the correct type. - * - * Params: - * fieldname = the name of a field - * value = a pointer to a gdouble to set - * - * Returns: %TRUE if the value could be set correctly. If there was no field - * with @fieldname or the existing field did not contain a double, this - * function returns %FALSE. - */ - public bool getDouble(string fieldname, out double value) - { - return gst_structure_get_double(gstStructure, Str.toStringz(fieldname), &value) != 0; - } - - /** - * Sets the int pointed to by @value corresponding to the value of the - * given field. Caller is responsible for making sure the field exists, - * has the correct type and that the enumtype is correct. - * - * Params: - * fieldname = the name of a field - * enumtype = the enum type of a field - * value = a pointer to an int to set - * - * Returns: %TRUE if the value could be set correctly. If there was no field - * with @fieldname or the existing field did not contain an enum of the given - * type, this function returns %FALSE. - */ - public bool getEnum(string fieldname, GType enumtype, out int value) - { - return gst_structure_get_enum(gstStructure, Str.toStringz(fieldname), enumtype, &value) != 0; - } - - /** - * Finds the field with the given name, and returns the type of the - * value it contains. If the field is not found, G_TYPE_INVALID is - * returned. - * - * Params: - * fieldname = the name of the field - * - * Returns: the #GValue of the field - */ - public GType getFieldType(string fieldname) - { - return gst_structure_get_field_type(gstStructure, Str.toStringz(fieldname)); - } - - /** - * Read the GstFlagSet flags and mask out of the structure into the - * provided pointers. - * - * Params: - * fieldname = the name of a field - * valueFlags = a pointer to a guint for the flags field - * valueMask = a pointer to a guint for the mask field - * - * Returns: %TRUE if the values could be set correctly. If there was no field - * with @fieldname or the existing field did not contain a GstFlagSet, this - * function returns %FALSE. - * - * Since: 1.6 - */ - public bool getFlagset(string fieldname, out uint valueFlags, out uint valueMask) - { - return gst_structure_get_flagset(gstStructure, Str.toStringz(fieldname), &valueFlags, &valueMask) != 0; - } - - /** - * Sets the integers pointed to by @value_numerator and @value_denominator - * corresponding to the value of the given field. Caller is responsible - * for making sure the field exists and has the correct type. - * - * Params: - * fieldname = the name of a field - * valueNumerator = a pointer to an int to set - * valueDenominator = a pointer to an int to set - * - * Returns: %TRUE if the values could be set correctly. If there was no field - * with @fieldname or the existing field did not contain a GstFraction, this - * function returns %FALSE. - */ - public bool getFraction(string fieldname, out int valueNumerator, out int valueDenominator) - { - return gst_structure_get_fraction(gstStructure, Str.toStringz(fieldname), &valueNumerator, &valueDenominator) != 0; - } - - /** - * Sets the int pointed to by @value corresponding to the value of the - * given field. Caller is responsible for making sure the field exists - * and has the correct type. - * - * Params: - * fieldname = the name of a field - * value = a pointer to an int to set - * - * Returns: %TRUE if the value could be set correctly. If there was no field - * with @fieldname or the existing field did not contain an int, this function - * returns %FALSE. - */ - public bool getInt(string fieldname, out int value) - { - return gst_structure_get_int(gstStructure, Str.toStringz(fieldname), &value) != 0; - } - - /** - * Sets the #gint64 pointed to by @value corresponding to the value of the - * given field. Caller is responsible for making sure the field exists - * and has the correct type. - * - * Params: - * fieldname = the name of a field - * value = a pointer to a #gint64 to set - * - * Returns: %TRUE if the value could be set correctly. If there was no field - * with @fieldname or the existing field did not contain a #gint64, this function - * returns %FALSE. - * - * Since: 1.4 - */ - public bool getInt64(string fieldname, out long value) - { - return gst_structure_get_int64(gstStructure, Str.toStringz(fieldname), &value) != 0; - } - - /** - * This is useful in language bindings where unknown #GValue types are not - * supported. This function will convert the %GST_TYPE_LIST into a newly - * allocated GValueArray and return it through @array. Be aware that this is - * slower then getting the #GValue directly. - * - * Params: - * fieldname = the name of a field - * array = a pointer to a #GValueArray - * - * Returns: %TRUE if the value could be set correctly. If there was no field - * with @fieldname or the existing field did not contain a %GST_TYPE_LIST, this - * function returns %FALSE. - * - * Since: 1.12 - */ - public bool getList(string fieldname, out ValueArray array) - { - GValueArray* outarray = null; - - auto __p = gst_structure_get_list(gstStructure, Str.toStringz(fieldname), &outarray) != 0; - - array = ObjectG.getDObject!(ValueArray)(outarray); - - return __p; - } - - /** - * Get the name of @structure as a string. - * - * Returns: the name of the structure. - */ - public string getName() - { - return Str.toString(gst_structure_get_name(gstStructure)); - } - - /** - * Get the name of @structure as a GQuark. - * - * Returns: the quark representing the name of the structure. - */ - public GQuark getNameId() - { - return gst_structure_get_name_id(gstStructure); - } - - /** - * Finds the field corresponding to @fieldname, and returns the string - * contained in the field's value. Caller is responsible for making - * sure the field exists and has the correct type. - * - * The string should not be modified, and remains valid until the next - * call to a gst_structure_*() function with the given structure. - * - * Params: - * fieldname = the name of a field - * - * Returns: a pointer to the string or %NULL when the - * field did not exist or did not contain a string. - */ - public string getString(string fieldname) - { - return Str.toString(gst_structure_get_string(gstStructure, Str.toStringz(fieldname))); - } - - /** - * Sets the uint pointed to by @value corresponding to the value of the - * given field. Caller is responsible for making sure the field exists - * and has the correct type. - * - * Params: - * fieldname = the name of a field - * value = a pointer to a uint to set - * - * Returns: %TRUE if the value could be set correctly. If there was no field - * with @fieldname or the existing field did not contain a uint, this function - * returns %FALSE. - */ - public bool getUint(string fieldname, out uint value) - { - return gst_structure_get_uint(gstStructure, Str.toStringz(fieldname), &value) != 0; - } - - /** - * Sets the #guint64 pointed to by @value corresponding to the value of the - * given field. Caller is responsible for making sure the field exists - * and has the correct type. - * - * Params: - * fieldname = the name of a field - * value = a pointer to a #guint64 to set - * - * Returns: %TRUE if the value could be set correctly. If there was no field - * with @fieldname or the existing field did not contain a #guint64, this function - * returns %FALSE. - * - * Since: 1.4 - */ - public bool getUint64(string fieldname, out ulong value) - { - return gst_structure_get_uint64(gstStructure, Str.toStringz(fieldname), &value) != 0; - } - - /** - * Parses the variable arguments and reads fields from @structure accordingly. - * valist-variant of gst_structure_get(). Look at the documentation of - * gst_structure_get() for more details. - * - * Params: - * firstFieldname = the name of the first field to read - * args = variable arguments - * - * Returns: %TRUE, or %FALSE if there was a problem reading any of the fields - */ - public bool getValist(string firstFieldname, void* args) - { - return gst_structure_get_valist(gstStructure, Str.toStringz(firstFieldname), args) != 0; - } - - /** - * Get the value of the field with name @fieldname. - * - * Params: - * fieldname = the name of the field to get - * - * Returns: the #GValue corresponding to the field with the given - * name. - */ - public Value getValue(string fieldname) - { - auto __p = gst_structure_get_value(gstStructure, Str.toStringz(fieldname)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Value)(cast(GValue*) __p); - } - - /** - * Check if @structure contains a field named @fieldname. - * - * Params: - * fieldname = the name of a field - * - * Returns: %TRUE if the structure contains a field with the given name - */ - public bool hasField(string fieldname) - { - return gst_structure_has_field(gstStructure, Str.toStringz(fieldname)) != 0; - } - - /** - * Check if @structure contains a field named @fieldname and with GType @type. - * - * Params: - * fieldname = the name of a field - * type = the type of a value - * - * Returns: %TRUE if the structure contains a field with the given name and type - */ - public bool hasFieldTyped(string fieldname, GType type) - { - return gst_structure_has_field_typed(gstStructure, Str.toStringz(fieldname), type) != 0; - } - - /** - * Checks if the structure has the given name - * - * Params: - * name = structure name to check for - * - * Returns: %TRUE if @name matches the name of the structure. - */ - public bool hasName(string name) - { - return gst_structure_has_name(gstStructure, Str.toStringz(name)) != 0; - } - - /** - * Parses the variable arguments and reads fields from @structure accordingly. - * valist-variant of gst_structure_id_get(). Look at the documentation of - * gst_structure_id_get() for more details. - * - * Params: - * firstFieldId = the quark of the first field to read - * args = variable arguments - * - * Returns: %TRUE, or %FALSE if there was a problem reading any of the fields - */ - public bool idGetValist(GQuark firstFieldId, void* args) - { - return gst_structure_id_get_valist(gstStructure, firstFieldId, args) != 0; - } - - /** - * Get the value of the field with GQuark @field. - * - * Params: - * field = the #GQuark of the field to get - * - * Returns: the #GValue corresponding to the field with the given - * name identifier. - */ - public Value idGetValue(GQuark field) - { - auto __p = gst_structure_id_get_value(gstStructure, field); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Value)(cast(GValue*) __p); - } - - /** - * Check if @structure contains a field named @field. - * - * Params: - * field = #GQuark of the field name - * - * Returns: %TRUE if the structure contains a field with the given name - */ - public bool idHasField(GQuark field) - { - return gst_structure_id_has_field(gstStructure, field) != 0; - } - - /** - * Check if @structure contains a field named @field and with GType @type. - * - * Params: - * field = #GQuark of the field name - * type = the type of a value - * - * Returns: %TRUE if the structure contains a field with the given name and type - */ - public bool idHasFieldTyped(GQuark field, GType type) - { - return gst_structure_id_has_field_typed(gstStructure, field, type) != 0; - } - - /** - * va_list form of gst_structure_id_set(). - * - * Params: - * fieldname = the name of the field to set - * varargs = variable arguments - */ - public void idSetValist(GQuark fieldname, void* varargs) - { - gst_structure_id_set_valist(gstStructure, fieldname, varargs); - } - - /** - * Sets the field with the given GQuark @field to @value. If the field - * does not exist, it is created. If the field exists, the previous - * value is replaced and freed. - * - * Params: - * field = a #GQuark representing a field - * value = the new value of the field - */ - public void idSetValue(GQuark field, Value value) - { - gst_structure_id_set_value(gstStructure, field, (value is null) ? null : value.getValueStruct()); - } - - /** - * Sets the field with the given GQuark @field to @value. If the field - * does not exist, it is created. If the field exists, the previous - * value is replaced and freed. - * - * Params: - * field = a #GQuark representing a field - * value = the new value of the field - */ - public void idTakeValue(GQuark field, Value value) - { - gst_structure_id_take_value(gstStructure, field, (value is null) ? null : value.getValueStruct()); - } - - /** - * Intersects @struct1 and @struct2 and returns the intersection. - * - * Params: - * struct2 = a #GstStructure - * - * Returns: Intersection of @struct1 and @struct2 - */ - public Structure intersect(Structure struct2) - { - auto __p = gst_structure_intersect(gstStructure, (struct2 is null) ? null : struct2.getStructureStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p, true); - } - - /** - * Tests if the two #GstStructure are equal. - * - * Params: - * structure2 = a #GstStructure. - * - * Returns: %TRUE if the two structures have the same name and field. - */ - public bool isEqual(Structure structure2) - { - return gst_structure_is_equal(gstStructure, (structure2 is null) ? null : structure2.getStructureStruct()) != 0; - } - - /** - * Checks if @subset is a subset of @superset, i.e. has the same - * structure name and for all fields that are existing in @superset, - * @subset has a value that is a subset of the value in @superset. - * - * Params: - * superset = a potentially greater #GstStructure - * - * Returns: %TRUE if @subset is a subset of @superset - */ - public bool isSubset(Structure superset) - { - return gst_structure_is_subset(gstStructure, (superset is null) ? null : superset.getStructureStruct()) != 0; - } - - /** - * Calls the provided function once for each field in the #GstStructure. In - * contrast to gst_structure_foreach(), the function may modify but not delete the - * fields. The structure must be mutable. - * - * Params: - * func = a function to call for each field - * userData = private data - * - * Returns: %TRUE if the supplied function returns %TRUE For each of the fields, - * %FALSE otherwise. - */ - public bool mapInPlace(GstStructureMapFunc func, void* userData) - { - return gst_structure_map_in_place(gstStructure, func, userData) != 0; - } - - /** - * Get the number of fields in the structure. - * - * Returns: the number of fields in the structure - */ - public int nFields() - { - return gst_structure_n_fields(gstStructure); - } - - /** - * Get the name of the given field number, counting from 0 onwards. - * - * Params: - * index = the index to get the name of - * - * Returns: the name of the given field number - */ - public string nthFieldName(uint index) - { - return Str.toString(gst_structure_nth_field_name(gstStructure, index)); - } - - /** - * Removes all fields in a GstStructure. - */ - public void removeAllFields() - { - gst_structure_remove_all_fields(gstStructure); - } - - /** - * Removes the field with the given name. If the field with the given - * name does not exist, the structure is unchanged. - * - * Params: - * fieldname = the name of the field to remove - */ - public void removeField(string fieldname) - { - gst_structure_remove_field(gstStructure, Str.toStringz(fieldname)); - } - - /** - * va_list form of gst_structure_remove_fields(). - * - * Params: - * fieldname = the name of the field to remove - * varargs = %NULL-terminated list of more fieldnames to remove - */ - public void removeFieldsValist(string fieldname, void* varargs) - { - gst_structure_remove_fields_valist(gstStructure, Str.toStringz(fieldname), varargs); - } - - /** - * This is useful in language bindings where unknown GValue types are not - * supported. This function will convert a @array to %GST_TYPE_ARRAY and set - * the field specified by @fieldname. Be aware that this is slower then using - * %GST_TYPE_ARRAY in a #GValue directly. - * - * Params: - * fieldname = the name of a field - * array = a pointer to a #GValueArray - * - * Since: 1.12 - */ - public void setArray(string fieldname, ValueArray array) - { - gst_structure_set_array(gstStructure, Str.toStringz(fieldname), (array is null) ? null : array.getValueArrayStruct()); - } - - /** - * This is useful in language bindings where unknown GValue types are not - * supported. This function will convert a @array to %GST_TYPE_LIST and set - * the field specified by @fieldname. Be aware that this is slower then using - * %GST_TYPE_LIST in a #GValue directly. - * - * Params: - * fieldname = the name of a field - * array = a pointer to a #GValueArray - * - * Since: 1.12 - */ - public void setList(string fieldname, ValueArray array) - { - gst_structure_set_list(gstStructure, Str.toStringz(fieldname), (array is null) ? null : array.getValueArrayStruct()); - } - - /** - * Sets the name of the structure to the given @name. The string - * provided is copied before being used. It must not be empty, start with a - * letter and can be followed by letters, numbers and any of "/-_.:". - * - * Params: - * name = the new name of the structure - */ - public void setName(string name) - { - gst_structure_set_name(gstStructure, Str.toStringz(name)); - } - - /** - * Sets the parent_refcount field of #GstStructure. This field is used to - * determine whether a structure is mutable or not. This function should only be - * called by code implementing parent objects of #GstStructure, as described in - * the MT Refcounting section of the design documents. - * - * Params: - * refcount = a pointer to the parent's refcount - * - * Returns: %TRUE if the parent refcount could be set. - */ - public bool setParentRefcount(int* refcount) - { - return gst_structure_set_parent_refcount(gstStructure, refcount) != 0; - } - - /** - * va_list form of gst_structure_set(). - * - * Params: - * fieldname = the name of the field to set - * varargs = variable arguments - */ - public void setValist(string fieldname, void* varargs) - { - gst_structure_set_valist(gstStructure, Str.toStringz(fieldname), varargs); - } - - /** - * Sets the field with the given name @field to @value. If the field - * does not exist, it is created. If the field exists, the previous - * value is replaced and freed. - * - * Params: - * fieldname = the name of the field to set - * value = the new value of the field - */ - public void setValue(string fieldname, Value value) - { - gst_structure_set_value(gstStructure, Str.toStringz(fieldname), (value is null) ? null : value.getValueStruct()); - } - - /** - * Sets the field with the given name @field to @value. If the field - * does not exist, it is created. If the field exists, the previous - * value is replaced and freed. The function will take ownership of @value. - * - * Params: - * fieldname = the name of the field to set - * value = the new value of the field - */ - public void takeValue(string fieldname, Value value) - { - gst_structure_take_value(gstStructure, Str.toStringz(fieldname), (value is null) ? null : value.getValueStruct()); - } - - /** - * Converts @structure to a human-readable string representation. - * - * For debugging purposes its easier to do something like this: - * |[ - * GST_LOG ("structure is %" GST_PTR_FORMAT, structure); - * ]| - * This prints the structure in human readable form. - * - * The current implementation of serialization will lead to unexpected results - * when there are nested #GstCaps / #GstStructure deeper than one level. - * - * Free-function: g_free - * - * Returns: a pointer to string allocated by g_malloc(). - * g_free() after usage. - */ - public override string toString() - { - auto retStr = gst_structure_to_string(gstStructure); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Atomically modifies a pointer to point to a new structure. - * The #GstStructure @oldstr_ptr is pointing to is freed and - * @newstr is taken ownership over. - * - * Either @newstr and the value pointed to by @oldstr_ptr may be %NULL. - * - * It is a programming error if both @newstr and the value pointed to by - * @oldstr_ptr refer to the same, non-%NULL structure. - * - * Params: - * oldstrPtr = pointer to a place of - * a #GstStructure to take - * newstr = a new #GstStructure - * - * Returns: %TRUE if @newstr was different from @oldstr_ptr - * - * Since: 1.18 - */ - public static bool take(ref Structure oldstrPtr, Structure newstr) - { - GstStructure* outoldstrPtr = oldstrPtr.getStructureStruct(); - - auto __p = gst_structure_take(&outoldstrPtr, (newstr is null) ? null : newstr.getStructureStruct(true)) != 0; - - oldstrPtr = ObjectG.getDObject!(Structure)(outoldstrPtr); - - return __p; - } -} diff --git a/generated/gstreamer/gstreamer/SystemClock.d b/generated/gstreamer/gstreamer/SystemClock.d deleted file mode 100644 index 1ade8dd48..000000000 --- a/generated/gstreamer/gstreamer/SystemClock.d +++ /dev/null @@ -1,119 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.SystemClock; - -private import gobject.ObjectG; -private import gstreamer.Clock; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * The GStreamer core provides a GstSystemClock based on the system time. - * Asynchronous callbacks are scheduled from an internal thread. - * - * Clock implementors are encouraged to subclass this systemclock as it - * implements the async notification. - * - * Subclasses can however override all of the important methods for sync and - * async notifications to implement their own callback methods or blocking - * wait operations. - */ -public class SystemClock : Clock -{ - /** the main Gtk struct */ - protected GstSystemClock* gstSystemClock; - - /** Get the main Gtk struct */ - public GstSystemClock* getSystemClockStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstSystemClock; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstSystemClock; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstSystemClock* gstSystemClock, bool ownedRef = false) - { - this.gstSystemClock = gstSystemClock; - super(cast(GstClock*)gstSystemClock, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_system_clock_get_type(); - } - - /** - * Get a handle to the default system clock. The refcount of the - * clock will be increased so you need to unref the clock after - * usage. - * - * Returns: the default clock. - * - * MT safe. - */ - public static Clock obtain() - { - auto __p = gst_system_clock_obtain(); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Clock)(cast(GstClock*) __p, true); - } - - /** - * Sets the default system clock that can be obtained with - * gst_system_clock_obtain(). - * - * This is mostly used for testing and debugging purposes when you - * want to have control over the time reported by the default system - * clock. - * - * MT safe. - * - * Params: - * newClock = a #GstClock - * - * Since: 1.4 - */ - public static void setDefault(Clock newClock) - { - gst_system_clock_set_default((newClock is null) ? null : newClock.getClockStruct()); - } -} diff --git a/generated/gstreamer/gstreamer/TagList.d b/generated/gstreamer/gstreamer/TagList.d deleted file mode 100644 index 5fc56af98..000000000 --- a/generated/gstreamer/gstreamer/TagList.d +++ /dev/null @@ -1,1112 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.TagList; - -private import glib.ConstructionException; -private import glib.Date; -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gobject.Value; -private import gstreamer.DateTime; -private import gstreamer.Sample; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * List of tags and values used to describe media metadata. - * - * Strings in structures must be ASCII or UTF-8 encoded. Other encodings are - * not allowed. Strings must not be empty or %NULL. - */ -public class TagList -{ - /** the main Gtk struct */ - protected GstTagList* gstTagList; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstTagList* getTagListStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstTagList; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstTagList; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstTagList* gstTagList, bool ownedRef = false) - { - this.gstTagList = gstTagList; - this.ownedRef = ownedRef; - } - - - /** - * Gets the #GType used for this tag. - * - * Params: - * tag = the tag - * - * Returns: the #GType of this tag - */ - public static GType getType(string tag) - { - return gst_tag_get_type(Str.toStringz(tag)); - } - - /** - * Creates a new empty GstTagList. - * - * Free-function: gst_tag_list_unref - * - * Returns: An empty tag list - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_tag_list_new_empty(); - - if(__p is null) - { - throw new ConstructionException("null returned by new_empty"); - } - - this(cast(GstTagList*) __p); - } - - /** - * Deserializes a tag list. - * - * Params: - * str = a string created with gst_tag_list_to_string() - * - * Returns: a new #GstTagList, or %NULL in case of an - * error. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string str) - { - auto __p = gst_tag_list_new_from_string(Str.toStringz(str)); - - if(__p is null) - { - throw new ConstructionException("null returned by new_from_string"); - } - - this(cast(GstTagList*) __p); - } - - /** - * Just like gst_tag_list_new(), only that it takes a va_list argument. - * Useful mostly for language bindings. - * - * Free-function: gst_tag_list_unref - * - * Params: - * varArgs = tag / value pairs to set - * - * Returns: a new #GstTagList. Free with gst_tag_list_unref() - * when no longer needed. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(void* varArgs) - { - auto __p = gst_tag_list_new_valist(varArgs); - - if(__p is null) - { - throw new ConstructionException("null returned by new_valist"); - } - - this(cast(GstTagList*) __p); - } - - /** - * Sets the values for the given tags using the specified mode. - * - * Params: - * mode = the mode to use - * tag = tag - * varArgs = tag / value pairs to set - */ - public void addValist(GstTagMergeMode mode, string tag, void* varArgs) - { - gst_tag_list_add_valist(gstTagList, mode, Str.toStringz(tag), varArgs); - } - - /** - * Sets the GValues for the given tags using the specified mode. - * - * Params: - * mode = the mode to use - * tag = tag - * varArgs = tag / GValue pairs to set - */ - public void addValistValues(GstTagMergeMode mode, string tag, void* varArgs) - { - gst_tag_list_add_valist_values(gstTagList, mode, Str.toStringz(tag), varArgs); - } - - /** - * Sets the GValue for a given tag using the specified mode. - * - * Params: - * mode = the mode to use - * tag = tag - * value = GValue for this tag - */ - public void addValue(GstTagMergeMode mode, string tag, Value value) - { - gst_tag_list_add_value(gstTagList, mode, Str.toStringz(tag), (value is null) ? null : value.getValueStruct()); - } - - /** - * Creates a new #GstTagList as a copy of the old @taglist. The new taglist - * will have a refcount of 1, owned by the caller, and will be writable as - * a result. - * - * Note that this function is the semantic equivalent of a gst_tag_list_ref() - * followed by a gst_tag_list_make_writable(). If you only want to hold on to a - * reference to the data, you should use gst_tag_list_ref(). - * - * When you are finished with the taglist, call gst_tag_list_unref() on it. - * - * Returns: the new #GstTagList - */ - public TagList copy() - { - auto __p = gst_tag_list_copy(gstTagList); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(TagList)(cast(GstTagList*) __p, true); - } - - alias foreac = foreach_; - /** - * Calls the given function for each tag inside the tag list. Note that if there - * is no tag, the function won't be called at all. - * - * Params: - * func = function to be called for each tag - * userData = user specified data - */ - public void foreach_(GstTagForeachFunc func, void* userData) - { - gst_tag_list_foreach(gstTagList, func, userData); - } - - /** - * Copies the contents for the given tag into the value, merging multiple values - * into one if multiple values are associated with the tag. - * - * Params: - * tag = tag to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getBoolean(string tag, out bool value) - { - int outvalue; - - auto __p = gst_tag_list_get_boolean(gstTagList, Str.toStringz(tag), &outvalue) != 0; - - value = (outvalue == 1); - - return __p; - } - - /** - * Gets the value that is at the given index for the given tag in the given - * list. - * - * Params: - * tag = tag to read out - * index = number of entry to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getBooleanIndex(string tag, uint index, out bool value) - { - int outvalue; - - auto __p = gst_tag_list_get_boolean_index(gstTagList, Str.toStringz(tag), index, &outvalue) != 0; - - value = (outvalue == 1); - - return __p; - } - - /** - * Copies the first date for the given tag in the taglist into the variable - * pointed to by @value. Free the date with g_date_free() when it is no longer - * needed. - * - * Free-function: g_date_free - * - * Params: - * tag = tag to read out - * value = address of a GDate pointer - * variable to store the result into - * - * Returns: %TRUE, if a date was copied, %FALSE if the tag didn't exist in the - * given list or if it was %NULL. - */ - public bool getDate(string tag, out Date value) - { - GDate* outvalue = null; - - auto __p = gst_tag_list_get_date(gstTagList, Str.toStringz(tag), &outvalue) != 0; - - value = new Date(outvalue); - - return __p; - } - - /** - * Gets the date that is at the given index for the given tag in the given - * list and copies it into the variable pointed to by @value. Free the date - * with g_date_free() when it is no longer needed. - * - * Free-function: g_date_free - * - * Params: - * tag = tag to read out - * index = number of entry to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list or if it was %NULL. - */ - public bool getDateIndex(string tag, uint index, out Date value) - { - GDate* outvalue = null; - - auto __p = gst_tag_list_get_date_index(gstTagList, Str.toStringz(tag), index, &outvalue) != 0; - - value = new Date(outvalue); - - return __p; - } - - /** - * Copies the first datetime for the given tag in the taglist into the variable - * pointed to by @value. Unref the date with gst_date_time_unref() when - * it is no longer needed. - * - * Free-function: gst_date_time_unref - * - * Params: - * tag = tag to read out - * value = address of a #GstDateTime - * pointer variable to store the result into - * - * Returns: %TRUE, if a datetime was copied, %FALSE if the tag didn't exist in - * the given list or if it was %NULL. - */ - public bool getDateTime(string tag, out DateTime value) - { - GstDateTime* outvalue = null; - - auto __p = gst_tag_list_get_date_time(gstTagList, Str.toStringz(tag), &outvalue) != 0; - - value = ObjectG.getDObject!(DateTime)(outvalue); - - return __p; - } - - /** - * Gets the datetime that is at the given index for the given tag in the given - * list and copies it into the variable pointed to by @value. Unref the datetime - * with gst_date_time_unref() when it is no longer needed. - * - * Free-function: gst_date_time_unref - * - * Params: - * tag = tag to read out - * index = number of entry to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list or if it was %NULL. - */ - public bool getDateTimeIndex(string tag, uint index, out DateTime value) - { - GstDateTime* outvalue = null; - - auto __p = gst_tag_list_get_date_time_index(gstTagList, Str.toStringz(tag), index, &outvalue) != 0; - - value = ObjectG.getDObject!(DateTime)(outvalue); - - return __p; - } - - /** - * Copies the contents for the given tag into the value, merging multiple values - * into one if multiple values are associated with the tag. - * - * Params: - * tag = tag to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getDouble(string tag, out double value) - { - return gst_tag_list_get_double(gstTagList, Str.toStringz(tag), &value) != 0; - } - - /** - * Gets the value that is at the given index for the given tag in the given - * list. - * - * Params: - * tag = tag to read out - * index = number of entry to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getDoubleIndex(string tag, uint index, out double value) - { - return gst_tag_list_get_double_index(gstTagList, Str.toStringz(tag), index, &value) != 0; - } - - /** - * Copies the contents for the given tag into the value, merging multiple values - * into one if multiple values are associated with the tag. - * - * Params: - * tag = tag to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getFloat(string tag, out float value) - { - return gst_tag_list_get_float(gstTagList, Str.toStringz(tag), &value) != 0; - } - - /** - * Gets the value that is at the given index for the given tag in the given - * list. - * - * Params: - * tag = tag to read out - * index = number of entry to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getFloatIndex(string tag, uint index, out float value) - { - return gst_tag_list_get_float_index(gstTagList, Str.toStringz(tag), index, &value) != 0; - } - - /** - * Copies the contents for the given tag into the value, merging multiple values - * into one if multiple values are associated with the tag. - * - * Params: - * tag = tag to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getInt(string tag, out int value) - { - return gst_tag_list_get_int(gstTagList, Str.toStringz(tag), &value) != 0; - } - - /** - * Copies the contents for the given tag into the value, merging multiple values - * into one if multiple values are associated with the tag. - * - * Params: - * tag = tag to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getInt64(string tag, out long value) - { - return gst_tag_list_get_int64(gstTagList, Str.toStringz(tag), &value) != 0; - } - - /** - * Gets the value that is at the given index for the given tag in the given - * list. - * - * Params: - * tag = tag to read out - * index = number of entry to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getInt64Index(string tag, uint index, out long value) - { - return gst_tag_list_get_int64_index(gstTagList, Str.toStringz(tag), index, &value) != 0; - } - - /** - * Gets the value that is at the given index for the given tag in the given - * list. - * - * Params: - * tag = tag to read out - * index = number of entry to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getIntIndex(string tag, uint index, out int value) - { - return gst_tag_list_get_int_index(gstTagList, Str.toStringz(tag), index, &value) != 0; - } - - /** - * Copies the contents for the given tag into the value, merging multiple values - * into one if multiple values are associated with the tag. - * - * Params: - * tag = tag to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getPointer(string tag, out void* value) - { - return gst_tag_list_get_pointer(gstTagList, Str.toStringz(tag), &value) != 0; - } - - /** - * Gets the value that is at the given index for the given tag in the given - * list. - * - * Params: - * tag = tag to read out - * index = number of entry to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getPointerIndex(string tag, uint index, out void* value) - { - return gst_tag_list_get_pointer_index(gstTagList, Str.toStringz(tag), index, &value) != 0; - } - - /** - * Copies the first sample for the given tag in the taglist into the variable - * pointed to by @sample. Free the sample with gst_sample_unref() when it is - * no longer needed. You can retrieve the buffer from the sample using - * gst_sample_get_buffer() and the associated caps (if any) with - * gst_sample_get_caps(). - * - * Free-function: gst_sample_unref - * - * Params: - * tag = tag to read out - * sample = address of a GstSample - * pointer variable to store the result into - * - * Returns: %TRUE, if a sample was returned, %FALSE if the tag didn't exist in - * the given list or if it was %NULL. - */ - public bool getSample(string tag, out Sample sample) - { - GstSample* outsample = null; - - auto __p = gst_tag_list_get_sample(gstTagList, Str.toStringz(tag), &outsample) != 0; - - sample = ObjectG.getDObject!(Sample)(outsample); - - return __p; - } - - /** - * Gets the sample that is at the given index for the given tag in the given - * list and copies it into the variable pointed to by @sample. Free the sample - * with gst_sample_unref() when it is no longer needed. You can retrieve the - * buffer from the sample using gst_sample_get_buffer() and the associated - * caps (if any) with gst_sample_get_caps(). - * - * Free-function: gst_sample_unref - * - * Params: - * tag = tag to read out - * index = number of entry to read out - * sample = address of a GstSample - * pointer variable to store the result into - * - * Returns: %TRUE, if a sample was copied, %FALSE if the tag didn't exist in the - * given list or if it was %NULL. - */ - public bool getSampleIndex(string tag, uint index, out Sample sample) - { - GstSample* outsample = null; - - auto __p = gst_tag_list_get_sample_index(gstTagList, Str.toStringz(tag), index, &outsample) != 0; - - sample = ObjectG.getDObject!(Sample)(outsample); - - return __p; - } - - /** - * Gets the scope of @list. - * - * Returns: The scope of @list - */ - public GstTagScope getScope() - { - return gst_tag_list_get_scope(gstTagList); - } - - /** - * Copies the contents for the given tag into the value, possibly merging - * multiple values into one if multiple values are associated with the tag. - * - * Use gst_tag_list_get_string_index (list, tag, 0, value) if you want - * to retrieve the first string associated with this tag unmodified. - * - * The resulting string in @value will be in UTF-8 encoding and should be - * freed by the caller using g_free when no longer needed. The - * returned string is also guaranteed to be non-%NULL and non-empty. - * - * Free-function: g_free - * - * Params: - * tag = tag to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getString(string tag, out string value) - { - char* outvalue = null; - - auto __p = gst_tag_list_get_string(gstTagList, Str.toStringz(tag), &outvalue) != 0; - - value = Str.toString(outvalue); - - return __p; - } - - /** - * Gets the value that is at the given index for the given tag in the given - * list. - * - * The resulting string in @value will be in UTF-8 encoding and should be - * freed by the caller using g_free when no longer needed. The - * returned string is also guaranteed to be non-%NULL and non-empty. - * - * Free-function: g_free - * - * Params: - * tag = tag to read out - * index = number of entry to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getStringIndex(string tag, uint index, out string value) - { - char* outvalue = null; - - auto __p = gst_tag_list_get_string_index(gstTagList, Str.toStringz(tag), index, &outvalue) != 0; - - value = Str.toString(outvalue); - - return __p; - } - - /** - * Checks how many value are stored in this tag list for the given tag. - * - * Params: - * tag = the tag to query - * - * Returns: The number of tags stored - */ - public uint getTagSize(string tag) - { - return gst_tag_list_get_tag_size(gstTagList, Str.toStringz(tag)); - } - - /** - * Copies the contents for the given tag into the value, merging multiple values - * into one if multiple values are associated with the tag. - * - * Params: - * tag = tag to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getUint(string tag, out uint value) - { - return gst_tag_list_get_uint(gstTagList, Str.toStringz(tag), &value) != 0; - } - - /** - * Copies the contents for the given tag into the value, merging multiple values - * into one if multiple values are associated with the tag. - * - * Params: - * tag = tag to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getUint64(string tag, out ulong value) - { - return gst_tag_list_get_uint64(gstTagList, Str.toStringz(tag), &value) != 0; - } - - /** - * Gets the value that is at the given index for the given tag in the given - * list. - * - * Params: - * tag = tag to read out - * index = number of entry to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getUint64Index(string tag, uint index, out ulong value) - { - return gst_tag_list_get_uint64_index(gstTagList, Str.toStringz(tag), index, &value) != 0; - } - - /** - * Gets the value that is at the given index for the given tag in the given - * list. - * - * Params: - * tag = tag to read out - * index = number of entry to read out - * value = location for the result - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public bool getUintIndex(string tag, uint index, out uint value) - { - return gst_tag_list_get_uint_index(gstTagList, Str.toStringz(tag), index, &value) != 0; - } - - /** - * Gets the value that is at the given index for the given tag in the given - * list. - * - * Params: - * tag = tag to read out - * index = number of entry to read out - * - * Returns: The GValue for the specified - * entry or %NULL if the tag wasn't available or the tag - * doesn't have as many entries - */ - public Value getValueIndex(string tag, uint index) - { - auto __p = gst_tag_list_get_value_index(gstTagList, Str.toStringz(tag), index); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Value)(cast(GValue*) __p); - } - - /** - * Inserts the tags of the @from list into the first list using the given mode. - * - * Params: - * from = list to merge from - * mode = the mode to use - */ - public void insert(TagList from, GstTagMergeMode mode) - { - gst_tag_list_insert(gstTagList, (from is null) ? null : from.getTagListStruct(), mode); - } - - /** - * Checks if the given taglist is empty. - * - * Returns: %TRUE if the taglist is empty, otherwise %FALSE. - */ - public bool isEmpty() - { - return gst_tag_list_is_empty(gstTagList) != 0; - } - - /** - * Checks if the two given taglists are equal. - * - * Params: - * list2 = a #GstTagList. - * - * Returns: %TRUE if the taglists are equal, otherwise %FALSE - */ - public bool isEqual(TagList list2) - { - return gst_tag_list_is_equal(gstTagList, (list2 is null) ? null : list2.getTagListStruct()) != 0; - } - - /** - * Merges the two given lists into a new list. If one of the lists is %NULL, a - * copy of the other is returned. If both lists are %NULL, %NULL is returned. - * - * Free-function: gst_tag_list_unref - * - * Params: - * list2 = second list to merge - * mode = the mode to use - * - * Returns: the new list - */ - public TagList merge(TagList list2, GstTagMergeMode mode) - { - auto __p = gst_tag_list_merge(gstTagList, (list2 is null) ? null : list2.getTagListStruct(), mode); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(TagList)(cast(GstTagList*) __p, true); - } - - /** - * Get the number of tags in @list. - * - * Returns: The number of tags in @list. - */ - public int nTags() - { - return gst_tag_list_n_tags(gstTagList); - } - - /** - * Get the name of the tag in @list at @index. - * - * Params: - * index = the index - * - * Returns: The name of the tag at @index. - */ - public string nthTagName(uint index) - { - return Str.toString(gst_tag_list_nth_tag_name(gstTagList, index)); - } - - /** - * Peeks at the value that is at the given index for the given tag in the given - * list. - * - * The resulting string in @value will be in UTF-8 encoding and doesn't need - * to be freed by the caller. The returned string is also guaranteed to - * be non-%NULL and non-empty. - * - * Params: - * tag = tag to read out - * index = number of entry to read out - * value = location for the result - * - * Returns: %TRUE, if a value was set, %FALSE if the tag didn't exist in the - * given list. - */ - public bool peekStringIndex(string tag, uint index, out string value) - { - char* outvalue = null; - - auto __p = gst_tag_list_peek_string_index(gstTagList, Str.toStringz(tag), index, &outvalue) != 0; - - value = Str.toString(outvalue); - - return __p; - } - - /** - * Removes the given tag from the taglist. - * - * Params: - * tag = tag to remove - */ - public void removeTag(string tag) - { - gst_tag_list_remove_tag(gstTagList, Str.toStringz(tag)); - } - - /** - * Sets the scope of @list to @scope. By default the scope - * of a taglist is stream scope. - * - * Params: - * scope_ = new scope for @list - */ - public void setScope(GstTagScope scope_) - { - gst_tag_list_set_scope(gstTagList, scope_); - } - - /** - * Serializes a tag list to a string. - * - * Returns: a newly-allocated string, or %NULL in case of - * an error. The string must be freed with g_free() when no longer - * needed. - */ - public override string toString() - { - auto retStr = gst_tag_list_to_string(gstTagList); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Copies the contents for the given tag into the value, - * merging multiple values into one if multiple values are associated - * with the tag. - * You must g_value_unset() the value after use. - * - * Params: - * dest = uninitialized #GValue to copy into - * list = list to get the tag from - * tag = tag to read out - * - * Returns: %TRUE, if a value was copied, %FALSE if the tag didn't exist in the - * given list. - */ - public static bool copyValue(out Value dest, TagList list, string tag) - { - GValue* outdest = sliceNew!GValue(); - - auto __p = gst_tag_list_copy_value(outdest, (list is null) ? null : list.getTagListStruct(), Str.toStringz(tag)) != 0; - - dest = ObjectG.getDObject!(Value)(outdest, true); - - return __p; - } - - /** - * Checks if the given type is already registered. - * - * Params: - * tag = name of the tag - * - * Returns: %TRUE if the type is already registered - */ - public static bool exists(string tag) - { - return gst_tag_exists(Str.toStringz(tag)) != 0; - } - - /** - * Returns the human-readable description of this tag, You must not change or - * free this string. - * - * Params: - * tag = the tag - * - * Returns: the human-readable description of this tag - */ - public static string getDescription(string tag) - { - return Str.toString(gst_tag_get_description(Str.toStringz(tag))); - } - - /** - * Gets the flag of @tag. - * - * Params: - * tag = the tag - * - * Returns: the flag of this tag. - */ - public static GstTagFlag getFlag(string tag) - { - return gst_tag_get_flag(Str.toStringz(tag)); - } - - /** - * Returns the human-readable name of this tag, You must not change or free - * this string. - * - * Params: - * tag = the tag - * - * Returns: the human-readable name of this tag - */ - public static string getNick(string tag) - { - return Str.toString(gst_tag_get_nick(Str.toStringz(tag))); - } - - /** - * Checks if the given tag is fixed. A fixed tag can only contain one value. - * Unfixed tags can contain lists of values. - * - * Params: - * tag = tag to check - * - * Returns: %TRUE, if the given tag is fixed. - */ - public static bool isFixed(string tag) - { - return gst_tag_is_fixed(Str.toStringz(tag)) != 0; - } - - /** - * This is a convenience function for the func argument of gst_tag_register(). - * It concatenates all given strings using a comma. The tag must be registered - * as a G_TYPE_STRING or this function will fail. - * - * Params: - * dest = uninitialized GValue to store result in - * src = GValue to copy from - */ - public static void mergeStringsWithComma(out Value dest, Value src) - { - GValue* outdest = sliceNew!GValue(); - - gst_tag_merge_strings_with_comma(outdest, (src is null) ? null : src.getValueStruct()); - - dest = ObjectG.getDObject!(Value)(outdest, true); - } - - /** - * This is a convenience function for the func argument of gst_tag_register(). - * It creates a copy of the first value from the list. - * - * Params: - * dest = uninitialized GValue to store result in - * src = GValue to copy from - */ - public static void mergeUseFirst(out Value dest, Value src) - { - GValue* outdest = sliceNew!GValue(); - - gst_tag_merge_use_first(outdest, (src is null) ? null : src.getValueStruct()); - - dest = ObjectG.getDObject!(Value)(outdest, true); - } - - /** - * Registers a new tag type for the use with GStreamer's type system. If a type - * with that name is already registered, that one is used. - * The old registration may have used a different type however. So don't rely - * on your supplied values. - * - * Important: if you do not supply a merge function the implication will be - * that there can only be one single value for this tag in a tag list and - * any additional values will silently be discarded when being added (unless - * #GST_TAG_MERGE_REPLACE, #GST_TAG_MERGE_REPLACE_ALL, or - * #GST_TAG_MERGE_PREPEND is used as merge mode, in which case the new - * value will replace the old one in the list). - * - * The merge function will be called from gst_tag_list_copy_value() when - * it is required that one or more values for a tag be condensed into - * one single value. This may happen from gst_tag_list_get_string(), - * gst_tag_list_get_int(), gst_tag_list_get_double() etc. What will happen - * exactly in that case depends on how the tag was registered and if a - * merge function was supplied and if so which one. - * - * Two default merge functions are provided: gst_tag_merge_use_first() and - * gst_tag_merge_strings_with_comma(). - * - * Params: - * name = the name or identifier string - * flag = a flag describing the type of tag info - * type = the type this data is in - * nick = human-readable name - * blurb = a human-readable description about this tag - * func = function for merging multiple values of this tag, or %NULL - */ - public static void register(string name, GstTagFlag flag, GType type, string nick, string blurb, GstTagMergeFunc func) - { - gst_tag_register(Str.toStringz(name), flag, type, Str.toStringz(nick), Str.toStringz(blurb), func); - } - - /** - * Registers a new tag type for the use with GStreamer's type system. - * - * Same as gst_tag_register(), but @name, @nick, and @blurb must be - * static strings or inlined strings, as they will not be copied. (GStreamer - * plugins will be made resident once loaded, so this function can be used - * even from dynamically loaded plugins.) - * - * Params: - * name = the name or identifier string (string constant) - * flag = a flag describing the type of tag info - * type = the type this data is in - * nick = human-readable name or short description (string constant) - * blurb = a human-readable description for this tag (string constant) - * func = function for merging multiple values of this tag, or %NULL - */ - public static void registerStatic(string name, GstTagFlag flag, GType type, string nick, string blurb, GstTagMergeFunc func) - { - gst_tag_register_static(Str.toStringz(name), flag, type, Str.toStringz(nick), Str.toStringz(blurb), func); - } -} diff --git a/generated/gstreamer/gstreamer/TagSetterIF.d b/generated/gstreamer/gstreamer/TagSetterIF.d deleted file mode 100644 index 42cc206c8..000000000 --- a/generated/gstreamer/gstreamer/TagSetterIF.d +++ /dev/null @@ -1,166 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.TagSetterIF; - -private import glib.Str; -private import gobject.ObjectG; -private import gobject.Value; -private import gstreamer.TagList; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * Element interface that allows setting of media metadata. - * - * Elements that support changing a stream's metadata will implement this - * interface. Examples of such elements are 'vorbisenc', 'theoraenc' and - * 'id3v2mux'. - * - * If you just want to retrieve metadata in your application then all you - * need to do is watch for tag messages on your pipeline's bus. This - * interface is only for setting metadata, not for extracting it. To set tags - * from the application, find tagsetter elements and set tags using e.g. - * gst_tag_setter_merge_tags() or gst_tag_setter_add_tags(). Also consider - * setting the #GstTagMergeMode that is used for tag events that arrive at the - * tagsetter element (default mode is to keep existing tags). - * The application should do that before the element goes to %GST_STATE_PAUSED. - * - * Elements implementing the #GstTagSetter interface often have to merge - * any tags received from upstream and the tags set by the application via - * the interface. This can be done like this: - * - * |[ - * GstTagMergeMode merge_mode; - * const GstTagList *application_tags; - * const GstTagList *event_tags; - * GstTagSetter *tagsetter; - * GstTagList *result; - * - * tagsetter = GST_TAG_SETTER (element); - * - * merge_mode = gst_tag_setter_get_tag_merge_mode (tagsetter); - * application_tags = gst_tag_setter_get_tag_list (tagsetter); - * event_tags = (const GstTagList *) element->event_tags; - * - * GST_LOG_OBJECT (tagsetter, "merging tags, merge mode = %d", merge_mode); - * GST_LOG_OBJECT (tagsetter, "event tags: %" GST_PTR_FORMAT, event_tags); - * GST_LOG_OBJECT (tagsetter, "set tags: %" GST_PTR_FORMAT, application_tags); - * - * result = gst_tag_list_merge (application_tags, event_tags, merge_mode); - * - * GST_LOG_OBJECT (tagsetter, "final tags: %" GST_PTR_FORMAT, result); - * ]| - */ -public interface TagSetterIF{ - /** Get the main Gtk struct */ - public GstTagSetter* getTagSetterStruct(bool transferOwnership = false); - - /** the main Gtk struct as a void* */ - protected void* getStruct(); - - - /** */ - public static GType getType() - { - return gst_tag_setter_get_type(); - } - - /** - * Adds the given tag / value pairs on the setter using the given merge mode. - * The list must be terminated with %NULL. - * - * Params: - * mode = the mode to use - * tag = tag to set - * varArgs = tag / value pairs to set - */ - public void addTagValist(GstTagMergeMode mode, string tag, void* varArgs); - - /** - * Adds the given tag / GValue pairs on the setter using the given merge mode. - * The list must be terminated with %NULL. - * - * Params: - * mode = the mode to use - * tag = tag to set - * varArgs = tag / GValue pairs to set - */ - public void addTagValistValues(GstTagMergeMode mode, string tag, void* varArgs); - - /** - * Adds the given tag / GValue pair on the setter using the given merge mode. - * - * Params: - * mode = the mode to use - * tag = tag to set - * value = GValue to set for the tag - */ - public void addTagValue(GstTagMergeMode mode, string tag, Value value); - - /** - * Returns the current list of tags the setter uses. The list should not be - * modified or freed. - * - * This function is not thread-safe. - * - * Returns: a current snapshot of the - * taglist used in the setter or %NULL if none is used. - */ - public TagList getTagList(); - - /** - * Queries the mode by which tags inside the setter are overwritten by tags - * from events - * - * Returns: the merge mode used inside the element. - */ - public GstTagMergeMode getTagMergeMode(); - - /** - * Merges the given list into the setter's list using the given mode. - * - * Params: - * list = a tag list to merge from - * mode = the mode to merge with - */ - public void mergeTags(TagList list, GstTagMergeMode mode); - - /** - * Reset the internal taglist. Elements should call this from within the - * state-change handler. - */ - public void resetTags(); - - /** - * Sets the given merge mode that is used for adding tags from events to tags - * specified by this interface. The default is #GST_TAG_MERGE_KEEP, which keeps - * the tags set with this interface and discards tags from events. - * - * Params: - * mode = The mode with which tags are added - */ - public void setTagMergeMode(GstTagMergeMode mode); -} diff --git a/generated/gstreamer/gstreamer/TagSetterT.d b/generated/gstreamer/gstreamer/TagSetterT.d deleted file mode 100644 index a0829b7d0..000000000 --- a/generated/gstreamer/gstreamer/TagSetterT.d +++ /dev/null @@ -1,194 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.TagSetterT; - -public import glib.Str; -public import gobject.ObjectG; -public import gobject.Value; -public import gstreamer.TagList; -public import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * Element interface that allows setting of media metadata. - * - * Elements that support changing a stream's metadata will implement this - * interface. Examples of such elements are 'vorbisenc', 'theoraenc' and - * 'id3v2mux'. - * - * If you just want to retrieve metadata in your application then all you - * need to do is watch for tag messages on your pipeline's bus. This - * interface is only for setting metadata, not for extracting it. To set tags - * from the application, find tagsetter elements and set tags using e.g. - * gst_tag_setter_merge_tags() or gst_tag_setter_add_tags(). Also consider - * setting the #GstTagMergeMode that is used for tag events that arrive at the - * tagsetter element (default mode is to keep existing tags). - * The application should do that before the element goes to %GST_STATE_PAUSED. - * - * Elements implementing the #GstTagSetter interface often have to merge - * any tags received from upstream and the tags set by the application via - * the interface. This can be done like this: - * - * |[ - * GstTagMergeMode merge_mode; - * const GstTagList *application_tags; - * const GstTagList *event_tags; - * GstTagSetter *tagsetter; - * GstTagList *result; - * - * tagsetter = GST_TAG_SETTER (element); - * - * merge_mode = gst_tag_setter_get_tag_merge_mode (tagsetter); - * application_tags = gst_tag_setter_get_tag_list (tagsetter); - * event_tags = (const GstTagList *) element->event_tags; - * - * GST_LOG_OBJECT (tagsetter, "merging tags, merge mode = %d", merge_mode); - * GST_LOG_OBJECT (tagsetter, "event tags: %" GST_PTR_FORMAT, event_tags); - * GST_LOG_OBJECT (tagsetter, "set tags: %" GST_PTR_FORMAT, application_tags); - * - * result = gst_tag_list_merge (application_tags, event_tags, merge_mode); - * - * GST_LOG_OBJECT (tagsetter, "final tags: %" GST_PTR_FORMAT, result); - * ]| - */ -public template TagSetterT(TStruct) -{ - /** Get the main Gtk struct */ - public GstTagSetter* getTagSetterStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return cast(GstTagSetter*)getStruct(); - } - - - /** - * Adds the given tag / value pairs on the setter using the given merge mode. - * The list must be terminated with %NULL. - * - * Params: - * mode = the mode to use - * tag = tag to set - * varArgs = tag / value pairs to set - */ - public void addTagValist(GstTagMergeMode mode, string tag, void* varArgs) - { - gst_tag_setter_add_tag_valist(getTagSetterStruct(), mode, Str.toStringz(tag), varArgs); - } - - /** - * Adds the given tag / GValue pairs on the setter using the given merge mode. - * The list must be terminated with %NULL. - * - * Params: - * mode = the mode to use - * tag = tag to set - * varArgs = tag / GValue pairs to set - */ - public void addTagValistValues(GstTagMergeMode mode, string tag, void* varArgs) - { - gst_tag_setter_add_tag_valist_values(getTagSetterStruct(), mode, Str.toStringz(tag), varArgs); - } - - /** - * Adds the given tag / GValue pair on the setter using the given merge mode. - * - * Params: - * mode = the mode to use - * tag = tag to set - * value = GValue to set for the tag - */ - public void addTagValue(GstTagMergeMode mode, string tag, Value value) - { - gst_tag_setter_add_tag_value(getTagSetterStruct(), mode, Str.toStringz(tag), (value is null) ? null : value.getValueStruct()); - } - - /** - * Returns the current list of tags the setter uses. The list should not be - * modified or freed. - * - * This function is not thread-safe. - * - * Returns: a current snapshot of the - * taglist used in the setter or %NULL if none is used. - */ - public TagList getTagList() - { - auto __p = gst_tag_setter_get_tag_list(getTagSetterStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(TagList)(cast(GstTagList*) __p); - } - - /** - * Queries the mode by which tags inside the setter are overwritten by tags - * from events - * - * Returns: the merge mode used inside the element. - */ - public GstTagMergeMode getTagMergeMode() - { - return gst_tag_setter_get_tag_merge_mode(getTagSetterStruct()); - } - - /** - * Merges the given list into the setter's list using the given mode. - * - * Params: - * list = a tag list to merge from - * mode = the mode to merge with - */ - public void mergeTags(TagList list, GstTagMergeMode mode) - { - gst_tag_setter_merge_tags(getTagSetterStruct(), (list is null) ? null : list.getTagListStruct(), mode); - } - - /** - * Reset the internal taglist. Elements should call this from within the - * state-change handler. - */ - public void resetTags() - { - gst_tag_setter_reset_tags(getTagSetterStruct()); - } - - /** - * Sets the given merge mode that is used for adding tags from events to tags - * specified by this interface. The default is #GST_TAG_MERGE_KEEP, which keeps - * the tags set with this interface and discards tags from events. - * - * Params: - * mode = The mode with which tags are added - */ - public void setTagMergeMode(GstTagMergeMode mode) - { - gst_tag_setter_set_tag_merge_mode(getTagSetterStruct(), mode); - } -} diff --git a/generated/gstreamer/gstreamer/Task.d b/generated/gstreamer/gstreamer/Task.d deleted file mode 100644 index e23d38fa1..000000000 --- a/generated/gstreamer/gstreamer/Task.d +++ /dev/null @@ -1,349 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Task; - -private import glib.ConstructionException; -private import glib.RecMutex; -private import gobject.ObjectG; -private import gstreamer.ObjectGst; -private import gstreamer.TaskPool; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * #GstTask is used by #GstElement and #GstPad to provide the data passing - * threads in a #GstPipeline. - * - * A #GstPad will typically start a #GstTask to push or pull data to/from the - * peer pads. Most source elements start a #GstTask to push data. In some cases - * a demuxer element can start a #GstTask to pull data from a peer element. This - * is typically done when the demuxer can perform random access on the upstream - * peer element for improved performance. - * - * Although convenience functions exist on #GstPad to start/pause/stop tasks, it - * might sometimes be needed to create a #GstTask manually if it is not related to - * a #GstPad. - * - * Before the #GstTask can be run, it needs a #GRecMutex that can be set with - * gst_task_set_lock(). - * - * The task can be started, paused and stopped with gst_task_start(), gst_task_pause() - * and gst_task_stop() respectively or with the gst_task_set_state() function. - * - * A #GstTask will repeatedly call the #GstTaskFunction with the user data - * that was provided when creating the task with gst_task_new(). While calling - * the function it will acquire the provided lock. The provided lock is released - * when the task pauses or stops. - * - * Stopping a task with gst_task_stop() will not immediately make sure the task is - * not running anymore. Use gst_task_join() to make sure the task is completely - * stopped and the thread is stopped. - * - * After creating a #GstTask, use gst_object_unref() to free its resources. This can - * only be done when the task is not running anymore. - * - * Task functions can send a #GstMessage to send out-of-band data to the - * application. The application can receive messages from the #GstBus in its - * mainloop. - * - * For debugging purposes, the task will configure its object name as the thread - * name on Linux. Please note that the object name should be configured before the - * task is started; changing the object name after the task has been started, has - * no effect on the thread name. - */ -public class Task : ObjectGst -{ - /** the main Gtk struct */ - protected GstTask* gstTask; - - /** Get the main Gtk struct */ - public GstTask* getTaskStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstTask; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstTask; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstTask* gstTask, bool ownedRef = false) - { - this.gstTask = gstTask; - super(cast(GstObject*)gstTask, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_task_get_type(); - } - - /** - * Create a new Task that will repeatedly call the provided @func - * with @user_data as a parameter. Typically the task will run in - * a new thread. - * - * The function cannot be changed after the task has been created. You - * must create a new #GstTask to change the function. - * - * This function will not yet create and start a thread. Use gst_task_start() or - * gst_task_pause() to create and start the GThread. - * - * Before the task can be used, a #GRecMutex must be configured using the - * gst_task_set_lock() function. This lock will always be acquired while - * @func is called. - * - * Params: - * func = The #GstTaskFunction to use - * userData = User data to pass to @func - * notify = the function to call when @user_data is no longer needed. - * - * Returns: A new #GstTask. - * - * MT safe. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstTaskFunction func, void* userData, GDestroyNotify notify) - { - auto __p = gst_task_new(func, userData, notify); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstTask*) __p, true); - } - - /** - * Wait for all tasks to be stopped. This is mainly used internally - * to ensure proper cleanup of internal data structures in test suites. - * - * MT safe. - */ - public static void cleanupAll() - { - gst_task_cleanup_all(); - } - - /** - * Get the #GstTaskPool that this task will use for its streaming - * threads. - * - * MT safe. - * - * Returns: the #GstTaskPool used by @task. gst_object_unref() - * after usage. - */ - public TaskPool getPool() - { - auto __p = gst_task_get_pool(gstTask); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(TaskPool)(cast(GstTaskPool*) __p, true); - } - - /** - * Get the current state of the task. - * - * Returns: The #GstTaskState of the task - * - * MT safe. - */ - public GstTaskState getState() - { - return gst_task_get_state(gstTask); - } - - /** - * Joins @task. After this call, it is safe to unref the task - * and clean up the lock set with gst_task_set_lock(). - * - * The task will automatically be stopped with this call. - * - * This function cannot be called from within a task function as this - * would cause a deadlock. The function will detect this and print a - * g_warning. - * - * Returns: %TRUE if the task could be joined. - * - * MT safe. - */ - public bool join() - { - return gst_task_join(gstTask) != 0; - } - - /** - * Pauses @task. This method can also be called on a task in the - * stopped state, in which case a thread will be started and will remain - * in the paused state. This function does not wait for the task to complete - * the paused state. - * - * Returns: %TRUE if the task could be paused. - * - * MT safe. - */ - public bool pause() - { - return gst_task_pause(gstTask) != 0; - } - - /** - * Resume @task in case it was paused. If the task was stopped, it will - * remain in that state and this function will return %FALSE. - * - * Returns: %TRUE if the task could be resumed. - * - * MT safe. - * - * Since: 1.18 - */ - public bool resume() - { - return gst_task_resume(gstTask) != 0; - } - - /** - * Call @enter_func when the task function of @task is entered. @user_data will - * be passed to @enter_func and @notify will be called when @user_data is no - * longer referenced. - * - * Params: - * enterFunc = a #GstTaskThreadFunc - * userData = user data passed to @enter_func - * notify = called when @user_data is no longer referenced - */ - public void setEnterCallback(GstTaskThreadFunc enterFunc, void* userData, GDestroyNotify notify) - { - gst_task_set_enter_callback(gstTask, enterFunc, userData, notify); - } - - /** - * Call @leave_func when the task function of @task is left. @user_data will - * be passed to @leave_func and @notify will be called when @user_data is no - * longer referenced. - * - * Params: - * leaveFunc = a #GstTaskThreadFunc - * userData = user data passed to @leave_func - * notify = called when @user_data is no longer referenced - */ - public void setLeaveCallback(GstTaskThreadFunc leaveFunc, void* userData, GDestroyNotify notify) - { - gst_task_set_leave_callback(gstTask, leaveFunc, userData, notify); - } - - /** - * Set the mutex used by the task. The mutex will be acquired before - * calling the #GstTaskFunction. - * - * This function has to be called before calling gst_task_pause() or - * gst_task_start(). - * - * MT safe. - * - * Params: - * mutex = The #GRecMutex to use - */ - public void setLock(RecMutex mutex) - { - gst_task_set_lock(gstTask, (mutex is null) ? null : mutex.getRecMutexStruct()); - } - - /** - * Set @pool as the new GstTaskPool for @task. Any new streaming threads that - * will be created by @task will now use @pool. - * - * MT safe. - * - * Params: - * pool = a #GstTaskPool - */ - public void setPool(TaskPool pool) - { - gst_task_set_pool(gstTask, (pool is null) ? null : pool.getTaskPoolStruct()); - } - - /** - * Sets the state of @task to @state. - * - * The @task must have a lock associated with it using - * gst_task_set_lock() when going to GST_TASK_STARTED or GST_TASK_PAUSED or - * this function will return %FALSE. - * - * MT safe. - * - * Params: - * state = the new task state - * - * Returns: %TRUE if the state could be changed. - */ - public bool setState(GstTaskState state) - { - return gst_task_set_state(gstTask, state) != 0; - } - - /** - * Starts @task. The @task must have a lock associated with it using - * gst_task_set_lock() or this function will return %FALSE. - * - * Returns: %TRUE if the task could be started. - * - * MT safe. - */ - public bool start() - { - return gst_task_start(gstTask) != 0; - } - - /** - * Stops @task. This method merely schedules the task to stop and - * will not wait for the task to have completely stopped. Use - * gst_task_join() to stop and wait for completion. - * - * Returns: %TRUE if the task could be stopped. - * - * MT safe. - */ - public bool stop() - { - return gst_task_stop(gstTask) != 0; - } -} diff --git a/generated/gstreamer/gstreamer/TaskPool.d b/generated/gstreamer/gstreamer/TaskPool.d deleted file mode 100644 index b6a443bf6..000000000 --- a/generated/gstreamer/gstreamer/TaskPool.d +++ /dev/null @@ -1,165 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.TaskPool; - -private import glib.ConstructionException; -private import glib.ErrorG; -private import glib.GException; -private import gobject.ObjectG; -private import gstreamer.ObjectGst; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * This object provides an abstraction for creating threads. The default - * implementation uses a regular GThreadPool to start tasks. - * - * Subclasses can be made to create custom threads. - */ -public class TaskPool : ObjectGst -{ - /** the main Gtk struct */ - protected GstTaskPool* gstTaskPool; - - /** Get the main Gtk struct */ - public GstTaskPool* getTaskPoolStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstTaskPool; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstTaskPool; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstTaskPool* gstTaskPool, bool ownedRef = false) - { - this.gstTaskPool = gstTaskPool; - super(cast(GstObject*)gstTaskPool, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_task_pool_get_type(); - } - - /** - * Create a new default task pool. The default task pool will use a regular - * GThreadPool for threads. - * - * Returns: a new #GstTaskPool. gst_object_unref() after usage. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = gst_task_pool_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstTaskPool*) __p, true); - } - - /** - * Wait for all tasks to be stopped. This is mainly used internally - * to ensure proper cleanup of internal data structures in test suites. - * - * MT safe. - */ - public void cleanup() - { - gst_task_pool_cleanup(gstTaskPool); - } - - /** - * Join a task and/or return it to the pool. @id is the id obtained from - * gst_task_pool_push(). - * - * Params: - * id = the id - */ - public void join(void* id) - { - gst_task_pool_join(gstTaskPool, id); - } - - /** - * Prepare the taskpool for accepting gst_task_pool_push() operations. - * - * MT safe. - * - * Throws: GException on failure. - */ - public void prepare() - { - GError* err = null; - - gst_task_pool_prepare(gstTaskPool, &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - } - - /** - * Start the execution of a new thread from @pool. - * - * Params: - * func = the function to call - * userData = data to pass to @func - * - * Returns: a pointer that should be used - * for the gst_task_pool_join function. This pointer can be %NULL, you - * must check @error to detect errors. - * - * Throws: GException on failure. - */ - public void* push(GstTaskPoolFunction func, void* userData) - { - GError* err = null; - - auto __p = gst_task_pool_push(gstTaskPool, func, userData, &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - return __p; - } -} diff --git a/generated/gstreamer/gstreamer/Toc.d b/generated/gstreamer/gstreamer/Toc.d deleted file mode 100644 index 9d0c705f9..000000000 --- a/generated/gstreamer/gstreamer/Toc.d +++ /dev/null @@ -1,245 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Toc; - -private import glib.ConstructionException; -private import glib.ListG; -private import glib.Str; -private import gobject.ObjectG; -private import gstreamer.TagList; -private import gstreamer.TocEntry; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * #GstToc functions are used to create/free #GstToc and #GstTocEntry structures. - * Also they are used to convert #GstToc into #GstStructure and vice versa. - * - * #GstToc lets you to inform other elements in pipeline or application that playing - * source has some kind of table of contents (TOC). These may be chapters, editions, - * angles or other types. For example: DVD chapters, Matroska chapters or cue sheet - * TOC. Such TOC will be useful for applications to display instead of just a - * playlist. - * - * Using TOC is very easy. Firstly, create #GstToc structure which represents root - * contents of the source. You can also attach TOC-specific tags to it. Then fill - * it with #GstTocEntry entries by appending them to the #GstToc using - * gst_toc_append_entry(), and appending subentries to a #GstTocEntry using - * gst_toc_entry_append_sub_entry(). - * - * Note that root level of the TOC can contain only either editions or chapters. You - * should not mix them together at the same level. Otherwise you will get serialization - * /deserialization errors. Make sure that no one of the entries has negative start and - * stop values. - * - * Use gst_event_new_toc() to create a new TOC #GstEvent, and gst_event_parse_toc() to - * parse received TOC event. Use gst_event_new_toc_select() to create a new TOC select #GstEvent, - * and gst_event_parse_toc_select() to parse received TOC select event. The same rule for - * the #GstMessage: gst_message_new_toc() to create new TOC #GstMessage, and - * gst_message_parse_toc() to parse received TOC message. - * - * TOCs can have global scope or current scope. Global scope TOCs contain - * all entries that can possibly be selected using a toc select event, and - * are what an application is usually interested in. TOCs with current scope - * only contain the parts of the TOC relevant to the currently selected/playing - * stream; the current scope TOC is used by downstream elements such as muxers - * to write correct TOC entries when transcoding files, for example. When - * playing a DVD, the global TOC would contain a hierarchy of all titles, - * chapters and angles, for example, while the current TOC would only contain - * the chapters for the currently playing title if playback of a specific - * title was requested. - * - * Applications and plugins should not rely on TOCs having a certain kind of - * structure, but should allow for different alternatives. For example, a - * simple CUE sheet embedded in a file may be presented as a flat list of - * track entries, or could have a top-level edition node (or some other - * alternative type entry) with track entries underneath that node; or even - * multiple top-level edition nodes (or some other alternative type entries) - * each with track entries underneath, in case the source file has extracted - * a track listing from different sources). - */ -public class Toc -{ - /** the main Gtk struct */ - protected GstToc* gstToc; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstToc* getTocStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstToc; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstToc; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstToc* gstToc, bool ownedRef = false) - { - this.gstToc = gstToc; - this.ownedRef = ownedRef; - } - - - /** */ - public static GType getType() - { - return gst_toc_get_type(); - } - - /** - * Create a new #GstToc structure. - * - * Params: - * scope_ = scope of this TOC - * - * Returns: newly allocated #GstToc structure, free it - * with gst_toc_unref(). - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstTocScope scope_) - { - auto __p = gst_toc_new(scope_); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstToc*) __p); - } - - /** - * Appends the #GstTocEntry @entry to @toc. - * - * Params: - * entry = A #GstTocEntry - */ - public void appendEntry(TocEntry entry) - { - gst_toc_append_entry(gstToc, (entry is null) ? null : entry.getTocEntryStruct()); - } - - /** */ - public void dump() - { - gst_toc_dump(gstToc); - } - - /** - * Find #GstTocEntry with given @uid in the @toc. - * - * Params: - * uid = UID to find #GstTocEntry with. - * - * Returns: #GstTocEntry with specified - * @uid from the @toc, or %NULL if not found. - */ - public TocEntry findEntry(string uid) - { - auto __p = gst_toc_find_entry(gstToc, Str.toStringz(uid)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(TocEntry)(cast(GstTocEntry*) __p); - } - - /** - * Gets the list of #GstTocEntry of @toc. - * - * Returns: A #GList of #GstTocEntry for @entry - */ - public ListG getEntries() - { - auto __p = gst_toc_get_entries(gstToc); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p); - } - - /** - * Returns: scope of @toc - */ - public GstTocScope getScope() - { - return gst_toc_get_scope(gstToc); - } - - /** - * Gets the tags for @toc. - * - * Returns: A #GstTagList for @entry - */ - public TagList getTags() - { - auto __p = gst_toc_get_tags(gstToc); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(TagList)(cast(GstTagList*) __p); - } - - /** - * Merge @tags into the existing tags of @toc using @mode. - * - * Params: - * tags = A #GstTagList or %NULL - * mode = A #GstTagMergeMode - */ - public void mergeTags(TagList tags, GstTagMergeMode mode) - { - gst_toc_merge_tags(gstToc, (tags is null) ? null : tags.getTagListStruct(), mode); - } - - /** - * Set a #GstTagList with tags for the complete @toc. - * - * Params: - * tags = A #GstTagList or %NULL - */ - public void setTags(TagList tags) - { - gst_toc_set_tags(gstToc, (tags is null) ? null : tags.getTagListStruct()); - } -} diff --git a/generated/gstreamer/gstreamer/TocEntry.d b/generated/gstreamer/gstreamer/TocEntry.d deleted file mode 100644 index fa424d9ae..000000000 --- a/generated/gstreamer/gstreamer/TocEntry.d +++ /dev/null @@ -1,299 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.TocEntry; - -private import glib.ConstructionException; -private import glib.ListG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.TagList; -private import gstreamer.Toc; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** */ -public class TocEntry -{ - /** the main Gtk struct */ - protected GstTocEntry* gstTocEntry; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstTocEntry* getTocEntryStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstTocEntry; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstTocEntry; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstTocEntry* gstTocEntry, bool ownedRef = false) - { - this.gstTocEntry = gstTocEntry; - this.ownedRef = ownedRef; - } - - - /** */ - public static GType getType() - { - return gst_toc_entry_get_type(); - } - - /** - * Create new #GstTocEntry structure. - * - * Params: - * type = entry type. - * uid = unique ID (UID) in the whole TOC. - * - * Returns: newly allocated #GstTocEntry structure, free it with gst_toc_entry_unref(). - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(GstTocEntryType type, string uid) - { - auto __p = gst_toc_entry_new(type, Str.toStringz(uid)); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstTocEntry*) __p); - } - - /** - * Appends the #GstTocEntry @subentry to @entry. - * - * Params: - * subentry = A #GstTocEntry - */ - public void appendSubEntry(TocEntry subentry) - { - gst_toc_entry_append_sub_entry(gstTocEntry, (subentry is null) ? null : subentry.getTocEntryStruct()); - } - - /** - * Returns: @entry's entry type - */ - public GstTocEntryType getEntryType() - { - return gst_toc_entry_get_entry_type(gstTocEntry); - } - - /** - * Get @loop_type and @repeat_count values from the @entry and write them into - * appropriate storages. Loops are e.g. used by sampled instruments. GStreamer - * is not automatically applying the loop. The application can process this - * meta data and use it e.g. to send a seek-event to loop a section. - * - * Params: - * loopType = the storage for the loop_type - * value, leave %NULL if not need. - * repeatCount = the storage for the repeat_count - * value, leave %NULL if not need. - * - * Returns: %TRUE if all non-%NULL storage pointers were filled with appropriate - * values, %FALSE otherwise. - * - * Since: 1.4 - */ - public bool getLoop(out GstTocLoopType loopType, out int repeatCount) - { - return gst_toc_entry_get_loop(gstTocEntry, &loopType, &repeatCount) != 0; - } - - /** - * Gets the parent #GstTocEntry of @entry. - * - * Returns: The parent #GstTocEntry of @entry - */ - public TocEntry getParent() - { - auto __p = gst_toc_entry_get_parent(gstTocEntry); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(TocEntry)(cast(GstTocEntry*) __p); - } - - /** - * Get @start and @stop values from the @entry and write them into appropriate - * storages. - * - * Params: - * start = the storage for the start value, leave - * %NULL if not need. - * stop = the storage for the stop value, leave - * %NULL if not need. - * - * Returns: %TRUE if all non-%NULL storage pointers were filled with appropriate - * values, %FALSE otherwise. - */ - public bool getStartStopTimes(out long start, out long stop) - { - return gst_toc_entry_get_start_stop_times(gstTocEntry, &start, &stop) != 0; - } - - /** - * Gets the sub-entries of @entry. - * - * Returns: A #GList of #GstTocEntry of @entry - */ - public ListG getSubEntries() - { - auto __p = gst_toc_entry_get_sub_entries(gstTocEntry); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p); - } - - /** - * Gets the tags for @entry. - * - * Returns: A #GstTagList for @entry - */ - public TagList getTags() - { - auto __p = gst_toc_entry_get_tags(gstTocEntry); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(TagList)(cast(GstTagList*) __p); - } - - /** - * Gets the parent #GstToc of @entry. - * - * Returns: The parent #GstToc of @entry - */ - public Toc getToc() - { - auto __p = gst_toc_entry_get_toc(gstTocEntry); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Toc)(cast(GstToc*) __p); - } - - /** - * Gets the UID of @entry. - * - * Returns: The UID of @entry - */ - public string getUid() - { - return Str.toString(gst_toc_entry_get_uid(gstTocEntry)); - } - - /** - * Returns: %TRUE if @entry's type is an alternative type, otherwise %FALSE - */ - public bool isAlternative() - { - return gst_toc_entry_is_alternative(gstTocEntry) != 0; - } - - /** - * Returns: %TRUE if @entry's type is a sequence type, otherwise %FALSE - */ - public bool isSequence() - { - return gst_toc_entry_is_sequence(gstTocEntry) != 0; - } - - /** - * Merge @tags into the existing tags of @entry using @mode. - * - * Params: - * tags = A #GstTagList or %NULL - * mode = A #GstTagMergeMode - */ - public void mergeTags(TagList tags, GstTagMergeMode mode) - { - gst_toc_entry_merge_tags(gstTocEntry, (tags is null) ? null : tags.getTagListStruct(), mode); - } - - /** - * Set @loop_type and @repeat_count values for the @entry. - * - * Params: - * loopType = loop_type value to set. - * repeatCount = repeat_count value to set. - * - * Since: 1.4 - */ - public void setLoop(GstTocLoopType loopType, int repeatCount) - { - gst_toc_entry_set_loop(gstTocEntry, loopType, repeatCount); - } - - /** - * Set @start and @stop values for the @entry. - * - * Params: - * start = start value to set. - * stop = stop value to set. - */ - public void setStartStopTimes(long start, long stop) - { - gst_toc_entry_set_start_stop_times(gstTocEntry, start, stop); - } - - /** - * Set a #GstTagList with tags for the complete @entry. - * - * Params: - * tags = A #GstTagList or %NULL - */ - public void setTags(TagList tags) - { - gst_toc_entry_set_tags(gstTocEntry, (tags is null) ? null : tags.getTagListStruct()); - } -} diff --git a/generated/gstreamer/gstreamer/TocSetterIF.d b/generated/gstreamer/gstreamer/TocSetterIF.d deleted file mode 100644 index 5d86369f0..000000000 --- a/generated/gstreamer/gstreamer/TocSetterIF.d +++ /dev/null @@ -1,86 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.TocSetterIF; - -private import gobject.ObjectG; -private import gstreamer.Toc; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * Element interface that allows setting of the TOC. - * - * Elements that support some kind of chapters or editions (or tracks like in - * the FLAC cue sheet) will implement this interface. - * - * If you just want to retrieve the TOC in your application then all you - * need to do is watch for TOC messages on your pipeline's bus (or you can - * perform TOC query). This interface is only for setting TOC data, not for - * extracting it. To set TOC from the application, find proper tocsetter element - * and set TOC using gst_toc_setter_set_toc(). - * - * Elements implementing the #GstTocSetter interface can extend existing TOC - * by getting extend UID for that (you can use gst_toc_find_entry() to retrieve it) - * with any TOC entries received from downstream. - */ -public interface TocSetterIF{ - /** Get the main Gtk struct */ - public GstTocSetter* getTocSetterStruct(bool transferOwnership = false); - - /** the main Gtk struct as a void* */ - protected void* getStruct(); - - - /** */ - public static GType getType() - { - return gst_toc_setter_get_type(); - } - - /** - * Return current TOC the setter uses. The TOC should not be - * modified without making it writable first. - * - * Returns: TOC set, or %NULL. Unref with - * gst_toc_unref() when no longer needed - */ - public Toc getToc(); - - /** - * Reset the internal TOC. Elements should call this from within the - * state-change handler. - */ - public void reset(); - - /** - * Set the given TOC on the setter. Previously set TOC will be - * unreffed before setting a new one. - * - * Params: - * toc = a #GstToc to set. - */ - public void setToc(Toc toc); -} diff --git a/generated/gstreamer/gstreamer/TocSetterT.d b/generated/gstreamer/gstreamer/TocSetterT.d deleted file mode 100644 index 45d97ae6e..000000000 --- a/generated/gstreamer/gstreamer/TocSetterT.d +++ /dev/null @@ -1,99 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.TocSetterT; - -public import gobject.ObjectG; -public import gstreamer.Toc; -public import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * Element interface that allows setting of the TOC. - * - * Elements that support some kind of chapters or editions (or tracks like in - * the FLAC cue sheet) will implement this interface. - * - * If you just want to retrieve the TOC in your application then all you - * need to do is watch for TOC messages on your pipeline's bus (or you can - * perform TOC query). This interface is only for setting TOC data, not for - * extracting it. To set TOC from the application, find proper tocsetter element - * and set TOC using gst_toc_setter_set_toc(). - * - * Elements implementing the #GstTocSetter interface can extend existing TOC - * by getting extend UID for that (you can use gst_toc_find_entry() to retrieve it) - * with any TOC entries received from downstream. - */ -public template TocSetterT(TStruct) -{ - /** Get the main Gtk struct */ - public GstTocSetter* getTocSetterStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return cast(GstTocSetter*)getStruct(); - } - - - /** - * Return current TOC the setter uses. The TOC should not be - * modified without making it writable first. - * - * Returns: TOC set, or %NULL. Unref with - * gst_toc_unref() when no longer needed - */ - public Toc getToc() - { - auto __p = gst_toc_setter_get_toc(getTocSetterStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Toc)(cast(GstToc*) __p, true); - } - - /** - * Reset the internal TOC. Elements should call this from within the - * state-change handler. - */ - public void reset() - { - gst_toc_setter_reset(getTocSetterStruct()); - } - - /** - * Set the given TOC on the setter. Previously set TOC will be - * unreffed before setting a new one. - * - * Params: - * toc = a #GstToc to set. - */ - public void setToc(Toc toc) - { - gst_toc_setter_set_toc(getTocSetterStruct(), (toc is null) ? null : toc.getTocStruct()); - } -} diff --git a/generated/gstreamer/gstreamer/TracerFactory.d b/generated/gstreamer/gstreamer/TracerFactory.d deleted file mode 100644 index 3d6bc1e9c..000000000 --- a/generated/gstreamer/gstreamer/TracerFactory.d +++ /dev/null @@ -1,113 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.TracerFactory; - -private import glib.ListG; -private import gstreamer.PluginFeature; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * Use gst_tracer_factory_get_list() to get a list of tracer factories known to - * GStreamer. - * - * Since: 1.8 - */ -public class TracerFactory : PluginFeature -{ - /** the main Gtk struct */ - protected GstTracerFactory* gstTracerFactory; - - /** Get the main Gtk struct */ - public GstTracerFactory* getTracerFactoryStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstTracerFactory; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstTracerFactory; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstTracerFactory* gstTracerFactory, bool ownedRef = false) - { - this.gstTracerFactory = gstTracerFactory; - super(cast(GstPluginFeature*)gstTracerFactory, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_tracer_factory_get_type(); - } - - /** - * Gets the list of all registered tracer factories. You must free the - * list using gst_plugin_feature_list_free(). - * - * The returned factories are sorted by factory name. - * - * Free-function: gst_plugin_feature_list_free - * - * Returns: the list of all - * registered #GstTracerFactory. - * - * Since: 1.8 - */ - public static ListG getList() - { - auto __p = gst_tracer_factory_get_list(); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Get the #GType for elements managed by this factory. The type can - * only be retrieved if the element factory is loaded, which can be - * assured with gst_plugin_feature_load(). - * - * Returns: the #GType for tracers managed by this factory or 0 if - * the factory is not loaded. - * - * Since: 1.14 - */ - public GType getTracerType() - { - return gst_tracer_factory_get_tracer_type(gstTracerFactory); - } -} diff --git a/generated/gstreamer/gstreamer/TypeFind.d b/generated/gstreamer/gstreamer/TypeFind.d deleted file mode 100644 index b4c98358f..000000000 --- a/generated/gstreamer/gstreamer/TypeFind.d +++ /dev/null @@ -1,144 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.TypeFind; - -private import glib.Str; -private import gstreamer.Caps; -private import gstreamer.Plugin; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * The following functions allow you to detect the media type of an unknown - * stream. - */ -public class TypeFind -{ - /** the main Gtk struct */ - protected GstTypeFind* gstTypeFind; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstTypeFind* getTypeFindStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstTypeFind; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstTypeFind; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstTypeFind* gstTypeFind, bool ownedRef = false) - { - this.gstTypeFind = gstTypeFind; - this.ownedRef = ownedRef; - } - - /** - * Returns the size bytes of the stream to identify beginning at offset. If - * offset is a positive number, the offset is relative to the beginning of the - * stream, if offset is a negative number the offset is relative to the end of - * the stream. The returned memory is valid until the typefinding function - * returns and must not be freed. - * Params: - * offset = The offset - * size = The number of bytes to return - * Returns: the requested data, or NULL if that data is not available. - */ - public ubyte[] peek(long offset, uint size) - { - ubyte* buff = gst_type_find_peek(gstTypeFind, offset, size); - - return buff[0 .. size]; - } - - /** - */ - - /** - * Get the length of the data stream. - * - * Returns: The length of the data stream, or 0 if it is not available. - */ - public ulong getLength() - { - return gst_type_find_get_length(gstTypeFind); - } - - /** - * If a #GstTypeFindFunction calls this function it suggests the caps with the - * given probability. A #GstTypeFindFunction may supply different suggestions - * in one call. - * It is up to the caller of the #GstTypeFindFunction to interpret these values. - * - * Params: - * probability = The probability in percent that the suggestion is right - * caps = The fixed #GstCaps to suggest - */ - public void suggest(uint probability, Caps caps) - { - gst_type_find_suggest(gstTypeFind, probability, (caps is null) ? null : caps.getCapsStruct()); - } - - /** - * Registers a new typefind function to be used for typefinding. After - * registering this function will be available for typefinding. - * This function is typically called during an element's plugin initialization. - * - * Params: - * plugin = A #GstPlugin, or %NULL for a static typefind function - * name = The name for registering - * rank = The rank (or importance) of this typefind function - * func = The #GstTypeFindFunction to use - * extensions = Optional comma-separated list of extensions - * that could belong to this type - * possibleCaps = Optionally the caps that could be returned when typefinding - * succeeds - * data = Optional user data. This user data must be available until the plugin - * is unloaded. - * dataNotify = a #GDestroyNotify that will be called on @data when the plugin - * is unloaded. - * - * Returns: %TRUE on success, %FALSE otherwise - */ - public static bool register(Plugin plugin, string name, uint rank, GstTypeFindFunction func, string extensions, Caps possibleCaps, void* data, GDestroyNotify dataNotify) - { - return gst_type_find_register((plugin is null) ? null : plugin.getPluginStruct(), Str.toStringz(name), rank, func, Str.toStringz(extensions), (possibleCaps is null) ? null : possibleCaps.getCapsStruct(), data, dataNotify) != 0; - } - - /** */ - public static GType typeFindGetType() - { - return gst_type_find_get_type(); - } -} diff --git a/generated/gstreamer/gstreamer/TypeFindFactory.d b/generated/gstreamer/gstreamer/TypeFindFactory.d deleted file mode 100644 index 58ab331b5..000000000 --- a/generated/gstreamer/gstreamer/TypeFindFactory.d +++ /dev/null @@ -1,201 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.TypeFindFactory; - -private import glib.ListG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.Caps; -private import gstreamer.PluginFeature; -private import gstreamer.TypeFind; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * These functions allow querying information about registered typefind - * functions. How to create and register these functions is described in - * the section - * "Writing typefind functions". - * - * The following example shows how to write a very simple typefinder that - * identifies the given data. You can get quite a bit more complicated than - * that though. - * |[ - * typedef struct { - * guint8 *data; - * guint size; - * guint probability; - * GstCaps *data; - * } MyTypeFind; - * static void - * my_peek (gpointer data, gint64 offset, guint size) - * { - * MyTypeFind *find = (MyTypeFind *) data; - * if (offset >= 0 && offset + size <= find->size) { - * return find->data + offset; - * } - * return NULL; - * } - * static void - * my_suggest (gpointer data, guint probability, GstCaps *caps) - * { - * MyTypeFind *find = (MyTypeFind *) data; - * if (probability > find->probability) { - * find->probability = probability; - * gst_caps_replace (&find->caps, caps); - * } - * } - * static GstCaps * - * find_type (guint8 *data, guint size) - * { - * GList *walk, *type_list; - * MyTypeFind find = {data, size, 0, NULL}; - * GstTypeFind gst_find = {my_peek, my_suggest, &find, }; - * walk = type_list = gst_type_find_factory_get_list (); - * while (walk) { - * GstTypeFindFactory *factory = GST_TYPE_FIND_FACTORY (walk->data); - * walk = g_list_next (walk) - * gst_type_find_factory_call_function (factory, &gst_find); - * } - * g_list_free (type_list); - * return find.caps; - * }; - * ]| - */ -public class TypeFindFactory : PluginFeature -{ - /** the main Gtk struct */ - protected GstTypeFindFactory* gstTypeFindFactory; - - /** Get the main Gtk struct */ - public GstTypeFindFactory* getTypeFindFactoryStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstTypeFindFactory; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)gstTypeFindFactory; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstTypeFindFactory* gstTypeFindFactory, bool ownedRef = false) - { - this.gstTypeFindFactory = gstTypeFindFactory; - super(cast(GstPluginFeature*)gstTypeFindFactory, ownedRef); - } - - - /** */ - public static GType getType() - { - return gst_type_find_factory_get_type(); - } - - /** - * Gets the list of all registered typefind factories. You must free the - * list using gst_plugin_feature_list_free(). - * - * The returned factories are sorted by highest rank first, and then by - * factory name. - * - * Free-function: gst_plugin_feature_list_free - * - * Returns: the list of all - * registered #GstTypeFindFactory. - */ - public static ListG getList() - { - auto __p = gst_type_find_factory_get_list(); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Calls the #GstTypeFindFunction associated with this factory. - * - * Params: - * find = a properly setup #GstTypeFind entry. The get_data - * and suggest_type members must be set. - */ - public void callFunction(TypeFind find) - { - gst_type_find_factory_call_function(gstTypeFindFactory, (find is null) ? null : find.getTypeFindStruct()); - } - - /** - * Gets the #GstCaps associated with a typefind factory. - * - * Returns: the #GstCaps associated with this factory - */ - public Caps getCaps() - { - auto __p = gst_type_find_factory_get_caps(gstTypeFindFactory); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p); - } - - /** - * Gets the extensions associated with a #GstTypeFindFactory. The returned - * array should not be changed. If you need to change stuff in it, you should - * copy it using g_strdupv(). This function may return %NULL to indicate - * a 0-length list. - * - * Returns: a %NULL-terminated array of extensions associated with this factory - */ - public string[] getExtensions() - { - return Str.toStringArray(gst_type_find_factory_get_extensions(gstTypeFindFactory)); - } - - /** - * Check whether the factory has a typefind function. Typefind factories - * without typefind functions are a last-effort fallback mechanism to - * e.g. assume a certain media type based on the file extension. - * - * Returns: %TRUE if the factory has a typefind functions set, otherwise %FALSE - */ - public bool hasFunction() - { - return gst_type_find_factory_has_function(gstTypeFindFactory) != 0; - } -} diff --git a/generated/gstreamer/gstreamer/URIHandlerIF.d b/generated/gstreamer/gstreamer/URIHandlerIF.d deleted file mode 100644 index ef4120cdb..000000000 --- a/generated/gstreamer/gstreamer/URIHandlerIF.d +++ /dev/null @@ -1,99 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.URIHandlerIF; - -private import glib.ErrorG; -private import glib.GException; -private import glib.Str; -private import glib.c.functions; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * The #GstURIHandler is an interface that is implemented by Source and Sink - * #GstElement to unify handling of URI. - * - * An application can use the following functions to quickly get an element - * that handles the given URI for reading or writing - * (gst_element_make_from_uri()). - * - * Source and Sink plugins should implement this interface when possible. - */ -public interface URIHandlerIF{ - /** Get the main Gtk struct */ - public GstURIHandler* getURIHandlerStruct(bool transferOwnership = false); - - /** the main Gtk struct as a void* */ - protected void* getStruct(); - - - /** */ - public static GType getType() - { - return gst_uri_handler_get_type(); - } - - /** - * Gets the list of protocols supported by @handler. This list may not be - * modified. - * - * Returns: the - * supported protocols. Returns %NULL if the @handler isn't - * implemented properly, or the @handler doesn't support any - * protocols. - */ - public string[] getProtocols(); - - /** - * Gets the currently handled URI. - * - * Returns: the URI currently handled by - * the @handler. Returns %NULL if there are no URI currently - * handled. The returned string must be freed with g_free() when no - * longer needed. - */ - public string getUri(); - - /** - * Gets the type of the given URI handler - * - * Returns: the #GstURIType of the URI handler. - * Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly. - */ - public GstURIType getUriType(); - - /** - * Tries to set the URI of the given handler. - * - * Params: - * uri = URI to set - * - * Returns: %TRUE if the URI was set successfully, else %FALSE. - * - * Throws: GException on failure. - */ - public bool setUri(string uri); -} diff --git a/generated/gstreamer/gstreamer/URIHandlerT.d b/generated/gstreamer/gstreamer/URIHandlerT.d deleted file mode 100644 index 614e9ef09..000000000 --- a/generated/gstreamer/gstreamer/URIHandlerT.d +++ /dev/null @@ -1,120 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.URIHandlerT; - -public import glib.ErrorG; -public import glib.GException; -public import glib.Str; -public import glib.c.functions; -public import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * The #GstURIHandler is an interface that is implemented by Source and Sink - * #GstElement to unify handling of URI. - * - * An application can use the following functions to quickly get an element - * that handles the given URI for reading or writing - * (gst_element_make_from_uri()). - * - * Source and Sink plugins should implement this interface when possible. - */ -public template URIHandlerT(TStruct) -{ - /** Get the main Gtk struct */ - public GstURIHandler* getURIHandlerStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return cast(GstURIHandler*)getStruct(); - } - - - /** - * Gets the list of protocols supported by @handler. This list may not be - * modified. - * - * Returns: the - * supported protocols. Returns %NULL if the @handler isn't - * implemented properly, or the @handler doesn't support any - * protocols. - */ - public string[] getProtocols() - { - return Str.toStringArray(gst_uri_handler_get_protocols(getURIHandlerStruct())); - } - - /** - * Gets the currently handled URI. - * - * Returns: the URI currently handled by - * the @handler. Returns %NULL if there are no URI currently - * handled. The returned string must be freed with g_free() when no - * longer needed. - */ - public string getUri() - { - auto retStr = gst_uri_handler_get_uri(getURIHandlerStruct()); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Gets the type of the given URI handler - * - * Returns: the #GstURIType of the URI handler. - * Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly. - */ - public GstURIType getUriType() - { - return gst_uri_handler_get_uri_type(getURIHandlerStruct()); - } - - /** - * Tries to set the URI of the given handler. - * - * Params: - * uri = URI to set - * - * Returns: %TRUE if the URI was set successfully, else %FALSE. - * - * Throws: GException on failure. - */ - public bool setUri(string uri) - { - GError* err = null; - - auto __p = gst_uri_handler_set_uri(getURIHandlerStruct(), Str.toStringz(uri), &err) != 0; - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - return __p; - } -} diff --git a/generated/gstreamer/gstreamer/Uri.d b/generated/gstreamer/gstreamer/Uri.d deleted file mode 100644 index 1923e864d..000000000 --- a/generated/gstreamer/gstreamer/Uri.d +++ /dev/null @@ -1,999 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Uri; - -private import glib.ConstructionException; -private import glib.ErrorG; -private import glib.GException; -private import glib.HashTable; -private import glib.ListG; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * A #GstUri object can be used to parse and split a URI string into its - * constituent parts. Two #GstUri objects can be joined to make a new #GstUri - * using the algorithm described in RFC3986. - */ -public class Uri -{ - /** the main Gtk struct */ - protected GstUri* gstUri; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstUri* getUriStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstUri; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstUri; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstUri* gstUri, bool ownedRef = false) - { - this.gstUri = gstUri; - this.ownedRef = ownedRef; - } - - - /** */ - public static GType getType() - { - return gst_uri_get_type(); - } - - /** - * Creates a new #GstUri object with the given URI parts. The path and query - * strings will be broken down into their elements. All strings should not be - * escaped except where indicated. - * - * Params: - * scheme = The scheme for the new URI. - * userinfo = The user-info for the new URI. - * host = The host name for the new URI. - * port = The port number for the new URI or %GST_URI_NO_PORT. - * path = The path for the new URI with '/' separating path - * elements. - * query = The query string for the new URI with '&' separating - * query elements. Elements containing '&' characters - * should encode them as "%26". - * fragment = The fragment name for the new URI. - * - * Returns: A new #GstUri object. - * - * Since: 1.6 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string scheme, string userinfo, string host, uint port, string path, string query, string fragment) - { - auto __p = gst_uri_new(Str.toStringz(scheme), Str.toStringz(userinfo), Str.toStringz(host), port, Str.toStringz(path), Str.toStringz(query), Str.toStringz(fragment)); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(GstUri*) __p); - } - - /** - * Append a path onto the end of the path in the URI. The path is not - * normalized, call #gst_uri_normalize() to normalize the path. - * - * Params: - * relativePath = Relative path to append to the end of the current path. - * - * Returns: %TRUE if the path was appended successfully. - * - * Since: 1.6 - */ - public bool appendPath(string relativePath) - { - return gst_uri_append_path(gstUri, Str.toStringz(relativePath)) != 0; - } - - /** - * Append a single path segment onto the end of the URI path. - * - * Params: - * pathSegment = The path segment string to append to the URI path. - * - * Returns: %TRUE if the path was appended successfully. - * - * Since: 1.6 - */ - public bool appendPathSegment(string pathSegment) - { - return gst_uri_append_path_segment(gstUri, Str.toStringz(pathSegment)) != 0; - } - - /** - * Compares two #GstUri objects to see if they represent the same normalized - * URI. - * - * Params: - * second = Second #GstUri to compare. - * - * Returns: %TRUE if the normalized versions of the two URI's would be equal. - * - * Since: 1.6 - */ - public bool equal(Uri second) - { - return gst_uri_equal(gstUri, (second is null) ? null : second.getUriStruct()) != 0; - } - - /** - * Like gst_uri_from_string() but also joins with a base URI. - * - * Params: - * uri = The URI string to parse. - * - * Returns: A new #GstUri object. - * - * Since: 1.6 - */ - public Uri fromStringWithBase(string uri) - { - auto __p = gst_uri_from_string_with_base(gstUri, Str.toStringz(uri)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Uri)(cast(GstUri*) __p, true); - } - - /** - * Get the fragment name from the URI or %NULL if it doesn't exist. - * If @uri is %NULL then returns %NULL. - * - * Returns: The host name from the #GstUri object or %NULL. - * - * Since: 1.6 - */ - public string getFragment() - { - return Str.toString(gst_uri_get_fragment(gstUri)); - } - - /** - * Get the host name from the URI or %NULL if it doesn't exist. - * If @uri is %NULL then returns %NULL. - * - * Returns: The host name from the #GstUri object or %NULL. - * - * Since: 1.6 - */ - public string getHost() - { - return Str.toString(gst_uri_get_host(gstUri)); - } - - /** - * Get the media fragment table from the URI, as defined by "Media Fragments URI 1.0". - * Hash table returned by this API is a list of "key-value" pairs, and the each - * pair is generated by splitting "URI fragment" per "&" sub-delims, then "key" - * and "value" are split by "=" sub-delims. The "key" returned by this API may - * be undefined keyword by standard. - * A value may be %NULL to indicate that the key should appear in the fragment - * string in the URI, but does not have a value. Free the returned #GHashTable - * with #g_hash_table_unref() when it is no longer required. - * Modifying this hash table does not affect the fragment in the URI. - * - * See more about Media Fragments URI 1.0 (W3C) at https://www.w3.org/TR/media-frags/ - * - * Returns: The - * fragment hash table from the URI. - * - * Since: 1.12 - */ - public HashTable getMediaFragmentTable() - { - auto __p = gst_uri_get_media_fragment_table(gstUri); - - if(__p is null) - { - return null; - } - - return new HashTable(cast(GHashTable*) __p, true); - } - - /** - * Extract the path string from the URI object. - * - * Returns: The path from the URI. Once finished - * with the string should be g_free()'d. - * - * Since: 1.6 - */ - public string getPath() - { - auto retStr = gst_uri_get_path(gstUri); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Get a list of path segments from the URI. - * - * Returns: A #GList of path segment - * strings or %NULL if no path segments are available. Free the list - * when no longer needed with g_list_free_full(list, g_free). - * - * Since: 1.6 - */ - public ListG getPathSegments() - { - auto __p = gst_uri_get_path_segments(gstUri); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p, true); - } - - /** - * Extract the path string from the URI object as a percent encoded URI path. - * - * Returns: The path from the URI. Once finished - * with the string should be g_free()'d. - * - * Since: 1.6 - */ - public string getPathString() - { - auto retStr = gst_uri_get_path_string(gstUri); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Get the port number from the URI or %GST_URI_NO_PORT if it doesn't exist. - * If @uri is %NULL then returns %GST_URI_NO_PORT. - * - * Returns: The port number from the #GstUri object or %GST_URI_NO_PORT. - * - * Since: 1.6 - */ - public uint getPort() - { - return gst_uri_get_port(gstUri); - } - - /** - * Get a list of the query keys from the URI. - * - * Returns: A list of keys from - * the URI query. Free the list with g_list_free(). - * - * Since: 1.6 - */ - public ListG getQueryKeys() - { - auto __p = gst_uri_get_query_keys(gstUri); - - if(__p is null) - { - return null; - } - - return new ListG(cast(GList*) __p); - } - - /** - * Get a percent encoded URI query string from the @uri. - * - * Returns: A percent encoded query string. Use - * g_free() when no longer needed. - * - * Since: 1.6 - */ - public string getQueryString() - { - auto retStr = gst_uri_get_query_string(gstUri); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Get the query table from the URI. Keys and values in the table are freed - * with g_free when they are deleted. A value may be %NULL to indicate that - * the key should appear in the query string in the URI, but does not have a - * value. Free the returned #GHashTable with #g_hash_table_unref() when it is - * no longer required. Modifying this hash table will modify the query in the - * URI. - * - * Returns: The query - * hash table from the URI. - * - * Since: 1.6 - */ - public HashTable getQueryTable() - { - auto __p = gst_uri_get_query_table(gstUri); - - if(__p is null) - { - return null; - } - - return new HashTable(cast(GHashTable*) __p, true); - } - - /** - * Get the value associated with the @query_key key. Will return %NULL if the - * key has no value or if the key does not exist in the URI query table. Because - * %NULL is returned for both missing keys and keys with no value, you should - * use gst_uri_query_has_key() to determine if a key is present in the URI - * query. - * - * Params: - * queryKey = The key to lookup. - * - * Returns: The value for the given key, or %NULL if not found. - * - * Since: 1.6 - */ - public string getQueryValue(string queryKey) - { - return Str.toString(gst_uri_get_query_value(gstUri, Str.toStringz(queryKey))); - } - - /** - * Get the scheme name from the URI or %NULL if it doesn't exist. - * If @uri is %NULL then returns %NULL. - * - * Returns: The scheme from the #GstUri object or %NULL. - */ - public string getScheme() - { - return Str.toString(gst_uri_get_scheme(gstUri)); - } - - /** - * Get the userinfo (usually in the form "username:password") from the URI - * or %NULL if it doesn't exist. If @uri is %NULL then returns %NULL. - * - * Returns: The userinfo from the #GstUri object or %NULL. - * - * Since: 1.6 - */ - public string getUserinfo() - { - return Str.toString(gst_uri_get_userinfo(gstUri)); - } - - /** - * Tests the @uri to see if it is normalized. A %NULL @uri is considered to be - * normalized. - * - * Returns: TRUE if the URI is normalized or is %NULL. - * - * Since: 1.6 - */ - public bool isNormalized() - { - return gst_uri_is_normalized(gstUri) != 0; - } - - /** - * Check if it is safe to write to this #GstUri. - * - * Check if the refcount of @uri is exactly 1, meaning that no other - * reference exists to the #GstUri and that the #GstUri is therefore writable. - * - * Modification of a #GstUri should only be done after verifying that it is - * writable. - * - * Returns: %TRUE if it is safe to write to the object. - * - * Since: 1.6 - */ - public bool isWritable() - { - return gst_uri_is_writable(gstUri) != 0; - } - - /** - * Join a reference URI onto a base URI using the method from RFC 3986. - * If either URI is %NULL then the other URI will be returned with the ref count - * increased. - * - * Params: - * refUri = The reference URI to join onto the - * base URI. - * - * Returns: A #GstUri which represents the base - * with the reference URI joined on. - * - * Since: 1.6 - */ - public Uri join(Uri refUri) - { - auto __p = gst_uri_join(gstUri, (refUri is null) ? null : refUri.getUriStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Uri)(cast(GstUri*) __p, true); - } - - /** - * Make the #GstUri writable. - * - * Checks if @uri is writable, and if so the original object is returned. If - * not, then a writable copy is made and returned. This gives away the - * reference to @uri and returns a reference to the new #GstUri. - * If @uri is %NULL then %NULL is returned. - * - * Returns: A writable version of @uri. - * - * Since: 1.6 - */ - public Uri makeWritable() - { - auto __p = gst_uri_make_writable(gstUri); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Uri)(cast(GstUri*) __p, true); - } - - /** - * Like gst_uri_new(), but joins the new URI onto a base URI. - * - * Params: - * scheme = The scheme for the new URI. - * userinfo = The user-info for the new URI. - * host = The host name for the new URI. - * port = The port number for the new URI or %GST_URI_NO_PORT. - * path = The path for the new URI with '/' separating path - * elements. - * query = The query string for the new URI with '&' separating - * query elements. Elements containing '&' characters - * should encode them as "%26". - * fragment = The fragment name for the new URI. - * - * Returns: The new URI joined onto @base. - * - * Since: 1.6 - */ - public Uri newWithBase(string scheme, string userinfo, string host, uint port, string path, string query, string fragment) - { - auto __p = gst_uri_new_with_base(gstUri, Str.toStringz(scheme), Str.toStringz(userinfo), Str.toStringz(host), port, Str.toStringz(path), Str.toStringz(query), Str.toStringz(fragment)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Uri)(cast(GstUri*) __p, true); - } - - /** - * Normalization will remove extra path segments ("." and "..") from the URI. It - * will also convert the scheme and host name to lower case and any - * percent-encoded values to uppercase. - * - * The #GstUri object must be writable. Check with gst_uri_is_writable() or use - * gst_uri_make_writable() first. - * - * Returns: TRUE if the URI was modified. - * - * Since: 1.6 - */ - public bool normalize() - { - return gst_uri_normalize(gstUri) != 0; - } - - /** - * Check if there is a query table entry for the @query_key key. - * - * Params: - * queryKey = The key to lookup. - * - * Returns: %TRUE if @query_key exists in the URI query table. - * - * Since: 1.6 - */ - public bool queryHasKey(string queryKey) - { - return gst_uri_query_has_key(gstUri, Str.toStringz(queryKey)) != 0; - } - - /** - * Remove an entry from the query table by key. - * - * Params: - * queryKey = The key to remove. - * - * Returns: %TRUE if the key existed in the table and was removed. - * - * Since: 1.6 - */ - public bool removeQueryKey(string queryKey) - { - return gst_uri_remove_query_key(gstUri, Str.toStringz(queryKey)) != 0; - } - - /** - * Sets the fragment string in the URI. Use a value of %NULL in @fragment to - * unset the fragment string. - * - * Params: - * fragment = The fragment string to set. - * - * Returns: %TRUE if the fragment was set/unset successfully. - * - * Since: 1.6 - */ - public bool setFragment(string fragment) - { - return gst_uri_set_fragment(gstUri, Str.toStringz(fragment)) != 0; - } - - /** - * Set or unset the host for the URI. - * - * Params: - * host = The new host string to set or %NULL to unset. - * - * Returns: %TRUE if the host was set/unset successfully. - * - * Since: 1.6 - */ - public bool setHost(string host) - { - return gst_uri_set_host(gstUri, Str.toStringz(host)) != 0; - } - - /** - * Sets or unsets the path in the URI. - * - * Params: - * path = The new path to set with path segments separated by '/', or use %NULL - * to unset the path. - * - * Returns: %TRUE if the path was set successfully. - * - * Since: 1.6 - */ - public bool setPath(string path) - { - return gst_uri_set_path(gstUri, Str.toStringz(path)) != 0; - } - - /** - * Replace the path segments list in the URI. - * - * Params: - * pathSegments = The new - * path list to set. - * - * Returns: %TRUE if the path segments were set successfully. - * - * Since: 1.6 - */ - public bool setPathSegments(ListG pathSegments) - { - return gst_uri_set_path_segments(gstUri, (pathSegments is null) ? null : pathSegments.getListGStruct()) != 0; - } - - /** - * Sets or unsets the path in the URI. - * - * Params: - * path = The new percent encoded path to set with path segments separated by - * '/', or use %NULL to unset the path. - * - * Returns: %TRUE if the path was set successfully. - * - * Since: 1.6 - */ - public bool setPathString(string path) - { - return gst_uri_set_path_string(gstUri, Str.toStringz(path)) != 0; - } - - /** - * Set or unset the port number for the URI. - * - * Params: - * port = The new port number to set or %GST_URI_NO_PORT to unset. - * - * Returns: %TRUE if the port number was set/unset successfully. - * - * Since: 1.6 - */ - public bool setPort(uint port) - { - return gst_uri_set_port(gstUri, port) != 0; - } - - /** - * Sets or unsets the query table in the URI. - * - * Params: - * query = The new percent encoded query string to use to populate the query - * table, or use %NULL to unset the query table. - * - * Returns: %TRUE if the query table was set successfully. - * - * Since: 1.6 - */ - public bool setQueryString(string query) - { - return gst_uri_set_query_string(gstUri, Str.toStringz(query)) != 0; - } - - /** - * Set the query table to use in the URI. The old table is unreferenced and a - * reference to the new one is used instead. A value if %NULL for @query_table - * will remove the query string from the URI. - * - * Params: - * queryTable = The new - * query table to use. - * - * Returns: %TRUE if the new table was successfully used for the query table. - * - * Since: 1.6 - */ - public bool setQueryTable(HashTable queryTable) - { - return gst_uri_set_query_table(gstUri, (queryTable is null) ? null : queryTable.getHashTableStruct()) != 0; - } - - /** - * This inserts or replaces a key in the query table. A @query_value of %NULL - * indicates that the key has no associated value, but will still be present in - * the query string. - * - * Params: - * queryKey = The key for the query entry. - * queryValue = The value for the key. - * - * Returns: %TRUE if the query table was successfully updated. - * - * Since: 1.6 - */ - public bool setQueryValue(string queryKey, string queryValue) - { - return gst_uri_set_query_value(gstUri, Str.toStringz(queryKey), Str.toStringz(queryValue)) != 0; - } - - /** - * Set or unset the scheme for the URI. - * - * Params: - * scheme = The new scheme to set or %NULL to unset the scheme. - * - * Returns: %TRUE if the scheme was set/unset successfully. - * - * Since: 1.6 - */ - public bool setScheme(string scheme) - { - return gst_uri_set_scheme(gstUri, Str.toStringz(scheme)) != 0; - } - - /** - * Set or unset the user information for the URI. - * - * Params: - * userinfo = The new user-information string to set or %NULL to unset. - * - * Returns: %TRUE if the user information was set/unset successfully. - * - * Since: 1.6 - */ - public bool setUserinfo(string userinfo) - { - return gst_uri_set_userinfo(gstUri, Str.toStringz(userinfo)) != 0; - } - - /** - * Convert the URI to a string. - * - * Returns the URI as held in this object as a #gchar* nul-terminated string. - * The caller should g_free() the string once they are finished with it. - * The string is put together as described in RFC 3986. - * - * Returns: The string version of the URI. - * - * Since: 1.6 - */ - public override string toString() - { - auto retStr = gst_uri_to_string(gstUri); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Constructs a URI for a given valid protocol and location. - * - * Free-function: g_free - * - * Deprecated: Use GstURI instead. - * - * Params: - * protocol = Protocol for URI - * location = Location for URI - * - * Returns: a new string for this URI. Returns %NULL if the - * given URI protocol is not valid, or the given location is %NULL. - */ - public static string construct(string protocol, string location) - { - auto retStr = gst_uri_construct(Str.toStringz(protocol), Str.toStringz(location)); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Parses a URI string into a new #GstUri object. Will return NULL if the URI - * cannot be parsed. - * - * Params: - * uri = The URI string to parse. - * - * Returns: A new #GstUri object, or NULL. - * - * Since: 1.6 - */ - public static Uri fromString(string uri) - { - auto __p = gst_uri_from_string(Str.toStringz(uri)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Uri)(cast(GstUri*) __p, true); - } - - /** - * Parses a URI string into a new #GstUri object. Will return NULL if the URI - * cannot be parsed. This is identical to gst_uri_from_string() except that - * the userinfo and fragment components of the URI will not be unescaped while - * parsing. - * - * Use this when you need to extract a username and password from the userinfo - * such as https://user:password@example.com since either may contain - * a URI-escaped ':' character. gst_uri_from_string() will unescape the entire - * userinfo component, which will make it impossible to know which ':' - * delineates the username and password. - * - * The same applies to the fragment component of the URI, such as - * https://example.com/path#fragment which may contain a URI-escaped '#'. - * - * Params: - * uri = The URI string to parse. - * - * Returns: A new #GstUri object, or NULL. - * - * Since: 1.18 - */ - public static Uri fromStringEscaped(string uri) - { - auto __p = gst_uri_from_string_escaped(Str.toStringz(uri)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Uri)(cast(GstUri*) __p, true); - } - - /** - * Extracts the location out of a given valid URI, ie. the protocol and "://" - * are stripped from the URI, which means that the location returned includes - * the hostname if one is specified. The returned string must be freed using - * g_free(). - * - * Free-function: g_free - * - * Params: - * uri = A URI string - * - * Returns: the location for this URI. Returns - * %NULL if the URI isn't valid. If the URI does not contain a location, an - * empty string is returned. - */ - public static string getLocation(string uri) - { - auto retStr = gst_uri_get_location(Str.toStringz(uri)); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Extracts the protocol out of a given valid URI. The returned string must be - * freed using g_free(). - * - * Params: - * uri = A URI string - * - * Returns: The protocol for this URI. - */ - public static string getProtocol(string uri) - { - auto retStr = gst_uri_get_protocol(Str.toStringz(uri)); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Checks if the protocol of a given valid URI matches @protocol. - * - * Params: - * uri = a URI string - * protocol = a protocol string (e.g. "http") - * - * Returns: %TRUE if the protocol matches. - */ - public static bool hasProtocol(string uri, string protocol) - { - return gst_uri_has_protocol(Str.toStringz(uri), Str.toStringz(protocol)) != 0; - } - - /** - * Tests if the given string is a valid URI identifier. URIs start with a valid - * scheme followed by ":" and maybe a string identifying the location. - * - * Params: - * uri = A URI string - * - * Returns: %TRUE if the string is a valid URI - */ - public static bool isValid(string uri) - { - return gst_uri_is_valid(Str.toStringz(uri)) != 0; - } - - /** - * This is a convenience function to join two URI strings and return the result. - * The returned string should be g_free()'d after use. - * - * Params: - * baseUri = The percent-encoded base URI. - * refUri = The percent-encoded reference URI to join to the @base_uri. - * - * Returns: A string representing the percent-encoded join of - * the two URIs. - * - * Since: 1.6 - */ - public static string joinStrings(string baseUri, string refUri) - { - auto retStr = gst_uri_join_strings(Str.toStringz(baseUri), Str.toStringz(refUri)); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Checks if an element exists that supports the given URI protocol. Note - * that a positive return value does not imply that a subsequent call to - * gst_element_make_from_uri() is guaranteed to work. - * - * Params: - * type = Whether to check for a source or a sink - * protocol = Protocol that should be checked for (e.g. "http" or "smb") - * - * Returns: %TRUE - */ - public static bool protocolIsSupported(GstURIType type, string protocol) - { - return gst_uri_protocol_is_supported(type, Str.toStringz(protocol)) != 0; - } - - /** - * Tests if the given string is a valid protocol identifier. Protocols - * must consist of alphanumeric characters, '+', '-' and '.' and must - * start with a alphabetic character. See RFC 3986 Section 3.1. - * - * Params: - * protocol = A string - * - * Returns: %TRUE if the string is a valid protocol identifier, %FALSE otherwise. - */ - public static bool protocolIsValid(string protocol) - { - return gst_uri_protocol_is_valid(Str.toStringz(protocol)) != 0; - } - - /** - * Similar to g_filename_to_uri(), but attempts to handle relative file paths - * as well. Before converting @filename into an URI, it will be prefixed by - * the current working directory if it is a relative path, and then the path - * will be canonicalised so that it doesn't contain any './' or '../' segments. - * - * On Windows @filename should be in UTF-8 encoding. - * - * Params: - * filename = absolute or relative file name path - * - * Returns: newly-allocated URI string, or NULL on error. The caller must - * free the URI string with g_free() when no longer needed. - * - * Throws: GException on failure. - */ - public static string filenameToUri(string filename) - { - GError* err = null; - - auto retStr = gst_filename_to_uri(Str.toStringz(filename), &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** */ - public static GQuark uriErrorQuark() - { - return gst_uri_error_quark(); - } -} diff --git a/generated/gstreamer/gstreamer/Utils.d b/generated/gstreamer/gstreamer/Utils.d deleted file mode 100644 index b1b2ceee1..000000000 --- a/generated/gstreamer/gstreamer/Utils.d +++ /dev/null @@ -1,540 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.Utils; - -private import glib.MemorySlice; -private import glib.Str; -private import gobject.ObjectG; -private import gobject.Value; -private import gobject.ValueArray; -private import gstreamer.Plugin; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** */ -public struct Utils -{ - - /** - * Searches inside @array for @search_data by using the comparison function - * @search_func. @array must be sorted ascending. - * - * As @search_data is always passed as second argument to @search_func it's - * not required that @search_data has the same type as the array elements. - * - * The complexity of this search function is O(log (num_elements)). - * - * Params: - * array = the sorted input array - * numElements = number of elements in the array - * elementSize = size of every element in bytes - * searchFunc = function to compare two elements, @search_data will always be passed as second argument - * mode = search mode that should be used - * searchData = element that should be found - * userData = data to pass to @search_func - * - * Returns: The address of the found - * element or %NULL if nothing was found - */ - public static void* arrayBinarySearch(void* array, uint numElements, size_t elementSize, GCompareDataFunc searchFunc, GstSearchMode mode, void* searchData, void* userData) - { - return gst_util_array_binary_search(array, numElements, elementSize, searchFunc, mode, searchData, userData); - } - - /** - * Transforms a #gdouble to a fraction and simplifies - * the result. - * - * Params: - * src = #gdouble to transform - * destN = pointer to a #gint to hold the result numerator - * destD = pointer to a #gint to hold the result denominator - */ - public static void doubleToFraction(double src, out int destN, out int destD) - { - gst_util_double_to_fraction(src, &destN, &destD); - } - - /** - * Dumps the memory block into a hex representation. Useful for debugging. - * - * Params: - * mem = a pointer to the memory to dump - */ - public static void dumpMem(char[] mem) - { - gst_util_dump_mem(mem.ptr, cast(uint)mem.length); - } - - /** - * Adds the fractions @a_n/@a_d and @b_n/@b_d and stores - * the result in @res_n and @res_d. - * - * Params: - * aN = Numerator of first value - * aD = Denominator of first value - * bN = Numerator of second value - * bD = Denominator of second value - * resN = Pointer to #gint to hold the result numerator - * resD = Pointer to #gint to hold the result denominator - * - * Returns: %FALSE on overflow, %TRUE otherwise. - */ - public static bool fractionAdd(int aN, int aD, int bN, int bD, out int resN, out int resD) - { - return gst_util_fraction_add(aN, aD, bN, bD, &resN, &resD) != 0; - } - - /** - * Compares the fractions @a_n/@a_d and @b_n/@b_d and returns - * -1 if a < b, 0 if a = b and 1 if a > b. - * - * Params: - * aN = Numerator of first value - * aD = Denominator of first value - * bN = Numerator of second value - * bD = Denominator of second value - * - * Returns: -1 if a < b; 0 if a = b; 1 if a > b. - */ - public static int fractionCompare(int aN, int aD, int bN, int bD) - { - return gst_util_fraction_compare(aN, aD, bN, bD); - } - - /** - * Multiplies the fractions @a_n/@a_d and @b_n/@b_d and stores - * the result in @res_n and @res_d. - * - * Params: - * aN = Numerator of first value - * aD = Denominator of first value - * bN = Numerator of second value - * bD = Denominator of second value - * resN = Pointer to #gint to hold the result numerator - * resD = Pointer to #gint to hold the result denominator - * - * Returns: %FALSE on overflow, %TRUE otherwise. - */ - public static bool fractionMultiply(int aN, int aD, int bN, int bD, out int resN, out int resD) - { - return gst_util_fraction_multiply(aN, aD, bN, bD, &resN, &resD) != 0; - } - - /** - * Transforms a fraction to a #gdouble. - * - * Params: - * srcN = Fraction numerator as #gint - * srcD = Fraction denominator #gint - * dest = pointer to a #gdouble for the result - */ - public static void fractionToDouble(int srcN, int srcD, out double dest) - { - gst_util_fraction_to_double(srcN, srcD, &dest); - } - - /** - * - * Params: - * value = The #gdouble value to convert guint64 double - * Returns: @value casted to #guint64 - */ - public static ulong gdoubleToGuint64(double value) - { - return gst_util_gdouble_to_guint64(value); - } - - /** - * Get a timestamp as GstClockTime to be used for interval measurements. - * The timestamp should not be interpreted in any other way. - * - * Returns: the timestamp - */ - public static GstClockTime getTimestamp() - { - return gst_util_get_timestamp(); - } - - /** - * Calculates the greatest common divisor of @a - * and @b. - * - * Params: - * a = First value as #gint - * b = Second value as #gint - * - * Returns: Greatest common divisor of @a and @b - */ - public static int greatestCommonDivisor(int a, int b) - { - return gst_util_greatest_common_divisor(a, b); - } - - /** - * Calculates the greatest common divisor of @a - * and @b. - * - * Params: - * a = First value as #gint64 - * b = Second value as #gint64 - * - * Returns: Greatest common divisor of @a and @b - */ - public static long greatestCommonDivisorInt64(long a, long b) - { - return gst_util_greatest_common_divisor_int64(a, b); - } - - /** - * Return a constantly incrementing group id. - * - * This function is used to generate a new group-id for the - * stream-start event. - * - * This function never returns %GST_GROUP_ID_INVALID (which is 0) - * - * Returns: A constantly incrementing unsigned integer, which might - * overflow back to 0 at some point. - */ - public static uint groupIdNext() - { - return gst_util_group_id_next(); - } - - /** - * - * Params: - * value = The #guint64 value to convert to double - * Returns: @value casted to #gdouble - */ - public static double guint64ToGdouble(ulong value) - { - return gst_util_guint64_to_gdouble(value); - } - - /** - * Compare two sequence numbers, handling wraparound. - * - * The current implementation just returns (gint32)(@s1 - @s2). - * - * Params: - * s1 = A sequence number. - * s2 = Another sequence number. - * - * Returns: A negative number if @s1 is before @s2, 0 if they are equal, or a - * positive number if @s1 is after @s2. - */ - public static int seqnumCompare(uint s1, uint s2) - { - return gst_util_seqnum_compare(s1, s2); - } - - /** - * Return a constantly incrementing sequence number. - * - * This function is used internally to GStreamer to be able to determine which - * events and messages are "the same". For example, elements may set the seqnum - * on a segment-done message to be the same as that of the last seek event, to - * indicate that event and the message correspond to the same segment. - * - * This function never returns %GST_SEQNUM_INVALID (which is 0). - * - * Returns: A constantly incrementing 32-bit unsigned integer, which might - * overflow at some point. Use gst_util_seqnum_compare() to make sure - * you handle wraparound correctly. - */ - public static uint seqnumNext() - { - return gst_util_seqnum_next(); - } - - /** - * Converts the string value to the type of the objects argument and - * sets the argument with it. - * - * Note that this function silently returns if @object has no property named - * @name or when @value cannot be converted to the type of the property. - * - * Params: - * object = the object to set the argument of - * name = the name of the argument to set - * value = the string value to set - */ - public static void setObjectArg(ObjectG object, string name, string value) - { - gst_util_set_object_arg((object is null) ? null : object.getObjectGStruct(), Str.toStringz(name), Str.toStringz(value)); - } - - /** - * Converts the string to the type of the value and - * sets the value with it. - * - * Note that this function is dangerous as it does not return any indication - * if the conversion worked or not. - * - * Params: - * value = the value to set - * valueStr = the string to get the value from - */ - public static void setValueFromString(out Value value, string valueStr) - { - GValue* outvalue = sliceNew!GValue(); - - gst_util_set_value_from_string(outvalue, Str.toStringz(valueStr)); - - value = ObjectG.getDObject!(Value)(outvalue, true); - } - - /** - * Scale @val by the rational number @num / @denom, avoiding overflows and - * underflows and without loss of precision. - * - * This function can potentially be very slow if val and num are both - * greater than G_MAXUINT32. - * - * Params: - * val = the number to scale - * num = the numerator of the scale ratio - * denom = the denominator of the scale ratio - * - * Returns: @val * @num / @denom. In the case of an overflow, this - * function returns G_MAXUINT64. If the result is not exactly - * representable as an integer it is truncated. See also - * gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil(), - * gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(), - * gst_util_uint64_scale_int_ceil(). - */ - public static ulong uint64Scale(ulong val, ulong num, ulong denom) - { - return gst_util_uint64_scale(val, num, denom); - } - - /** - * Scale @val by the rational number @num / @denom, avoiding overflows and - * underflows and without loss of precision. - * - * This function can potentially be very slow if val and num are both - * greater than G_MAXUINT32. - * - * Params: - * val = the number to scale - * num = the numerator of the scale ratio - * denom = the denominator of the scale ratio - * - * Returns: @val * @num / @denom. In the case of an overflow, this - * function returns G_MAXUINT64. If the result is not exactly - * representable as an integer, it is rounded up. See also - * gst_util_uint64_scale(), gst_util_uint64_scale_round(), - * gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(), - * gst_util_uint64_scale_int_ceil(). - */ - public static ulong uint64ScaleCeil(ulong val, ulong num, ulong denom) - { - return gst_util_uint64_scale_ceil(val, num, denom); - } - - /** - * Scale @val by the rational number @num / @denom, avoiding overflows and - * underflows and without loss of precision. @num must be non-negative and - * @denom must be positive. - * - * Params: - * val = guint64 (such as a #GstClockTime) to scale. - * num = numerator of the scale factor. - * denom = denominator of the scale factor. - * - * Returns: @val * @num / @denom. In the case of an overflow, this - * function returns G_MAXUINT64. If the result is not exactly - * representable as an integer, it is truncated. See also - * gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil(), - * gst_util_uint64_scale(), gst_util_uint64_scale_round(), - * gst_util_uint64_scale_ceil(). - */ - public static ulong uint64ScaleInt(ulong val, int num, int denom) - { - return gst_util_uint64_scale_int(val, num, denom); - } - - /** - * Scale @val by the rational number @num / @denom, avoiding overflows and - * underflows and without loss of precision. @num must be non-negative and - * @denom must be positive. - * - * Params: - * val = guint64 (such as a #GstClockTime) to scale. - * num = numerator of the scale factor. - * denom = denominator of the scale factor. - * - * Returns: @val * @num / @denom. In the case of an overflow, this - * function returns G_MAXUINT64. If the result is not exactly - * representable as an integer, it is rounded up. See also - * gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(), - * gst_util_uint64_scale(), gst_util_uint64_scale_round(), - * gst_util_uint64_scale_ceil(). - */ - public static ulong uint64ScaleIntCeil(ulong val, int num, int denom) - { - return gst_util_uint64_scale_int_ceil(val, num, denom); - } - - /** - * Scale @val by the rational number @num / @denom, avoiding overflows and - * underflows and without loss of precision. @num must be non-negative and - * @denom must be positive. - * - * Params: - * val = guint64 (such as a #GstClockTime) to scale. - * num = numerator of the scale factor. - * denom = denominator of the scale factor. - * - * Returns: @val * @num / @denom. In the case of an overflow, this - * function returns G_MAXUINT64. If the result is not exactly - * representable as an integer, it is rounded to the nearest integer - * (half-way cases are rounded up). See also gst_util_uint64_scale_int(), - * gst_util_uint64_scale_int_ceil(), gst_util_uint64_scale(), - * gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil(). - */ - public static ulong uint64ScaleIntRound(ulong val, int num, int denom) - { - return gst_util_uint64_scale_int_round(val, num, denom); - } - - /** - * Scale @val by the rational number @num / @denom, avoiding overflows and - * underflows and without loss of precision. - * - * This function can potentially be very slow if val and num are both - * greater than G_MAXUINT32. - * - * Params: - * val = the number to scale - * num = the numerator of the scale ratio - * denom = the denominator of the scale ratio - * - * Returns: @val * @num / @denom. In the case of an overflow, this - * function returns G_MAXUINT64. If the result is not exactly - * representable as an integer, it is rounded to the nearest integer - * (half-way cases are rounded up). See also gst_util_uint64_scale(), - * gst_util_uint64_scale_ceil(), gst_util_uint64_scale_int(), - * gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil(). - */ - public static ulong uint64ScaleRound(ulong val, ulong num, ulong denom) - { - return gst_util_uint64_scale_round(val, num, denom); - } - - /** - * Calculates the linear regression of the values @xy and places the - * result in @m_num, @m_denom, @b and @xbase, representing the function - * y(x) = m_num/m_denom * (x - xbase) + b - * that has the least-square distance from all points @x and @y. - * - * @r_squared will contain the remaining error. - * - * If @temp is not %NULL, it will be used as temporary space for the function, - * in which case the function works without any allocation at all. If @temp is - * %NULL, an allocation will take place. @temp should have at least the same - * amount of memory allocated as @xy, i.e. 2*n*sizeof(GstClockTime). - * - * > This function assumes (x,y) values with reasonable large differences - * > between them. It will not calculate the exact results if the differences - * > between neighbouring values are too small due to not being able to - * > represent sub-integer values during the calculations. - * - * Params: - * xy = Pairs of (x,y) values - * temp = Temporary scratch space used by the function - * n = number of (x,y) pairs - * mNum = numerator of calculated slope - * mDenom = denominator of calculated slope - * b = Offset at Y-axis - * xbase = Offset at X-axis - * rSquared = R-squared - * - * Returns: %TRUE if the linear regression was successfully calculated - * - * Since: 1.12 - */ - public static bool calculateLinearRegression(GstClockTime* xy, GstClockTime* temp, uint n, out GstClockTime mNum, out GstClockTime mDenom, out GstClockTime b, out GstClockTime xbase, out double rSquared) - { - return gst_calculate_linear_regression(xy, temp, n, &mNum, &mDenom, &b, &xbase, &rSquared) != 0; - } - - /** - * Registers a new #GstDynamicTypeFactory in the registry - * - * Params: - * plugin = The #GstPlugin to register @dyn_type for - * type = The #GType to register dynamically - * - * Since: 1.12 - */ - public static bool dynamicTypeRegister(Plugin plugin, GType type) - { - return gst_dynamic_type_register((plugin is null) ? null : plugin.getPluginStruct(), type) != 0; - } - - /** - * Get a property of type %GST_TYPE_ARRAY and transform it into a - * #GValueArray. This allow language bindings to get GST_TYPE_ARRAY - * properties which are otherwise not an accessible type. - * - * Params: - * object = the object to set the array to - * name = the name of the property to set - * array = a return #GValueArray - * - * Since: 1.12 - */ - public static bool getObjectArray(ObjectG object, string name, out ValueArray array) - { - GValueArray* outarray = null; - - auto __p = gst_util_get_object_array((object is null) ? null : object.getObjectGStruct(), Str.toStringz(name), &outarray) != 0; - - array = ObjectG.getDObject!(ValueArray)(outarray); - - return __p; - } - - /** - * Transfer a #GValueArray to %GST_TYPE_ARRAY and set this value on the - * specified property name. This allow language bindings to set GST_TYPE_ARRAY - * properties which are otherwise not an accessible type. - * - * Params: - * object = the object to set the array to - * name = the name of the property to set - * array = a #GValueArray containing the values - * - * Since: 1.12 - */ - public static bool setObjectArray(ObjectG object, string name, ValueArray array) - { - return gst_util_set_object_array((object is null) ? null : object.getObjectGStruct(), Str.toStringz(name), (array is null) ? null : array.getValueArrayStruct()) != 0; - } -} diff --git a/generated/gstreamer/gstreamer/ValueArray.d b/generated/gstreamer/gstreamer/ValueArray.d deleted file mode 100644 index 18d916fb9..000000000 --- a/generated/gstreamer/gstreamer/ValueArray.d +++ /dev/null @@ -1,167 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ValueArray; - -private import gobject.ObjectG; -private import gobject.Value; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * A fundamental type that describes an ordered list of #GValue - */ -public class ValueArray -{ - /** the main Gtk struct */ - protected GstValueArray* gstValueArray; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstValueArray* getValueArrayStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstValueArray; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstValueArray; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstValueArray* gstValueArray, bool ownedRef = false) - { - this.gstValueArray = gstValueArray; - this.ownedRef = ownedRef; - } - - - /** */ - public static GType getType() - { - return gst_value_array_get_type(); - } - - /** - * Appends @append_value to the GstValueArray in @value. - * - * Params: - * value = a #GValue of type #GST_TYPE_ARRAY - * appendValue = the value to append - * - * Since: 1.2 - */ - public static void appendAndTakeValue(Value value, Value appendValue) - { - gst_value_array_append_and_take_value((value is null) ? null : value.getValueStruct(), (appendValue is null) ? null : appendValue.getValueStruct()); - } - - /** - * Appends @append_value to the GstValueArray in @value. - * - * Params: - * value = a #GValue of type #GST_TYPE_ARRAY - * appendValue = the value to append - */ - public static void appendValue(Value value, Value appendValue) - { - gst_value_array_append_value((value is null) ? null : value.getValueStruct(), (appendValue is null) ? null : appendValue.getValueStruct()); - } - - /** - * Gets the number of values contained in @value. - * - * Params: - * value = a #GValue of type #GST_TYPE_ARRAY - * - * Returns: the number of values - */ - public static uint getSize(Value value) - { - return gst_value_array_get_size((value is null) ? null : value.getValueStruct()); - } - - /** - * Gets the value that is a member of the array contained in @value and - * has the index @index. - * - * Params: - * value = a #GValue of type #GST_TYPE_ARRAY - * index = index of value to get from the array - * - * Returns: the value at the given index - */ - public static Value getValue(Value value, uint index) - { - auto __p = gst_value_array_get_value((value is null) ? null : value.getValueStruct(), index); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Value)(cast(GValue*) __p); - } - - /** - * Initializes and pre-allocates a #GValue of type #GST_VALUE_ARRAY. - * - * Params: - * value = A zero-filled (uninitialized) #GValue structure - * prealloc = The number of entries to pre-allocate in the array - * - * Returns: The #GValue structure that has been passed in - * - * Since: 1.18 - */ - public static Value init(Value value, uint prealloc) - { - auto __p = gst_value_array_init((value is null) ? null : value.getValueStruct(), prealloc); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Value)(cast(GValue*) __p); - } - - /** - * Prepends @prepend_value to the GstValueArray in @value. - * - * Params: - * value = a #GValue of type #GST_TYPE_ARRAY - * prependValue = the value to prepend - */ - public static void prependValue(Value value, Value prependValue) - { - gst_value_array_prepend_value((value is null) ? null : value.getValueStruct(), (prependValue is null) ? null : prependValue.getValueStruct()); - } -} diff --git a/generated/gstreamer/gstreamer/ValueGst.d b/generated/gstreamer/gstreamer/ValueGst.d deleted file mode 100644 index 876d72a0d..000000000 --- a/generated/gstreamer/gstreamer/ValueGst.d +++ /dev/null @@ -1,799 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ValueGst; - -private import glib.MemorySlice; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import gobject.Value; -private import gstreamer.Caps; -private import gstreamer.CapsFeatures; -private import gstreamer.Structure; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** */ -public struct ValueGst -{ - - /** - * Determines if @value1 and @value2 can be compared. - * - * Params: - * value1 = a value to compare - * value2 = another value to compare - * - * Returns: %TRUE if the values can be compared - */ - public static bool canCompare(Value value1, Value value2) - { - return gst_value_can_compare((value1 is null) ? null : value1.getValueStruct(), (value2 is null) ? null : value2.getValueStruct()) != 0; - } - - /** - * Determines if intersecting two values will produce a valid result. - * Two values will produce a valid intersection if they have the same - * type. - * - * Params: - * value1 = a value to intersect - * value2 = another value to intersect - * - * Returns: %TRUE if the values can intersect - */ - public static bool canIntersect(Value value1, Value value2) - { - return gst_value_can_intersect((value1 is null) ? null : value1.getValueStruct(), (value2 is null) ? null : value2.getValueStruct()) != 0; - } - - /** - * Checks if it's possible to subtract @subtrahend from @minuend. - * - * Params: - * minuend = the value to subtract from - * subtrahend = the value to subtract - * - * Returns: %TRUE if a subtraction is possible - */ - public static bool canSubtract(Value minuend, Value subtrahend) - { - return gst_value_can_subtract((minuend is null) ? null : minuend.getValueStruct(), (subtrahend is null) ? null : subtrahend.getValueStruct()) != 0; - } - - /** - * Determines if @value1 and @value2 can be non-trivially unioned. - * Any two values can be trivially unioned by adding both of them - * to a GstValueList. However, certain types have the possibility - * to be unioned in a simpler way. For example, an integer range - * and an integer can be unioned if the integer is a subset of the - * integer range. If there is the possibility that two values can - * be unioned, this function returns %TRUE. - * - * Params: - * value1 = a value to union - * value2 = another value to union - * - * Returns: %TRUE if there is a function allowing the two values to - * be unioned. - */ - public static bool canUnion(Value value1, Value value2) - { - return gst_value_can_union((value1 is null) ? null : value1.getValueStruct(), (value2 is null) ? null : value2.getValueStruct()) != 0; - } - - /** - * Compares @value1 and @value2. If @value1 and @value2 cannot be - * compared, the function returns GST_VALUE_UNORDERED. Otherwise, - * if @value1 is greater than @value2, GST_VALUE_GREATER_THAN is returned. - * If @value1 is less than @value2, GST_VALUE_LESS_THAN is returned. - * If the values are equal, GST_VALUE_EQUAL is returned. - * - * Params: - * value1 = a value to compare - * value2 = another value to compare - * - * Returns: comparison result - */ - public static int compare(Value value1, Value value2) - { - return gst_value_compare((value1 is null) ? null : value1.getValueStruct(), (value2 is null) ? null : value2.getValueStruct()); - } - - /** - * Tries to deserialize a string into the type specified by the given GValue. - * If the operation succeeds, %TRUE is returned, %FALSE otherwise. - * - * Params: - * dest = #GValue to fill with contents of - * deserialization - * src = string to deserialize - * - * Returns: %TRUE on success - */ - public static bool deserialize(out Value dest, string src) - { - GValue* outdest = sliceNew!GValue(); - - auto __p = gst_value_deserialize(outdest, Str.toStringz(src)) != 0; - - dest = ObjectG.getDObject!(Value)(outdest, true); - - return __p; - } - - /** - * Fixate @src into a new value @dest. - * For ranges, the first element is taken. For lists and arrays, the - * first item is fixated and returned. - * If @src is already fixed, this function returns %FALSE. - * - * Params: - * dest = the #GValue destination - * src = the #GValue to fixate - * - * Returns: %TRUE if @dest contains a fixated version of @src. - */ - public static bool fixate(Value dest, Value src) - { - return gst_value_fixate((dest is null) ? null : dest.getValueStruct(), (src is null) ? null : src.getValueStruct()) != 0; - } - - /** - * Multiplies the two #GValue items containing a #GST_TYPE_FRACTION and sets - * @product to the product of the two fractions. - * - * Params: - * product = a GValue initialized to #GST_TYPE_FRACTION - * factor1 = a GValue initialized to #GST_TYPE_FRACTION - * factor2 = a GValue initialized to #GST_TYPE_FRACTION - * - * Returns: %FALSE in case of an error (like integer overflow), %TRUE otherwise. - */ - public static bool fractionMultiply(Value product, Value factor1, Value factor2) - { - return gst_value_fraction_multiply((product is null) ? null : product.getValueStruct(), (factor1 is null) ? null : factor1.getValueStruct(), (factor2 is null) ? null : factor2.getValueStruct()) != 0; - } - - /** - * Subtracts the @subtrahend from the @minuend and sets @dest to the result. - * - * Params: - * dest = a GValue initialized to #GST_TYPE_FRACTION - * minuend = a GValue initialized to #GST_TYPE_FRACTION - * subtrahend = a GValue initialized to #GST_TYPE_FRACTION - * - * Returns: %FALSE in case of an error (like integer overflow), %TRUE otherwise. - */ - public static bool fractionSubtract(Value dest, Value minuend, Value subtrahend) - { - return gst_value_fraction_subtract((dest is null) ? null : dest.getValueStruct(), (minuend is null) ? null : minuend.getValueStruct(), (subtrahend is null) ? null : subtrahend.getValueStruct()) != 0; - } - - /** - * Gets the bitmask specified by @value. - * - * Params: - * value = a GValue initialized to #GST_TYPE_BITMASK - * - * Returns: the bitmask. - */ - public static ulong getBitmask(Value value) - { - return gst_value_get_bitmask((value is null) ? null : value.getValueStruct()); - } - - /** - * Gets the contents of @value. The reference count of the returned - * #GstCaps will not be modified, therefore the caller must take one - * before getting rid of the @value. - * - * Params: - * value = a GValue initialized to GST_TYPE_CAPS - * - * Returns: the contents of @value - */ - public static Caps getCaps(Value value) - { - auto __p = gst_value_get_caps((value is null) ? null : value.getValueStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p); - } - - /** - * Gets the contents of @value. - * - * Params: - * value = a GValue initialized to GST_TYPE_CAPS_FEATURES - * - * Returns: the contents of @value - */ - public static CapsFeatures getCapsFeatures(Value value) - { - auto __p = gst_value_get_caps_features((value is null) ? null : value.getValueStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(CapsFeatures)(cast(GstCapsFeatures*) __p); - } - - /** - * Gets the maximum of the range specified by @value. - * - * Params: - * value = a GValue initialized to GST_TYPE_DOUBLE_RANGE - * - * Returns: the maximum of the range - */ - public static double getDoubleRangeMax(Value value) - { - return gst_value_get_double_range_max((value is null) ? null : value.getValueStruct()); - } - - /** - * Gets the minimum of the range specified by @value. - * - * Params: - * value = a GValue initialized to GST_TYPE_DOUBLE_RANGE - * - * Returns: the minimum of the range - */ - public static double getDoubleRangeMin(Value value) - { - return gst_value_get_double_range_min((value is null) ? null : value.getValueStruct()); - } - - /** - * Retrieve the flags field of a GstFlagSet @value. - * - * Params: - * value = a GValue initialized to #GST_TYPE_FLAG_SET - * - * Returns: the flags field of the flagset instance. - * - * Since: 1.6 - */ - public static uint getFlagsetFlags(Value value) - { - return gst_value_get_flagset_flags((value is null) ? null : value.getValueStruct()); - } - - /** - * Retrieve the mask field of a GstFlagSet @value. - * - * Params: - * value = a GValue initialized to #GST_TYPE_FLAG_SET - * - * Returns: the mask field of the flagset instance. - * - * Since: 1.6 - */ - public static uint getFlagsetMask(Value value) - { - return gst_value_get_flagset_mask((value is null) ? null : value.getValueStruct()); - } - - /** - * Sets @value to the flags and mask values provided in @flags and @mask. - * The @flags value indicates the values of flags, the @mask represents - * which bits in the flag value have been set, and which are "don't care" - * - * Params: - * value = a GValue initialized to %GST_TYPE_FLAG_SET - * flags = The value of the flags set or unset - * mask = The mask indicate which flags bits must match for comparisons - * - * Since: 1.6 - */ - public static void setFlagset(Value value, uint flags, uint mask) - { - gst_value_set_flagset((value is null) ? null : value.getValueStruct(), flags, mask); - } - - /** - * Gets the denominator of the fraction specified by @value. - * - * Params: - * value = a GValue initialized to #GST_TYPE_FRACTION - * - * Returns: the denominator of the fraction. - */ - public static int getFractionDenominator(Value value) - { - return gst_value_get_fraction_denominator((value is null) ? null : value.getValueStruct()); - } - - /** - * Gets the numerator of the fraction specified by @value. - * - * Params: - * value = a GValue initialized to #GST_TYPE_FRACTION - * - * Returns: the numerator of the fraction. - */ - public static int getFractionNumerator(Value value) - { - return gst_value_get_fraction_numerator((value is null) ? null : value.getValueStruct()); - } - - /** - * Gets the maximum of the range specified by @value. - * - * Params: - * value = a GValue initialized to GST_TYPE_FRACTION_RANGE - * - * Returns: the maximum of the range - */ - public static Value getFractionRangeMax(Value value) - { - auto __p = gst_value_get_fraction_range_max((value is null) ? null : value.getValueStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Value)(cast(GValue*) __p); - } - - /** - * Gets the minimum of the range specified by @value. - * - * Params: - * value = a GValue initialized to GST_TYPE_FRACTION_RANGE - * - * Returns: the minimum of the range - */ - public static Value getFractionRangeMin(Value value) - { - auto __p = gst_value_get_fraction_range_min((value is null) ? null : value.getValueStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Value)(cast(GValue*) __p); - } - - /** - * Gets the maximum of the range specified by @value. - * - * Params: - * value = a GValue initialized to GST_TYPE_INT64_RANGE - * - * Returns: the maximum of the range - */ - public static long getInt64RangeMax(Value value) - { - return gst_value_get_int64_range_max((value is null) ? null : value.getValueStruct()); - } - - /** - * Gets the minimum of the range specified by @value. - * - * Params: - * value = a GValue initialized to GST_TYPE_INT64_RANGE - * - * Returns: the minimum of the range - */ - public static long getInt64RangeMin(Value value) - { - return gst_value_get_int64_range_min((value is null) ? null : value.getValueStruct()); - } - - /** - * Gets the step of the range specified by @value. - * - * Params: - * value = a GValue initialized to GST_TYPE_INT64_RANGE - * - * Returns: the step of the range - */ - public static long getInt64RangeStep(Value value) - { - return gst_value_get_int64_range_step((value is null) ? null : value.getValueStruct()); - } - - /** - * Gets the maximum of the range specified by @value. - * - * Params: - * value = a GValue initialized to GST_TYPE_INT_RANGE - * - * Returns: the maximum of the range - */ - public static int getIntRangeMax(Value value) - { - return gst_value_get_int_range_max((value is null) ? null : value.getValueStruct()); - } - - /** - * Gets the minimum of the range specified by @value. - * - * Params: - * value = a GValue initialized to GST_TYPE_INT_RANGE - * - * Returns: the minimum of the range - */ - public static int getIntRangeMin(Value value) - { - return gst_value_get_int_range_min((value is null) ? null : value.getValueStruct()); - } - - /** - * Gets the step of the range specified by @value. - * - * Params: - * value = a GValue initialized to GST_TYPE_INT_RANGE - * - * Returns: the step of the range - */ - public static int getIntRangeStep(Value value) - { - return gst_value_get_int_range_step((value is null) ? null : value.getValueStruct()); - } - - /** - * Gets the contents of @value. - * - * Params: - * value = a GValue initialized to GST_TYPE_STRUCTURE - * - * Returns: the contents of @value - */ - public static Structure getStructure(Value value) - { - auto __p = gst_value_get_structure((value is null) ? null : value.getValueStruct()); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Structure)(cast(GstStructure*) __p); - } - - /** - * Initialises the target value to be of the same type as source and then copies - * the contents from source to target. - * - * Params: - * dest = the target value - * src = the source value - */ - public static void initAndCopy(out Value dest, Value src) - { - GValue* outdest = sliceNew!GValue(); - - gst_value_init_and_copy(outdest, (src is null) ? null : src.getValueStruct()); - - dest = ObjectG.getDObject!(Value)(outdest, true); - } - - /** - * Calculates the intersection of two values. If the values have - * a non-empty intersection, the value representing the intersection - * is placed in @dest, unless %NULL. If the intersection is non-empty, - * @dest is not modified. - * - * Params: - * dest = a uninitialized #GValue that will hold the calculated - * intersection value. May be %NULL if the resulting set if not - * needed. - * value1 = a value to intersect - * value2 = another value to intersect - * - * Returns: %TRUE if the intersection is non-empty - */ - public static bool intersect(out Value dest, Value value1, Value value2) - { - GValue* outdest = sliceNew!GValue(); - - auto __p = gst_value_intersect(outdest, (value1 is null) ? null : value1.getValueStruct(), (value2 is null) ? null : value2.getValueStruct()) != 0; - - dest = ObjectG.getDObject!(Value)(outdest, true); - - return __p; - } - - /** - * Tests if the given GValue, if available in a GstStructure (or any other - * container) contains a "fixed" (which means: one value) or an "unfixed" - * (which means: multiple possible values, such as data lists or data - * ranges) value. - * - * Params: - * value = the #GValue to check - * - * Returns: true if the value is "fixed". - */ - public static bool isFixed(Value value) - { - return gst_value_is_fixed((value is null) ? null : value.getValueStruct()) != 0; - } - - /** - * Check that @value1 is a subset of @value2. - * - * Params: - * value1 = a #GValue - * value2 = a #GValue - * - * Returns: %TRUE is @value1 is a subset of @value2 - */ - public static bool isSubset(Value value1, Value value2) - { - return gst_value_is_subset((value1 is null) ? null : value1.getValueStruct(), (value2 is null) ? null : value2.getValueStruct()) != 0; - } - - /** - * Registers functions to perform calculations on #GValue items of a given - * type. Each type can only be added once. - * - * Params: - * table = structure containing functions to register - */ - public static void register(GstValueTable* table) - { - gst_value_register(table); - } - - /** - * tries to transform the given @value into a string representation that allows - * getting back this string later on using gst_value_deserialize(). - * - * Free-function: g_free - * - * Params: - * value = a #GValue to serialize - * - * Returns: the serialization for @value - * or %NULL if none exists - */ - public static string serialize(Value value) - { - auto retStr = gst_value_serialize((value is null) ? null : value.getValueStruct()); - - scope(exit) Str.freeString(retStr); - return Str.toString(retStr); - } - - /** - * Sets @value to the bitmask specified by @bitmask. - * - * Params: - * value = a GValue initialized to #GST_TYPE_BITMASK - * bitmask = the bitmask - */ - public static void setBitmask(Value value, ulong bitmask) - { - gst_value_set_bitmask((value is null) ? null : value.getValueStruct(), bitmask); - } - - /** - * Sets the contents of @value to @caps. A reference to the - * provided @caps will be taken by the @value. - * - * Params: - * value = a GValue initialized to GST_TYPE_CAPS - * caps = the caps to set the value to - */ - public static void setCaps(Value value, Caps caps) - { - gst_value_set_caps((value is null) ? null : value.getValueStruct(), (caps is null) ? null : caps.getCapsStruct()); - } - - /** - * Sets the contents of @value to @features. - * - * Params: - * value = a GValue initialized to GST_TYPE_CAPS_FEATURES - * features = the features to set the value to - */ - public static void setCapsFeatures(Value value, CapsFeatures features) - { - gst_value_set_caps_features((value is null) ? null : value.getValueStruct(), (features is null) ? null : features.getCapsFeaturesStruct()); - } - - /** - * Sets @value to the range specified by @start and @end. - * - * Params: - * value = a GValue initialized to GST_TYPE_DOUBLE_RANGE - * start = the start of the range - * end = the end of the range - */ - public static void setDoubleRange(Value value, double start, double end) - { - gst_value_set_double_range((value is null) ? null : value.getValueStruct(), start, end); - } - - /** - * Sets @value to the fraction specified by @numerator over @denominator. - * The fraction gets reduced to the smallest numerator and denominator, - * and if necessary the sign is moved to the numerator. - * - * Params: - * value = a GValue initialized to #GST_TYPE_FRACTION - * numerator = the numerator of the fraction - * denominator = the denominator of the fraction - */ - public static void setFraction(Value value, int numerator, int denominator) - { - gst_value_set_fraction((value is null) ? null : value.getValueStruct(), numerator, denominator); - } - - /** - * Sets @value to the range specified by @start and @end. - * - * Params: - * value = a GValue initialized to GST_TYPE_FRACTION_RANGE - * start = the start of the range (a GST_TYPE_FRACTION GValue) - * end = the end of the range (a GST_TYPE_FRACTION GValue) - */ - public static void setFractionRange(Value value, Value start, Value end) - { - gst_value_set_fraction_range((value is null) ? null : value.getValueStruct(), (start is null) ? null : start.getValueStruct(), (end is null) ? null : end.getValueStruct()); - } - - /** - * Sets @value to the range specified by @numerator_start/@denominator_start - * and @numerator_end/@denominator_end. - * - * Params: - * value = a GValue initialized to GST_TYPE_FRACTION_RANGE - * numeratorStart = the numerator start of the range - * denominatorStart = the denominator start of the range - * numeratorEnd = the numerator end of the range - * denominatorEnd = the denominator end of the range - */ - public static void setFractionRangeFull(Value value, int numeratorStart, int denominatorStart, int numeratorEnd, int denominatorEnd) - { - gst_value_set_fraction_range_full((value is null) ? null : value.getValueStruct(), numeratorStart, denominatorStart, numeratorEnd, denominatorEnd); - } - - /** - * Sets @value to the range specified by @start and @end. - * - * Params: - * value = a GValue initialized to GST_TYPE_INT64_RANGE - * start = the start of the range - * end = the end of the range - */ - public static void setInt64Range(Value value, long start, long end) - { - gst_value_set_int64_range((value is null) ? null : value.getValueStruct(), start, end); - } - - /** - * Sets @value to the range specified by @start, @end and @step. - * - * Params: - * value = a GValue initialized to GST_TYPE_INT64_RANGE - * start = the start of the range - * end = the end of the range - * step = the step of the range - */ - public static void setInt64RangeStep(Value value, long start, long end, long step) - { - gst_value_set_int64_range_step((value is null) ? null : value.getValueStruct(), start, end, step); - } - - /** - * Sets @value to the range specified by @start and @end. - * - * Params: - * value = a GValue initialized to GST_TYPE_INT_RANGE - * start = the start of the range - * end = the end of the range - */ - public static void setIntRange(Value value, int start, int end) - { - gst_value_set_int_range((value is null) ? null : value.getValueStruct(), start, end); - } - - /** - * Sets @value to the range specified by @start, @end and @step. - * - * Params: - * value = a GValue initialized to GST_TYPE_INT_RANGE - * start = the start of the range - * end = the end of the range - * step = the step of the range - */ - public static void setIntRangeStep(Value value, int start, int end, int step) - { - gst_value_set_int_range_step((value is null) ? null : value.getValueStruct(), start, end, step); - } - - /** - * Sets the contents of @value to @structure. - * - * Params: - * value = a GValue initialized to GST_TYPE_STRUCTURE - * structure = the structure to set the value to - */ - public static void setStructure(Value value, Structure structure) - { - gst_value_set_structure((value is null) ? null : value.getValueStruct(), (structure is null) ? null : structure.getStructureStruct()); - } - - /** - * Subtracts @subtrahend from @minuend and stores the result in @dest. - * Note that this means subtraction as in sets, not as in mathematics. - * - * Params: - * dest = the destination value - * for the result if the subtraction is not empty. May be %NULL, - * in which case the resulting set will not be computed, which can - * give a fair speedup. - * minuend = the value to subtract from - * subtrahend = the value to subtract - * - * Returns: %TRUE if the subtraction is not empty - */ - public static bool subtract(out Value dest, Value minuend, Value subtrahend) - { - GValue* outdest = sliceNew!GValue(); - - auto __p = gst_value_subtract(outdest, (minuend is null) ? null : minuend.getValueStruct(), (subtrahend is null) ? null : subtrahend.getValueStruct()) != 0; - - dest = ObjectG.getDObject!(Value)(outdest, true); - - return __p; - } - - alias unio = union_; - /** - * Creates a GValue corresponding to the union of @value1 and @value2. - * - * Params: - * dest = the destination value - * value1 = a value to union - * value2 = another value to union - * - * Returns: %TRUE if the union succeeded. - */ - public static bool union_(out Value dest, Value value1, Value value2) - { - GValue* outdest = sliceNew!GValue(); - - auto __p = gst_value_union(outdest, (value1 is null) ? null : value1.getValueStruct(), (value2 is null) ? null : value2.getValueStruct()) != 0; - - dest = ObjectG.getDObject!(Value)(outdest, true); - - return __p; - } -} diff --git a/generated/gstreamer/gstreamer/ValueList.d b/generated/gstreamer/gstreamer/ValueList.d deleted file mode 100644 index 899f3eb0b..000000000 --- a/generated/gstreamer/gstreamer/ValueList.d +++ /dev/null @@ -1,209 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.ValueList; - -private import glib.MemorySlice; -private import gobject.ObjectG; -private import gobject.Value; -private import gstreamer.c.functions; -public import gstreamer.c.types; - - -/** - * A fundamental type that describes an unordered list of #GValue - */ -public class ValueList -{ - /** the main Gtk struct */ - protected GstValueList* gstValueList; - protected bool ownedRef; - - /** Get the main Gtk struct */ - public GstValueList* getValueListStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return gstValueList; - } - - /** the main Gtk struct as a void* */ - protected void* getStruct() - { - return cast(void*)gstValueList; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (GstValueList* gstValueList, bool ownedRef = false) - { - this.gstValueList = gstValueList; - this.ownedRef = ownedRef; - } - - - /** */ - public static GType getType() - { - return gst_value_list_get_type(); - } - - /** - * Appends @append_value to the GstValueList in @value. - * - * Params: - * value = a #GValue of type #GST_TYPE_LIST - * appendValue = the value to append - * - * Since: 1.2 - */ - public static void appendAndTakeValue(Value value, Value appendValue) - { - gst_value_list_append_and_take_value((value is null) ? null : value.getValueStruct(), (appendValue is null) ? null : appendValue.getValueStruct()); - } - - /** - * Appends @append_value to the GstValueList in @value. - * - * Params: - * value = a #GValue of type #GST_TYPE_LIST - * appendValue = the value to append - */ - public static void appendValue(Value value, Value appendValue) - { - gst_value_list_append_value((value is null) ? null : value.getValueStruct(), (appendValue is null) ? null : appendValue.getValueStruct()); - } - - /** - * Concatenates copies of @value1 and @value2 into a list. Values that are not - * of type #GST_TYPE_LIST are treated as if they were lists of length 1. - * @dest will be initialized to the type #GST_TYPE_LIST. - * - * Params: - * dest = an uninitialized #GValue to take the result - * value1 = a #GValue - * value2 = a #GValue - */ - public static void concat(out Value dest, Value value1, Value value2) - { - GValue* outdest = sliceNew!GValue(); - - gst_value_list_concat(outdest, (value1 is null) ? null : value1.getValueStruct(), (value2 is null) ? null : value2.getValueStruct()); - - dest = ObjectG.getDObject!(Value)(outdest, true); - } - - /** - * Gets the number of values contained in @value. - * - * Params: - * value = a #GValue of type #GST_TYPE_LIST - * - * Returns: the number of values - */ - public static uint getSize(Value value) - { - return gst_value_list_get_size((value is null) ? null : value.getValueStruct()); - } - - /** - * Gets the value that is a member of the list contained in @value and - * has the index @index. - * - * Params: - * value = a #GValue of type #GST_TYPE_LIST - * index = index of value to get from the list - * - * Returns: the value at the given index - */ - public static Value getValue(Value value, uint index) - { - auto __p = gst_value_list_get_value((value is null) ? null : value.getValueStruct(), index); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Value)(cast(GValue*) __p); - } - - /** - * Initializes and pre-allocates a #GValue of type #GST_VALUE_LIST. - * - * Params: - * value = A zero-filled (uninitialized) #GValue structure - * prealloc = The number of entries to pre-allocate in the list - * - * Returns: The #GValue structure that has been passed in - * - * Since: 1.18 - */ - public static Value init(Value value, uint prealloc) - { - auto __p = gst_value_list_init((value is null) ? null : value.getValueStruct(), prealloc); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Value)(cast(GValue*) __p); - } - - /** - * Merges copies of @value1 and @value2. Values that are not - * of type #GST_TYPE_LIST are treated as if they were lists of length 1. - * - * The result will be put into @dest and will either be a list that will not - * contain any duplicates, or a non-list type (if @value1 and @value2 - * were equal). - * - * Params: - * dest = an uninitialized #GValue to take the result - * value1 = a #GValue - * value2 = a #GValue - */ - public static void merge(out Value dest, Value value1, Value value2) - { - GValue* outdest = sliceNew!GValue(); - - gst_value_list_merge(outdest, (value1 is null) ? null : value1.getValueStruct(), (value2 is null) ? null : value2.getValueStruct()); - - dest = ObjectG.getDObject!(Value)(outdest, true); - } - - /** - * Prepends @prepend_value to the GstValueList in @value. - * - * Params: - * value = a #GValue of type #GST_TYPE_LIST - * prependValue = the value to prepend - */ - public static void prependValue(Value value, Value prependValue) - { - gst_value_list_prepend_value((value is null) ? null : value.getValueStruct(), (prependValue is null) ? null : prependValue.getValueStruct()); - } -} diff --git a/generated/gstreamer/gstreamer/c/functions.d b/generated/gstreamer/gstreamer/c/functions.d deleted file mode 100644 index 79c875699..000000000 --- a/generated/gstreamer/gstreamer/c/functions.d +++ /dev/null @@ -1,5483 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.c.functions; - -import std.stdio; -import gstreamer.c.types; -import gtkd.Loader; - -version (Windows) - static immutable LIBRARY_GSTREAMER = ["libgstreamer-1.0-0.dll;gstreamer-1.0-0.dll;gstreamer-1.dll"]; -else version (OSX) - static immutable LIBRARY_GSTREAMER = ["libgstreamer-1.0.0.dylib"]; -else - static immutable LIBRARY_GSTREAMER = ["libgstreamer-1.0.so.0"]; - -shared static this() -{ - // gstreamer.AllocationParams - - Linker.link(gst_allocation_params_get_type, "gst_allocation_params_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_allocation_params_copy, "gst_allocation_params_copy", LIBRARY_GSTREAMER); - Linker.link(gst_allocation_params_free, "gst_allocation_params_free", LIBRARY_GSTREAMER); - Linker.link(gst_allocation_params_init, "gst_allocation_params_init", LIBRARY_GSTREAMER); - - // gstreamer.Allocator - - Linker.link(gst_allocator_get_type, "gst_allocator_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_allocator_find, "gst_allocator_find", LIBRARY_GSTREAMER); - Linker.link(gst_allocator_register, "gst_allocator_register", LIBRARY_GSTREAMER); - Linker.link(gst_allocator_alloc, "gst_allocator_alloc", LIBRARY_GSTREAMER); - Linker.link(gst_allocator_free, "gst_allocator_free", LIBRARY_GSTREAMER); - Linker.link(gst_allocator_set_default, "gst_allocator_set_default", LIBRARY_GSTREAMER); - - // gstreamer.AtomicQueue - - Linker.link(gst_atomic_queue_get_type, "gst_atomic_queue_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_atomic_queue_new, "gst_atomic_queue_new", LIBRARY_GSTREAMER); - Linker.link(gst_atomic_queue_length, "gst_atomic_queue_length", LIBRARY_GSTREAMER); - Linker.link(gst_atomic_queue_peek, "gst_atomic_queue_peek", LIBRARY_GSTREAMER); - Linker.link(gst_atomic_queue_pop, "gst_atomic_queue_pop", LIBRARY_GSTREAMER); - Linker.link(gst_atomic_queue_push, "gst_atomic_queue_push", LIBRARY_GSTREAMER); - Linker.link(gst_atomic_queue_ref, "gst_atomic_queue_ref", LIBRARY_GSTREAMER); - Linker.link(gst_atomic_queue_unref, "gst_atomic_queue_unref", LIBRARY_GSTREAMER); - - // gstreamer.Bin - - Linker.link(gst_bin_get_type, "gst_bin_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_bin_new, "gst_bin_new", LIBRARY_GSTREAMER); - Linker.link(gst_bin_add, "gst_bin_add", LIBRARY_GSTREAMER); - Linker.link(gst_bin_add_many, "gst_bin_add_many", LIBRARY_GSTREAMER); - Linker.link(gst_bin_find_unlinked_pad, "gst_bin_find_unlinked_pad", LIBRARY_GSTREAMER); - Linker.link(gst_bin_get_by_interface, "gst_bin_get_by_interface", LIBRARY_GSTREAMER); - Linker.link(gst_bin_get_by_name, "gst_bin_get_by_name", LIBRARY_GSTREAMER); - Linker.link(gst_bin_get_by_name_recurse_up, "gst_bin_get_by_name_recurse_up", LIBRARY_GSTREAMER); - Linker.link(gst_bin_get_suppressed_flags, "gst_bin_get_suppressed_flags", LIBRARY_GSTREAMER); - Linker.link(gst_bin_iterate_all_by_element_factory_name, "gst_bin_iterate_all_by_element_factory_name", LIBRARY_GSTREAMER); - Linker.link(gst_bin_iterate_all_by_interface, "gst_bin_iterate_all_by_interface", LIBRARY_GSTREAMER); - Linker.link(gst_bin_iterate_elements, "gst_bin_iterate_elements", LIBRARY_GSTREAMER); - Linker.link(gst_bin_iterate_recurse, "gst_bin_iterate_recurse", LIBRARY_GSTREAMER); - Linker.link(gst_bin_iterate_sinks, "gst_bin_iterate_sinks", LIBRARY_GSTREAMER); - Linker.link(gst_bin_iterate_sorted, "gst_bin_iterate_sorted", LIBRARY_GSTREAMER); - Linker.link(gst_bin_iterate_sources, "gst_bin_iterate_sources", LIBRARY_GSTREAMER); - Linker.link(gst_bin_recalculate_latency, "gst_bin_recalculate_latency", LIBRARY_GSTREAMER); - Linker.link(gst_bin_remove, "gst_bin_remove", LIBRARY_GSTREAMER); - Linker.link(gst_bin_remove_many, "gst_bin_remove_many", LIBRARY_GSTREAMER); - Linker.link(gst_bin_set_suppressed_flags, "gst_bin_set_suppressed_flags", LIBRARY_GSTREAMER); - Linker.link(gst_bin_sync_children_states, "gst_bin_sync_children_states", LIBRARY_GSTREAMER); - - // gstreamer.Bitmask - - Linker.link(gst_bitmask_get_type, "gst_bitmask_get_type", LIBRARY_GSTREAMER); - - // gstreamer.Buffer - - Linker.link(gst_buffer_get_type, "gst_buffer_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_new, "gst_buffer_new", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_new_allocate, "gst_buffer_new_allocate", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_new_wrapped, "gst_buffer_new_wrapped", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_new_wrapped_bytes, "gst_buffer_new_wrapped_bytes", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_new_wrapped_full, "gst_buffer_new_wrapped_full", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_add_meta, "gst_buffer_add_meta", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_add_parent_buffer_meta, "gst_buffer_add_parent_buffer_meta", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_add_protection_meta, "gst_buffer_add_protection_meta", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_add_reference_timestamp_meta, "gst_buffer_add_reference_timestamp_meta", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_append, "gst_buffer_append", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_append_memory, "gst_buffer_append_memory", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_append_region, "gst_buffer_append_region", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_copy_deep, "gst_buffer_copy_deep", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_copy_into, "gst_buffer_copy_into", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_copy_region, "gst_buffer_copy_region", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_extract, "gst_buffer_extract", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_extract_dup, "gst_buffer_extract_dup", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_fill, "gst_buffer_fill", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_find_memory, "gst_buffer_find_memory", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_foreach_meta, "gst_buffer_foreach_meta", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_get_all_memory, "gst_buffer_get_all_memory", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_get_flags, "gst_buffer_get_flags", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_get_memory, "gst_buffer_get_memory", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_get_memory_range, "gst_buffer_get_memory_range", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_get_meta, "gst_buffer_get_meta", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_get_n_meta, "gst_buffer_get_n_meta", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_get_reference_timestamp_meta, "gst_buffer_get_reference_timestamp_meta", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_get_size, "gst_buffer_get_size", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_get_sizes, "gst_buffer_get_sizes", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_get_sizes_range, "gst_buffer_get_sizes_range", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_has_flags, "gst_buffer_has_flags", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_insert_memory, "gst_buffer_insert_memory", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_is_all_memory_writable, "gst_buffer_is_all_memory_writable", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_is_memory_range_writable, "gst_buffer_is_memory_range_writable", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_iterate_meta, "gst_buffer_iterate_meta", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_iterate_meta_filtered, "gst_buffer_iterate_meta_filtered", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_map, "gst_buffer_map", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_map_range, "gst_buffer_map_range", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_memcmp, "gst_buffer_memcmp", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_memset, "gst_buffer_memset", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_n_memory, "gst_buffer_n_memory", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_peek_memory, "gst_buffer_peek_memory", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_prepend_memory, "gst_buffer_prepend_memory", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_remove_all_memory, "gst_buffer_remove_all_memory", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_remove_memory, "gst_buffer_remove_memory", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_remove_memory_range, "gst_buffer_remove_memory_range", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_remove_meta, "gst_buffer_remove_meta", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_replace_all_memory, "gst_buffer_replace_all_memory", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_replace_memory, "gst_buffer_replace_memory", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_replace_memory_range, "gst_buffer_replace_memory_range", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_resize, "gst_buffer_resize", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_resize_range, "gst_buffer_resize_range", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_set_flags, "gst_buffer_set_flags", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_set_size, "gst_buffer_set_size", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_unmap, "gst_buffer_unmap", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_unset_flags, "gst_buffer_unset_flags", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_get_max_memory, "gst_buffer_get_max_memory", LIBRARY_GSTREAMER); - - // gstreamer.BufferList - - Linker.link(gst_buffer_list_get_type, "gst_buffer_list_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_list_new, "gst_buffer_list_new", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_list_new_sized, "gst_buffer_list_new_sized", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_list_calculate_size, "gst_buffer_list_calculate_size", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_list_copy_deep, "gst_buffer_list_copy_deep", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_list_foreach, "gst_buffer_list_foreach", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_list_get, "gst_buffer_list_get", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_list_get_writable, "gst_buffer_list_get_writable", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_list_insert, "gst_buffer_list_insert", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_list_length, "gst_buffer_list_length", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_list_remove, "gst_buffer_list_remove", LIBRARY_GSTREAMER); - - // gstreamer.BufferPool - - Linker.link(gst_buffer_pool_get_type, "gst_buffer_pool_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_new, "gst_buffer_pool_new", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_config_add_option, "gst_buffer_pool_config_add_option", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_config_get_allocator, "gst_buffer_pool_config_get_allocator", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_config_get_option, "gst_buffer_pool_config_get_option", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_config_get_params, "gst_buffer_pool_config_get_params", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_config_has_option, "gst_buffer_pool_config_has_option", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_config_n_options, "gst_buffer_pool_config_n_options", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_config_set_allocator, "gst_buffer_pool_config_set_allocator", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_config_set_params, "gst_buffer_pool_config_set_params", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_config_validate_params, "gst_buffer_pool_config_validate_params", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_acquire_buffer, "gst_buffer_pool_acquire_buffer", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_get_config, "gst_buffer_pool_get_config", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_get_options, "gst_buffer_pool_get_options", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_has_option, "gst_buffer_pool_has_option", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_is_active, "gst_buffer_pool_is_active", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_release_buffer, "gst_buffer_pool_release_buffer", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_set_active, "gst_buffer_pool_set_active", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_set_config, "gst_buffer_pool_set_config", LIBRARY_GSTREAMER); - Linker.link(gst_buffer_pool_set_flushing, "gst_buffer_pool_set_flushing", LIBRARY_GSTREAMER); - - // gstreamer.Bus - - Linker.link(gst_bus_get_type, "gst_bus_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_bus_new, "gst_bus_new", LIBRARY_GSTREAMER); - Linker.link(gst_bus_add_signal_watch, "gst_bus_add_signal_watch", LIBRARY_GSTREAMER); - Linker.link(gst_bus_add_signal_watch_full, "gst_bus_add_signal_watch_full", LIBRARY_GSTREAMER); - Linker.link(gst_bus_add_watch, "gst_bus_add_watch", LIBRARY_GSTREAMER); - Linker.link(gst_bus_add_watch_full, "gst_bus_add_watch_full", LIBRARY_GSTREAMER); - Linker.link(gst_bus_async_signal_func, "gst_bus_async_signal_func", LIBRARY_GSTREAMER); - Linker.link(gst_bus_create_watch, "gst_bus_create_watch", LIBRARY_GSTREAMER); - Linker.link(gst_bus_disable_sync_message_emission, "gst_bus_disable_sync_message_emission", LIBRARY_GSTREAMER); - Linker.link(gst_bus_enable_sync_message_emission, "gst_bus_enable_sync_message_emission", LIBRARY_GSTREAMER); - Linker.link(gst_bus_get_pollfd, "gst_bus_get_pollfd", LIBRARY_GSTREAMER); - Linker.link(gst_bus_have_pending, "gst_bus_have_pending", LIBRARY_GSTREAMER); - Linker.link(gst_bus_peek, "gst_bus_peek", LIBRARY_GSTREAMER); - Linker.link(gst_bus_poll, "gst_bus_poll", LIBRARY_GSTREAMER); - Linker.link(gst_bus_pop, "gst_bus_pop", LIBRARY_GSTREAMER); - Linker.link(gst_bus_pop_filtered, "gst_bus_pop_filtered", LIBRARY_GSTREAMER); - Linker.link(gst_bus_post, "gst_bus_post", LIBRARY_GSTREAMER); - Linker.link(gst_bus_remove_signal_watch, "gst_bus_remove_signal_watch", LIBRARY_GSTREAMER); - Linker.link(gst_bus_remove_watch, "gst_bus_remove_watch", LIBRARY_GSTREAMER); - Linker.link(gst_bus_set_flushing, "gst_bus_set_flushing", LIBRARY_GSTREAMER); - Linker.link(gst_bus_set_sync_handler, "gst_bus_set_sync_handler", LIBRARY_GSTREAMER); - Linker.link(gst_bus_sync_signal_handler, "gst_bus_sync_signal_handler", LIBRARY_GSTREAMER); - Linker.link(gst_bus_timed_pop, "gst_bus_timed_pop", LIBRARY_GSTREAMER); - Linker.link(gst_bus_timed_pop_filtered, "gst_bus_timed_pop_filtered", LIBRARY_GSTREAMER); - - // gstreamer.Caps - - Linker.link(gst_caps_get_type, "gst_caps_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_caps_new_any, "gst_caps_new_any", LIBRARY_GSTREAMER); - Linker.link(gst_caps_new_empty, "gst_caps_new_empty", LIBRARY_GSTREAMER); - Linker.link(gst_caps_new_empty_simple, "gst_caps_new_empty_simple", LIBRARY_GSTREAMER); - Linker.link(gst_caps_new_full, "gst_caps_new_full", LIBRARY_GSTREAMER); - Linker.link(gst_caps_new_full_valist, "gst_caps_new_full_valist", LIBRARY_GSTREAMER); - Linker.link(gst_caps_new_simple, "gst_caps_new_simple", LIBRARY_GSTREAMER); - Linker.link(gst_caps_append, "gst_caps_append", LIBRARY_GSTREAMER); - Linker.link(gst_caps_append_structure, "gst_caps_append_structure", LIBRARY_GSTREAMER); - Linker.link(gst_caps_append_structure_full, "gst_caps_append_structure_full", LIBRARY_GSTREAMER); - Linker.link(gst_caps_can_intersect, "gst_caps_can_intersect", LIBRARY_GSTREAMER); - Linker.link(gst_caps_copy, "gst_caps_copy", LIBRARY_GSTREAMER); - Linker.link(gst_caps_copy_nth, "gst_caps_copy_nth", LIBRARY_GSTREAMER); - Linker.link(gst_caps_filter_and_map_in_place, "gst_caps_filter_and_map_in_place", LIBRARY_GSTREAMER); - Linker.link(gst_caps_fixate, "gst_caps_fixate", LIBRARY_GSTREAMER); - Linker.link(gst_caps_foreach, "gst_caps_foreach", LIBRARY_GSTREAMER); - Linker.link(gst_caps_get_features, "gst_caps_get_features", LIBRARY_GSTREAMER); - Linker.link(gst_caps_get_size, "gst_caps_get_size", LIBRARY_GSTREAMER); - Linker.link(gst_caps_get_structure, "gst_caps_get_structure", LIBRARY_GSTREAMER); - Linker.link(gst_caps_intersect, "gst_caps_intersect", LIBRARY_GSTREAMER); - Linker.link(gst_caps_intersect_full, "gst_caps_intersect_full", LIBRARY_GSTREAMER); - Linker.link(gst_caps_is_always_compatible, "gst_caps_is_always_compatible", LIBRARY_GSTREAMER); - Linker.link(gst_caps_is_any, "gst_caps_is_any", LIBRARY_GSTREAMER); - Linker.link(gst_caps_is_empty, "gst_caps_is_empty", LIBRARY_GSTREAMER); - Linker.link(gst_caps_is_equal, "gst_caps_is_equal", LIBRARY_GSTREAMER); - Linker.link(gst_caps_is_equal_fixed, "gst_caps_is_equal_fixed", LIBRARY_GSTREAMER); - Linker.link(gst_caps_is_fixed, "gst_caps_is_fixed", LIBRARY_GSTREAMER); - Linker.link(gst_caps_is_strictly_equal, "gst_caps_is_strictly_equal", LIBRARY_GSTREAMER); - Linker.link(gst_caps_is_subset, "gst_caps_is_subset", LIBRARY_GSTREAMER); - Linker.link(gst_caps_is_subset_structure, "gst_caps_is_subset_structure", LIBRARY_GSTREAMER); - Linker.link(gst_caps_is_subset_structure_full, "gst_caps_is_subset_structure_full", LIBRARY_GSTREAMER); - Linker.link(gst_caps_map_in_place, "gst_caps_map_in_place", LIBRARY_GSTREAMER); - Linker.link(gst_caps_merge, "gst_caps_merge", LIBRARY_GSTREAMER); - Linker.link(gst_caps_merge_structure, "gst_caps_merge_structure", LIBRARY_GSTREAMER); - Linker.link(gst_caps_merge_structure_full, "gst_caps_merge_structure_full", LIBRARY_GSTREAMER); - Linker.link(gst_caps_normalize, "gst_caps_normalize", LIBRARY_GSTREAMER); - Linker.link(gst_caps_remove_structure, "gst_caps_remove_structure", LIBRARY_GSTREAMER); - Linker.link(gst_caps_set_features, "gst_caps_set_features", LIBRARY_GSTREAMER); - Linker.link(gst_caps_set_features_simple, "gst_caps_set_features_simple", LIBRARY_GSTREAMER); - Linker.link(gst_caps_set_simple, "gst_caps_set_simple", LIBRARY_GSTREAMER); - Linker.link(gst_caps_set_simple_valist, "gst_caps_set_simple_valist", LIBRARY_GSTREAMER); - Linker.link(gst_caps_set_value, "gst_caps_set_value", LIBRARY_GSTREAMER); - Linker.link(gst_caps_simplify, "gst_caps_simplify", LIBRARY_GSTREAMER); - Linker.link(gst_caps_steal_structure, "gst_caps_steal_structure", LIBRARY_GSTREAMER); - Linker.link(gst_caps_subtract, "gst_caps_subtract", LIBRARY_GSTREAMER); - Linker.link(gst_caps_to_string, "gst_caps_to_string", LIBRARY_GSTREAMER); - Linker.link(gst_caps_truncate, "gst_caps_truncate", LIBRARY_GSTREAMER); - Linker.link(gst_caps_from_string, "gst_caps_from_string", LIBRARY_GSTREAMER); - - // gstreamer.CapsFeatures - - Linker.link(gst_caps_features_get_type, "gst_caps_features_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_new, "gst_caps_features_new", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_new_any, "gst_caps_features_new_any", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_new_empty, "gst_caps_features_new_empty", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_new_id, "gst_caps_features_new_id", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_new_id_valist, "gst_caps_features_new_id_valist", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_new_valist, "gst_caps_features_new_valist", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_add, "gst_caps_features_add", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_add_id, "gst_caps_features_add_id", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_contains, "gst_caps_features_contains", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_contains_id, "gst_caps_features_contains_id", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_copy, "gst_caps_features_copy", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_free, "gst_caps_features_free", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_get_nth, "gst_caps_features_get_nth", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_get_nth_id, "gst_caps_features_get_nth_id", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_get_size, "gst_caps_features_get_size", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_is_any, "gst_caps_features_is_any", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_is_equal, "gst_caps_features_is_equal", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_remove, "gst_caps_features_remove", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_remove_id, "gst_caps_features_remove_id", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_set_parent_refcount, "gst_caps_features_set_parent_refcount", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_to_string, "gst_caps_features_to_string", LIBRARY_GSTREAMER); - Linker.link(gst_caps_features_from_string, "gst_caps_features_from_string", LIBRARY_GSTREAMER); - - // gstreamer.ChildProxy - - Linker.link(gst_child_proxy_get_type, "gst_child_proxy_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_child_proxy_child_added, "gst_child_proxy_child_added", LIBRARY_GSTREAMER); - Linker.link(gst_child_proxy_child_removed, "gst_child_proxy_child_removed", LIBRARY_GSTREAMER); - Linker.link(gst_child_proxy_get, "gst_child_proxy_get", LIBRARY_GSTREAMER); - Linker.link(gst_child_proxy_get_child_by_index, "gst_child_proxy_get_child_by_index", LIBRARY_GSTREAMER); - Linker.link(gst_child_proxy_get_child_by_name, "gst_child_proxy_get_child_by_name", LIBRARY_GSTREAMER); - Linker.link(gst_child_proxy_get_children_count, "gst_child_proxy_get_children_count", LIBRARY_GSTREAMER); - Linker.link(gst_child_proxy_get_property, "gst_child_proxy_get_property", LIBRARY_GSTREAMER); - Linker.link(gst_child_proxy_get_valist, "gst_child_proxy_get_valist", LIBRARY_GSTREAMER); - Linker.link(gst_child_proxy_lookup, "gst_child_proxy_lookup", LIBRARY_GSTREAMER); - Linker.link(gst_child_proxy_set, "gst_child_proxy_set", LIBRARY_GSTREAMER); - Linker.link(gst_child_proxy_set_property, "gst_child_proxy_set_property", LIBRARY_GSTREAMER); - Linker.link(gst_child_proxy_set_valist, "gst_child_proxy_set_valist", LIBRARY_GSTREAMER); - - // gstreamer.Clock - - Linker.link(gst_clock_get_type, "gst_clock_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_clock_id_compare_func, "gst_clock_id_compare_func", LIBRARY_GSTREAMER); - Linker.link(gst_clock_id_get_clock, "gst_clock_id_get_clock", LIBRARY_GSTREAMER); - Linker.link(gst_clock_id_get_time, "gst_clock_id_get_time", LIBRARY_GSTREAMER); - Linker.link(gst_clock_id_ref, "gst_clock_id_ref", LIBRARY_GSTREAMER); - Linker.link(gst_clock_id_unref, "gst_clock_id_unref", LIBRARY_GSTREAMER); - Linker.link(gst_clock_id_unschedule, "gst_clock_id_unschedule", LIBRARY_GSTREAMER); - Linker.link(gst_clock_id_uses_clock, "gst_clock_id_uses_clock", LIBRARY_GSTREAMER); - Linker.link(gst_clock_id_wait, "gst_clock_id_wait", LIBRARY_GSTREAMER); - Linker.link(gst_clock_id_wait_async, "gst_clock_id_wait_async", LIBRARY_GSTREAMER); - Linker.link(gst_clock_add_observation, "gst_clock_add_observation", LIBRARY_GSTREAMER); - Linker.link(gst_clock_add_observation_unapplied, "gst_clock_add_observation_unapplied", LIBRARY_GSTREAMER); - Linker.link(gst_clock_adjust_unlocked, "gst_clock_adjust_unlocked", LIBRARY_GSTREAMER); - Linker.link(gst_clock_adjust_with_calibration, "gst_clock_adjust_with_calibration", LIBRARY_GSTREAMER); - Linker.link(gst_clock_get_calibration, "gst_clock_get_calibration", LIBRARY_GSTREAMER); - Linker.link(gst_clock_get_internal_time, "gst_clock_get_internal_time", LIBRARY_GSTREAMER); - Linker.link(gst_clock_get_master, "gst_clock_get_master", LIBRARY_GSTREAMER); - Linker.link(gst_clock_get_resolution, "gst_clock_get_resolution", LIBRARY_GSTREAMER); - Linker.link(gst_clock_get_time, "gst_clock_get_time", LIBRARY_GSTREAMER); - Linker.link(gst_clock_get_timeout, "gst_clock_get_timeout", LIBRARY_GSTREAMER); - Linker.link(gst_clock_is_synced, "gst_clock_is_synced", LIBRARY_GSTREAMER); - Linker.link(gst_clock_new_periodic_id, "gst_clock_new_periodic_id", LIBRARY_GSTREAMER); - Linker.link(gst_clock_new_single_shot_id, "gst_clock_new_single_shot_id", LIBRARY_GSTREAMER); - Linker.link(gst_clock_periodic_id_reinit, "gst_clock_periodic_id_reinit", LIBRARY_GSTREAMER); - Linker.link(gst_clock_set_calibration, "gst_clock_set_calibration", LIBRARY_GSTREAMER); - Linker.link(gst_clock_set_master, "gst_clock_set_master", LIBRARY_GSTREAMER); - Linker.link(gst_clock_set_resolution, "gst_clock_set_resolution", LIBRARY_GSTREAMER); - Linker.link(gst_clock_set_synced, "gst_clock_set_synced", LIBRARY_GSTREAMER); - Linker.link(gst_clock_set_timeout, "gst_clock_set_timeout", LIBRARY_GSTREAMER); - Linker.link(gst_clock_single_shot_id_reinit, "gst_clock_single_shot_id_reinit", LIBRARY_GSTREAMER); - Linker.link(gst_clock_unadjust_unlocked, "gst_clock_unadjust_unlocked", LIBRARY_GSTREAMER); - Linker.link(gst_clock_unadjust_with_calibration, "gst_clock_unadjust_with_calibration", LIBRARY_GSTREAMER); - Linker.link(gst_clock_wait_for_sync, "gst_clock_wait_for_sync", LIBRARY_GSTREAMER); - - // gstreamer.Context - - Linker.link(gst_context_get_type, "gst_context_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_context_new, "gst_context_new", LIBRARY_GSTREAMER); - Linker.link(gst_context_get_context_type, "gst_context_get_context_type", LIBRARY_GSTREAMER); - Linker.link(gst_context_get_structure, "gst_context_get_structure", LIBRARY_GSTREAMER); - Linker.link(gst_context_has_context_type, "gst_context_has_context_type", LIBRARY_GSTREAMER); - Linker.link(gst_context_is_persistent, "gst_context_is_persistent", LIBRARY_GSTREAMER); - Linker.link(gst_context_writable_structure, "gst_context_writable_structure", LIBRARY_GSTREAMER); - - // gstreamer.ControlBinding - - Linker.link(gst_control_binding_get_type, "gst_control_binding_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_control_binding_get_g_value_array, "gst_control_binding_get_g_value_array", LIBRARY_GSTREAMER); - Linker.link(gst_control_binding_get_value, "gst_control_binding_get_value", LIBRARY_GSTREAMER); - Linker.link(gst_control_binding_get_value_array, "gst_control_binding_get_value_array", LIBRARY_GSTREAMER); - Linker.link(gst_control_binding_is_disabled, "gst_control_binding_is_disabled", LIBRARY_GSTREAMER); - Linker.link(gst_control_binding_set_disabled, "gst_control_binding_set_disabled", LIBRARY_GSTREAMER); - Linker.link(gst_control_binding_sync_values, "gst_control_binding_sync_values", LIBRARY_GSTREAMER); - - // gstreamer.ControlSource - - Linker.link(gst_control_source_get_type, "gst_control_source_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_control_source_get_value, "gst_control_source_get_value", LIBRARY_GSTREAMER); - Linker.link(gst_control_source_get_value_array, "gst_control_source_get_value_array", LIBRARY_GSTREAMER); - - // gstreamer.DateTime - - Linker.link(gst_date_time_get_type, "gst_date_time_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_new, "gst_date_time_new", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_new_from_g_date_time, "gst_date_time_new_from_g_date_time", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_new_from_iso8601_string, "gst_date_time_new_from_iso8601_string", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_new_from_unix_epoch_local_time, "gst_date_time_new_from_unix_epoch_local_time", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_new_from_unix_epoch_local_time_usecs, "gst_date_time_new_from_unix_epoch_local_time_usecs", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_new_from_unix_epoch_utc, "gst_date_time_new_from_unix_epoch_utc", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_new_from_unix_epoch_utc_usecs, "gst_date_time_new_from_unix_epoch_utc_usecs", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_new_local_time, "gst_date_time_new_local_time", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_new_now_local_time, "gst_date_time_new_now_local_time", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_new_now_utc, "gst_date_time_new_now_utc", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_new_y, "gst_date_time_new_y", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_new_ym, "gst_date_time_new_ym", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_new_ymd, "gst_date_time_new_ymd", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_get_day, "gst_date_time_get_day", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_get_hour, "gst_date_time_get_hour", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_get_microsecond, "gst_date_time_get_microsecond", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_get_minute, "gst_date_time_get_minute", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_get_month, "gst_date_time_get_month", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_get_second, "gst_date_time_get_second", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_get_time_zone_offset, "gst_date_time_get_time_zone_offset", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_get_year, "gst_date_time_get_year", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_has_day, "gst_date_time_has_day", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_has_month, "gst_date_time_has_month", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_has_second, "gst_date_time_has_second", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_has_time, "gst_date_time_has_time", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_has_year, "gst_date_time_has_year", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_ref, "gst_date_time_ref", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_to_g_date_time, "gst_date_time_to_g_date_time", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_to_iso8601_string, "gst_date_time_to_iso8601_string", LIBRARY_GSTREAMER); - Linker.link(gst_date_time_unref, "gst_date_time_unref", LIBRARY_GSTREAMER); - - // gstreamer.DebugCategory - - Linker.link(gst_debug_category_free, "gst_debug_category_free", LIBRARY_GSTREAMER); - Linker.link(gst_debug_category_get_color, "gst_debug_category_get_color", LIBRARY_GSTREAMER); - Linker.link(gst_debug_category_get_description, "gst_debug_category_get_description", LIBRARY_GSTREAMER); - Linker.link(gst_debug_category_get_name, "gst_debug_category_get_name", LIBRARY_GSTREAMER); - Linker.link(gst_debug_category_get_threshold, "gst_debug_category_get_threshold", LIBRARY_GSTREAMER); - Linker.link(gst_debug_category_reset_threshold, "gst_debug_category_reset_threshold", LIBRARY_GSTREAMER); - Linker.link(gst_debug_category_set_threshold, "gst_debug_category_set_threshold", LIBRARY_GSTREAMER); - - // gstreamer.DebugMessage - - Linker.link(gst_debug_message_get, "gst_debug_message_get", LIBRARY_GSTREAMER); - - // gstreamer.Device - - Linker.link(gst_device_get_type, "gst_device_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_device_create_element, "gst_device_create_element", LIBRARY_GSTREAMER); - Linker.link(gst_device_get_caps, "gst_device_get_caps", LIBRARY_GSTREAMER); - Linker.link(gst_device_get_device_class, "gst_device_get_device_class", LIBRARY_GSTREAMER); - Linker.link(gst_device_get_display_name, "gst_device_get_display_name", LIBRARY_GSTREAMER); - Linker.link(gst_device_get_properties, "gst_device_get_properties", LIBRARY_GSTREAMER); - Linker.link(gst_device_has_classes, "gst_device_has_classes", LIBRARY_GSTREAMER); - Linker.link(gst_device_has_classesv, "gst_device_has_classesv", LIBRARY_GSTREAMER); - Linker.link(gst_device_reconfigure_element, "gst_device_reconfigure_element", LIBRARY_GSTREAMER); - - // gstreamer.DeviceMonitor - - Linker.link(gst_device_monitor_get_type, "gst_device_monitor_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_device_monitor_new, "gst_device_monitor_new", LIBRARY_GSTREAMER); - Linker.link(gst_device_monitor_add_filter, "gst_device_monitor_add_filter", LIBRARY_GSTREAMER); - Linker.link(gst_device_monitor_get_bus, "gst_device_monitor_get_bus", LIBRARY_GSTREAMER); - Linker.link(gst_device_monitor_get_devices, "gst_device_monitor_get_devices", LIBRARY_GSTREAMER); - Linker.link(gst_device_monitor_get_providers, "gst_device_monitor_get_providers", LIBRARY_GSTREAMER); - Linker.link(gst_device_monitor_get_show_all_devices, "gst_device_monitor_get_show_all_devices", LIBRARY_GSTREAMER); - Linker.link(gst_device_monitor_remove_filter, "gst_device_monitor_remove_filter", LIBRARY_GSTREAMER); - Linker.link(gst_device_monitor_set_show_all_devices, "gst_device_monitor_set_show_all_devices", LIBRARY_GSTREAMER); - Linker.link(gst_device_monitor_start, "gst_device_monitor_start", LIBRARY_GSTREAMER); - Linker.link(gst_device_monitor_stop, "gst_device_monitor_stop", LIBRARY_GSTREAMER); - - // gstreamer.DeviceProvider - - Linker.link(gst_device_provider_get_type, "gst_device_provider_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_register, "gst_device_provider_register", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_can_monitor, "gst_device_provider_can_monitor", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_device_add, "gst_device_provider_device_add", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_device_changed, "gst_device_provider_device_changed", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_device_remove, "gst_device_provider_device_remove", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_get_bus, "gst_device_provider_get_bus", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_get_devices, "gst_device_provider_get_devices", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_get_factory, "gst_device_provider_get_factory", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_get_hidden_providers, "gst_device_provider_get_hidden_providers", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_get_metadata, "gst_device_provider_get_metadata", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_hide_provider, "gst_device_provider_hide_provider", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_start, "gst_device_provider_start", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_stop, "gst_device_provider_stop", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_unhide_provider, "gst_device_provider_unhide_provider", LIBRARY_GSTREAMER); - - // gstreamer.DeviceProviderClass - - Linker.link(gst_device_provider_class_add_metadata, "gst_device_provider_class_add_metadata", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_class_add_static_metadata, "gst_device_provider_class_add_static_metadata", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_class_get_metadata, "gst_device_provider_class_get_metadata", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_class_set_metadata, "gst_device_provider_class_set_metadata", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_class_set_static_metadata, "gst_device_provider_class_set_static_metadata", LIBRARY_GSTREAMER); - - // gstreamer.DeviceProviderFactory - - Linker.link(gst_device_provider_factory_get_type, "gst_device_provider_factory_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_factory_find, "gst_device_provider_factory_find", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_factory_get_by_name, "gst_device_provider_factory_get_by_name", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_factory_list_get_device_providers, "gst_device_provider_factory_list_get_device_providers", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_factory_get, "gst_device_provider_factory_get", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_factory_get_device_provider_type, "gst_device_provider_factory_get_device_provider_type", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_factory_get_metadata, "gst_device_provider_factory_get_metadata", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_factory_get_metadata_keys, "gst_device_provider_factory_get_metadata_keys", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_factory_has_classes, "gst_device_provider_factory_has_classes", LIBRARY_GSTREAMER); - Linker.link(gst_device_provider_factory_has_classesv, "gst_device_provider_factory_has_classesv", LIBRARY_GSTREAMER); - - // gstreamer.DoubleRange - - Linker.link(gst_double_range_get_type, "gst_double_range_get_type", LIBRARY_GSTREAMER); - - // gstreamer.DynamicTypeFactory - - Linker.link(gst_dynamic_type_factory_get_type, "gst_dynamic_type_factory_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_dynamic_type_factory_load, "gst_dynamic_type_factory_load", LIBRARY_GSTREAMER); - - // gstreamer.Element - - Linker.link(gst_element_get_type, "gst_element_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_element_make_from_uri, "gst_element_make_from_uri", LIBRARY_GSTREAMER); - Linker.link(gst_element_register, "gst_element_register", LIBRARY_GSTREAMER); - Linker.link(gst_element_state_change_return_get_name, "gst_element_state_change_return_get_name", LIBRARY_GSTREAMER); - Linker.link(gst_element_state_get_name, "gst_element_state_get_name", LIBRARY_GSTREAMER); - Linker.link(gst_element_abort_state, "gst_element_abort_state", LIBRARY_GSTREAMER); - Linker.link(gst_element_add_pad, "gst_element_add_pad", LIBRARY_GSTREAMER); - Linker.link(gst_element_add_property_deep_notify_watch, "gst_element_add_property_deep_notify_watch", LIBRARY_GSTREAMER); - Linker.link(gst_element_add_property_notify_watch, "gst_element_add_property_notify_watch", LIBRARY_GSTREAMER); - Linker.link(gst_element_call_async, "gst_element_call_async", LIBRARY_GSTREAMER); - Linker.link(gst_element_change_state, "gst_element_change_state", LIBRARY_GSTREAMER); - Linker.link(gst_element_continue_state, "gst_element_continue_state", LIBRARY_GSTREAMER); - Linker.link(gst_element_create_all_pads, "gst_element_create_all_pads", LIBRARY_GSTREAMER); - Linker.link(gst_element_foreach_pad, "gst_element_foreach_pad", LIBRARY_GSTREAMER); - Linker.link(gst_element_foreach_sink_pad, "gst_element_foreach_sink_pad", LIBRARY_GSTREAMER); - Linker.link(gst_element_foreach_src_pad, "gst_element_foreach_src_pad", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_base_time, "gst_element_get_base_time", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_bus, "gst_element_get_bus", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_clock, "gst_element_get_clock", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_compatible_pad, "gst_element_get_compatible_pad", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_compatible_pad_template, "gst_element_get_compatible_pad_template", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_context, "gst_element_get_context", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_context_unlocked, "gst_element_get_context_unlocked", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_contexts, "gst_element_get_contexts", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_current_clock_time, "gst_element_get_current_clock_time", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_current_running_time, "gst_element_get_current_running_time", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_factory, "gst_element_get_factory", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_metadata, "gst_element_get_metadata", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_pad_template, "gst_element_get_pad_template", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_pad_template_list, "gst_element_get_pad_template_list", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_request_pad, "gst_element_get_request_pad", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_start_time, "gst_element_get_start_time", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_state, "gst_element_get_state", LIBRARY_GSTREAMER); - Linker.link(gst_element_get_static_pad, "gst_element_get_static_pad", LIBRARY_GSTREAMER); - Linker.link(gst_element_is_locked_state, "gst_element_is_locked_state", LIBRARY_GSTREAMER); - Linker.link(gst_element_iterate_pads, "gst_element_iterate_pads", LIBRARY_GSTREAMER); - Linker.link(gst_element_iterate_sink_pads, "gst_element_iterate_sink_pads", LIBRARY_GSTREAMER); - Linker.link(gst_element_iterate_src_pads, "gst_element_iterate_src_pads", LIBRARY_GSTREAMER); - Linker.link(gst_element_link, "gst_element_link", LIBRARY_GSTREAMER); - Linker.link(gst_element_link_filtered, "gst_element_link_filtered", LIBRARY_GSTREAMER); - Linker.link(gst_element_link_many, "gst_element_link_many", LIBRARY_GSTREAMER); - Linker.link(gst_element_link_pads, "gst_element_link_pads", LIBRARY_GSTREAMER); - Linker.link(gst_element_link_pads_filtered, "gst_element_link_pads_filtered", LIBRARY_GSTREAMER); - Linker.link(gst_element_link_pads_full, "gst_element_link_pads_full", LIBRARY_GSTREAMER); - Linker.link(gst_element_lost_state, "gst_element_lost_state", LIBRARY_GSTREAMER); - Linker.link(gst_element_message_full, "gst_element_message_full", LIBRARY_GSTREAMER); - Linker.link(gst_element_message_full_with_details, "gst_element_message_full_with_details", LIBRARY_GSTREAMER); - Linker.link(gst_element_no_more_pads, "gst_element_no_more_pads", LIBRARY_GSTREAMER); - Linker.link(gst_element_post_message, "gst_element_post_message", LIBRARY_GSTREAMER); - Linker.link(gst_element_provide_clock, "gst_element_provide_clock", LIBRARY_GSTREAMER); - Linker.link(gst_element_query, "gst_element_query", LIBRARY_GSTREAMER); - Linker.link(gst_element_query_convert, "gst_element_query_convert", LIBRARY_GSTREAMER); - Linker.link(gst_element_query_duration, "gst_element_query_duration", LIBRARY_GSTREAMER); - Linker.link(gst_element_query_position, "gst_element_query_position", LIBRARY_GSTREAMER); - Linker.link(gst_element_release_request_pad, "gst_element_release_request_pad", LIBRARY_GSTREAMER); - Linker.link(gst_element_remove_pad, "gst_element_remove_pad", LIBRARY_GSTREAMER); - Linker.link(gst_element_remove_property_notify_watch, "gst_element_remove_property_notify_watch", LIBRARY_GSTREAMER); - Linker.link(gst_element_request_pad, "gst_element_request_pad", LIBRARY_GSTREAMER); - Linker.link(gst_element_seek, "gst_element_seek", LIBRARY_GSTREAMER); - Linker.link(gst_element_seek_simple, "gst_element_seek_simple", LIBRARY_GSTREAMER); - Linker.link(gst_element_send_event, "gst_element_send_event", LIBRARY_GSTREAMER); - Linker.link(gst_element_set_base_time, "gst_element_set_base_time", LIBRARY_GSTREAMER); - Linker.link(gst_element_set_bus, "gst_element_set_bus", LIBRARY_GSTREAMER); - Linker.link(gst_element_set_clock, "gst_element_set_clock", LIBRARY_GSTREAMER); - Linker.link(gst_element_set_context, "gst_element_set_context", LIBRARY_GSTREAMER); - Linker.link(gst_element_set_locked_state, "gst_element_set_locked_state", LIBRARY_GSTREAMER); - Linker.link(gst_element_set_start_time, "gst_element_set_start_time", LIBRARY_GSTREAMER); - Linker.link(gst_element_set_state, "gst_element_set_state", LIBRARY_GSTREAMER); - Linker.link(gst_element_sync_state_with_parent, "gst_element_sync_state_with_parent", LIBRARY_GSTREAMER); - Linker.link(gst_element_unlink, "gst_element_unlink", LIBRARY_GSTREAMER); - Linker.link(gst_element_unlink_many, "gst_element_unlink_many", LIBRARY_GSTREAMER); - Linker.link(gst_element_unlink_pads, "gst_element_unlink_pads", LIBRARY_GSTREAMER); - - // gstreamer.ElementClass - - Linker.link(gst_element_class_add_metadata, "gst_element_class_add_metadata", LIBRARY_GSTREAMER); - Linker.link(gst_element_class_add_pad_template, "gst_element_class_add_pad_template", LIBRARY_GSTREAMER); - Linker.link(gst_element_class_add_static_metadata, "gst_element_class_add_static_metadata", LIBRARY_GSTREAMER); - Linker.link(gst_element_class_add_static_pad_template, "gst_element_class_add_static_pad_template", LIBRARY_GSTREAMER); - Linker.link(gst_element_class_add_static_pad_template_with_gtype, "gst_element_class_add_static_pad_template_with_gtype", LIBRARY_GSTREAMER); - Linker.link(gst_element_class_get_metadata, "gst_element_class_get_metadata", LIBRARY_GSTREAMER); - Linker.link(gst_element_class_get_pad_template, "gst_element_class_get_pad_template", LIBRARY_GSTREAMER); - Linker.link(gst_element_class_get_pad_template_list, "gst_element_class_get_pad_template_list", LIBRARY_GSTREAMER); - Linker.link(gst_element_class_set_metadata, "gst_element_class_set_metadata", LIBRARY_GSTREAMER); - Linker.link(gst_element_class_set_static_metadata, "gst_element_class_set_static_metadata", LIBRARY_GSTREAMER); - - // gstreamer.ElementFactory - - Linker.link(gst_element_factory_get_type, "gst_element_factory_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_find, "gst_element_factory_find", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_list_filter, "gst_element_factory_list_filter", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_list_get_elements, "gst_element_factory_list_get_elements", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_make, "gst_element_factory_make", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_can_sink_all_caps, "gst_element_factory_can_sink_all_caps", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_can_sink_any_caps, "gst_element_factory_can_sink_any_caps", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_can_src_all_caps, "gst_element_factory_can_src_all_caps", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_can_src_any_caps, "gst_element_factory_can_src_any_caps", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_create, "gst_element_factory_create", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_get_element_type, "gst_element_factory_get_element_type", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_get_metadata, "gst_element_factory_get_metadata", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_get_metadata_keys, "gst_element_factory_get_metadata_keys", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_get_num_pad_templates, "gst_element_factory_get_num_pad_templates", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_get_static_pad_templates, "gst_element_factory_get_static_pad_templates", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_get_uri_protocols, "gst_element_factory_get_uri_protocols", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_get_uri_type, "gst_element_factory_get_uri_type", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_has_interface, "gst_element_factory_has_interface", LIBRARY_GSTREAMER); - Linker.link(gst_element_factory_list_is_type, "gst_element_factory_list_is_type", LIBRARY_GSTREAMER); - - // gstreamer.Event - - Linker.link(gst_event_get_type, "gst_event_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_buffer_size, "gst_event_new_buffer_size", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_caps, "gst_event_new_caps", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_custom, "gst_event_new_custom", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_eos, "gst_event_new_eos", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_flush_start, "gst_event_new_flush_start", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_flush_stop, "gst_event_new_flush_stop", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_gap, "gst_event_new_gap", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_instant_rate_change, "gst_event_new_instant_rate_change", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_instant_rate_sync_time, "gst_event_new_instant_rate_sync_time", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_latency, "gst_event_new_latency", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_navigation, "gst_event_new_navigation", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_protection, "gst_event_new_protection", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_qos, "gst_event_new_qos", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_reconfigure, "gst_event_new_reconfigure", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_seek, "gst_event_new_seek", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_segment, "gst_event_new_segment", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_segment_done, "gst_event_new_segment_done", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_select_streams, "gst_event_new_select_streams", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_sink_message, "gst_event_new_sink_message", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_step, "gst_event_new_step", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_stream_collection, "gst_event_new_stream_collection", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_stream_group_done, "gst_event_new_stream_group_done", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_stream_start, "gst_event_new_stream_start", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_tag, "gst_event_new_tag", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_toc, "gst_event_new_toc", LIBRARY_GSTREAMER); - Linker.link(gst_event_new_toc_select, "gst_event_new_toc_select", LIBRARY_GSTREAMER); - Linker.link(gst_event_copy_segment, "gst_event_copy_segment", LIBRARY_GSTREAMER); - Linker.link(gst_event_get_running_time_offset, "gst_event_get_running_time_offset", LIBRARY_GSTREAMER); - Linker.link(gst_event_get_seqnum, "gst_event_get_seqnum", LIBRARY_GSTREAMER); - Linker.link(gst_event_get_structure, "gst_event_get_structure", LIBRARY_GSTREAMER); - Linker.link(gst_event_has_name, "gst_event_has_name", LIBRARY_GSTREAMER); - Linker.link(gst_event_has_name_id, "gst_event_has_name_id", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_buffer_size, "gst_event_parse_buffer_size", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_caps, "gst_event_parse_caps", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_flush_stop, "gst_event_parse_flush_stop", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_gap, "gst_event_parse_gap", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_group_id, "gst_event_parse_group_id", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_instant_rate_change, "gst_event_parse_instant_rate_change", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_instant_rate_sync_time, "gst_event_parse_instant_rate_sync_time", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_latency, "gst_event_parse_latency", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_protection, "gst_event_parse_protection", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_qos, "gst_event_parse_qos", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_seek, "gst_event_parse_seek", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_seek_trickmode_interval, "gst_event_parse_seek_trickmode_interval", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_segment, "gst_event_parse_segment", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_segment_done, "gst_event_parse_segment_done", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_select_streams, "gst_event_parse_select_streams", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_sink_message, "gst_event_parse_sink_message", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_step, "gst_event_parse_step", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_stream, "gst_event_parse_stream", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_stream_collection, "gst_event_parse_stream_collection", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_stream_flags, "gst_event_parse_stream_flags", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_stream_group_done, "gst_event_parse_stream_group_done", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_stream_start, "gst_event_parse_stream_start", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_tag, "gst_event_parse_tag", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_toc, "gst_event_parse_toc", LIBRARY_GSTREAMER); - Linker.link(gst_event_parse_toc_select, "gst_event_parse_toc_select", LIBRARY_GSTREAMER); - Linker.link(gst_event_set_group_id, "gst_event_set_group_id", LIBRARY_GSTREAMER); - Linker.link(gst_event_set_running_time_offset, "gst_event_set_running_time_offset", LIBRARY_GSTREAMER); - Linker.link(gst_event_set_seek_trickmode_interval, "gst_event_set_seek_trickmode_interval", LIBRARY_GSTREAMER); - Linker.link(gst_event_set_seqnum, "gst_event_set_seqnum", LIBRARY_GSTREAMER); - Linker.link(gst_event_set_stream, "gst_event_set_stream", LIBRARY_GSTREAMER); - Linker.link(gst_event_set_stream_flags, "gst_event_set_stream_flags", LIBRARY_GSTREAMER); - Linker.link(gst_event_writable_structure, "gst_event_writable_structure", LIBRARY_GSTREAMER); - Linker.link(gst_event_type_get_flags, "gst_event_type_get_flags", LIBRARY_GSTREAMER); - Linker.link(gst_event_type_get_name, "gst_event_type_get_name", LIBRARY_GSTREAMER); - Linker.link(gst_event_type_to_quark, "gst_event_type_to_quark", LIBRARY_GSTREAMER); - - // gstreamer.FlagSet - - Linker.link(gst_flagset_get_type, "gst_flagset_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_flagset_register, "gst_flagset_register", LIBRARY_GSTREAMER); - - // gstreamer.Fraction - - Linker.link(gst_fraction_get_type, "gst_fraction_get_type", LIBRARY_GSTREAMER); - - // gstreamer.FractionRange - - Linker.link(gst_fraction_range_get_type, "gst_fraction_range_get_type", LIBRARY_GSTREAMER); - - // gstreamer.GhostPad - - Linker.link(gst_ghost_pad_get_type, "gst_ghost_pad_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_ghost_pad_new, "gst_ghost_pad_new", LIBRARY_GSTREAMER); - Linker.link(gst_ghost_pad_new_from_template, "gst_ghost_pad_new_from_template", LIBRARY_GSTREAMER); - Linker.link(gst_ghost_pad_new_no_target, "gst_ghost_pad_new_no_target", LIBRARY_GSTREAMER); - Linker.link(gst_ghost_pad_new_no_target_from_template, "gst_ghost_pad_new_no_target_from_template", LIBRARY_GSTREAMER); - Linker.link(gst_ghost_pad_activate_mode_default, "gst_ghost_pad_activate_mode_default", LIBRARY_GSTREAMER); - Linker.link(gst_ghost_pad_internal_activate_mode_default, "gst_ghost_pad_internal_activate_mode_default", LIBRARY_GSTREAMER); - Linker.link(gst_ghost_pad_construct, "gst_ghost_pad_construct", LIBRARY_GSTREAMER); - Linker.link(gst_ghost_pad_get_target, "gst_ghost_pad_get_target", LIBRARY_GSTREAMER); - Linker.link(gst_ghost_pad_set_target, "gst_ghost_pad_set_target", LIBRARY_GSTREAMER); - - // gstreamer.Int64Range - - Linker.link(gst_int64_range_get_type, "gst_int64_range_get_type", LIBRARY_GSTREAMER); - - // gstreamer.IntRange - - Linker.link(gst_int_range_get_type, "gst_int_range_get_type", LIBRARY_GSTREAMER); - - // gstreamer.Iterator - - Linker.link(gst_iterator_get_type, "gst_iterator_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_iterator_new, "gst_iterator_new", LIBRARY_GSTREAMER); - Linker.link(gst_iterator_new_list, "gst_iterator_new_list", LIBRARY_GSTREAMER); - Linker.link(gst_iterator_new_single, "gst_iterator_new_single", LIBRARY_GSTREAMER); - Linker.link(gst_iterator_copy, "gst_iterator_copy", LIBRARY_GSTREAMER); - Linker.link(gst_iterator_filter, "gst_iterator_filter", LIBRARY_GSTREAMER); - Linker.link(gst_iterator_find_custom, "gst_iterator_find_custom", LIBRARY_GSTREAMER); - Linker.link(gst_iterator_fold, "gst_iterator_fold", LIBRARY_GSTREAMER); - Linker.link(gst_iterator_foreach, "gst_iterator_foreach", LIBRARY_GSTREAMER); - Linker.link(gst_iterator_free, "gst_iterator_free", LIBRARY_GSTREAMER); - Linker.link(gst_iterator_next, "gst_iterator_next", LIBRARY_GSTREAMER); - Linker.link(gst_iterator_push, "gst_iterator_push", LIBRARY_GSTREAMER); - Linker.link(gst_iterator_resync, "gst_iterator_resync", LIBRARY_GSTREAMER); - - // gstreamer.Memory - - Linker.link(gst_memory_get_type, "gst_memory_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_memory_new_wrapped, "gst_memory_new_wrapped", LIBRARY_GSTREAMER); - Linker.link(gst_memory_copy, "gst_memory_copy", LIBRARY_GSTREAMER); - Linker.link(gst_memory_get_sizes, "gst_memory_get_sizes", LIBRARY_GSTREAMER); - Linker.link(gst_memory_init, "gst_memory_init", LIBRARY_GSTREAMER); - Linker.link(gst_memory_is_span, "gst_memory_is_span", LIBRARY_GSTREAMER); - Linker.link(gst_memory_is_type, "gst_memory_is_type", LIBRARY_GSTREAMER); - Linker.link(gst_memory_make_mapped, "gst_memory_make_mapped", LIBRARY_GSTREAMER); - Linker.link(gst_memory_map, "gst_memory_map", LIBRARY_GSTREAMER); - Linker.link(gst_memory_resize, "gst_memory_resize", LIBRARY_GSTREAMER); - Linker.link(gst_memory_share, "gst_memory_share", LIBRARY_GSTREAMER); - Linker.link(gst_memory_unmap, "gst_memory_unmap", LIBRARY_GSTREAMER); - - // gstreamer.Message - - Linker.link(gst_message_get_type, "gst_message_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_application, "gst_message_new_application", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_async_done, "gst_message_new_async_done", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_async_start, "gst_message_new_async_start", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_buffering, "gst_message_new_buffering", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_clock_lost, "gst_message_new_clock_lost", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_clock_provide, "gst_message_new_clock_provide", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_custom, "gst_message_new_custom", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_device_added, "gst_message_new_device_added", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_device_changed, "gst_message_new_device_changed", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_device_removed, "gst_message_new_device_removed", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_duration_changed, "gst_message_new_duration_changed", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_element, "gst_message_new_element", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_eos, "gst_message_new_eos", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_error, "gst_message_new_error", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_error_with_details, "gst_message_new_error_with_details", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_have_context, "gst_message_new_have_context", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_info, "gst_message_new_info", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_info_with_details, "gst_message_new_info_with_details", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_instant_rate_request, "gst_message_new_instant_rate_request", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_latency, "gst_message_new_latency", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_need_context, "gst_message_new_need_context", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_new_clock, "gst_message_new_new_clock", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_progress, "gst_message_new_progress", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_property_notify, "gst_message_new_property_notify", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_qos, "gst_message_new_qos", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_redirect, "gst_message_new_redirect", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_request_state, "gst_message_new_request_state", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_reset_time, "gst_message_new_reset_time", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_segment_done, "gst_message_new_segment_done", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_segment_start, "gst_message_new_segment_start", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_state_changed, "gst_message_new_state_changed", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_state_dirty, "gst_message_new_state_dirty", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_step_done, "gst_message_new_step_done", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_step_start, "gst_message_new_step_start", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_stream_collection, "gst_message_new_stream_collection", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_stream_start, "gst_message_new_stream_start", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_stream_status, "gst_message_new_stream_status", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_streams_selected, "gst_message_new_streams_selected", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_structure_change, "gst_message_new_structure_change", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_tag, "gst_message_new_tag", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_toc, "gst_message_new_toc", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_warning, "gst_message_new_warning", LIBRARY_GSTREAMER); - Linker.link(gst_message_new_warning_with_details, "gst_message_new_warning_with_details", LIBRARY_GSTREAMER); - Linker.link(gst_message_add_redirect_entry, "gst_message_add_redirect_entry", LIBRARY_GSTREAMER); - Linker.link(gst_message_copy, "gst_message_copy", LIBRARY_GSTREAMER); - Linker.link(gst_message_get_num_redirect_entries, "gst_message_get_num_redirect_entries", LIBRARY_GSTREAMER); - Linker.link(gst_message_get_seqnum, "gst_message_get_seqnum", LIBRARY_GSTREAMER); - Linker.link(gst_message_get_stream_status_object, "gst_message_get_stream_status_object", LIBRARY_GSTREAMER); - Linker.link(gst_message_get_structure, "gst_message_get_structure", LIBRARY_GSTREAMER); - Linker.link(gst_message_has_name, "gst_message_has_name", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_async_done, "gst_message_parse_async_done", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_buffering, "gst_message_parse_buffering", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_buffering_stats, "gst_message_parse_buffering_stats", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_clock_lost, "gst_message_parse_clock_lost", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_clock_provide, "gst_message_parse_clock_provide", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_context_type, "gst_message_parse_context_type", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_device_added, "gst_message_parse_device_added", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_device_changed, "gst_message_parse_device_changed", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_device_removed, "gst_message_parse_device_removed", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_error, "gst_message_parse_error", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_error_details, "gst_message_parse_error_details", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_group_id, "gst_message_parse_group_id", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_have_context, "gst_message_parse_have_context", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_info, "gst_message_parse_info", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_info_details, "gst_message_parse_info_details", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_instant_rate_request, "gst_message_parse_instant_rate_request", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_new_clock, "gst_message_parse_new_clock", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_progress, "gst_message_parse_progress", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_property_notify, "gst_message_parse_property_notify", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_qos, "gst_message_parse_qos", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_qos_stats, "gst_message_parse_qos_stats", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_qos_values, "gst_message_parse_qos_values", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_redirect_entry, "gst_message_parse_redirect_entry", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_request_state, "gst_message_parse_request_state", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_reset_time, "gst_message_parse_reset_time", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_segment_done, "gst_message_parse_segment_done", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_segment_start, "gst_message_parse_segment_start", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_state_changed, "gst_message_parse_state_changed", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_step_done, "gst_message_parse_step_done", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_step_start, "gst_message_parse_step_start", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_stream_collection, "gst_message_parse_stream_collection", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_stream_status, "gst_message_parse_stream_status", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_streams_selected, "gst_message_parse_streams_selected", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_structure_change, "gst_message_parse_structure_change", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_tag, "gst_message_parse_tag", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_toc, "gst_message_parse_toc", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_warning, "gst_message_parse_warning", LIBRARY_GSTREAMER); - Linker.link(gst_message_parse_warning_details, "gst_message_parse_warning_details", LIBRARY_GSTREAMER); - Linker.link(gst_message_set_buffering_stats, "gst_message_set_buffering_stats", LIBRARY_GSTREAMER); - Linker.link(gst_message_set_group_id, "gst_message_set_group_id", LIBRARY_GSTREAMER); - Linker.link(gst_message_set_qos_stats, "gst_message_set_qos_stats", LIBRARY_GSTREAMER); - Linker.link(gst_message_set_qos_values, "gst_message_set_qos_values", LIBRARY_GSTREAMER); - Linker.link(gst_message_set_seqnum, "gst_message_set_seqnum", LIBRARY_GSTREAMER); - Linker.link(gst_message_set_stream_status_object, "gst_message_set_stream_status_object", LIBRARY_GSTREAMER); - Linker.link(gst_message_streams_selected_add, "gst_message_streams_selected_add", LIBRARY_GSTREAMER); - Linker.link(gst_message_streams_selected_get_size, "gst_message_streams_selected_get_size", LIBRARY_GSTREAMER); - Linker.link(gst_message_streams_selected_get_stream, "gst_message_streams_selected_get_stream", LIBRARY_GSTREAMER); - Linker.link(gst_message_writable_structure, "gst_message_writable_structure", LIBRARY_GSTREAMER); - Linker.link(gst_message_replace, "gst_message_replace", LIBRARY_GSTREAMER); - Linker.link(gst_message_type_get_name, "gst_message_type_get_name", LIBRARY_GSTREAMER); - Linker.link(gst_message_type_to_quark, "gst_message_type_to_quark", LIBRARY_GSTREAMER); - - // gstreamer.Meta - - Linker.link(gst_meta_compare_seqnum, "gst_meta_compare_seqnum", LIBRARY_GSTREAMER); - Linker.link(gst_meta_get_seqnum, "gst_meta_get_seqnum", LIBRARY_GSTREAMER); - Linker.link(gst_meta_api_type_get_tags, "gst_meta_api_type_get_tags", LIBRARY_GSTREAMER); - Linker.link(gst_meta_api_type_has_tag, "gst_meta_api_type_has_tag", LIBRARY_GSTREAMER); - Linker.link(gst_meta_api_type_register, "gst_meta_api_type_register", LIBRARY_GSTREAMER); - Linker.link(gst_meta_get_info, "gst_meta_get_info", LIBRARY_GSTREAMER); - Linker.link(gst_meta_register, "gst_meta_register", LIBRARY_GSTREAMER); - - // gstreamer.MiniObject - - Linker.link(gst_mini_object_add_parent, "gst_mini_object_add_parent", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_copy, "gst_mini_object_copy", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_get_qdata, "gst_mini_object_get_qdata", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_init, "gst_mini_object_init", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_is_writable, "gst_mini_object_is_writable", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_lock, "gst_mini_object_lock", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_make_writable, "gst_mini_object_make_writable", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_ref, "gst_mini_object_ref", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_remove_parent, "gst_mini_object_remove_parent", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_set_qdata, "gst_mini_object_set_qdata", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_steal_qdata, "gst_mini_object_steal_qdata", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_unlock, "gst_mini_object_unlock", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_unref, "gst_mini_object_unref", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_weak_ref, "gst_mini_object_weak_ref", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_weak_unref, "gst_mini_object_weak_unref", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_replace, "gst_mini_object_replace", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_steal, "gst_mini_object_steal", LIBRARY_GSTREAMER); - Linker.link(gst_mini_object_take, "gst_mini_object_take", LIBRARY_GSTREAMER); - - // gstreamer.ObjectGst - - Linker.link(gst_object_get_type, "gst_object_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_object_check_uniqueness, "gst_object_check_uniqueness", LIBRARY_GSTREAMER); - Linker.link(gst_object_default_deep_notify, "gst_object_default_deep_notify", LIBRARY_GSTREAMER); - Linker.link(gst_object_ref_sink, "gst_object_ref_sink", LIBRARY_GSTREAMER); - Linker.link(gst_object_replace, "gst_object_replace", LIBRARY_GSTREAMER); - Linker.link(gst_object_add_control_binding, "gst_object_add_control_binding", LIBRARY_GSTREAMER); - Linker.link(gst_object_default_error, "gst_object_default_error", LIBRARY_GSTREAMER); - Linker.link(gst_object_get_control_binding, "gst_object_get_control_binding", LIBRARY_GSTREAMER); - Linker.link(gst_object_get_control_rate, "gst_object_get_control_rate", LIBRARY_GSTREAMER); - Linker.link(gst_object_get_g_value_array, "gst_object_get_g_value_array", LIBRARY_GSTREAMER); - Linker.link(gst_object_get_name, "gst_object_get_name", LIBRARY_GSTREAMER); - Linker.link(gst_object_get_parent, "gst_object_get_parent", LIBRARY_GSTREAMER); - Linker.link(gst_object_get_path_string, "gst_object_get_path_string", LIBRARY_GSTREAMER); - Linker.link(gst_object_get_value, "gst_object_get_value", LIBRARY_GSTREAMER); - Linker.link(gst_object_get_value_array, "gst_object_get_value_array", LIBRARY_GSTREAMER); - Linker.link(gst_object_has_active_control_bindings, "gst_object_has_active_control_bindings", LIBRARY_GSTREAMER); - Linker.link(gst_object_has_ancestor, "gst_object_has_ancestor", LIBRARY_GSTREAMER); - Linker.link(gst_object_has_as_ancestor, "gst_object_has_as_ancestor", LIBRARY_GSTREAMER); - Linker.link(gst_object_has_as_parent, "gst_object_has_as_parent", LIBRARY_GSTREAMER); - Linker.link(gst_object_ref, "gst_object_ref", LIBRARY_GSTREAMER); - Linker.link(gst_object_remove_control_binding, "gst_object_remove_control_binding", LIBRARY_GSTREAMER); - Linker.link(gst_object_set_control_binding_disabled, "gst_object_set_control_binding_disabled", LIBRARY_GSTREAMER); - Linker.link(gst_object_set_control_bindings_disabled, "gst_object_set_control_bindings_disabled", LIBRARY_GSTREAMER); - Linker.link(gst_object_set_control_rate, "gst_object_set_control_rate", LIBRARY_GSTREAMER); - Linker.link(gst_object_set_name, "gst_object_set_name", LIBRARY_GSTREAMER); - Linker.link(gst_object_set_parent, "gst_object_set_parent", LIBRARY_GSTREAMER); - Linker.link(gst_object_suggest_next_sync, "gst_object_suggest_next_sync", LIBRARY_GSTREAMER); - Linker.link(gst_object_sync_values, "gst_object_sync_values", LIBRARY_GSTREAMER); - Linker.link(gst_object_unparent, "gst_object_unparent", LIBRARY_GSTREAMER); - Linker.link(gst_object_unref, "gst_object_unref", LIBRARY_GSTREAMER); - - // gstreamer.Pad - - Linker.link(gst_pad_get_type, "gst_pad_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_pad_new, "gst_pad_new", LIBRARY_GSTREAMER); - Linker.link(gst_pad_new_from_static_template, "gst_pad_new_from_static_template", LIBRARY_GSTREAMER); - Linker.link(gst_pad_new_from_template, "gst_pad_new_from_template", LIBRARY_GSTREAMER); - Linker.link(gst_pad_link_get_name, "gst_pad_link_get_name", LIBRARY_GSTREAMER); - Linker.link(gst_pad_activate_mode, "gst_pad_activate_mode", LIBRARY_GSTREAMER); - Linker.link(gst_pad_add_probe, "gst_pad_add_probe", LIBRARY_GSTREAMER); - Linker.link(gst_pad_can_link, "gst_pad_can_link", LIBRARY_GSTREAMER); - Linker.link(gst_pad_chain, "gst_pad_chain", LIBRARY_GSTREAMER); - Linker.link(gst_pad_chain_list, "gst_pad_chain_list", LIBRARY_GSTREAMER); - Linker.link(gst_pad_check_reconfigure, "gst_pad_check_reconfigure", LIBRARY_GSTREAMER); - Linker.link(gst_pad_create_stream_id, "gst_pad_create_stream_id", LIBRARY_GSTREAMER); - Linker.link(gst_pad_create_stream_id_printf, "gst_pad_create_stream_id_printf", LIBRARY_GSTREAMER); - Linker.link(gst_pad_create_stream_id_printf_valist, "gst_pad_create_stream_id_printf_valist", LIBRARY_GSTREAMER); - Linker.link(gst_pad_event_default, "gst_pad_event_default", LIBRARY_GSTREAMER); - Linker.link(gst_pad_forward, "gst_pad_forward", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_allowed_caps, "gst_pad_get_allowed_caps", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_current_caps, "gst_pad_get_current_caps", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_direction, "gst_pad_get_direction", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_element_private, "gst_pad_get_element_private", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_last_flow_return, "gst_pad_get_last_flow_return", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_offset, "gst_pad_get_offset", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_pad_template, "gst_pad_get_pad_template", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_pad_template_caps, "gst_pad_get_pad_template_caps", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_parent_element, "gst_pad_get_parent_element", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_peer, "gst_pad_get_peer", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_range, "gst_pad_get_range", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_single_internal_link, "gst_pad_get_single_internal_link", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_sticky_event, "gst_pad_get_sticky_event", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_stream, "gst_pad_get_stream", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_stream_id, "gst_pad_get_stream_id", LIBRARY_GSTREAMER); - Linker.link(gst_pad_get_task_state, "gst_pad_get_task_state", LIBRARY_GSTREAMER); - Linker.link(gst_pad_has_current_caps, "gst_pad_has_current_caps", LIBRARY_GSTREAMER); - Linker.link(gst_pad_is_active, "gst_pad_is_active", LIBRARY_GSTREAMER); - Linker.link(gst_pad_is_blocked, "gst_pad_is_blocked", LIBRARY_GSTREAMER); - Linker.link(gst_pad_is_blocking, "gst_pad_is_blocking", LIBRARY_GSTREAMER); - Linker.link(gst_pad_is_linked, "gst_pad_is_linked", LIBRARY_GSTREAMER); - Linker.link(gst_pad_iterate_internal_links, "gst_pad_iterate_internal_links", LIBRARY_GSTREAMER); - Linker.link(gst_pad_iterate_internal_links_default, "gst_pad_iterate_internal_links_default", LIBRARY_GSTREAMER); - Linker.link(gst_pad_link, "gst_pad_link", LIBRARY_GSTREAMER); - Linker.link(gst_pad_link_full, "gst_pad_link_full", LIBRARY_GSTREAMER); - Linker.link(gst_pad_link_maybe_ghosting, "gst_pad_link_maybe_ghosting", LIBRARY_GSTREAMER); - Linker.link(gst_pad_link_maybe_ghosting_full, "gst_pad_link_maybe_ghosting_full", LIBRARY_GSTREAMER); - Linker.link(gst_pad_mark_reconfigure, "gst_pad_mark_reconfigure", LIBRARY_GSTREAMER); - Linker.link(gst_pad_needs_reconfigure, "gst_pad_needs_reconfigure", LIBRARY_GSTREAMER); - Linker.link(gst_pad_pause_task, "gst_pad_pause_task", LIBRARY_GSTREAMER); - Linker.link(gst_pad_peer_query, "gst_pad_peer_query", LIBRARY_GSTREAMER); - Linker.link(gst_pad_peer_query_accept_caps, "gst_pad_peer_query_accept_caps", LIBRARY_GSTREAMER); - Linker.link(gst_pad_peer_query_caps, "gst_pad_peer_query_caps", LIBRARY_GSTREAMER); - Linker.link(gst_pad_peer_query_convert, "gst_pad_peer_query_convert", LIBRARY_GSTREAMER); - Linker.link(gst_pad_peer_query_duration, "gst_pad_peer_query_duration", LIBRARY_GSTREAMER); - Linker.link(gst_pad_peer_query_position, "gst_pad_peer_query_position", LIBRARY_GSTREAMER); - Linker.link(gst_pad_proxy_query_accept_caps, "gst_pad_proxy_query_accept_caps", LIBRARY_GSTREAMER); - Linker.link(gst_pad_proxy_query_caps, "gst_pad_proxy_query_caps", LIBRARY_GSTREAMER); - Linker.link(gst_pad_pull_range, "gst_pad_pull_range", LIBRARY_GSTREAMER); - Linker.link(gst_pad_push, "gst_pad_push", LIBRARY_GSTREAMER); - Linker.link(gst_pad_push_event, "gst_pad_push_event", LIBRARY_GSTREAMER); - Linker.link(gst_pad_push_list, "gst_pad_push_list", LIBRARY_GSTREAMER); - Linker.link(gst_pad_query, "gst_pad_query", LIBRARY_GSTREAMER); - Linker.link(gst_pad_query_accept_caps, "gst_pad_query_accept_caps", LIBRARY_GSTREAMER); - Linker.link(gst_pad_query_caps, "gst_pad_query_caps", LIBRARY_GSTREAMER); - Linker.link(gst_pad_query_convert, "gst_pad_query_convert", LIBRARY_GSTREAMER); - Linker.link(gst_pad_query_default, "gst_pad_query_default", LIBRARY_GSTREAMER); - Linker.link(gst_pad_query_duration, "gst_pad_query_duration", LIBRARY_GSTREAMER); - Linker.link(gst_pad_query_position, "gst_pad_query_position", LIBRARY_GSTREAMER); - Linker.link(gst_pad_remove_probe, "gst_pad_remove_probe", LIBRARY_GSTREAMER); - Linker.link(gst_pad_send_event, "gst_pad_send_event", LIBRARY_GSTREAMER); - Linker.link(gst_pad_set_activate_function_full, "gst_pad_set_activate_function_full", LIBRARY_GSTREAMER); - Linker.link(gst_pad_set_activatemode_function_full, "gst_pad_set_activatemode_function_full", LIBRARY_GSTREAMER); - Linker.link(gst_pad_set_active, "gst_pad_set_active", LIBRARY_GSTREAMER); - Linker.link(gst_pad_set_chain_function_full, "gst_pad_set_chain_function_full", LIBRARY_GSTREAMER); - Linker.link(gst_pad_set_chain_list_function_full, "gst_pad_set_chain_list_function_full", LIBRARY_GSTREAMER); - Linker.link(gst_pad_set_element_private, "gst_pad_set_element_private", LIBRARY_GSTREAMER); - Linker.link(gst_pad_set_event_full_function_full, "gst_pad_set_event_full_function_full", LIBRARY_GSTREAMER); - Linker.link(gst_pad_set_event_function_full, "gst_pad_set_event_function_full", LIBRARY_GSTREAMER); - Linker.link(gst_pad_set_getrange_function_full, "gst_pad_set_getrange_function_full", LIBRARY_GSTREAMER); - Linker.link(gst_pad_set_iterate_internal_links_function_full, "gst_pad_set_iterate_internal_links_function_full", LIBRARY_GSTREAMER); - Linker.link(gst_pad_set_link_function_full, "gst_pad_set_link_function_full", LIBRARY_GSTREAMER); - Linker.link(gst_pad_set_offset, "gst_pad_set_offset", LIBRARY_GSTREAMER); - Linker.link(gst_pad_set_query_function_full, "gst_pad_set_query_function_full", LIBRARY_GSTREAMER); - Linker.link(gst_pad_set_unlink_function_full, "gst_pad_set_unlink_function_full", LIBRARY_GSTREAMER); - Linker.link(gst_pad_start_task, "gst_pad_start_task", LIBRARY_GSTREAMER); - Linker.link(gst_pad_sticky_events_foreach, "gst_pad_sticky_events_foreach", LIBRARY_GSTREAMER); - Linker.link(gst_pad_stop_task, "gst_pad_stop_task", LIBRARY_GSTREAMER); - Linker.link(gst_pad_store_sticky_event, "gst_pad_store_sticky_event", LIBRARY_GSTREAMER); - Linker.link(gst_pad_unlink, "gst_pad_unlink", LIBRARY_GSTREAMER); - Linker.link(gst_pad_use_fixed_caps, "gst_pad_use_fixed_caps", LIBRARY_GSTREAMER); - Linker.link(gst_flow_get_name, "gst_flow_get_name", LIBRARY_GSTREAMER); - Linker.link(gst_flow_to_quark, "gst_flow_to_quark", LIBRARY_GSTREAMER); - Linker.link(gst_pad_mode_get_name, "gst_pad_mode_get_name", LIBRARY_GSTREAMER); - - // gstreamer.PadProbeInfo - - Linker.link(gst_pad_probe_info_get_buffer, "gst_pad_probe_info_get_buffer", LIBRARY_GSTREAMER); - Linker.link(gst_pad_probe_info_get_buffer_list, "gst_pad_probe_info_get_buffer_list", LIBRARY_GSTREAMER); - Linker.link(gst_pad_probe_info_get_event, "gst_pad_probe_info_get_event", LIBRARY_GSTREAMER); - Linker.link(gst_pad_probe_info_get_query, "gst_pad_probe_info_get_query", LIBRARY_GSTREAMER); - - // gstreamer.PadTemplate - - Linker.link(gst_pad_template_get_type, "gst_pad_template_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_pad_template_new, "gst_pad_template_new", LIBRARY_GSTREAMER); - Linker.link(gst_pad_template_new_from_static_pad_template_with_gtype, "gst_pad_template_new_from_static_pad_template_with_gtype", LIBRARY_GSTREAMER); - Linker.link(gst_pad_template_new_with_gtype, "gst_pad_template_new_with_gtype", LIBRARY_GSTREAMER); - Linker.link(gst_pad_template_get_caps, "gst_pad_template_get_caps", LIBRARY_GSTREAMER); - Linker.link(gst_pad_template_get_documentation_caps, "gst_pad_template_get_documentation_caps", LIBRARY_GSTREAMER); - Linker.link(gst_pad_template_pad_created, "gst_pad_template_pad_created", LIBRARY_GSTREAMER); - Linker.link(gst_pad_template_set_documentation_caps, "gst_pad_template_set_documentation_caps", LIBRARY_GSTREAMER); - - // gstreamer.ParamArray - - Linker.link(gst_param_spec_array_get_type, "gst_param_spec_array_get_type", LIBRARY_GSTREAMER); - - // gstreamer.ParamFraction - - Linker.link(gst_param_spec_fraction_get_type, "gst_param_spec_fraction_get_type", LIBRARY_GSTREAMER); - - // gstreamer.ParamSpecFraction - - Linker.link(gst_param_spec_fraction, "gst_param_spec_fraction", LIBRARY_GSTREAMER); - - // gstreamer.ParentBufferMeta - - Linker.link(gst_parent_buffer_meta_get_info, "gst_parent_buffer_meta_get_info", LIBRARY_GSTREAMER); - Linker.link(gst_parent_buffer_meta_api_get_type, "gst_parent_buffer_meta_api_get_type", LIBRARY_GSTREAMER); - - // gstreamer.ParseContext - - Linker.link(gst_parse_context_get_type, "gst_parse_context_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_parse_context_new, "gst_parse_context_new", LIBRARY_GSTREAMER); - Linker.link(gst_parse_context_copy, "gst_parse_context_copy", LIBRARY_GSTREAMER); - Linker.link(gst_parse_context_free, "gst_parse_context_free", LIBRARY_GSTREAMER); - Linker.link(gst_parse_context_get_missing_elements, "gst_parse_context_get_missing_elements", LIBRARY_GSTREAMER); - - // gstreamer.Pipeline - - Linker.link(gst_pipeline_get_type, "gst_pipeline_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_pipeline_new, "gst_pipeline_new", LIBRARY_GSTREAMER); - Linker.link(gst_pipeline_auto_clock, "gst_pipeline_auto_clock", LIBRARY_GSTREAMER); - Linker.link(gst_pipeline_get_auto_flush_bus, "gst_pipeline_get_auto_flush_bus", LIBRARY_GSTREAMER); - Linker.link(gst_pipeline_get_bus, "gst_pipeline_get_bus", LIBRARY_GSTREAMER); - Linker.link(gst_pipeline_get_clock, "gst_pipeline_get_clock", LIBRARY_GSTREAMER); - Linker.link(gst_pipeline_get_delay, "gst_pipeline_get_delay", LIBRARY_GSTREAMER); - Linker.link(gst_pipeline_get_latency, "gst_pipeline_get_latency", LIBRARY_GSTREAMER); - Linker.link(gst_pipeline_get_pipeline_clock, "gst_pipeline_get_pipeline_clock", LIBRARY_GSTREAMER); - Linker.link(gst_pipeline_set_auto_flush_bus, "gst_pipeline_set_auto_flush_bus", LIBRARY_GSTREAMER); - Linker.link(gst_pipeline_set_clock, "gst_pipeline_set_clock", LIBRARY_GSTREAMER); - Linker.link(gst_pipeline_set_delay, "gst_pipeline_set_delay", LIBRARY_GSTREAMER); - Linker.link(gst_pipeline_set_latency, "gst_pipeline_set_latency", LIBRARY_GSTREAMER); - Linker.link(gst_pipeline_use_clock, "gst_pipeline_use_clock", LIBRARY_GSTREAMER); - - // gstreamer.Plugin - - Linker.link(gst_plugin_get_type, "gst_plugin_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_list_free, "gst_plugin_list_free", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_load_by_name, "gst_plugin_load_by_name", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_load_file, "gst_plugin_load_file", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_register_static, "gst_plugin_register_static", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_register_static_full, "gst_plugin_register_static_full", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_add_dependency, "gst_plugin_add_dependency", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_add_dependency_simple, "gst_plugin_add_dependency_simple", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_get_cache_data, "gst_plugin_get_cache_data", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_get_description, "gst_plugin_get_description", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_get_filename, "gst_plugin_get_filename", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_get_license, "gst_plugin_get_license", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_get_name, "gst_plugin_get_name", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_get_origin, "gst_plugin_get_origin", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_get_package, "gst_plugin_get_package", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_get_release_date_string, "gst_plugin_get_release_date_string", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_get_source, "gst_plugin_get_source", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_get_version, "gst_plugin_get_version", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_is_loaded, "gst_plugin_is_loaded", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_load, "gst_plugin_load", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_set_cache_data, "gst_plugin_set_cache_data", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_error_quark, "gst_plugin_error_quark", LIBRARY_GSTREAMER); - - // gstreamer.PluginFeature - - Linker.link(gst_plugin_feature_get_type, "gst_plugin_feature_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_feature_list_copy, "gst_plugin_feature_list_copy", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_feature_list_debug, "gst_plugin_feature_list_debug", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_feature_list_free, "gst_plugin_feature_list_free", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_feature_rank_compare_func, "gst_plugin_feature_rank_compare_func", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_feature_check_version, "gst_plugin_feature_check_version", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_feature_get_plugin, "gst_plugin_feature_get_plugin", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_feature_get_plugin_name, "gst_plugin_feature_get_plugin_name", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_feature_get_rank, "gst_plugin_feature_get_rank", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_feature_load, "gst_plugin_feature_load", LIBRARY_GSTREAMER); - Linker.link(gst_plugin_feature_set_rank, "gst_plugin_feature_set_rank", LIBRARY_GSTREAMER); - - // gstreamer.Poll - - Linker.link(gst_poll_add_fd, "gst_poll_add_fd", LIBRARY_GSTREAMER); - Linker.link(gst_poll_fd_can_read, "gst_poll_fd_can_read", LIBRARY_GSTREAMER); - Linker.link(gst_poll_fd_can_write, "gst_poll_fd_can_write", LIBRARY_GSTREAMER); - Linker.link(gst_poll_fd_ctl_pri, "gst_poll_fd_ctl_pri", LIBRARY_GSTREAMER); - Linker.link(gst_poll_fd_ctl_read, "gst_poll_fd_ctl_read", LIBRARY_GSTREAMER); - Linker.link(gst_poll_fd_ctl_write, "gst_poll_fd_ctl_write", LIBRARY_GSTREAMER); - Linker.link(gst_poll_fd_has_closed, "gst_poll_fd_has_closed", LIBRARY_GSTREAMER); - Linker.link(gst_poll_fd_has_error, "gst_poll_fd_has_error", LIBRARY_GSTREAMER); - Linker.link(gst_poll_fd_has_pri, "gst_poll_fd_has_pri", LIBRARY_GSTREAMER); - Linker.link(gst_poll_fd_ignored, "gst_poll_fd_ignored", LIBRARY_GSTREAMER); - Linker.link(gst_poll_free, "gst_poll_free", LIBRARY_GSTREAMER); - Linker.link(gst_poll_get_read_gpollfd, "gst_poll_get_read_gpollfd", LIBRARY_GSTREAMER); - Linker.link(gst_poll_read_control, "gst_poll_read_control", LIBRARY_GSTREAMER); - Linker.link(gst_poll_remove_fd, "gst_poll_remove_fd", LIBRARY_GSTREAMER); - Linker.link(gst_poll_restart, "gst_poll_restart", LIBRARY_GSTREAMER); - Linker.link(gst_poll_set_controllable, "gst_poll_set_controllable", LIBRARY_GSTREAMER); - Linker.link(gst_poll_set_flushing, "gst_poll_set_flushing", LIBRARY_GSTREAMER); - Linker.link(gst_poll_wait, "gst_poll_wait", LIBRARY_GSTREAMER); - Linker.link(gst_poll_write_control, "gst_poll_write_control", LIBRARY_GSTREAMER); - Linker.link(gst_poll_new, "gst_poll_new", LIBRARY_GSTREAMER); - Linker.link(gst_poll_new_timer, "gst_poll_new_timer", LIBRARY_GSTREAMER); - - // gstreamer.PollFD - - Linker.link(gst_poll_fd_init, "gst_poll_fd_init", LIBRARY_GSTREAMER); - - // gstreamer.Preset - - Linker.link(gst_preset_get_type, "gst_preset_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_preset_get_app_dir, "gst_preset_get_app_dir", LIBRARY_GSTREAMER); - Linker.link(gst_preset_set_app_dir, "gst_preset_set_app_dir", LIBRARY_GSTREAMER); - Linker.link(gst_preset_delete_preset, "gst_preset_delete_preset", LIBRARY_GSTREAMER); - Linker.link(gst_preset_get_meta, "gst_preset_get_meta", LIBRARY_GSTREAMER); - Linker.link(gst_preset_get_preset_names, "gst_preset_get_preset_names", LIBRARY_GSTREAMER); - Linker.link(gst_preset_get_property_names, "gst_preset_get_property_names", LIBRARY_GSTREAMER); - Linker.link(gst_preset_is_editable, "gst_preset_is_editable", LIBRARY_GSTREAMER); - Linker.link(gst_preset_load_preset, "gst_preset_load_preset", LIBRARY_GSTREAMER); - Linker.link(gst_preset_rename_preset, "gst_preset_rename_preset", LIBRARY_GSTREAMER); - Linker.link(gst_preset_save_preset, "gst_preset_save_preset", LIBRARY_GSTREAMER); - Linker.link(gst_preset_set_meta, "gst_preset_set_meta", LIBRARY_GSTREAMER); - - // gstreamer.Promise - - Linker.link(gst_promise_get_type, "gst_promise_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_promise_new, "gst_promise_new", LIBRARY_GSTREAMER); - Linker.link(gst_promise_new_with_change_func, "gst_promise_new_with_change_func", LIBRARY_GSTREAMER); - Linker.link(gst_promise_expire, "gst_promise_expire", LIBRARY_GSTREAMER); - Linker.link(gst_promise_get_reply, "gst_promise_get_reply", LIBRARY_GSTREAMER); - Linker.link(gst_promise_interrupt, "gst_promise_interrupt", LIBRARY_GSTREAMER); - Linker.link(gst_promise_reply, "gst_promise_reply", LIBRARY_GSTREAMER); - Linker.link(gst_promise_wait, "gst_promise_wait", LIBRARY_GSTREAMER); - - // gstreamer.ProtectionMeta - - Linker.link(gst_protection_meta_get_info, "gst_protection_meta_get_info", LIBRARY_GSTREAMER); - Linker.link(gst_protection_meta_api_get_type, "gst_protection_meta_api_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_protection_select_system, "gst_protection_select_system", LIBRARY_GSTREAMER); - - // gstreamer.ProxyPad - - Linker.link(gst_proxy_pad_get_type, "gst_proxy_pad_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_proxy_pad_chain_default, "gst_proxy_pad_chain_default", LIBRARY_GSTREAMER); - Linker.link(gst_proxy_pad_chain_list_default, "gst_proxy_pad_chain_list_default", LIBRARY_GSTREAMER); - Linker.link(gst_proxy_pad_getrange_default, "gst_proxy_pad_getrange_default", LIBRARY_GSTREAMER); - Linker.link(gst_proxy_pad_iterate_internal_links_default, "gst_proxy_pad_iterate_internal_links_default", LIBRARY_GSTREAMER); - Linker.link(gst_proxy_pad_get_internal, "gst_proxy_pad_get_internal", LIBRARY_GSTREAMER); - - // gstreamer.Query - - Linker.link(gst_query_get_type, "gst_query_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_accept_caps, "gst_query_new_accept_caps", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_allocation, "gst_query_new_allocation", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_bitrate, "gst_query_new_bitrate", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_buffering, "gst_query_new_buffering", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_caps, "gst_query_new_caps", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_context, "gst_query_new_context", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_convert, "gst_query_new_convert", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_custom, "gst_query_new_custom", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_drain, "gst_query_new_drain", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_duration, "gst_query_new_duration", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_formats, "gst_query_new_formats", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_latency, "gst_query_new_latency", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_position, "gst_query_new_position", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_scheduling, "gst_query_new_scheduling", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_seeking, "gst_query_new_seeking", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_segment, "gst_query_new_segment", LIBRARY_GSTREAMER); - Linker.link(gst_query_new_uri, "gst_query_new_uri", LIBRARY_GSTREAMER); - Linker.link(gst_query_add_allocation_meta, "gst_query_add_allocation_meta", LIBRARY_GSTREAMER); - Linker.link(gst_query_add_allocation_param, "gst_query_add_allocation_param", LIBRARY_GSTREAMER); - Linker.link(gst_query_add_allocation_pool, "gst_query_add_allocation_pool", LIBRARY_GSTREAMER); - Linker.link(gst_query_add_buffering_range, "gst_query_add_buffering_range", LIBRARY_GSTREAMER); - Linker.link(gst_query_add_scheduling_mode, "gst_query_add_scheduling_mode", LIBRARY_GSTREAMER); - Linker.link(gst_query_find_allocation_meta, "gst_query_find_allocation_meta", LIBRARY_GSTREAMER); - Linker.link(gst_query_get_n_allocation_metas, "gst_query_get_n_allocation_metas", LIBRARY_GSTREAMER); - Linker.link(gst_query_get_n_allocation_params, "gst_query_get_n_allocation_params", LIBRARY_GSTREAMER); - Linker.link(gst_query_get_n_allocation_pools, "gst_query_get_n_allocation_pools", LIBRARY_GSTREAMER); - Linker.link(gst_query_get_n_buffering_ranges, "gst_query_get_n_buffering_ranges", LIBRARY_GSTREAMER); - Linker.link(gst_query_get_n_scheduling_modes, "gst_query_get_n_scheduling_modes", LIBRARY_GSTREAMER); - Linker.link(gst_query_get_structure, "gst_query_get_structure", LIBRARY_GSTREAMER); - Linker.link(gst_query_has_scheduling_mode, "gst_query_has_scheduling_mode", LIBRARY_GSTREAMER); - Linker.link(gst_query_has_scheduling_mode_with_flags, "gst_query_has_scheduling_mode_with_flags", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_accept_caps, "gst_query_parse_accept_caps", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_accept_caps_result, "gst_query_parse_accept_caps_result", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_allocation, "gst_query_parse_allocation", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_bitrate, "gst_query_parse_bitrate", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_buffering_percent, "gst_query_parse_buffering_percent", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_buffering_range, "gst_query_parse_buffering_range", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_buffering_stats, "gst_query_parse_buffering_stats", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_caps, "gst_query_parse_caps", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_caps_result, "gst_query_parse_caps_result", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_context, "gst_query_parse_context", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_context_type, "gst_query_parse_context_type", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_convert, "gst_query_parse_convert", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_duration, "gst_query_parse_duration", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_latency, "gst_query_parse_latency", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_n_formats, "gst_query_parse_n_formats", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_nth_allocation_meta, "gst_query_parse_nth_allocation_meta", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_nth_allocation_param, "gst_query_parse_nth_allocation_param", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_nth_allocation_pool, "gst_query_parse_nth_allocation_pool", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_nth_buffering_range, "gst_query_parse_nth_buffering_range", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_nth_format, "gst_query_parse_nth_format", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_nth_scheduling_mode, "gst_query_parse_nth_scheduling_mode", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_position, "gst_query_parse_position", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_scheduling, "gst_query_parse_scheduling", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_seeking, "gst_query_parse_seeking", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_segment, "gst_query_parse_segment", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_uri, "gst_query_parse_uri", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_uri_redirection, "gst_query_parse_uri_redirection", LIBRARY_GSTREAMER); - Linker.link(gst_query_parse_uri_redirection_permanent, "gst_query_parse_uri_redirection_permanent", LIBRARY_GSTREAMER); - Linker.link(gst_query_remove_nth_allocation_meta, "gst_query_remove_nth_allocation_meta", LIBRARY_GSTREAMER); - Linker.link(gst_query_remove_nth_allocation_param, "gst_query_remove_nth_allocation_param", LIBRARY_GSTREAMER); - Linker.link(gst_query_remove_nth_allocation_pool, "gst_query_remove_nth_allocation_pool", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_accept_caps_result, "gst_query_set_accept_caps_result", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_bitrate, "gst_query_set_bitrate", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_buffering_percent, "gst_query_set_buffering_percent", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_buffering_range, "gst_query_set_buffering_range", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_buffering_stats, "gst_query_set_buffering_stats", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_caps_result, "gst_query_set_caps_result", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_context, "gst_query_set_context", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_convert, "gst_query_set_convert", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_duration, "gst_query_set_duration", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_formats, "gst_query_set_formats", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_formatsv, "gst_query_set_formatsv", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_latency, "gst_query_set_latency", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_nth_allocation_param, "gst_query_set_nth_allocation_param", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_nth_allocation_pool, "gst_query_set_nth_allocation_pool", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_position, "gst_query_set_position", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_scheduling, "gst_query_set_scheduling", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_seeking, "gst_query_set_seeking", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_segment, "gst_query_set_segment", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_uri, "gst_query_set_uri", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_uri_redirection, "gst_query_set_uri_redirection", LIBRARY_GSTREAMER); - Linker.link(gst_query_set_uri_redirection_permanent, "gst_query_set_uri_redirection_permanent", LIBRARY_GSTREAMER); - Linker.link(gst_query_writable_structure, "gst_query_writable_structure", LIBRARY_GSTREAMER); - Linker.link(gst_query_type_get_flags, "gst_query_type_get_flags", LIBRARY_GSTREAMER); - Linker.link(gst_query_type_get_name, "gst_query_type_get_name", LIBRARY_GSTREAMER); - Linker.link(gst_query_type_to_quark, "gst_query_type_to_quark", LIBRARY_GSTREAMER); - - // gstreamer.ReferenceTimestampMeta - - Linker.link(gst_reference_timestamp_meta_get_info, "gst_reference_timestamp_meta_get_info", LIBRARY_GSTREAMER); - - // gstreamer.Registry - - Linker.link(gst_registry_get_type, "gst_registry_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_registry_fork_is_enabled, "gst_registry_fork_is_enabled", LIBRARY_GSTREAMER); - Linker.link(gst_registry_fork_set_enabled, "gst_registry_fork_set_enabled", LIBRARY_GSTREAMER); - Linker.link(gst_registry_get, "gst_registry_get", LIBRARY_GSTREAMER); - Linker.link(gst_registry_add_feature, "gst_registry_add_feature", LIBRARY_GSTREAMER); - Linker.link(gst_registry_add_plugin, "gst_registry_add_plugin", LIBRARY_GSTREAMER); - Linker.link(gst_registry_check_feature_version, "gst_registry_check_feature_version", LIBRARY_GSTREAMER); - Linker.link(gst_registry_feature_filter, "gst_registry_feature_filter", LIBRARY_GSTREAMER); - Linker.link(gst_registry_find_feature, "gst_registry_find_feature", LIBRARY_GSTREAMER); - Linker.link(gst_registry_find_plugin, "gst_registry_find_plugin", LIBRARY_GSTREAMER); - Linker.link(gst_registry_get_feature_list, "gst_registry_get_feature_list", LIBRARY_GSTREAMER); - Linker.link(gst_registry_get_feature_list_by_plugin, "gst_registry_get_feature_list_by_plugin", LIBRARY_GSTREAMER); - Linker.link(gst_registry_get_feature_list_cookie, "gst_registry_get_feature_list_cookie", LIBRARY_GSTREAMER); - Linker.link(gst_registry_get_plugin_list, "gst_registry_get_plugin_list", LIBRARY_GSTREAMER); - Linker.link(gst_registry_lookup, "gst_registry_lookup", LIBRARY_GSTREAMER); - Linker.link(gst_registry_lookup_feature, "gst_registry_lookup_feature", LIBRARY_GSTREAMER); - Linker.link(gst_registry_plugin_filter, "gst_registry_plugin_filter", LIBRARY_GSTREAMER); - Linker.link(gst_registry_remove_feature, "gst_registry_remove_feature", LIBRARY_GSTREAMER); - Linker.link(gst_registry_remove_plugin, "gst_registry_remove_plugin", LIBRARY_GSTREAMER); - Linker.link(gst_registry_scan_path, "gst_registry_scan_path", LIBRARY_GSTREAMER); - - // gstreamer.Sample - - Linker.link(gst_sample_get_type, "gst_sample_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_sample_new, "gst_sample_new", LIBRARY_GSTREAMER); - Linker.link(gst_sample_get_buffer, "gst_sample_get_buffer", LIBRARY_GSTREAMER); - Linker.link(gst_sample_get_buffer_list, "gst_sample_get_buffer_list", LIBRARY_GSTREAMER); - Linker.link(gst_sample_get_caps, "gst_sample_get_caps", LIBRARY_GSTREAMER); - Linker.link(gst_sample_get_info, "gst_sample_get_info", LIBRARY_GSTREAMER); - Linker.link(gst_sample_get_segment, "gst_sample_get_segment", LIBRARY_GSTREAMER); - Linker.link(gst_sample_set_buffer, "gst_sample_set_buffer", LIBRARY_GSTREAMER); - Linker.link(gst_sample_set_buffer_list, "gst_sample_set_buffer_list", LIBRARY_GSTREAMER); - Linker.link(gst_sample_set_caps, "gst_sample_set_caps", LIBRARY_GSTREAMER); - Linker.link(gst_sample_set_info, "gst_sample_set_info", LIBRARY_GSTREAMER); - Linker.link(gst_sample_set_segment, "gst_sample_set_segment", LIBRARY_GSTREAMER); - - // gstreamer.Segment - - Linker.link(gst_segment_get_type, "gst_segment_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_segment_new, "gst_segment_new", LIBRARY_GSTREAMER); - Linker.link(gst_segment_clip, "gst_segment_clip", LIBRARY_GSTREAMER); - Linker.link(gst_segment_copy, "gst_segment_copy", LIBRARY_GSTREAMER); - Linker.link(gst_segment_copy_into, "gst_segment_copy_into", LIBRARY_GSTREAMER); - Linker.link(gst_segment_do_seek, "gst_segment_do_seek", LIBRARY_GSTREAMER); - Linker.link(gst_segment_free, "gst_segment_free", LIBRARY_GSTREAMER); - Linker.link(gst_segment_init, "gst_segment_init", LIBRARY_GSTREAMER); - Linker.link(gst_segment_is_equal, "gst_segment_is_equal", LIBRARY_GSTREAMER); - Linker.link(gst_segment_offset_running_time, "gst_segment_offset_running_time", LIBRARY_GSTREAMER); - Linker.link(gst_segment_position_from_running_time, "gst_segment_position_from_running_time", LIBRARY_GSTREAMER); - Linker.link(gst_segment_position_from_running_time_full, "gst_segment_position_from_running_time_full", LIBRARY_GSTREAMER); - Linker.link(gst_segment_position_from_stream_time, "gst_segment_position_from_stream_time", LIBRARY_GSTREAMER); - Linker.link(gst_segment_position_from_stream_time_full, "gst_segment_position_from_stream_time_full", LIBRARY_GSTREAMER); - Linker.link(gst_segment_set_running_time, "gst_segment_set_running_time", LIBRARY_GSTREAMER); - Linker.link(gst_segment_to_position, "gst_segment_to_position", LIBRARY_GSTREAMER); - Linker.link(gst_segment_to_running_time, "gst_segment_to_running_time", LIBRARY_GSTREAMER); - Linker.link(gst_segment_to_running_time_full, "gst_segment_to_running_time_full", LIBRARY_GSTREAMER); - Linker.link(gst_segment_to_stream_time, "gst_segment_to_stream_time", LIBRARY_GSTREAMER); - Linker.link(gst_segment_to_stream_time_full, "gst_segment_to_stream_time_full", LIBRARY_GSTREAMER); - - // gstreamer.StaticCaps - - Linker.link(gst_static_caps_cleanup, "gst_static_caps_cleanup", LIBRARY_GSTREAMER); - Linker.link(gst_static_caps_get, "gst_static_caps_get", LIBRARY_GSTREAMER); - - // gstreamer.StaticPadTemplate - - Linker.link(gst_static_pad_template_get, "gst_static_pad_template_get", LIBRARY_GSTREAMER); - Linker.link(gst_static_pad_template_get_caps, "gst_static_pad_template_get_caps", LIBRARY_GSTREAMER); - - // gstreamer.Stream - - Linker.link(gst_stream_get_type, "gst_stream_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_stream_new, "gst_stream_new", LIBRARY_GSTREAMER); - Linker.link(gst_stream_get_caps, "gst_stream_get_caps", LIBRARY_GSTREAMER); - Linker.link(gst_stream_get_stream_flags, "gst_stream_get_stream_flags", LIBRARY_GSTREAMER); - Linker.link(gst_stream_get_stream_id, "gst_stream_get_stream_id", LIBRARY_GSTREAMER); - Linker.link(gst_stream_get_stream_type, "gst_stream_get_stream_type", LIBRARY_GSTREAMER); - Linker.link(gst_stream_get_tags, "gst_stream_get_tags", LIBRARY_GSTREAMER); - Linker.link(gst_stream_set_caps, "gst_stream_set_caps", LIBRARY_GSTREAMER); - Linker.link(gst_stream_set_stream_flags, "gst_stream_set_stream_flags", LIBRARY_GSTREAMER); - Linker.link(gst_stream_set_stream_type, "gst_stream_set_stream_type", LIBRARY_GSTREAMER); - Linker.link(gst_stream_set_tags, "gst_stream_set_tags", LIBRARY_GSTREAMER); - - // gstreamer.StreamCollection - - Linker.link(gst_stream_collection_get_type, "gst_stream_collection_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_stream_collection_new, "gst_stream_collection_new", LIBRARY_GSTREAMER); - Linker.link(gst_stream_collection_add_stream, "gst_stream_collection_add_stream", LIBRARY_GSTREAMER); - Linker.link(gst_stream_collection_get_size, "gst_stream_collection_get_size", LIBRARY_GSTREAMER); - Linker.link(gst_stream_collection_get_stream, "gst_stream_collection_get_stream", LIBRARY_GSTREAMER); - Linker.link(gst_stream_collection_get_upstream_id, "gst_stream_collection_get_upstream_id", LIBRARY_GSTREAMER); - - // gstreamer.Structure - - Linker.link(gst_structure_get_type, "gst_structure_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_structure_from_string, "gst_structure_from_string", LIBRARY_GSTREAMER); - Linker.link(gst_structure_new, "gst_structure_new", LIBRARY_GSTREAMER); - Linker.link(gst_structure_new_empty, "gst_structure_new_empty", LIBRARY_GSTREAMER); - Linker.link(gst_structure_new_from_string, "gst_structure_new_from_string", LIBRARY_GSTREAMER); - Linker.link(gst_structure_new_id, "gst_structure_new_id", LIBRARY_GSTREAMER); - Linker.link(gst_structure_new_id_empty, "gst_structure_new_id_empty", LIBRARY_GSTREAMER); - Linker.link(gst_structure_new_valist, "gst_structure_new_valist", LIBRARY_GSTREAMER); - Linker.link(gst_structure_can_intersect, "gst_structure_can_intersect", LIBRARY_GSTREAMER); - Linker.link(gst_structure_copy, "gst_structure_copy", LIBRARY_GSTREAMER); - Linker.link(gst_structure_filter_and_map_in_place, "gst_structure_filter_and_map_in_place", LIBRARY_GSTREAMER); - Linker.link(gst_structure_fixate, "gst_structure_fixate", LIBRARY_GSTREAMER); - Linker.link(gst_structure_fixate_field, "gst_structure_fixate_field", LIBRARY_GSTREAMER); - Linker.link(gst_structure_fixate_field_boolean, "gst_structure_fixate_field_boolean", LIBRARY_GSTREAMER); - Linker.link(gst_structure_fixate_field_nearest_double, "gst_structure_fixate_field_nearest_double", LIBRARY_GSTREAMER); - Linker.link(gst_structure_fixate_field_nearest_fraction, "gst_structure_fixate_field_nearest_fraction", LIBRARY_GSTREAMER); - Linker.link(gst_structure_fixate_field_nearest_int, "gst_structure_fixate_field_nearest_int", LIBRARY_GSTREAMER); - Linker.link(gst_structure_fixate_field_string, "gst_structure_fixate_field_string", LIBRARY_GSTREAMER); - Linker.link(gst_structure_foreach, "gst_structure_foreach", LIBRARY_GSTREAMER); - Linker.link(gst_structure_free, "gst_structure_free", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get, "gst_structure_get", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_array, "gst_structure_get_array", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_boolean, "gst_structure_get_boolean", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_clock_time, "gst_structure_get_clock_time", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_date, "gst_structure_get_date", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_date_time, "gst_structure_get_date_time", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_double, "gst_structure_get_double", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_enum, "gst_structure_get_enum", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_field_type, "gst_structure_get_field_type", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_flagset, "gst_structure_get_flagset", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_fraction, "gst_structure_get_fraction", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_int, "gst_structure_get_int", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_int64, "gst_structure_get_int64", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_list, "gst_structure_get_list", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_name, "gst_structure_get_name", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_name_id, "gst_structure_get_name_id", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_string, "gst_structure_get_string", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_uint, "gst_structure_get_uint", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_uint64, "gst_structure_get_uint64", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_valist, "gst_structure_get_valist", LIBRARY_GSTREAMER); - Linker.link(gst_structure_get_value, "gst_structure_get_value", LIBRARY_GSTREAMER); - Linker.link(gst_structure_has_field, "gst_structure_has_field", LIBRARY_GSTREAMER); - Linker.link(gst_structure_has_field_typed, "gst_structure_has_field_typed", LIBRARY_GSTREAMER); - Linker.link(gst_structure_has_name, "gst_structure_has_name", LIBRARY_GSTREAMER); - Linker.link(gst_structure_id_get, "gst_structure_id_get", LIBRARY_GSTREAMER); - Linker.link(gst_structure_id_get_valist, "gst_structure_id_get_valist", LIBRARY_GSTREAMER); - Linker.link(gst_structure_id_get_value, "gst_structure_id_get_value", LIBRARY_GSTREAMER); - Linker.link(gst_structure_id_has_field, "gst_structure_id_has_field", LIBRARY_GSTREAMER); - Linker.link(gst_structure_id_has_field_typed, "gst_structure_id_has_field_typed", LIBRARY_GSTREAMER); - Linker.link(gst_structure_id_set, "gst_structure_id_set", LIBRARY_GSTREAMER); - Linker.link(gst_structure_id_set_valist, "gst_structure_id_set_valist", LIBRARY_GSTREAMER); - Linker.link(gst_structure_id_set_value, "gst_structure_id_set_value", LIBRARY_GSTREAMER); - Linker.link(gst_structure_id_take_value, "gst_structure_id_take_value", LIBRARY_GSTREAMER); - Linker.link(gst_structure_intersect, "gst_structure_intersect", LIBRARY_GSTREAMER); - Linker.link(gst_structure_is_equal, "gst_structure_is_equal", LIBRARY_GSTREAMER); - Linker.link(gst_structure_is_subset, "gst_structure_is_subset", LIBRARY_GSTREAMER); - Linker.link(gst_structure_map_in_place, "gst_structure_map_in_place", LIBRARY_GSTREAMER); - Linker.link(gst_structure_n_fields, "gst_structure_n_fields", LIBRARY_GSTREAMER); - Linker.link(gst_structure_nth_field_name, "gst_structure_nth_field_name", LIBRARY_GSTREAMER); - Linker.link(gst_structure_remove_all_fields, "gst_structure_remove_all_fields", LIBRARY_GSTREAMER); - Linker.link(gst_structure_remove_field, "gst_structure_remove_field", LIBRARY_GSTREAMER); - Linker.link(gst_structure_remove_fields, "gst_structure_remove_fields", LIBRARY_GSTREAMER); - Linker.link(gst_structure_remove_fields_valist, "gst_structure_remove_fields_valist", LIBRARY_GSTREAMER); - Linker.link(gst_structure_set, "gst_structure_set", LIBRARY_GSTREAMER); - Linker.link(gst_structure_set_array, "gst_structure_set_array", LIBRARY_GSTREAMER); - Linker.link(gst_structure_set_list, "gst_structure_set_list", LIBRARY_GSTREAMER); - Linker.link(gst_structure_set_name, "gst_structure_set_name", LIBRARY_GSTREAMER); - Linker.link(gst_structure_set_parent_refcount, "gst_structure_set_parent_refcount", LIBRARY_GSTREAMER); - Linker.link(gst_structure_set_valist, "gst_structure_set_valist", LIBRARY_GSTREAMER); - Linker.link(gst_structure_set_value, "gst_structure_set_value", LIBRARY_GSTREAMER); - Linker.link(gst_structure_take_value, "gst_structure_take_value", LIBRARY_GSTREAMER); - Linker.link(gst_structure_to_string, "gst_structure_to_string", LIBRARY_GSTREAMER); - Linker.link(gst_structure_take, "gst_structure_take", LIBRARY_GSTREAMER); - - // gstreamer.SystemClock - - Linker.link(gst_system_clock_get_type, "gst_system_clock_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_system_clock_obtain, "gst_system_clock_obtain", LIBRARY_GSTREAMER); - Linker.link(gst_system_clock_set_default, "gst_system_clock_set_default", LIBRARY_GSTREAMER); - - // gstreamer.TagList - - Linker.link(gst_tag_get_type, "gst_tag_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_new, "gst_tag_list_new", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_new_empty, "gst_tag_list_new_empty", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_new_from_string, "gst_tag_list_new_from_string", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_new_valist, "gst_tag_list_new_valist", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_add, "gst_tag_list_add", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_add_valist, "gst_tag_list_add_valist", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_add_valist_values, "gst_tag_list_add_valist_values", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_add_value, "gst_tag_list_add_value", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_add_values, "gst_tag_list_add_values", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_copy, "gst_tag_list_copy", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_foreach, "gst_tag_list_foreach", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_boolean, "gst_tag_list_get_boolean", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_boolean_index, "gst_tag_list_get_boolean_index", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_date, "gst_tag_list_get_date", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_date_index, "gst_tag_list_get_date_index", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_date_time, "gst_tag_list_get_date_time", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_date_time_index, "gst_tag_list_get_date_time_index", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_double, "gst_tag_list_get_double", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_double_index, "gst_tag_list_get_double_index", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_float, "gst_tag_list_get_float", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_float_index, "gst_tag_list_get_float_index", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_int, "gst_tag_list_get_int", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_int64, "gst_tag_list_get_int64", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_int64_index, "gst_tag_list_get_int64_index", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_int_index, "gst_tag_list_get_int_index", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_pointer, "gst_tag_list_get_pointer", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_pointer_index, "gst_tag_list_get_pointer_index", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_sample, "gst_tag_list_get_sample", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_sample_index, "gst_tag_list_get_sample_index", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_scope, "gst_tag_list_get_scope", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_string, "gst_tag_list_get_string", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_string_index, "gst_tag_list_get_string_index", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_tag_size, "gst_tag_list_get_tag_size", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_uint, "gst_tag_list_get_uint", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_uint64, "gst_tag_list_get_uint64", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_uint64_index, "gst_tag_list_get_uint64_index", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_uint_index, "gst_tag_list_get_uint_index", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_get_value_index, "gst_tag_list_get_value_index", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_insert, "gst_tag_list_insert", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_is_empty, "gst_tag_list_is_empty", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_is_equal, "gst_tag_list_is_equal", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_merge, "gst_tag_list_merge", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_n_tags, "gst_tag_list_n_tags", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_nth_tag_name, "gst_tag_list_nth_tag_name", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_peek_string_index, "gst_tag_list_peek_string_index", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_remove_tag, "gst_tag_list_remove_tag", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_set_scope, "gst_tag_list_set_scope", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_to_string, "gst_tag_list_to_string", LIBRARY_GSTREAMER); - Linker.link(gst_tag_list_copy_value, "gst_tag_list_copy_value", LIBRARY_GSTREAMER); - Linker.link(gst_tag_exists, "gst_tag_exists", LIBRARY_GSTREAMER); - Linker.link(gst_tag_get_description, "gst_tag_get_description", LIBRARY_GSTREAMER); - Linker.link(gst_tag_get_flag, "gst_tag_get_flag", LIBRARY_GSTREAMER); - Linker.link(gst_tag_get_nick, "gst_tag_get_nick", LIBRARY_GSTREAMER); - Linker.link(gst_tag_is_fixed, "gst_tag_is_fixed", LIBRARY_GSTREAMER); - Linker.link(gst_tag_merge_strings_with_comma, "gst_tag_merge_strings_with_comma", LIBRARY_GSTREAMER); - Linker.link(gst_tag_merge_use_first, "gst_tag_merge_use_first", LIBRARY_GSTREAMER); - Linker.link(gst_tag_register, "gst_tag_register", LIBRARY_GSTREAMER); - Linker.link(gst_tag_register_static, "gst_tag_register_static", LIBRARY_GSTREAMER); - - // gstreamer.TagSetter - - Linker.link(gst_tag_setter_get_type, "gst_tag_setter_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_tag_setter_add_tag_valist, "gst_tag_setter_add_tag_valist", LIBRARY_GSTREAMER); - Linker.link(gst_tag_setter_add_tag_valist_values, "gst_tag_setter_add_tag_valist_values", LIBRARY_GSTREAMER); - Linker.link(gst_tag_setter_add_tag_value, "gst_tag_setter_add_tag_value", LIBRARY_GSTREAMER); - Linker.link(gst_tag_setter_add_tag_values, "gst_tag_setter_add_tag_values", LIBRARY_GSTREAMER); - Linker.link(gst_tag_setter_add_tags, "gst_tag_setter_add_tags", LIBRARY_GSTREAMER); - Linker.link(gst_tag_setter_get_tag_list, "gst_tag_setter_get_tag_list", LIBRARY_GSTREAMER); - Linker.link(gst_tag_setter_get_tag_merge_mode, "gst_tag_setter_get_tag_merge_mode", LIBRARY_GSTREAMER); - Linker.link(gst_tag_setter_merge_tags, "gst_tag_setter_merge_tags", LIBRARY_GSTREAMER); - Linker.link(gst_tag_setter_reset_tags, "gst_tag_setter_reset_tags", LIBRARY_GSTREAMER); - Linker.link(gst_tag_setter_set_tag_merge_mode, "gst_tag_setter_set_tag_merge_mode", LIBRARY_GSTREAMER); - - // gstreamer.Task - - Linker.link(gst_task_get_type, "gst_task_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_task_new, "gst_task_new", LIBRARY_GSTREAMER); - Linker.link(gst_task_cleanup_all, "gst_task_cleanup_all", LIBRARY_GSTREAMER); - Linker.link(gst_task_get_pool, "gst_task_get_pool", LIBRARY_GSTREAMER); - Linker.link(gst_task_get_state, "gst_task_get_state", LIBRARY_GSTREAMER); - Linker.link(gst_task_join, "gst_task_join", LIBRARY_GSTREAMER); - Linker.link(gst_task_pause, "gst_task_pause", LIBRARY_GSTREAMER); - Linker.link(gst_task_resume, "gst_task_resume", LIBRARY_GSTREAMER); - Linker.link(gst_task_set_enter_callback, "gst_task_set_enter_callback", LIBRARY_GSTREAMER); - Linker.link(gst_task_set_leave_callback, "gst_task_set_leave_callback", LIBRARY_GSTREAMER); - Linker.link(gst_task_set_lock, "gst_task_set_lock", LIBRARY_GSTREAMER); - Linker.link(gst_task_set_pool, "gst_task_set_pool", LIBRARY_GSTREAMER); - Linker.link(gst_task_set_state, "gst_task_set_state", LIBRARY_GSTREAMER); - Linker.link(gst_task_start, "gst_task_start", LIBRARY_GSTREAMER); - Linker.link(gst_task_stop, "gst_task_stop", LIBRARY_GSTREAMER); - - // gstreamer.TaskPool - - Linker.link(gst_task_pool_get_type, "gst_task_pool_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_task_pool_new, "gst_task_pool_new", LIBRARY_GSTREAMER); - Linker.link(gst_task_pool_cleanup, "gst_task_pool_cleanup", LIBRARY_GSTREAMER); - Linker.link(gst_task_pool_join, "gst_task_pool_join", LIBRARY_GSTREAMER); - Linker.link(gst_task_pool_prepare, "gst_task_pool_prepare", LIBRARY_GSTREAMER); - Linker.link(gst_task_pool_push, "gst_task_pool_push", LIBRARY_GSTREAMER); - - // gstreamer.Toc - - Linker.link(gst_toc_get_type, "gst_toc_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_toc_new, "gst_toc_new", LIBRARY_GSTREAMER); - Linker.link(gst_toc_append_entry, "gst_toc_append_entry", LIBRARY_GSTREAMER); - Linker.link(gst_toc_dump, "gst_toc_dump", LIBRARY_GSTREAMER); - Linker.link(gst_toc_find_entry, "gst_toc_find_entry", LIBRARY_GSTREAMER); - Linker.link(gst_toc_get_entries, "gst_toc_get_entries", LIBRARY_GSTREAMER); - Linker.link(gst_toc_get_scope, "gst_toc_get_scope", LIBRARY_GSTREAMER); - Linker.link(gst_toc_get_tags, "gst_toc_get_tags", LIBRARY_GSTREAMER); - Linker.link(gst_toc_merge_tags, "gst_toc_merge_tags", LIBRARY_GSTREAMER); - Linker.link(gst_toc_set_tags, "gst_toc_set_tags", LIBRARY_GSTREAMER); - - // gstreamer.TocEntry - - Linker.link(gst_toc_entry_get_type, "gst_toc_entry_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_new, "gst_toc_entry_new", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_append_sub_entry, "gst_toc_entry_append_sub_entry", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_get_entry_type, "gst_toc_entry_get_entry_type", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_get_loop, "gst_toc_entry_get_loop", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_get_parent, "gst_toc_entry_get_parent", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_get_start_stop_times, "gst_toc_entry_get_start_stop_times", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_get_sub_entries, "gst_toc_entry_get_sub_entries", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_get_tags, "gst_toc_entry_get_tags", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_get_toc, "gst_toc_entry_get_toc", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_get_uid, "gst_toc_entry_get_uid", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_is_alternative, "gst_toc_entry_is_alternative", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_is_sequence, "gst_toc_entry_is_sequence", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_merge_tags, "gst_toc_entry_merge_tags", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_set_loop, "gst_toc_entry_set_loop", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_set_start_stop_times, "gst_toc_entry_set_start_stop_times", LIBRARY_GSTREAMER); - Linker.link(gst_toc_entry_set_tags, "gst_toc_entry_set_tags", LIBRARY_GSTREAMER); - - // gstreamer.TocSetter - - Linker.link(gst_toc_setter_get_type, "gst_toc_setter_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_toc_setter_get_toc, "gst_toc_setter_get_toc", LIBRARY_GSTREAMER); - Linker.link(gst_toc_setter_reset, "gst_toc_setter_reset", LIBRARY_GSTREAMER); - Linker.link(gst_toc_setter_set_toc, "gst_toc_setter_set_toc", LIBRARY_GSTREAMER); - - // gstreamer.Tracer - - Linker.link(gst_tracer_get_type, "gst_tracer_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_tracer_register, "gst_tracer_register", LIBRARY_GSTREAMER); - - // gstreamer.TracerFactory - - Linker.link(gst_tracer_factory_get_type, "gst_tracer_factory_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_tracer_factory_get_list, "gst_tracer_factory_get_list", LIBRARY_GSTREAMER); - Linker.link(gst_tracer_factory_get_tracer_type, "gst_tracer_factory_get_tracer_type", LIBRARY_GSTREAMER); - - // gstreamer.TracerRecord - - Linker.link(gst_tracer_record_get_type, "gst_tracer_record_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_tracer_record_new, "gst_tracer_record_new", LIBRARY_GSTREAMER); - Linker.link(gst_tracer_record_log, "gst_tracer_record_log", LIBRARY_GSTREAMER); - - // gstreamer.TypeFind - - Linker.link(gst_type_find_get_length, "gst_type_find_get_length", LIBRARY_GSTREAMER); - Linker.link(gst_type_find_peek, "gst_type_find_peek", LIBRARY_GSTREAMER); - Linker.link(gst_type_find_suggest, "gst_type_find_suggest", LIBRARY_GSTREAMER); - Linker.link(gst_type_find_suggest_simple, "gst_type_find_suggest_simple", LIBRARY_GSTREAMER); - Linker.link(gst_type_find_register, "gst_type_find_register", LIBRARY_GSTREAMER); - Linker.link(gst_type_find_get_type, "gst_type_find_get_type", LIBRARY_GSTREAMER); - - // gstreamer.TypeFindFactory - - Linker.link(gst_type_find_factory_get_type, "gst_type_find_factory_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_type_find_factory_get_list, "gst_type_find_factory_get_list", LIBRARY_GSTREAMER); - Linker.link(gst_type_find_factory_call_function, "gst_type_find_factory_call_function", LIBRARY_GSTREAMER); - Linker.link(gst_type_find_factory_get_caps, "gst_type_find_factory_get_caps", LIBRARY_GSTREAMER); - Linker.link(gst_type_find_factory_get_extensions, "gst_type_find_factory_get_extensions", LIBRARY_GSTREAMER); - Linker.link(gst_type_find_factory_has_function, "gst_type_find_factory_has_function", LIBRARY_GSTREAMER); - - // gstreamer.URIHandler - - Linker.link(gst_uri_handler_get_type, "gst_uri_handler_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_uri_handler_get_protocols, "gst_uri_handler_get_protocols", LIBRARY_GSTREAMER); - Linker.link(gst_uri_handler_get_uri, "gst_uri_handler_get_uri", LIBRARY_GSTREAMER); - Linker.link(gst_uri_handler_get_uri_type, "gst_uri_handler_get_uri_type", LIBRARY_GSTREAMER); - Linker.link(gst_uri_handler_set_uri, "gst_uri_handler_set_uri", LIBRARY_GSTREAMER); - - // gstreamer.Uri - - Linker.link(gst_uri_get_type, "gst_uri_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_uri_new, "gst_uri_new", LIBRARY_GSTREAMER); - Linker.link(gst_uri_append_path, "gst_uri_append_path", LIBRARY_GSTREAMER); - Linker.link(gst_uri_append_path_segment, "gst_uri_append_path_segment", LIBRARY_GSTREAMER); - Linker.link(gst_uri_equal, "gst_uri_equal", LIBRARY_GSTREAMER); - Linker.link(gst_uri_from_string_with_base, "gst_uri_from_string_with_base", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_fragment, "gst_uri_get_fragment", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_host, "gst_uri_get_host", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_media_fragment_table, "gst_uri_get_media_fragment_table", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_path, "gst_uri_get_path", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_path_segments, "gst_uri_get_path_segments", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_path_string, "gst_uri_get_path_string", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_port, "gst_uri_get_port", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_query_keys, "gst_uri_get_query_keys", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_query_string, "gst_uri_get_query_string", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_query_table, "gst_uri_get_query_table", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_query_value, "gst_uri_get_query_value", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_scheme, "gst_uri_get_scheme", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_userinfo, "gst_uri_get_userinfo", LIBRARY_GSTREAMER); - Linker.link(gst_uri_is_normalized, "gst_uri_is_normalized", LIBRARY_GSTREAMER); - Linker.link(gst_uri_is_writable, "gst_uri_is_writable", LIBRARY_GSTREAMER); - Linker.link(gst_uri_join, "gst_uri_join", LIBRARY_GSTREAMER); - Linker.link(gst_uri_make_writable, "gst_uri_make_writable", LIBRARY_GSTREAMER); - Linker.link(gst_uri_new_with_base, "gst_uri_new_with_base", LIBRARY_GSTREAMER); - Linker.link(gst_uri_normalize, "gst_uri_normalize", LIBRARY_GSTREAMER); - Linker.link(gst_uri_query_has_key, "gst_uri_query_has_key", LIBRARY_GSTREAMER); - Linker.link(gst_uri_remove_query_key, "gst_uri_remove_query_key", LIBRARY_GSTREAMER); - Linker.link(gst_uri_set_fragment, "gst_uri_set_fragment", LIBRARY_GSTREAMER); - Linker.link(gst_uri_set_host, "gst_uri_set_host", LIBRARY_GSTREAMER); - Linker.link(gst_uri_set_path, "gst_uri_set_path", LIBRARY_GSTREAMER); - Linker.link(gst_uri_set_path_segments, "gst_uri_set_path_segments", LIBRARY_GSTREAMER); - Linker.link(gst_uri_set_path_string, "gst_uri_set_path_string", LIBRARY_GSTREAMER); - Linker.link(gst_uri_set_port, "gst_uri_set_port", LIBRARY_GSTREAMER); - Linker.link(gst_uri_set_query_string, "gst_uri_set_query_string", LIBRARY_GSTREAMER); - Linker.link(gst_uri_set_query_table, "gst_uri_set_query_table", LIBRARY_GSTREAMER); - Linker.link(gst_uri_set_query_value, "gst_uri_set_query_value", LIBRARY_GSTREAMER); - Linker.link(gst_uri_set_scheme, "gst_uri_set_scheme", LIBRARY_GSTREAMER); - Linker.link(gst_uri_set_userinfo, "gst_uri_set_userinfo", LIBRARY_GSTREAMER); - Linker.link(gst_uri_to_string, "gst_uri_to_string", LIBRARY_GSTREAMER); - Linker.link(gst_uri_construct, "gst_uri_construct", LIBRARY_GSTREAMER); - Linker.link(gst_uri_from_string, "gst_uri_from_string", LIBRARY_GSTREAMER); - Linker.link(gst_uri_from_string_escaped, "gst_uri_from_string_escaped", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_location, "gst_uri_get_location", LIBRARY_GSTREAMER); - Linker.link(gst_uri_get_protocol, "gst_uri_get_protocol", LIBRARY_GSTREAMER); - Linker.link(gst_uri_has_protocol, "gst_uri_has_protocol", LIBRARY_GSTREAMER); - Linker.link(gst_uri_is_valid, "gst_uri_is_valid", LIBRARY_GSTREAMER); - Linker.link(gst_uri_join_strings, "gst_uri_join_strings", LIBRARY_GSTREAMER); - Linker.link(gst_uri_protocol_is_supported, "gst_uri_protocol_is_supported", LIBRARY_GSTREAMER); - Linker.link(gst_uri_protocol_is_valid, "gst_uri_protocol_is_valid", LIBRARY_GSTREAMER); - Linker.link(gst_filename_to_uri, "gst_filename_to_uri", LIBRARY_GSTREAMER); - Linker.link(gst_uri_error_quark, "gst_uri_error_quark", LIBRARY_GSTREAMER); - - // gstreamer.ValueArray - - Linker.link(gst_value_array_get_type, "gst_value_array_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_value_array_append_and_take_value, "gst_value_array_append_and_take_value", LIBRARY_GSTREAMER); - Linker.link(gst_value_array_append_value, "gst_value_array_append_value", LIBRARY_GSTREAMER); - Linker.link(gst_value_array_get_size, "gst_value_array_get_size", LIBRARY_GSTREAMER); - Linker.link(gst_value_array_get_value, "gst_value_array_get_value", LIBRARY_GSTREAMER); - Linker.link(gst_value_array_init, "gst_value_array_init", LIBRARY_GSTREAMER); - Linker.link(gst_value_array_prepend_value, "gst_value_array_prepend_value", LIBRARY_GSTREAMER); - - // gstreamer.ValueList - - Linker.link(gst_value_list_get_type, "gst_value_list_get_type", LIBRARY_GSTREAMER); - Linker.link(gst_value_list_append_and_take_value, "gst_value_list_append_and_take_value", LIBRARY_GSTREAMER); - Linker.link(gst_value_list_append_value, "gst_value_list_append_value", LIBRARY_GSTREAMER); - Linker.link(gst_value_list_concat, "gst_value_list_concat", LIBRARY_GSTREAMER); - Linker.link(gst_value_list_get_size, "gst_value_list_get_size", LIBRARY_GSTREAMER); - Linker.link(gst_value_list_get_value, "gst_value_list_get_value", LIBRARY_GSTREAMER); - Linker.link(gst_value_list_init, "gst_value_list_init", LIBRARY_GSTREAMER); - Linker.link(gst_value_list_merge, "gst_value_list_merge", LIBRARY_GSTREAMER); - Linker.link(gst_value_list_prepend_value, "gst_value_list_prepend_value", LIBRARY_GSTREAMER); - - // gstreamer.Debug - - Linker.link(gst_debug_add_log_function, "gst_debug_add_log_function", LIBRARY_GSTREAMER); - Linker.link(gst_debug_bin_to_dot_data, "gst_debug_bin_to_dot_data", LIBRARY_GSTREAMER); - Linker.link(gst_debug_bin_to_dot_file, "gst_debug_bin_to_dot_file", LIBRARY_GSTREAMER); - Linker.link(gst_debug_bin_to_dot_file_with_ts, "gst_debug_bin_to_dot_file_with_ts", LIBRARY_GSTREAMER); - Linker.link(gst_debug_construct_term_color, "gst_debug_construct_term_color", LIBRARY_GSTREAMER); - Linker.link(gst_debug_construct_win_color, "gst_debug_construct_win_color", LIBRARY_GSTREAMER); - Linker.link(gst_debug_get_all_categories, "gst_debug_get_all_categories", LIBRARY_GSTREAMER); - Linker.link(gst_debug_get_color_mode, "gst_debug_get_color_mode", LIBRARY_GSTREAMER); - Linker.link(gst_debug_get_default_threshold, "gst_debug_get_default_threshold", LIBRARY_GSTREAMER); - Linker.link(gst_debug_is_active, "gst_debug_is_active", LIBRARY_GSTREAMER); - Linker.link(gst_debug_is_colored, "gst_debug_is_colored", LIBRARY_GSTREAMER); - Linker.link(gst_debug_level_get_name, "gst_debug_level_get_name", LIBRARY_GSTREAMER); - Linker.link(gst_debug_log, "gst_debug_log", LIBRARY_GSTREAMER); - Linker.link(gst_debug_log_default, "gst_debug_log_default", LIBRARY_GSTREAMER); - Linker.link(gst_debug_log_valist, "gst_debug_log_valist", LIBRARY_GSTREAMER); - Linker.link(gst_debug_print_stack_trace, "gst_debug_print_stack_trace", LIBRARY_GSTREAMER); - Linker.link(gst_debug_remove_log_function, "gst_debug_remove_log_function", LIBRARY_GSTREAMER); - Linker.link(gst_debug_remove_log_function_by_data, "gst_debug_remove_log_function_by_data", LIBRARY_GSTREAMER); - Linker.link(gst_debug_set_active, "gst_debug_set_active", LIBRARY_GSTREAMER); - Linker.link(gst_debug_set_color_mode, "gst_debug_set_color_mode", LIBRARY_GSTREAMER); - Linker.link(gst_debug_set_color_mode_from_string, "gst_debug_set_color_mode_from_string", LIBRARY_GSTREAMER); - Linker.link(gst_debug_set_colored, "gst_debug_set_colored", LIBRARY_GSTREAMER); - Linker.link(gst_debug_set_default_threshold, "gst_debug_set_default_threshold", LIBRARY_GSTREAMER); - Linker.link(gst_debug_set_threshold_for_name, "gst_debug_set_threshold_for_name", LIBRARY_GSTREAMER); - Linker.link(gst_debug_set_threshold_from_string, "gst_debug_set_threshold_from_string", LIBRARY_GSTREAMER); - Linker.link(gst_debug_unset_threshold_for_name, "gst_debug_unset_threshold_for_name", LIBRARY_GSTREAMER); - - // gstreamer.GError - - Linker.link(gst_error_get_message, "gst_error_get_message", LIBRARY_GSTREAMER); - - // gstreamer.Format - - Linker.link(gst_format_get_by_nick, "gst_format_get_by_nick", LIBRARY_GSTREAMER); - Linker.link(gst_format_get_details, "gst_format_get_details", LIBRARY_GSTREAMER); - Linker.link(gst_format_get_name, "gst_format_get_name", LIBRARY_GSTREAMER); - Linker.link(gst_format_iterate_definitions, "gst_format_iterate_definitions", LIBRARY_GSTREAMER); - Linker.link(gst_format_register, "gst_format_register", LIBRARY_GSTREAMER); - Linker.link(gst_format_to_quark, "gst_format_to_quark", LIBRARY_GSTREAMER); - Linker.link(gst_formats_contains, "gst_formats_contains", LIBRARY_GSTREAMER); - - // gstreamer.GStreamer - - Linker.link(gst_deinit, "gst_deinit", LIBRARY_GSTREAMER); - Linker.link(gst_init, "gst_init", LIBRARY_GSTREAMER); - Linker.link(gst_init_check, "gst_init_check", LIBRARY_GSTREAMER); - Linker.link(gst_init_get_option_group, "gst_init_get_option_group", LIBRARY_GSTREAMER); - Linker.link(gst_is_initialized, "gst_is_initialized", LIBRARY_GSTREAMER); - Linker.link(gst_segtrap_is_enabled, "gst_segtrap_is_enabled", LIBRARY_GSTREAMER); - Linker.link(gst_segtrap_set_enabled, "gst_segtrap_set_enabled", LIBRARY_GSTREAMER); - Linker.link(gst_update_registry, "gst_update_registry", LIBRARY_GSTREAMER); - Linker.link(gst_version, "gst_version", LIBRARY_GSTREAMER); - Linker.link(gst_version_string, "gst_version_string", LIBRARY_GSTREAMER); - - // gstreamer.Parse - - Linker.link(gst_parse_bin_from_description, "gst_parse_bin_from_description", LIBRARY_GSTREAMER); - Linker.link(gst_parse_bin_from_description_full, "gst_parse_bin_from_description_full", LIBRARY_GSTREAMER); - Linker.link(gst_parse_error_quark, "gst_parse_error_quark", LIBRARY_GSTREAMER); - Linker.link(gst_parse_launch, "gst_parse_launch", LIBRARY_GSTREAMER); - Linker.link(gst_parse_launch_full, "gst_parse_launch_full", LIBRARY_GSTREAMER); - Linker.link(gst_parse_launchv, "gst_parse_launchv", LIBRARY_GSTREAMER); - Linker.link(gst_parse_launchv_full, "gst_parse_launchv_full", LIBRARY_GSTREAMER); - - // gstreamer.Utils - - Linker.link(gst_util_array_binary_search, "gst_util_array_binary_search", LIBRARY_GSTREAMER); - Linker.link(gst_util_double_to_fraction, "gst_util_double_to_fraction", LIBRARY_GSTREAMER); - Linker.link(gst_util_dump_mem, "gst_util_dump_mem", LIBRARY_GSTREAMER); - Linker.link(gst_util_fraction_add, "gst_util_fraction_add", LIBRARY_GSTREAMER); - Linker.link(gst_util_fraction_compare, "gst_util_fraction_compare", LIBRARY_GSTREAMER); - Linker.link(gst_util_fraction_multiply, "gst_util_fraction_multiply", LIBRARY_GSTREAMER); - Linker.link(gst_util_fraction_to_double, "gst_util_fraction_to_double", LIBRARY_GSTREAMER); - Linker.link(gst_util_gdouble_to_guint64, "gst_util_gdouble_to_guint64", LIBRARY_GSTREAMER); - Linker.link(gst_util_get_timestamp, "gst_util_get_timestamp", LIBRARY_GSTREAMER); - Linker.link(gst_util_greatest_common_divisor, "gst_util_greatest_common_divisor", LIBRARY_GSTREAMER); - Linker.link(gst_util_greatest_common_divisor_int64, "gst_util_greatest_common_divisor_int64", LIBRARY_GSTREAMER); - Linker.link(gst_util_group_id_next, "gst_util_group_id_next", LIBRARY_GSTREAMER); - Linker.link(gst_util_guint64_to_gdouble, "gst_util_guint64_to_gdouble", LIBRARY_GSTREAMER); - Linker.link(gst_util_seqnum_compare, "gst_util_seqnum_compare", LIBRARY_GSTREAMER); - Linker.link(gst_util_seqnum_next, "gst_util_seqnum_next", LIBRARY_GSTREAMER); - Linker.link(gst_util_set_object_arg, "gst_util_set_object_arg", LIBRARY_GSTREAMER); - Linker.link(gst_util_set_value_from_string, "gst_util_set_value_from_string", LIBRARY_GSTREAMER); - Linker.link(gst_util_uint64_scale, "gst_util_uint64_scale", LIBRARY_GSTREAMER); - Linker.link(gst_util_uint64_scale_ceil, "gst_util_uint64_scale_ceil", LIBRARY_GSTREAMER); - Linker.link(gst_util_uint64_scale_int, "gst_util_uint64_scale_int", LIBRARY_GSTREAMER); - Linker.link(gst_util_uint64_scale_int_ceil, "gst_util_uint64_scale_int_ceil", LIBRARY_GSTREAMER); - Linker.link(gst_util_uint64_scale_int_round, "gst_util_uint64_scale_int_round", LIBRARY_GSTREAMER); - Linker.link(gst_util_uint64_scale_round, "gst_util_uint64_scale_round", LIBRARY_GSTREAMER); - Linker.link(gst_calculate_linear_regression, "gst_calculate_linear_regression", LIBRARY_GSTREAMER); - Linker.link(gst_dynamic_type_register, "gst_dynamic_type_register", LIBRARY_GSTREAMER); - Linker.link(gst_util_get_object_array, "gst_util_get_object_array", LIBRARY_GSTREAMER); - Linker.link(gst_util_set_object_array, "gst_util_set_object_array", LIBRARY_GSTREAMER); - - // gstreamer.ValueGst - - Linker.link(gst_value_can_compare, "gst_value_can_compare", LIBRARY_GSTREAMER); - Linker.link(gst_value_can_intersect, "gst_value_can_intersect", LIBRARY_GSTREAMER); - Linker.link(gst_value_can_subtract, "gst_value_can_subtract", LIBRARY_GSTREAMER); - Linker.link(gst_value_can_union, "gst_value_can_union", LIBRARY_GSTREAMER); - Linker.link(gst_value_compare, "gst_value_compare", LIBRARY_GSTREAMER); - Linker.link(gst_value_deserialize, "gst_value_deserialize", LIBRARY_GSTREAMER); - Linker.link(gst_value_fixate, "gst_value_fixate", LIBRARY_GSTREAMER); - Linker.link(gst_value_fraction_multiply, "gst_value_fraction_multiply", LIBRARY_GSTREAMER); - Linker.link(gst_value_fraction_subtract, "gst_value_fraction_subtract", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_bitmask, "gst_value_get_bitmask", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_caps, "gst_value_get_caps", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_caps_features, "gst_value_get_caps_features", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_double_range_max, "gst_value_get_double_range_max", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_double_range_min, "gst_value_get_double_range_min", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_flagset_flags, "gst_value_get_flagset_flags", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_flagset_mask, "gst_value_get_flagset_mask", LIBRARY_GSTREAMER); - Linker.link(gst_value_set_flagset, "gst_value_set_flagset", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_fraction_denominator, "gst_value_get_fraction_denominator", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_fraction_numerator, "gst_value_get_fraction_numerator", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_fraction_range_max, "gst_value_get_fraction_range_max", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_fraction_range_min, "gst_value_get_fraction_range_min", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_int64_range_max, "gst_value_get_int64_range_max", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_int64_range_min, "gst_value_get_int64_range_min", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_int64_range_step, "gst_value_get_int64_range_step", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_int_range_max, "gst_value_get_int_range_max", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_int_range_min, "gst_value_get_int_range_min", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_int_range_step, "gst_value_get_int_range_step", LIBRARY_GSTREAMER); - Linker.link(gst_value_get_structure, "gst_value_get_structure", LIBRARY_GSTREAMER); - Linker.link(gst_value_init_and_copy, "gst_value_init_and_copy", LIBRARY_GSTREAMER); - Linker.link(gst_value_intersect, "gst_value_intersect", LIBRARY_GSTREAMER); - Linker.link(gst_value_is_fixed, "gst_value_is_fixed", LIBRARY_GSTREAMER); - Linker.link(gst_value_is_subset, "gst_value_is_subset", LIBRARY_GSTREAMER); - Linker.link(gst_value_register, "gst_value_register", LIBRARY_GSTREAMER); - Linker.link(gst_value_serialize, "gst_value_serialize", LIBRARY_GSTREAMER); - Linker.link(gst_value_set_bitmask, "gst_value_set_bitmask", LIBRARY_GSTREAMER); - Linker.link(gst_value_set_caps, "gst_value_set_caps", LIBRARY_GSTREAMER); - Linker.link(gst_value_set_caps_features, "gst_value_set_caps_features", LIBRARY_GSTREAMER); - Linker.link(gst_value_set_double_range, "gst_value_set_double_range", LIBRARY_GSTREAMER); - Linker.link(gst_value_set_fraction, "gst_value_set_fraction", LIBRARY_GSTREAMER); - Linker.link(gst_value_set_fraction_range, "gst_value_set_fraction_range", LIBRARY_GSTREAMER); - Linker.link(gst_value_set_fraction_range_full, "gst_value_set_fraction_range_full", LIBRARY_GSTREAMER); - Linker.link(gst_value_set_int64_range, "gst_value_set_int64_range", LIBRARY_GSTREAMER); - Linker.link(gst_value_set_int64_range_step, "gst_value_set_int64_range_step", LIBRARY_GSTREAMER); - Linker.link(gst_value_set_int_range, "gst_value_set_int_range", LIBRARY_GSTREAMER); - Linker.link(gst_value_set_int_range_step, "gst_value_set_int_range_step", LIBRARY_GSTREAMER); - Linker.link(gst_value_set_structure, "gst_value_set_structure", LIBRARY_GSTREAMER); - Linker.link(gst_value_subtract, "gst_value_subtract", LIBRARY_GSTREAMER); - Linker.link(gst_value_union, "gst_value_union", LIBRARY_GSTREAMER); -} - -__gshared extern(C) -{ - - // gstreamer.AllocationParams - - GType function() c_gst_allocation_params_get_type; - GstAllocationParams* function(GstAllocationParams* params) c_gst_allocation_params_copy; - void function(GstAllocationParams* params) c_gst_allocation_params_free; - void function(GstAllocationParams* params) c_gst_allocation_params_init; - - // gstreamer.Allocator - - GType function() c_gst_allocator_get_type; - GstAllocator* function(const(char)* name) c_gst_allocator_find; - void function(const(char)* name, GstAllocator* allocator) c_gst_allocator_register; - GstMemory* function(GstAllocator* allocator, size_t size, GstAllocationParams* params) c_gst_allocator_alloc; - void function(GstAllocator* allocator, GstMemory* memory) c_gst_allocator_free; - void function(GstAllocator* allocator) c_gst_allocator_set_default; - - // gstreamer.AtomicQueue - - GType function() c_gst_atomic_queue_get_type; - GstAtomicQueue* function(uint initialSize) c_gst_atomic_queue_new; - uint function(GstAtomicQueue* queue) c_gst_atomic_queue_length; - void* function(GstAtomicQueue* queue) c_gst_atomic_queue_peek; - void* function(GstAtomicQueue* queue) c_gst_atomic_queue_pop; - void function(GstAtomicQueue* queue, void* data) c_gst_atomic_queue_push; - void function(GstAtomicQueue* queue) c_gst_atomic_queue_ref; - void function(GstAtomicQueue* queue) c_gst_atomic_queue_unref; - - // gstreamer.Bin - - GType function() c_gst_bin_get_type; - GstElement* function(const(char)* name) c_gst_bin_new; - int function(GstBin* bin, GstElement* element) c_gst_bin_add; - void function(GstBin* bin, GstElement* element1, ... ) c_gst_bin_add_many; - GstPad* function(GstBin* bin, GstPadDirection direction) c_gst_bin_find_unlinked_pad; - GstElement* function(GstBin* bin, GType iface) c_gst_bin_get_by_interface; - GstElement* function(GstBin* bin, const(char)* name) c_gst_bin_get_by_name; - GstElement* function(GstBin* bin, const(char)* name) c_gst_bin_get_by_name_recurse_up; - GstElementFlags function(GstBin* bin) c_gst_bin_get_suppressed_flags; - GstIterator* function(GstBin* bin, const(char)* factoryName) c_gst_bin_iterate_all_by_element_factory_name; - GstIterator* function(GstBin* bin, GType iface) c_gst_bin_iterate_all_by_interface; - GstIterator* function(GstBin* bin) c_gst_bin_iterate_elements; - GstIterator* function(GstBin* bin) c_gst_bin_iterate_recurse; - GstIterator* function(GstBin* bin) c_gst_bin_iterate_sinks; - GstIterator* function(GstBin* bin) c_gst_bin_iterate_sorted; - GstIterator* function(GstBin* bin) c_gst_bin_iterate_sources; - int function(GstBin* bin) c_gst_bin_recalculate_latency; - int function(GstBin* bin, GstElement* element) c_gst_bin_remove; - void function(GstBin* bin, GstElement* element1, ... ) c_gst_bin_remove_many; - void function(GstBin* bin, GstElementFlags flags) c_gst_bin_set_suppressed_flags; - int function(GstBin* bin) c_gst_bin_sync_children_states; - - // gstreamer.Bitmask - - GType function() c_gst_bitmask_get_type; - - // gstreamer.Buffer - - GType function() c_gst_buffer_get_type; - GstBuffer* function() c_gst_buffer_new; - GstBuffer* function(GstAllocator* allocator, size_t size, GstAllocationParams* params) c_gst_buffer_new_allocate; - GstBuffer* function(void* data, size_t size) c_gst_buffer_new_wrapped; - GstBuffer* function(GBytes* bytes) c_gst_buffer_new_wrapped_bytes; - GstBuffer* function(GstMemoryFlags flags, void* data, size_t maxsize, size_t offset, size_t size, void* userData, GDestroyNotify notify) c_gst_buffer_new_wrapped_full; - GstMeta* function(GstBuffer* buffer, GstMetaInfo* info, void* params) c_gst_buffer_add_meta; - GstParentBufferMeta* function(GstBuffer* buffer, GstBuffer* ref_) c_gst_buffer_add_parent_buffer_meta; - GstProtectionMeta* function(GstBuffer* buffer, GstStructure* info) c_gst_buffer_add_protection_meta; - GstReferenceTimestampMeta* function(GstBuffer* buffer, GstCaps* reference, GstClockTime timestamp, GstClockTime duration) c_gst_buffer_add_reference_timestamp_meta; - GstBuffer* function(GstBuffer* buf1, GstBuffer* buf2) c_gst_buffer_append; - void function(GstBuffer* buffer, GstMemory* mem) c_gst_buffer_append_memory; - GstBuffer* function(GstBuffer* buf1, GstBuffer* buf2, ptrdiff_t offset, ptrdiff_t size) c_gst_buffer_append_region; - GstBuffer* function(GstBuffer* buf) c_gst_buffer_copy_deep; - int function(GstBuffer* dest, GstBuffer* src, GstBufferCopyFlags flags, size_t offset, size_t size) c_gst_buffer_copy_into; - GstBuffer* function(GstBuffer* parent, GstBufferCopyFlags flags, size_t offset, size_t size) c_gst_buffer_copy_region; - size_t function(GstBuffer* buffer, size_t offset, void* dest, size_t size) c_gst_buffer_extract; - void function(GstBuffer* buffer, size_t offset, size_t size, void** dest, size_t* destSize) c_gst_buffer_extract_dup; - size_t function(GstBuffer* buffer, size_t offset, void* src, size_t size) c_gst_buffer_fill; - int function(GstBuffer* buffer, size_t offset, size_t size, uint* idx, uint* length, size_t* skip) c_gst_buffer_find_memory; - int function(GstBuffer* buffer, GstBufferForeachMetaFunc func, void* userData) c_gst_buffer_foreach_meta; - GstMemory* function(GstBuffer* buffer) c_gst_buffer_get_all_memory; - GstBufferFlags function(GstBuffer* buffer) c_gst_buffer_get_flags; - GstMemory* function(GstBuffer* buffer, uint idx) c_gst_buffer_get_memory; - GstMemory* function(GstBuffer* buffer, uint idx, int length) c_gst_buffer_get_memory_range; - GstMeta* function(GstBuffer* buffer, GType api) c_gst_buffer_get_meta; - uint function(GstBuffer* buffer, GType apiType) c_gst_buffer_get_n_meta; - GstReferenceTimestampMeta* function(GstBuffer* buffer, GstCaps* reference) c_gst_buffer_get_reference_timestamp_meta; - size_t function(GstBuffer* buffer) c_gst_buffer_get_size; - size_t function(GstBuffer* buffer, size_t* offset, size_t* maxsize) c_gst_buffer_get_sizes; - size_t function(GstBuffer* buffer, uint idx, int length, size_t* offset, size_t* maxsize) c_gst_buffer_get_sizes_range; - int function(GstBuffer* buffer, GstBufferFlags flags) c_gst_buffer_has_flags; - void function(GstBuffer* buffer, int idx, GstMemory* mem) c_gst_buffer_insert_memory; - int function(GstBuffer* buffer) c_gst_buffer_is_all_memory_writable; - int function(GstBuffer* buffer, uint idx, int length) c_gst_buffer_is_memory_range_writable; - GstMeta* function(GstBuffer* buffer, void** state) c_gst_buffer_iterate_meta; - GstMeta* function(GstBuffer* buffer, void** state, GType metaApiType) c_gst_buffer_iterate_meta_filtered; - int function(GstBuffer* buffer, GstMapInfo* info, GstMapFlags flags) c_gst_buffer_map; - int function(GstBuffer* buffer, uint idx, int length, GstMapInfo* info, GstMapFlags flags) c_gst_buffer_map_range; - int function(GstBuffer* buffer, size_t offset, void* mem, size_t size) c_gst_buffer_memcmp; - size_t function(GstBuffer* buffer, size_t offset, ubyte val, size_t size) c_gst_buffer_memset; - uint function(GstBuffer* buffer) c_gst_buffer_n_memory; - GstMemory* function(GstBuffer* buffer, uint idx) c_gst_buffer_peek_memory; - void function(GstBuffer* buffer, GstMemory* mem) c_gst_buffer_prepend_memory; - void function(GstBuffer* buffer) c_gst_buffer_remove_all_memory; - void function(GstBuffer* buffer, uint idx) c_gst_buffer_remove_memory; - void function(GstBuffer* buffer, uint idx, int length) c_gst_buffer_remove_memory_range; - int function(GstBuffer* buffer, GstMeta* meta) c_gst_buffer_remove_meta; - void function(GstBuffer* buffer, GstMemory* mem) c_gst_buffer_replace_all_memory; - void function(GstBuffer* buffer, uint idx, GstMemory* mem) c_gst_buffer_replace_memory; - void function(GstBuffer* buffer, uint idx, int length, GstMemory* mem) c_gst_buffer_replace_memory_range; - void function(GstBuffer* buffer, ptrdiff_t offset, ptrdiff_t size) c_gst_buffer_resize; - int function(GstBuffer* buffer, uint idx, int length, ptrdiff_t offset, ptrdiff_t size) c_gst_buffer_resize_range; - int function(GstBuffer* buffer, GstBufferFlags flags) c_gst_buffer_set_flags; - void function(GstBuffer* buffer, ptrdiff_t size) c_gst_buffer_set_size; - void function(GstBuffer* buffer, GstMapInfo* info) c_gst_buffer_unmap; - int function(GstBuffer* buffer, GstBufferFlags flags) c_gst_buffer_unset_flags; - uint function() c_gst_buffer_get_max_memory; - - // gstreamer.BufferList - - GType function() c_gst_buffer_list_get_type; - GstBufferList* function() c_gst_buffer_list_new; - GstBufferList* function(uint size) c_gst_buffer_list_new_sized; - size_t function(GstBufferList* list) c_gst_buffer_list_calculate_size; - GstBufferList* function(GstBufferList* list) c_gst_buffer_list_copy_deep; - int function(GstBufferList* list, GstBufferListFunc func, void* userData) c_gst_buffer_list_foreach; - GstBuffer* function(GstBufferList* list, uint idx) c_gst_buffer_list_get; - GstBuffer* function(GstBufferList* list, uint idx) c_gst_buffer_list_get_writable; - void function(GstBufferList* list, int idx, GstBuffer* buffer) c_gst_buffer_list_insert; - uint function(GstBufferList* list) c_gst_buffer_list_length; - void function(GstBufferList* list, uint idx, uint length) c_gst_buffer_list_remove; - - // gstreamer.BufferPool - - GType function() c_gst_buffer_pool_get_type; - GstBufferPool* function() c_gst_buffer_pool_new; - void function(GstStructure* config, const(char)* option) c_gst_buffer_pool_config_add_option; - int function(GstStructure* config, GstAllocator** allocator, GstAllocationParams* params) c_gst_buffer_pool_config_get_allocator; - const(char)* function(GstStructure* config, uint index) c_gst_buffer_pool_config_get_option; - int function(GstStructure* config, GstCaps** caps, uint* size, uint* minBuffers, uint* maxBuffers) c_gst_buffer_pool_config_get_params; - int function(GstStructure* config, const(char)* option) c_gst_buffer_pool_config_has_option; - uint function(GstStructure* config) c_gst_buffer_pool_config_n_options; - void function(GstStructure* config, GstAllocator* allocator, GstAllocationParams* params) c_gst_buffer_pool_config_set_allocator; - void function(GstStructure* config, GstCaps* caps, uint size, uint minBuffers, uint maxBuffers) c_gst_buffer_pool_config_set_params; - int function(GstStructure* config, GstCaps* caps, uint size, uint minBuffers, uint maxBuffers) c_gst_buffer_pool_config_validate_params; - GstFlowReturn function(GstBufferPool* pool, GstBuffer** buffer, GstBufferPoolAcquireParams* params) c_gst_buffer_pool_acquire_buffer; - GstStructure* function(GstBufferPool* pool) c_gst_buffer_pool_get_config; - char** function(GstBufferPool* pool) c_gst_buffer_pool_get_options; - int function(GstBufferPool* pool, const(char)* option) c_gst_buffer_pool_has_option; - int function(GstBufferPool* pool) c_gst_buffer_pool_is_active; - void function(GstBufferPool* pool, GstBuffer* buffer) c_gst_buffer_pool_release_buffer; - int function(GstBufferPool* pool, int active) c_gst_buffer_pool_set_active; - int function(GstBufferPool* pool, GstStructure* config) c_gst_buffer_pool_set_config; - void function(GstBufferPool* pool, int flushing) c_gst_buffer_pool_set_flushing; - - // gstreamer.Bus - - GType function() c_gst_bus_get_type; - GstBus* function() c_gst_bus_new; - void function(GstBus* bus) c_gst_bus_add_signal_watch; - void function(GstBus* bus, int priority) c_gst_bus_add_signal_watch_full; - uint function(GstBus* bus, GstBusFunc func, void* userData) c_gst_bus_add_watch; - uint function(GstBus* bus, int priority, GstBusFunc func, void* userData, GDestroyNotify notify) c_gst_bus_add_watch_full; - int function(GstBus* bus, GstMessage* message, void* data) c_gst_bus_async_signal_func; - GSource* function(GstBus* bus) c_gst_bus_create_watch; - void function(GstBus* bus) c_gst_bus_disable_sync_message_emission; - void function(GstBus* bus) c_gst_bus_enable_sync_message_emission; - void function(GstBus* bus, GPollFD* fd) c_gst_bus_get_pollfd; - int function(GstBus* bus) c_gst_bus_have_pending; - GstMessage* function(GstBus* bus) c_gst_bus_peek; - GstMessage* function(GstBus* bus, GstMessageType events, GstClockTime timeout) c_gst_bus_poll; - GstMessage* function(GstBus* bus) c_gst_bus_pop; - GstMessage* function(GstBus* bus, GstMessageType types) c_gst_bus_pop_filtered; - int function(GstBus* bus, GstMessage* message) c_gst_bus_post; - void function(GstBus* bus) c_gst_bus_remove_signal_watch; - int function(GstBus* bus) c_gst_bus_remove_watch; - void function(GstBus* bus, int flushing) c_gst_bus_set_flushing; - void function(GstBus* bus, GstBusSyncHandler func, void* userData, GDestroyNotify notify) c_gst_bus_set_sync_handler; - GstBusSyncReply function(GstBus* bus, GstMessage* message, void* data) c_gst_bus_sync_signal_handler; - GstMessage* function(GstBus* bus, GstClockTime timeout) c_gst_bus_timed_pop; - GstMessage* function(GstBus* bus, GstClockTime timeout, GstMessageType types) c_gst_bus_timed_pop_filtered; - - // gstreamer.Caps - - GType function() c_gst_caps_get_type; - GstCaps* function() c_gst_caps_new_any; - GstCaps* function() c_gst_caps_new_empty; - GstCaps* function(const(char)* mediaType) c_gst_caps_new_empty_simple; - GstCaps* function(GstStructure* struct1, ... ) c_gst_caps_new_full; - GstCaps* function(GstStructure* structure, void* varArgs) c_gst_caps_new_full_valist; - GstCaps* function(const(char)* mediaType, const(char)* fieldname, ... ) c_gst_caps_new_simple; - void function(GstCaps* caps1, GstCaps* caps2) c_gst_caps_append; - void function(GstCaps* caps, GstStructure* structure) c_gst_caps_append_structure; - void function(GstCaps* caps, GstStructure* structure, GstCapsFeatures* features) c_gst_caps_append_structure_full; - int function(GstCaps* caps1, GstCaps* caps2) c_gst_caps_can_intersect; - GstCaps* function(GstCaps* caps) c_gst_caps_copy; - GstCaps* function(GstCaps* caps, uint nth) c_gst_caps_copy_nth; - void function(GstCaps* caps, GstCapsFilterMapFunc func, void* userData) c_gst_caps_filter_and_map_in_place; - GstCaps* function(GstCaps* caps) c_gst_caps_fixate; - int function(GstCaps* caps, GstCapsForeachFunc func, void* userData) c_gst_caps_foreach; - GstCapsFeatures* function(GstCaps* caps, uint index) c_gst_caps_get_features; - uint function(GstCaps* caps) c_gst_caps_get_size; - GstStructure* function(GstCaps* caps, uint index) c_gst_caps_get_structure; - GstCaps* function(GstCaps* caps1, GstCaps* caps2) c_gst_caps_intersect; - GstCaps* function(GstCaps* caps1, GstCaps* caps2, GstCapsIntersectMode mode) c_gst_caps_intersect_full; - int function(GstCaps* caps1, GstCaps* caps2) c_gst_caps_is_always_compatible; - int function(GstCaps* caps) c_gst_caps_is_any; - int function(GstCaps* caps) c_gst_caps_is_empty; - int function(GstCaps* caps1, GstCaps* caps2) c_gst_caps_is_equal; - int function(GstCaps* caps1, GstCaps* caps2) c_gst_caps_is_equal_fixed; - int function(GstCaps* caps) c_gst_caps_is_fixed; - int function(GstCaps* caps1, GstCaps* caps2) c_gst_caps_is_strictly_equal; - int function(GstCaps* subset, GstCaps* superset) c_gst_caps_is_subset; - int function(GstCaps* caps, GstStructure* structure) c_gst_caps_is_subset_structure; - int function(GstCaps* caps, GstStructure* structure, GstCapsFeatures* features) c_gst_caps_is_subset_structure_full; - int function(GstCaps* caps, GstCapsMapFunc func, void* userData) c_gst_caps_map_in_place; - GstCaps* function(GstCaps* caps1, GstCaps* caps2) c_gst_caps_merge; - GstCaps* function(GstCaps* caps, GstStructure* structure) c_gst_caps_merge_structure; - GstCaps* function(GstCaps* caps, GstStructure* structure, GstCapsFeatures* features) c_gst_caps_merge_structure_full; - GstCaps* function(GstCaps* caps) c_gst_caps_normalize; - void function(GstCaps* caps, uint idx) c_gst_caps_remove_structure; - void function(GstCaps* caps, uint index, GstCapsFeatures* features) c_gst_caps_set_features; - void function(GstCaps* caps, GstCapsFeatures* features) c_gst_caps_set_features_simple; - void function(GstCaps* caps, const(char)* field, ... ) c_gst_caps_set_simple; - void function(GstCaps* caps, const(char)* field, void* varargs) c_gst_caps_set_simple_valist; - void function(GstCaps* caps, const(char)* field, GValue* value) c_gst_caps_set_value; - GstCaps* function(GstCaps* caps) c_gst_caps_simplify; - GstStructure* function(GstCaps* caps, uint index) c_gst_caps_steal_structure; - GstCaps* function(GstCaps* minuend, GstCaps* subtrahend) c_gst_caps_subtract; - char* function(GstCaps* caps) c_gst_caps_to_string; - GstCaps* function(GstCaps* caps) c_gst_caps_truncate; - GstCaps* function(const(char)* string_) c_gst_caps_from_string; - - // gstreamer.CapsFeatures - - GType function() c_gst_caps_features_get_type; - GstCapsFeatures* function(const(char)* feature1, ... ) c_gst_caps_features_new; - GstCapsFeatures* function() c_gst_caps_features_new_any; - GstCapsFeatures* function() c_gst_caps_features_new_empty; - GstCapsFeatures* function(GQuark feature1, ... ) c_gst_caps_features_new_id; - GstCapsFeatures* function(GQuark feature1, void* varargs) c_gst_caps_features_new_id_valist; - GstCapsFeatures* function(const(char)* feature1, void* varargs) c_gst_caps_features_new_valist; - void function(GstCapsFeatures* features, const(char)* feature) c_gst_caps_features_add; - void function(GstCapsFeatures* features, GQuark feature) c_gst_caps_features_add_id; - int function(GstCapsFeatures* features, const(char)* feature) c_gst_caps_features_contains; - int function(GstCapsFeatures* features, GQuark feature) c_gst_caps_features_contains_id; - GstCapsFeatures* function(GstCapsFeatures* features) c_gst_caps_features_copy; - void function(GstCapsFeatures* features) c_gst_caps_features_free; - const(char)* function(GstCapsFeatures* features, uint i) c_gst_caps_features_get_nth; - GQuark function(GstCapsFeatures* features, uint i) c_gst_caps_features_get_nth_id; - uint function(GstCapsFeatures* features) c_gst_caps_features_get_size; - int function(GstCapsFeatures* features) c_gst_caps_features_is_any; - int function(GstCapsFeatures* features1, GstCapsFeatures* features2) c_gst_caps_features_is_equal; - void function(GstCapsFeatures* features, const(char)* feature) c_gst_caps_features_remove; - void function(GstCapsFeatures* features, GQuark feature) c_gst_caps_features_remove_id; - int function(GstCapsFeatures* features, int* refcount) c_gst_caps_features_set_parent_refcount; - char* function(GstCapsFeatures* features) c_gst_caps_features_to_string; - GstCapsFeatures* function(const(char)* features) c_gst_caps_features_from_string; - - // gstreamer.ChildProxy - - GType function() c_gst_child_proxy_get_type; - void function(GstChildProxy* parent, GObject* child, const(char)* name) c_gst_child_proxy_child_added; - void function(GstChildProxy* parent, GObject* child, const(char)* name) c_gst_child_proxy_child_removed; - void function(GstChildProxy* object, const(char)* firstPropertyName, ... ) c_gst_child_proxy_get; - GObject* function(GstChildProxy* parent, uint index) c_gst_child_proxy_get_child_by_index; - GObject* function(GstChildProxy* parent, const(char)* name) c_gst_child_proxy_get_child_by_name; - uint function(GstChildProxy* parent) c_gst_child_proxy_get_children_count; - void function(GstChildProxy* object, const(char)* name, GValue* value) c_gst_child_proxy_get_property; - void function(GstChildProxy* object, const(char)* firstPropertyName, void* varArgs) c_gst_child_proxy_get_valist; - int function(GstChildProxy* object, const(char)* name, GObject** target, GParamSpec** pspec) c_gst_child_proxy_lookup; - void function(GstChildProxy* object, const(char)* firstPropertyName, ... ) c_gst_child_proxy_set; - void function(GstChildProxy* object, const(char)* name, GValue* value) c_gst_child_proxy_set_property; - void function(GstChildProxy* object, const(char)* firstPropertyName, void* varArgs) c_gst_child_proxy_set_valist; - - // gstreamer.Clock - - GType function() c_gst_clock_get_type; - int function(void* id1, void* id2) c_gst_clock_id_compare_func; - GstClock* function(GstClockID id) c_gst_clock_id_get_clock; - GstClockTime function(GstClockID id) c_gst_clock_id_get_time; - GstClockID function(GstClockID id) c_gst_clock_id_ref; - void function(GstClockID id) c_gst_clock_id_unref; - void function(GstClockID id) c_gst_clock_id_unschedule; - int function(GstClockID id, GstClock* clock) c_gst_clock_id_uses_clock; - GstClockReturn function(GstClockID id, GstClockTimeDiff* jitter) c_gst_clock_id_wait; - GstClockReturn function(GstClockID id, GstClockCallback func, void* userData, GDestroyNotify destroyData) c_gst_clock_id_wait_async; - int function(GstClock* clock, GstClockTime slave, GstClockTime master, double* rSquared) c_gst_clock_add_observation; - int function(GstClock* clock, GstClockTime slave, GstClockTime master, double* rSquared, GstClockTime* internal, GstClockTime* external, GstClockTime* rateNum, GstClockTime* rateDenom) c_gst_clock_add_observation_unapplied; - GstClockTime function(GstClock* clock, GstClockTime internal) c_gst_clock_adjust_unlocked; - GstClockTime function(GstClock* clock, GstClockTime internalTarget, GstClockTime cinternal, GstClockTime cexternal, GstClockTime cnum, GstClockTime cdenom) c_gst_clock_adjust_with_calibration; - void function(GstClock* clock, GstClockTime* internal, GstClockTime* external, GstClockTime* rateNum, GstClockTime* rateDenom) c_gst_clock_get_calibration; - GstClockTime function(GstClock* clock) c_gst_clock_get_internal_time; - GstClock* function(GstClock* clock) c_gst_clock_get_master; - GstClockTime function(GstClock* clock) c_gst_clock_get_resolution; - GstClockTime function(GstClock* clock) c_gst_clock_get_time; - GstClockTime function(GstClock* clock) c_gst_clock_get_timeout; - int function(GstClock* clock) c_gst_clock_is_synced; - GstClockID function(GstClock* clock, GstClockTime startTime, GstClockTime interval) c_gst_clock_new_periodic_id; - GstClockID function(GstClock* clock, GstClockTime time) c_gst_clock_new_single_shot_id; - int function(GstClock* clock, GstClockID id, GstClockTime startTime, GstClockTime interval) c_gst_clock_periodic_id_reinit; - void function(GstClock* clock, GstClockTime internal, GstClockTime external, GstClockTime rateNum, GstClockTime rateDenom) c_gst_clock_set_calibration; - int function(GstClock* clock, GstClock* master) c_gst_clock_set_master; - GstClockTime function(GstClock* clock, GstClockTime resolution) c_gst_clock_set_resolution; - void function(GstClock* clock, int synced) c_gst_clock_set_synced; - void function(GstClock* clock, GstClockTime timeout) c_gst_clock_set_timeout; - int function(GstClock* clock, GstClockID id, GstClockTime time) c_gst_clock_single_shot_id_reinit; - GstClockTime function(GstClock* clock, GstClockTime external) c_gst_clock_unadjust_unlocked; - GstClockTime function(GstClock* clock, GstClockTime externalTarget, GstClockTime cinternal, GstClockTime cexternal, GstClockTime cnum, GstClockTime cdenom) c_gst_clock_unadjust_with_calibration; - int function(GstClock* clock, GstClockTime timeout) c_gst_clock_wait_for_sync; - - // gstreamer.Context - - GType function() c_gst_context_get_type; - GstContext* function(const(char)* contextType, int persistent) c_gst_context_new; - const(char)* function(GstContext* context) c_gst_context_get_context_type; - GstStructure* function(GstContext* context) c_gst_context_get_structure; - int function(GstContext* context, const(char)* contextType) c_gst_context_has_context_type; - int function(GstContext* context) c_gst_context_is_persistent; - GstStructure* function(GstContext* context) c_gst_context_writable_structure; - - // gstreamer.ControlBinding - - GType function() c_gst_control_binding_get_type; - int function(GstControlBinding* binding, GstClockTime timestamp, GstClockTime interval, uint nValues, GValue* values) c_gst_control_binding_get_g_value_array; - GValue* function(GstControlBinding* binding, GstClockTime timestamp) c_gst_control_binding_get_value; - int function(GstControlBinding* binding, GstClockTime timestamp, GstClockTime interval, uint nValues, void* values) c_gst_control_binding_get_value_array; - int function(GstControlBinding* binding) c_gst_control_binding_is_disabled; - void function(GstControlBinding* binding, int disabled) c_gst_control_binding_set_disabled; - int function(GstControlBinding* binding, GstObject* object, GstClockTime timestamp, GstClockTime lastSync) c_gst_control_binding_sync_values; - - // gstreamer.ControlSource - - GType function() c_gst_control_source_get_type; - int function(GstControlSource* self, GstClockTime timestamp, double* value) c_gst_control_source_get_value; - int function(GstControlSource* self, GstClockTime timestamp, GstClockTime interval, uint nValues, double* values) c_gst_control_source_get_value_array; - - // gstreamer.DateTime - - GType function() c_gst_date_time_get_type; - GstDateTime* function(float tzoffset, int year, int month, int day, int hour, int minute, double seconds) c_gst_date_time_new; - GstDateTime* function(GDateTime* dt) c_gst_date_time_new_from_g_date_time; - GstDateTime* function(const(char)* string_) c_gst_date_time_new_from_iso8601_string; - GstDateTime* function(long secs) c_gst_date_time_new_from_unix_epoch_local_time; - GstDateTime* function(long usecs) c_gst_date_time_new_from_unix_epoch_local_time_usecs; - GstDateTime* function(long secs) c_gst_date_time_new_from_unix_epoch_utc; - GstDateTime* function(long usecs) c_gst_date_time_new_from_unix_epoch_utc_usecs; - GstDateTime* function(int year, int month, int day, int hour, int minute, double seconds) c_gst_date_time_new_local_time; - GstDateTime* function() c_gst_date_time_new_now_local_time; - GstDateTime* function() c_gst_date_time_new_now_utc; - GstDateTime* function(int year) c_gst_date_time_new_y; - GstDateTime* function(int year, int month) c_gst_date_time_new_ym; - GstDateTime* function(int year, int month, int day) c_gst_date_time_new_ymd; - int function(GstDateTime* datetime) c_gst_date_time_get_day; - int function(GstDateTime* datetime) c_gst_date_time_get_hour; - int function(GstDateTime* datetime) c_gst_date_time_get_microsecond; - int function(GstDateTime* datetime) c_gst_date_time_get_minute; - int function(GstDateTime* datetime) c_gst_date_time_get_month; - int function(GstDateTime* datetime) c_gst_date_time_get_second; - float function(GstDateTime* datetime) c_gst_date_time_get_time_zone_offset; - int function(GstDateTime* datetime) c_gst_date_time_get_year; - int function(GstDateTime* datetime) c_gst_date_time_has_day; - int function(GstDateTime* datetime) c_gst_date_time_has_month; - int function(GstDateTime* datetime) c_gst_date_time_has_second; - int function(GstDateTime* datetime) c_gst_date_time_has_time; - int function(GstDateTime* datetime) c_gst_date_time_has_year; - GstDateTime* function(GstDateTime* datetime) c_gst_date_time_ref; - GDateTime* function(GstDateTime* datetime) c_gst_date_time_to_g_date_time; - char* function(GstDateTime* datetime) c_gst_date_time_to_iso8601_string; - void function(GstDateTime* datetime) c_gst_date_time_unref; - - // gstreamer.DebugCategory - - void function(GstDebugCategory* category) c_gst_debug_category_free; - uint function(GstDebugCategory* category) c_gst_debug_category_get_color; - const(char)* function(GstDebugCategory* category) c_gst_debug_category_get_description; - const(char)* function(GstDebugCategory* category) c_gst_debug_category_get_name; - GstDebugLevel function(GstDebugCategory* category) c_gst_debug_category_get_threshold; - void function(GstDebugCategory* category) c_gst_debug_category_reset_threshold; - void function(GstDebugCategory* category, GstDebugLevel level) c_gst_debug_category_set_threshold; - - // gstreamer.DebugMessage - - const(char)* function(GstDebugMessage* message) c_gst_debug_message_get; - - // gstreamer.Device - - GType function() c_gst_device_get_type; - GstElement* function(GstDevice* device, const(char)* name) c_gst_device_create_element; - GstCaps* function(GstDevice* device) c_gst_device_get_caps; - char* function(GstDevice* device) c_gst_device_get_device_class; - char* function(GstDevice* device) c_gst_device_get_display_name; - GstStructure* function(GstDevice* device) c_gst_device_get_properties; - int function(GstDevice* device, const(char)* classes) c_gst_device_has_classes; - int function(GstDevice* device, char** classes) c_gst_device_has_classesv; - int function(GstDevice* device, GstElement* element) c_gst_device_reconfigure_element; - - // gstreamer.DeviceMonitor - - GType function() c_gst_device_monitor_get_type; - GstDeviceMonitor* function() c_gst_device_monitor_new; - uint function(GstDeviceMonitor* monitor, const(char)* classes, GstCaps* caps) c_gst_device_monitor_add_filter; - GstBus* function(GstDeviceMonitor* monitor) c_gst_device_monitor_get_bus; - GList* function(GstDeviceMonitor* monitor) c_gst_device_monitor_get_devices; - char** function(GstDeviceMonitor* monitor) c_gst_device_monitor_get_providers; - int function(GstDeviceMonitor* monitor) c_gst_device_monitor_get_show_all_devices; - int function(GstDeviceMonitor* monitor, uint filterId) c_gst_device_monitor_remove_filter; - void function(GstDeviceMonitor* monitor, int showAll) c_gst_device_monitor_set_show_all_devices; - int function(GstDeviceMonitor* monitor) c_gst_device_monitor_start; - void function(GstDeviceMonitor* monitor) c_gst_device_monitor_stop; - - // gstreamer.DeviceProvider - - GType function() c_gst_device_provider_get_type; - int function(GstPlugin* plugin, const(char)* name, uint rank, GType type) c_gst_device_provider_register; - int function(GstDeviceProvider* provider) c_gst_device_provider_can_monitor; - void function(GstDeviceProvider* provider, GstDevice* device) c_gst_device_provider_device_add; - void function(GstDeviceProvider* provider, GstDevice* device, GstDevice* changedDevice) c_gst_device_provider_device_changed; - void function(GstDeviceProvider* provider, GstDevice* device) c_gst_device_provider_device_remove; - GstBus* function(GstDeviceProvider* provider) c_gst_device_provider_get_bus; - GList* function(GstDeviceProvider* provider) c_gst_device_provider_get_devices; - GstDeviceProviderFactory* function(GstDeviceProvider* provider) c_gst_device_provider_get_factory; - char** function(GstDeviceProvider* provider) c_gst_device_provider_get_hidden_providers; - const(char)* function(GstDeviceProvider* provider, const(char)* key) c_gst_device_provider_get_metadata; - void function(GstDeviceProvider* provider, const(char)* name) c_gst_device_provider_hide_provider; - int function(GstDeviceProvider* provider) c_gst_device_provider_start; - void function(GstDeviceProvider* provider) c_gst_device_provider_stop; - void function(GstDeviceProvider* provider, const(char)* name) c_gst_device_provider_unhide_provider; - - // gstreamer.DeviceProviderClass - - void function(GstDeviceProviderClass* klass, const(char)* key, const(char)* value) c_gst_device_provider_class_add_metadata; - void function(GstDeviceProviderClass* klass, const(char)* key, const(char)* value) c_gst_device_provider_class_add_static_metadata; - const(char)* function(GstDeviceProviderClass* klass, const(char)* key) c_gst_device_provider_class_get_metadata; - void function(GstDeviceProviderClass* klass, const(char)* longname, const(char)* classification, const(char)* description, const(char)* author) c_gst_device_provider_class_set_metadata; - void function(GstDeviceProviderClass* klass, const(char)* longname, const(char)* classification, const(char)* description, const(char)* author) c_gst_device_provider_class_set_static_metadata; - - // gstreamer.DeviceProviderFactory - - GType function() c_gst_device_provider_factory_get_type; - GstDeviceProviderFactory* function(const(char)* name) c_gst_device_provider_factory_find; - GstDeviceProvider* function(const(char)* factoryname) c_gst_device_provider_factory_get_by_name; - GList* function(GstRank minrank) c_gst_device_provider_factory_list_get_device_providers; - GstDeviceProvider* function(GstDeviceProviderFactory* factory) c_gst_device_provider_factory_get; - GType function(GstDeviceProviderFactory* factory) c_gst_device_provider_factory_get_device_provider_type; - const(char)* function(GstDeviceProviderFactory* factory, const(char)* key) c_gst_device_provider_factory_get_metadata; - char** function(GstDeviceProviderFactory* factory) c_gst_device_provider_factory_get_metadata_keys; - int function(GstDeviceProviderFactory* factory, const(char)* classes) c_gst_device_provider_factory_has_classes; - int function(GstDeviceProviderFactory* factory, char** classes) c_gst_device_provider_factory_has_classesv; - - // gstreamer.DoubleRange - - GType function() c_gst_double_range_get_type; - - // gstreamer.DynamicTypeFactory - - GType function() c_gst_dynamic_type_factory_get_type; - GType function(const(char)* factoryname) c_gst_dynamic_type_factory_load; - - // gstreamer.Element - - GType function() c_gst_element_get_type; - GstElement* function(GstURIType type, const(char)* uri, const(char)* elementname, GError** err) c_gst_element_make_from_uri; - int function(GstPlugin* plugin, const(char)* name, uint rank, GType type) c_gst_element_register; - const(char)* function(GstStateChangeReturn stateRet) c_gst_element_state_change_return_get_name; - const(char)* function(GstState state) c_gst_element_state_get_name; - void function(GstElement* element) c_gst_element_abort_state; - int function(GstElement* element, GstPad* pad) c_gst_element_add_pad; - gulong function(GstElement* element, const(char)* propertyName, int includeValue) c_gst_element_add_property_deep_notify_watch; - gulong function(GstElement* element, const(char)* propertyName, int includeValue) c_gst_element_add_property_notify_watch; - void function(GstElement* element, GstElementCallAsyncFunc func, void* userData, GDestroyNotify destroyNotify) c_gst_element_call_async; - GstStateChangeReturn function(GstElement* element, GstStateChange transition) c_gst_element_change_state; - GstStateChangeReturn function(GstElement* element, GstStateChangeReturn ret) c_gst_element_continue_state; - void function(GstElement* element) c_gst_element_create_all_pads; - int function(GstElement* element, GstElementForeachPadFunc func, void* userData) c_gst_element_foreach_pad; - int function(GstElement* element, GstElementForeachPadFunc func, void* userData) c_gst_element_foreach_sink_pad; - int function(GstElement* element, GstElementForeachPadFunc func, void* userData) c_gst_element_foreach_src_pad; - GstClockTime function(GstElement* element) c_gst_element_get_base_time; - GstBus* function(GstElement* element) c_gst_element_get_bus; - GstClock* function(GstElement* element) c_gst_element_get_clock; - GstPad* function(GstElement* element, GstPad* pad, GstCaps* caps) c_gst_element_get_compatible_pad; - GstPadTemplate* function(GstElement* element, GstPadTemplate* compattempl) c_gst_element_get_compatible_pad_template; - GstContext* function(GstElement* element, const(char)* contextType) c_gst_element_get_context; - GstContext* function(GstElement* element, const(char)* contextType) c_gst_element_get_context_unlocked; - GList* function(GstElement* element) c_gst_element_get_contexts; - GstClockTime function(GstElement* element) c_gst_element_get_current_clock_time; - GstClockTime function(GstElement* element) c_gst_element_get_current_running_time; - GstElementFactory* function(GstElement* element) c_gst_element_get_factory; - const(char)* function(GstElement* element, const(char)* key) c_gst_element_get_metadata; - GstPadTemplate* function(GstElement* element, const(char)* name) c_gst_element_get_pad_template; - GList* function(GstElement* element) c_gst_element_get_pad_template_list; - GstPad* function(GstElement* element, const(char)* name) c_gst_element_get_request_pad; - GstClockTime function(GstElement* element) c_gst_element_get_start_time; - GstStateChangeReturn function(GstElement* element, GstState* state, GstState* pending, GstClockTime timeout) c_gst_element_get_state; - GstPad* function(GstElement* element, const(char)* name) c_gst_element_get_static_pad; - int function(GstElement* element) c_gst_element_is_locked_state; - GstIterator* function(GstElement* element) c_gst_element_iterate_pads; - GstIterator* function(GstElement* element) c_gst_element_iterate_sink_pads; - GstIterator* function(GstElement* element) c_gst_element_iterate_src_pads; - int function(GstElement* src, GstElement* dest) c_gst_element_link; - int function(GstElement* src, GstElement* dest, GstCaps* filter) c_gst_element_link_filtered; - int function(GstElement* element1, GstElement* element2, ... ) c_gst_element_link_many; - int function(GstElement* src, const(char)* srcpadname, GstElement* dest, const(char)* destpadname) c_gst_element_link_pads; - int function(GstElement* src, const(char)* srcpadname, GstElement* dest, const(char)* destpadname, GstCaps* filter) c_gst_element_link_pads_filtered; - int function(GstElement* src, const(char)* srcpadname, GstElement* dest, const(char)* destpadname, GstPadLinkCheck flags) c_gst_element_link_pads_full; - void function(GstElement* element) c_gst_element_lost_state; - void function(GstElement* element, GstMessageType type, GQuark domain, int code, char* text, char* debug_, const(char)* file, const(char)* function_, int line) c_gst_element_message_full; - void function(GstElement* element, GstMessageType type, GQuark domain, int code, char* text, char* debug_, const(char)* file, const(char)* function_, int line, GstStructure* structure) c_gst_element_message_full_with_details; - void function(GstElement* element) c_gst_element_no_more_pads; - int function(GstElement* element, GstMessage* message) c_gst_element_post_message; - GstClock* function(GstElement* element) c_gst_element_provide_clock; - int function(GstElement* element, GstQuery* query) c_gst_element_query; - int function(GstElement* element, GstFormat srcFormat, long srcVal, GstFormat destFormat, long* destVal) c_gst_element_query_convert; - int function(GstElement* element, GstFormat format, long* duration) c_gst_element_query_duration; - int function(GstElement* element, GstFormat format, long* cur) c_gst_element_query_position; - void function(GstElement* element, GstPad* pad) c_gst_element_release_request_pad; - int function(GstElement* element, GstPad* pad) c_gst_element_remove_pad; - void function(GstElement* element, gulong watchId) c_gst_element_remove_property_notify_watch; - GstPad* function(GstElement* element, GstPadTemplate* templ, const(char)* name, GstCaps* caps) c_gst_element_request_pad; - int function(GstElement* element, double rate, GstFormat format, GstSeekFlags flags, GstSeekType startType, long start, GstSeekType stopType, long stop) c_gst_element_seek; - int function(GstElement* element, GstFormat format, GstSeekFlags seekFlags, long seekPos) c_gst_element_seek_simple; - int function(GstElement* element, GstEvent* event) c_gst_element_send_event; - void function(GstElement* element, GstClockTime time) c_gst_element_set_base_time; - void function(GstElement* element, GstBus* bus) c_gst_element_set_bus; - int function(GstElement* element, GstClock* clock) c_gst_element_set_clock; - void function(GstElement* element, GstContext* context) c_gst_element_set_context; - int function(GstElement* element, int lockedState) c_gst_element_set_locked_state; - void function(GstElement* element, GstClockTime time) c_gst_element_set_start_time; - GstStateChangeReturn function(GstElement* element, GstState state) c_gst_element_set_state; - int function(GstElement* element) c_gst_element_sync_state_with_parent; - void function(GstElement* src, GstElement* dest) c_gst_element_unlink; - void function(GstElement* element1, GstElement* element2, ... ) c_gst_element_unlink_many; - void function(GstElement* src, const(char)* srcpadname, GstElement* dest, const(char)* destpadname) c_gst_element_unlink_pads; - - // gstreamer.ElementClass - - void function(GstElementClass* klass, const(char)* key, const(char)* value) c_gst_element_class_add_metadata; - void function(GstElementClass* klass, GstPadTemplate* templ) c_gst_element_class_add_pad_template; - void function(GstElementClass* klass, const(char)* key, const(char)* value) c_gst_element_class_add_static_metadata; - void function(GstElementClass* klass, GstStaticPadTemplate* staticTempl) c_gst_element_class_add_static_pad_template; - void function(GstElementClass* klass, GstStaticPadTemplate* staticTempl, GType padType) c_gst_element_class_add_static_pad_template_with_gtype; - const(char)* function(GstElementClass* klass, const(char)* key) c_gst_element_class_get_metadata; - GstPadTemplate* function(GstElementClass* elementClass, const(char)* name) c_gst_element_class_get_pad_template; - GList* function(GstElementClass* elementClass) c_gst_element_class_get_pad_template_list; - void function(GstElementClass* klass, const(char)* longname, const(char)* classification, const(char)* description, const(char)* author) c_gst_element_class_set_metadata; - void function(GstElementClass* klass, const(char)* longname, const(char)* classification, const(char)* description, const(char)* author) c_gst_element_class_set_static_metadata; - - // gstreamer.ElementFactory - - GType function() c_gst_element_factory_get_type; - GstElementFactory* function(const(char)* name) c_gst_element_factory_find; - GList* function(GList* list, GstCaps* caps, GstPadDirection direction, int subsetonly) c_gst_element_factory_list_filter; - GList* function(GstElementFactoryListType type, GstRank minrank) c_gst_element_factory_list_get_elements; - GstElement* function(const(char)* factoryname, const(char)* name) c_gst_element_factory_make; - int function(GstElementFactory* factory, GstCaps* caps) c_gst_element_factory_can_sink_all_caps; - int function(GstElementFactory* factory, GstCaps* caps) c_gst_element_factory_can_sink_any_caps; - int function(GstElementFactory* factory, GstCaps* caps) c_gst_element_factory_can_src_all_caps; - int function(GstElementFactory* factory, GstCaps* caps) c_gst_element_factory_can_src_any_caps; - GstElement* function(GstElementFactory* factory, const(char)* name) c_gst_element_factory_create; - GType function(GstElementFactory* factory) c_gst_element_factory_get_element_type; - const(char)* function(GstElementFactory* factory, const(char)* key) c_gst_element_factory_get_metadata; - char** function(GstElementFactory* factory) c_gst_element_factory_get_metadata_keys; - uint function(GstElementFactory* factory) c_gst_element_factory_get_num_pad_templates; - GList* function(GstElementFactory* factory) c_gst_element_factory_get_static_pad_templates; - char** function(GstElementFactory* factory) c_gst_element_factory_get_uri_protocols; - GstURIType function(GstElementFactory* factory) c_gst_element_factory_get_uri_type; - int function(GstElementFactory* factory, const(char)* interfacename) c_gst_element_factory_has_interface; - int function(GstElementFactory* factory, GstElementFactoryListType type) c_gst_element_factory_list_is_type; - - // gstreamer.Event - - GType function() c_gst_event_get_type; - GstEvent* function(GstFormat format, long minsize, long maxsize, int async) c_gst_event_new_buffer_size; - GstEvent* function(GstCaps* caps) c_gst_event_new_caps; - GstEvent* function(GstEventType type, GstStructure* structure) c_gst_event_new_custom; - GstEvent* function() c_gst_event_new_eos; - GstEvent* function() c_gst_event_new_flush_start; - GstEvent* function(int resetTime) c_gst_event_new_flush_stop; - GstEvent* function(GstClockTime timestamp, GstClockTime duration) c_gst_event_new_gap; - GstEvent* function(double rateMultiplier, GstSegmentFlags newFlags) c_gst_event_new_instant_rate_change; - GstEvent* function(double rateMultiplier, GstClockTime runningTime, GstClockTime upstreamRunningTime) c_gst_event_new_instant_rate_sync_time; - GstEvent* function(GstClockTime latency) c_gst_event_new_latency; - GstEvent* function(GstStructure* structure) c_gst_event_new_navigation; - GstEvent* function(const(char)* systemId, GstBuffer* data, const(char)* origin) c_gst_event_new_protection; - GstEvent* function(GstQOSType type, double proportion, GstClockTimeDiff diff, GstClockTime timestamp) c_gst_event_new_qos; - GstEvent* function() c_gst_event_new_reconfigure; - GstEvent* function(double rate, GstFormat format, GstSeekFlags flags, GstSeekType startType, long start, GstSeekType stopType, long stop) c_gst_event_new_seek; - GstEvent* function(GstSegment* segment) c_gst_event_new_segment; - GstEvent* function(GstFormat format, long position) c_gst_event_new_segment_done; - GstEvent* function(GList* streams) c_gst_event_new_select_streams; - GstEvent* function(const(char)* name, GstMessage* msg) c_gst_event_new_sink_message; - GstEvent* function(GstFormat format, ulong amount, double rate, int flush, int intermediate) c_gst_event_new_step; - GstEvent* function(GstStreamCollection* collection) c_gst_event_new_stream_collection; - GstEvent* function(uint groupId) c_gst_event_new_stream_group_done; - GstEvent* function(const(char)* streamId) c_gst_event_new_stream_start; - GstEvent* function(GstTagList* taglist) c_gst_event_new_tag; - GstEvent* function(GstToc* toc, int updated) c_gst_event_new_toc; - GstEvent* function(const(char)* uid) c_gst_event_new_toc_select; - void function(GstEvent* event, GstSegment* segment) c_gst_event_copy_segment; - long function(GstEvent* event) c_gst_event_get_running_time_offset; - uint function(GstEvent* event) c_gst_event_get_seqnum; - GstStructure* function(GstEvent* event) c_gst_event_get_structure; - int function(GstEvent* event, const(char)* name) c_gst_event_has_name; - int function(GstEvent* event, GQuark name) c_gst_event_has_name_id; - void function(GstEvent* event, GstFormat* format, long* minsize, long* maxsize, int* async) c_gst_event_parse_buffer_size; - void function(GstEvent* event, GstCaps** caps) c_gst_event_parse_caps; - void function(GstEvent* event, int* resetTime) c_gst_event_parse_flush_stop; - void function(GstEvent* event, GstClockTime* timestamp, GstClockTime* duration) c_gst_event_parse_gap; - int function(GstEvent* event, uint* groupId) c_gst_event_parse_group_id; - void function(GstEvent* event, double* rateMultiplier, GstSegmentFlags* newFlags) c_gst_event_parse_instant_rate_change; - void function(GstEvent* event, double* rateMultiplier, GstClockTime* runningTime, GstClockTime* upstreamRunningTime) c_gst_event_parse_instant_rate_sync_time; - void function(GstEvent* event, GstClockTime* latency) c_gst_event_parse_latency; - void function(GstEvent* event, char** systemId, GstBuffer** data, char** origin) c_gst_event_parse_protection; - void function(GstEvent* event, GstQOSType* type, double* proportion, GstClockTimeDiff* diff, GstClockTime* timestamp) c_gst_event_parse_qos; - void function(GstEvent* event, double* rate, GstFormat* format, GstSeekFlags* flags, GstSeekType* startType, long* start, GstSeekType* stopType, long* stop) c_gst_event_parse_seek; - void function(GstEvent* event, GstClockTime* interval) c_gst_event_parse_seek_trickmode_interval; - void function(GstEvent* event, GstSegment** segment) c_gst_event_parse_segment; - void function(GstEvent* event, GstFormat* format, long* position) c_gst_event_parse_segment_done; - void function(GstEvent* event, GList** streams) c_gst_event_parse_select_streams; - void function(GstEvent* event, GstMessage** msg) c_gst_event_parse_sink_message; - void function(GstEvent* event, GstFormat* format, ulong* amount, double* rate, int* flush, int* intermediate) c_gst_event_parse_step; - void function(GstEvent* event, GstStream** stream) c_gst_event_parse_stream; - void function(GstEvent* event, GstStreamCollection** collection) c_gst_event_parse_stream_collection; - void function(GstEvent* event, GstStreamFlags* flags) c_gst_event_parse_stream_flags; - void function(GstEvent* event, uint* groupId) c_gst_event_parse_stream_group_done; - void function(GstEvent* event, char** streamId) c_gst_event_parse_stream_start; - void function(GstEvent* event, GstTagList** taglist) c_gst_event_parse_tag; - void function(GstEvent* event, GstToc** toc, int* updated) c_gst_event_parse_toc; - void function(GstEvent* event, char** uid) c_gst_event_parse_toc_select; - void function(GstEvent* event, uint groupId) c_gst_event_set_group_id; - void function(GstEvent* event, long offset) c_gst_event_set_running_time_offset; - void function(GstEvent* event, GstClockTime interval) c_gst_event_set_seek_trickmode_interval; - void function(GstEvent* event, uint seqnum) c_gst_event_set_seqnum; - void function(GstEvent* event, GstStream* stream) c_gst_event_set_stream; - void function(GstEvent* event, GstStreamFlags flags) c_gst_event_set_stream_flags; - GstStructure* function(GstEvent* event) c_gst_event_writable_structure; - GstEventTypeFlags function(GstEventType type) c_gst_event_type_get_flags; - const(char)* function(GstEventType type) c_gst_event_type_get_name; - GQuark function(GstEventType type) c_gst_event_type_to_quark; - - // gstreamer.FlagSet - - GType function() c_gst_flagset_get_type; - GType function(GType flagsType) c_gst_flagset_register; - - // gstreamer.Fraction - - GType function() c_gst_fraction_get_type; - - // gstreamer.FractionRange - - GType function() c_gst_fraction_range_get_type; - - // gstreamer.GhostPad - - GType function() c_gst_ghost_pad_get_type; - GstPad* function(const(char)* name, GstPad* target) c_gst_ghost_pad_new; - GstPad* function(const(char)* name, GstPad* target, GstPadTemplate* templ) c_gst_ghost_pad_new_from_template; - GstPad* function(const(char)* name, GstPadDirection dir) c_gst_ghost_pad_new_no_target; - GstPad* function(const(char)* name, GstPadTemplate* templ) c_gst_ghost_pad_new_no_target_from_template; - int function(GstPad* pad, GstObject* parent, GstPadMode mode, int active) c_gst_ghost_pad_activate_mode_default; - int function(GstPad* pad, GstObject* parent, GstPadMode mode, int active) c_gst_ghost_pad_internal_activate_mode_default; - int function(GstGhostPad* gpad) c_gst_ghost_pad_construct; - GstPad* function(GstGhostPad* gpad) c_gst_ghost_pad_get_target; - int function(GstGhostPad* gpad, GstPad* newtarget) c_gst_ghost_pad_set_target; - - // gstreamer.Int64Range - - GType function() c_gst_int64_range_get_type; - - // gstreamer.IntRange - - GType function() c_gst_int_range_get_type; - - // gstreamer.Iterator - - GType function() c_gst_iterator_get_type; - GstIterator* function(uint size, GType type, GMutex* lock, uint* masterCookie, GstIteratorCopyFunction copy, GstIteratorNextFunction next, GstIteratorItemFunction item, GstIteratorResyncFunction resync, GstIteratorFreeFunction free) c_gst_iterator_new; - GstIterator* function(GType type, GMutex* lock, uint* masterCookie, GList** list, GObject* owner, GstIteratorItemFunction item) c_gst_iterator_new_list; - GstIterator* function(GType type, GValue* object) c_gst_iterator_new_single; - GstIterator* function(GstIterator* it) c_gst_iterator_copy; - GstIterator* function(GstIterator* it, GCompareFunc func, GValue* userData) c_gst_iterator_filter; - int function(GstIterator* it, GCompareFunc func, GValue* elem, void* userData) c_gst_iterator_find_custom; - GstIteratorResult function(GstIterator* it, GstIteratorFoldFunction func, GValue* ret, void* userData) c_gst_iterator_fold; - GstIteratorResult function(GstIterator* it, GstIteratorForeachFunction func, void* userData) c_gst_iterator_foreach; - void function(GstIterator* it) c_gst_iterator_free; - GstIteratorResult function(GstIterator* it, GValue* elem) c_gst_iterator_next; - void function(GstIterator* it, GstIterator* other) c_gst_iterator_push; - void function(GstIterator* it) c_gst_iterator_resync; - - // gstreamer.Memory - - GType function() c_gst_memory_get_type; - GstMemory* function(GstMemoryFlags flags, void* data, size_t maxsize, size_t offset, size_t size, void* userData, GDestroyNotify notify) c_gst_memory_new_wrapped; - GstMemory* function(GstMemory* mem, ptrdiff_t offset, ptrdiff_t size) c_gst_memory_copy; - size_t function(GstMemory* mem, size_t* offset, size_t* maxsize) c_gst_memory_get_sizes; - void function(GstMemory* mem, GstMemoryFlags flags, GstAllocator* allocator, GstMemory* parent, size_t maxsize, size_t align_, size_t offset, size_t size) c_gst_memory_init; - int function(GstMemory* mem1, GstMemory* mem2, size_t* offset) c_gst_memory_is_span; - int function(GstMemory* mem, const(char)* memType) c_gst_memory_is_type; - GstMemory* function(GstMemory* mem, GstMapInfo* info, GstMapFlags flags) c_gst_memory_make_mapped; - int function(GstMemory* mem, GstMapInfo* info, GstMapFlags flags) c_gst_memory_map; - void function(GstMemory* mem, ptrdiff_t offset, size_t size) c_gst_memory_resize; - GstMemory* function(GstMemory* mem, ptrdiff_t offset, ptrdiff_t size) c_gst_memory_share; - void function(GstMemory* mem, GstMapInfo* info) c_gst_memory_unmap; - - // gstreamer.Message - - GType function() c_gst_message_get_type; - GstMessage* function(GstObject* src, GstStructure* structure) c_gst_message_new_application; - GstMessage* function(GstObject* src, GstClockTime runningTime) c_gst_message_new_async_done; - GstMessage* function(GstObject* src) c_gst_message_new_async_start; - GstMessage* function(GstObject* src, int percent) c_gst_message_new_buffering; - GstMessage* function(GstObject* src, GstClock* clock) c_gst_message_new_clock_lost; - GstMessage* function(GstObject* src, GstClock* clock, int ready) c_gst_message_new_clock_provide; - GstMessage* function(GstMessageType type, GstObject* src, GstStructure* structure) c_gst_message_new_custom; - GstMessage* function(GstObject* src, GstDevice* device) c_gst_message_new_device_added; - GstMessage* function(GstObject* src, GstDevice* device, GstDevice* changedDevice) c_gst_message_new_device_changed; - GstMessage* function(GstObject* src, GstDevice* device) c_gst_message_new_device_removed; - GstMessage* function(GstObject* src) c_gst_message_new_duration_changed; - GstMessage* function(GstObject* src, GstStructure* structure) c_gst_message_new_element; - GstMessage* function(GstObject* src) c_gst_message_new_eos; - GstMessage* function(GstObject* src, GError* error, const(char)* debug_) c_gst_message_new_error; - GstMessage* function(GstObject* src, GError* error, const(char)* debug_, GstStructure* details) c_gst_message_new_error_with_details; - GstMessage* function(GstObject* src, GstContext* context) c_gst_message_new_have_context; - GstMessage* function(GstObject* src, GError* error, const(char)* debug_) c_gst_message_new_info; - GstMessage* function(GstObject* src, GError* error, const(char)* debug_, GstStructure* details) c_gst_message_new_info_with_details; - GstMessage* function(GstObject* src, double rateMultiplier) c_gst_message_new_instant_rate_request; - GstMessage* function(GstObject* src) c_gst_message_new_latency; - GstMessage* function(GstObject* src, const(char)* contextType) c_gst_message_new_need_context; - GstMessage* function(GstObject* src, GstClock* clock) c_gst_message_new_new_clock; - GstMessage* function(GstObject* src, GstProgressType type, const(char)* code, const(char)* text) c_gst_message_new_progress; - GstMessage* function(GstObject* src, const(char)* propertyName, GValue* val) c_gst_message_new_property_notify; - GstMessage* function(GstObject* src, int live, ulong runningTime, ulong streamTime, ulong timestamp, ulong duration) c_gst_message_new_qos; - GstMessage* function(GstObject* src, const(char)* location, GstTagList* tagList, GstStructure* entryStruct) c_gst_message_new_redirect; - GstMessage* function(GstObject* src, GstState state) c_gst_message_new_request_state; - GstMessage* function(GstObject* src, GstClockTime runningTime) c_gst_message_new_reset_time; - GstMessage* function(GstObject* src, GstFormat format, long position) c_gst_message_new_segment_done; - GstMessage* function(GstObject* src, GstFormat format, long position) c_gst_message_new_segment_start; - GstMessage* function(GstObject* src, GstState oldstate, GstState newstate, GstState pending) c_gst_message_new_state_changed; - GstMessage* function(GstObject* src) c_gst_message_new_state_dirty; - GstMessage* function(GstObject* src, GstFormat format, ulong amount, double rate, int flush, int intermediate, ulong duration, int eos) c_gst_message_new_step_done; - GstMessage* function(GstObject* src, int active, GstFormat format, ulong amount, double rate, int flush, int intermediate) c_gst_message_new_step_start; - GstMessage* function(GstObject* src, GstStreamCollection* collection) c_gst_message_new_stream_collection; - GstMessage* function(GstObject* src) c_gst_message_new_stream_start; - GstMessage* function(GstObject* src, GstStreamStatusType type, GstElement* owner) c_gst_message_new_stream_status; - GstMessage* function(GstObject* src, GstStreamCollection* collection) c_gst_message_new_streams_selected; - GstMessage* function(GstObject* src, GstStructureChangeType type, GstElement* owner, int busy) c_gst_message_new_structure_change; - GstMessage* function(GstObject* src, GstTagList* tagList) c_gst_message_new_tag; - GstMessage* function(GstObject* src, GstToc* toc, int updated) c_gst_message_new_toc; - GstMessage* function(GstObject* src, GError* error, const(char)* debug_) c_gst_message_new_warning; - GstMessage* function(GstObject* src, GError* error, const(char)* debug_, GstStructure* details) c_gst_message_new_warning_with_details; - void function(GstMessage* message, const(char)* location, GstTagList* tagList, GstStructure* entryStruct) c_gst_message_add_redirect_entry; - GstMessage* function(GstMessage* msg) c_gst_message_copy; - size_t function(GstMessage* message) c_gst_message_get_num_redirect_entries; - uint function(GstMessage* message) c_gst_message_get_seqnum; - GValue* function(GstMessage* message) c_gst_message_get_stream_status_object; - GstStructure* function(GstMessage* message) c_gst_message_get_structure; - int function(GstMessage* message, const(char)* name) c_gst_message_has_name; - void function(GstMessage* message, GstClockTime* runningTime) c_gst_message_parse_async_done; - void function(GstMessage* message, int* percent) c_gst_message_parse_buffering; - void function(GstMessage* message, GstBufferingMode* mode, int* avgIn, int* avgOut, long* bufferingLeft) c_gst_message_parse_buffering_stats; - void function(GstMessage* message, GstClock** clock) c_gst_message_parse_clock_lost; - void function(GstMessage* message, GstClock** clock, int* ready) c_gst_message_parse_clock_provide; - int function(GstMessage* message, char** contextType) c_gst_message_parse_context_type; - void function(GstMessage* message, GstDevice** device) c_gst_message_parse_device_added; - void function(GstMessage* message, GstDevice** device, GstDevice** changedDevice) c_gst_message_parse_device_changed; - void function(GstMessage* message, GstDevice** device) c_gst_message_parse_device_removed; - void function(GstMessage* message, GError** gerror, char** debug_) c_gst_message_parse_error; - void function(GstMessage* message, GstStructure** structure) c_gst_message_parse_error_details; - int function(GstMessage* message, uint* groupId) c_gst_message_parse_group_id; - void function(GstMessage* message, GstContext** context) c_gst_message_parse_have_context; - void function(GstMessage* message, GError** gerror, char** debug_) c_gst_message_parse_info; - void function(GstMessage* message, GstStructure** structure) c_gst_message_parse_info_details; - void function(GstMessage* message, double* rateMultiplier) c_gst_message_parse_instant_rate_request; - void function(GstMessage* message, GstClock** clock) c_gst_message_parse_new_clock; - void function(GstMessage* message, GstProgressType* type, char** code, char** text) c_gst_message_parse_progress; - void function(GstMessage* message, GstObject** object, char** propertyName, GValue** propertyValue) c_gst_message_parse_property_notify; - void function(GstMessage* message, int* live, ulong* runningTime, ulong* streamTime, ulong* timestamp, ulong* duration) c_gst_message_parse_qos; - void function(GstMessage* message, GstFormat* format, ulong* processed, ulong* dropped) c_gst_message_parse_qos_stats; - void function(GstMessage* message, long* jitter, double* proportion, int* quality) c_gst_message_parse_qos_values; - void function(GstMessage* message, size_t entryIndex, char** location, GstTagList** tagList, GstStructure** entryStruct) c_gst_message_parse_redirect_entry; - void function(GstMessage* message, GstState* state) c_gst_message_parse_request_state; - void function(GstMessage* message, GstClockTime* runningTime) c_gst_message_parse_reset_time; - void function(GstMessage* message, GstFormat* format, long* position) c_gst_message_parse_segment_done; - void function(GstMessage* message, GstFormat* format, long* position) c_gst_message_parse_segment_start; - void function(GstMessage* message, GstState* oldstate, GstState* newstate, GstState* pending) c_gst_message_parse_state_changed; - void function(GstMessage* message, GstFormat* format, ulong* amount, double* rate, int* flush, int* intermediate, ulong* duration, int* eos) c_gst_message_parse_step_done; - void function(GstMessage* message, int* active, GstFormat* format, ulong* amount, double* rate, int* flush, int* intermediate) c_gst_message_parse_step_start; - void function(GstMessage* message, GstStreamCollection** collection) c_gst_message_parse_stream_collection; - void function(GstMessage* message, GstStreamStatusType* type, GstElement** owner) c_gst_message_parse_stream_status; - void function(GstMessage* message, GstStreamCollection** collection) c_gst_message_parse_streams_selected; - void function(GstMessage* message, GstStructureChangeType* type, GstElement** owner, int* busy) c_gst_message_parse_structure_change; - void function(GstMessage* message, GstTagList** tagList) c_gst_message_parse_tag; - void function(GstMessage* message, GstToc** toc, int* updated) c_gst_message_parse_toc; - void function(GstMessage* message, GError** gerror, char** debug_) c_gst_message_parse_warning; - void function(GstMessage* message, GstStructure** structure) c_gst_message_parse_warning_details; - void function(GstMessage* message, GstBufferingMode mode, int avgIn, int avgOut, long bufferingLeft) c_gst_message_set_buffering_stats; - void function(GstMessage* message, uint groupId) c_gst_message_set_group_id; - void function(GstMessage* message, GstFormat format, ulong processed, ulong dropped) c_gst_message_set_qos_stats; - void function(GstMessage* message, long jitter, double proportion, int quality) c_gst_message_set_qos_values; - void function(GstMessage* message, uint seqnum) c_gst_message_set_seqnum; - void function(GstMessage* message, GValue* object) c_gst_message_set_stream_status_object; - void function(GstMessage* message, GstStream* stream) c_gst_message_streams_selected_add; - uint function(GstMessage* message) c_gst_message_streams_selected_get_size; - GstStream* function(GstMessage* message, uint idx) c_gst_message_streams_selected_get_stream; - GstStructure* function(GstMessage* message) c_gst_message_writable_structure; - int function(GstMessage** oldMessage, GstMessage* newMessage) c_gst_message_replace; - const(char)* function(GstMessageType type) c_gst_message_type_get_name; - GQuark function(GstMessageType type) c_gst_message_type_to_quark; - - // gstreamer.Meta - - int function(GstMeta* meta1, GstMeta* meta2) c_gst_meta_compare_seqnum; - ulong function(GstMeta* meta) c_gst_meta_get_seqnum; - char** function(GType api) c_gst_meta_api_type_get_tags; - int function(GType api, GQuark tag) c_gst_meta_api_type_has_tag; - GType function(const(char)* api, char** tags) c_gst_meta_api_type_register; - GstMetaInfo* function(const(char)* impl) c_gst_meta_get_info; - GstMetaInfo* function(GType api, const(char)* impl, size_t size, GstMetaInitFunction initFunc, GstMetaFreeFunction freeFunc, GstMetaTransformFunction transformFunc) c_gst_meta_register; - - // gstreamer.MiniObject - - void function(GstMiniObject* object, GstMiniObject* parent) c_gst_mini_object_add_parent; - GstMiniObject* function(GstMiniObject* miniObject) c_gst_mini_object_copy; - void* function(GstMiniObject* object, GQuark quark) c_gst_mini_object_get_qdata; - void function(GstMiniObject* miniObject, uint flags, GType type, GstMiniObjectCopyFunction copyFunc, GstMiniObjectDisposeFunction disposeFunc, GstMiniObjectFreeFunction freeFunc) c_gst_mini_object_init; - int function(GstMiniObject* miniObject) c_gst_mini_object_is_writable; - int function(GstMiniObject* object, GstLockFlags flags) c_gst_mini_object_lock; - GstMiniObject* function(GstMiniObject* miniObject) c_gst_mini_object_make_writable; - GstMiniObject* function(GstMiniObject* miniObject) c_gst_mini_object_ref; - void function(GstMiniObject* object, GstMiniObject* parent) c_gst_mini_object_remove_parent; - void function(GstMiniObject* object, GQuark quark, void* data, GDestroyNotify destroy) c_gst_mini_object_set_qdata; - void* function(GstMiniObject* object, GQuark quark) c_gst_mini_object_steal_qdata; - void function(GstMiniObject* object, GstLockFlags flags) c_gst_mini_object_unlock; - void function(GstMiniObject* miniObject) c_gst_mini_object_unref; - void function(GstMiniObject* object, GstMiniObjectNotify notify, void* data) c_gst_mini_object_weak_ref; - void function(GstMiniObject* object, GstMiniObjectNotify notify, void* data) c_gst_mini_object_weak_unref; - int function(GstMiniObject** olddata, GstMiniObject* newdata) c_gst_mini_object_replace; - GstMiniObject* function(GstMiniObject** olddata) c_gst_mini_object_steal; - int function(GstMiniObject** olddata, GstMiniObject* newdata) c_gst_mini_object_take; - - // gstreamer.ObjectGst - - GType function() c_gst_object_get_type; - int function(GList* list, const(char)* name) c_gst_object_check_uniqueness; - void function(GObject* object, GstObject* orig, GParamSpec* pspec, char** excludedProps) c_gst_object_default_deep_notify; - void* function(void* object) c_gst_object_ref_sink; - int function(GstObject** oldobj, GstObject* newobj) c_gst_object_replace; - int function(GstObject* object, GstControlBinding* binding) c_gst_object_add_control_binding; - void function(GstObject* source, GError* error, const(char)* debug_) c_gst_object_default_error; - GstControlBinding* function(GstObject* object, const(char)* propertyName) c_gst_object_get_control_binding; - GstClockTime function(GstObject* object) c_gst_object_get_control_rate; - int function(GstObject* object, const(char)* propertyName, GstClockTime timestamp, GstClockTime interval, uint nValues, GValue* values) c_gst_object_get_g_value_array; - char* function(GstObject* object) c_gst_object_get_name; - GstObject* function(GstObject* object) c_gst_object_get_parent; - char* function(GstObject* object) c_gst_object_get_path_string; - GValue* function(GstObject* object, const(char)* propertyName, GstClockTime timestamp) c_gst_object_get_value; - int function(GstObject* object, const(char)* propertyName, GstClockTime timestamp, GstClockTime interval, uint nValues, void* values) c_gst_object_get_value_array; - int function(GstObject* object) c_gst_object_has_active_control_bindings; - int function(GstObject* object, GstObject* ancestor) c_gst_object_has_ancestor; - int function(GstObject* object, GstObject* ancestor) c_gst_object_has_as_ancestor; - int function(GstObject* object, GstObject* parent) c_gst_object_has_as_parent; - void* function(void* object) c_gst_object_ref; - int function(GstObject* object, GstControlBinding* binding) c_gst_object_remove_control_binding; - void function(GstObject* object, const(char)* propertyName, int disabled) c_gst_object_set_control_binding_disabled; - void function(GstObject* object, int disabled) c_gst_object_set_control_bindings_disabled; - void function(GstObject* object, GstClockTime controlRate) c_gst_object_set_control_rate; - int function(GstObject* object, const(char)* name) c_gst_object_set_name; - int function(GstObject* object, GstObject* parent) c_gst_object_set_parent; - GstClockTime function(GstObject* object) c_gst_object_suggest_next_sync; - int function(GstObject* object, GstClockTime timestamp) c_gst_object_sync_values; - void function(GstObject* object) c_gst_object_unparent; - void function(void* object) c_gst_object_unref; - - // gstreamer.Pad - - GType function() c_gst_pad_get_type; - GstPad* function(const(char)* name, GstPadDirection direction) c_gst_pad_new; - GstPad* function(GstStaticPadTemplate* templ, const(char)* name) c_gst_pad_new_from_static_template; - GstPad* function(GstPadTemplate* templ, const(char)* name) c_gst_pad_new_from_template; - const(char)* function(GstPadLinkReturn ret) c_gst_pad_link_get_name; - int function(GstPad* pad, GstPadMode mode, int active) c_gst_pad_activate_mode; - gulong function(GstPad* pad, GstPadProbeType mask, GstPadProbeCallback callback, void* userData, GDestroyNotify destroyData) c_gst_pad_add_probe; - int function(GstPad* srcpad, GstPad* sinkpad) c_gst_pad_can_link; - GstFlowReturn function(GstPad* pad, GstBuffer* buffer) c_gst_pad_chain; - GstFlowReturn function(GstPad* pad, GstBufferList* list) c_gst_pad_chain_list; - int function(GstPad* pad) c_gst_pad_check_reconfigure; - char* function(GstPad* pad, GstElement* parent, const(char)* streamId) c_gst_pad_create_stream_id; - char* function(GstPad* pad, GstElement* parent, const(char)* streamId, ... ) c_gst_pad_create_stream_id_printf; - char* function(GstPad* pad, GstElement* parent, const(char)* streamId, void* varArgs) c_gst_pad_create_stream_id_printf_valist; - int function(GstPad* pad, GstObject* parent, GstEvent* event) c_gst_pad_event_default; - int function(GstPad* pad, GstPadForwardFunction forward, void* userData) c_gst_pad_forward; - GstCaps* function(GstPad* pad) c_gst_pad_get_allowed_caps; - GstCaps* function(GstPad* pad) c_gst_pad_get_current_caps; - GstPadDirection function(GstPad* pad) c_gst_pad_get_direction; - void* function(GstPad* pad) c_gst_pad_get_element_private; - GstFlowReturn function(GstPad* pad) c_gst_pad_get_last_flow_return; - long function(GstPad* pad) c_gst_pad_get_offset; - GstPadTemplate* function(GstPad* pad) c_gst_pad_get_pad_template; - GstCaps* function(GstPad* pad) c_gst_pad_get_pad_template_caps; - GstElement* function(GstPad* pad) c_gst_pad_get_parent_element; - GstPad* function(GstPad* pad) c_gst_pad_get_peer; - GstFlowReturn function(GstPad* pad, ulong offset, uint size, GstBuffer** buffer) c_gst_pad_get_range; - GstPad* function(GstPad* pad) c_gst_pad_get_single_internal_link; - GstEvent* function(GstPad* pad, GstEventType eventType, uint idx) c_gst_pad_get_sticky_event; - GstStream* function(GstPad* pad) c_gst_pad_get_stream; - char* function(GstPad* pad) c_gst_pad_get_stream_id; - GstTaskState function(GstPad* pad) c_gst_pad_get_task_state; - int function(GstPad* pad) c_gst_pad_has_current_caps; - int function(GstPad* pad) c_gst_pad_is_active; - int function(GstPad* pad) c_gst_pad_is_blocked; - int function(GstPad* pad) c_gst_pad_is_blocking; - int function(GstPad* pad) c_gst_pad_is_linked; - GstIterator* function(GstPad* pad) c_gst_pad_iterate_internal_links; - GstIterator* function(GstPad* pad, GstObject* parent) c_gst_pad_iterate_internal_links_default; - GstPadLinkReturn function(GstPad* srcpad, GstPad* sinkpad) c_gst_pad_link; - GstPadLinkReturn function(GstPad* srcpad, GstPad* sinkpad, GstPadLinkCheck flags) c_gst_pad_link_full; - int function(GstPad* src, GstPad* sink) c_gst_pad_link_maybe_ghosting; - int function(GstPad* src, GstPad* sink, GstPadLinkCheck flags) c_gst_pad_link_maybe_ghosting_full; - void function(GstPad* pad) c_gst_pad_mark_reconfigure; - int function(GstPad* pad) c_gst_pad_needs_reconfigure; - int function(GstPad* pad) c_gst_pad_pause_task; - int function(GstPad* pad, GstQuery* query) c_gst_pad_peer_query; - int function(GstPad* pad, GstCaps* caps) c_gst_pad_peer_query_accept_caps; - GstCaps* function(GstPad* pad, GstCaps* filter) c_gst_pad_peer_query_caps; - int function(GstPad* pad, GstFormat srcFormat, long srcVal, GstFormat destFormat, long* destVal) c_gst_pad_peer_query_convert; - int function(GstPad* pad, GstFormat format, long* duration) c_gst_pad_peer_query_duration; - int function(GstPad* pad, GstFormat format, long* cur) c_gst_pad_peer_query_position; - int function(GstPad* pad, GstQuery* query) c_gst_pad_proxy_query_accept_caps; - int function(GstPad* pad, GstQuery* query) c_gst_pad_proxy_query_caps; - GstFlowReturn function(GstPad* pad, ulong offset, uint size, GstBuffer** buffer) c_gst_pad_pull_range; - GstFlowReturn function(GstPad* pad, GstBuffer* buffer) c_gst_pad_push; - int function(GstPad* pad, GstEvent* event) c_gst_pad_push_event; - GstFlowReturn function(GstPad* pad, GstBufferList* list) c_gst_pad_push_list; - int function(GstPad* pad, GstQuery* query) c_gst_pad_query; - int function(GstPad* pad, GstCaps* caps) c_gst_pad_query_accept_caps; - GstCaps* function(GstPad* pad, GstCaps* filter) c_gst_pad_query_caps; - int function(GstPad* pad, GstFormat srcFormat, long srcVal, GstFormat destFormat, long* destVal) c_gst_pad_query_convert; - int function(GstPad* pad, GstObject* parent, GstQuery* query) c_gst_pad_query_default; - int function(GstPad* pad, GstFormat format, long* duration) c_gst_pad_query_duration; - int function(GstPad* pad, GstFormat format, long* cur) c_gst_pad_query_position; - void function(GstPad* pad, gulong id) c_gst_pad_remove_probe; - int function(GstPad* pad, GstEvent* event) c_gst_pad_send_event; - void function(GstPad* pad, GstPadActivateFunction activate, void* userData, GDestroyNotify notify) c_gst_pad_set_activate_function_full; - void function(GstPad* pad, GstPadActivateModeFunction activatemode, void* userData, GDestroyNotify notify) c_gst_pad_set_activatemode_function_full; - int function(GstPad* pad, int active) c_gst_pad_set_active; - void function(GstPad* pad, GstPadChainFunction chain, void* userData, GDestroyNotify notify) c_gst_pad_set_chain_function_full; - void function(GstPad* pad, GstPadChainListFunction chainlist, void* userData, GDestroyNotify notify) c_gst_pad_set_chain_list_function_full; - void function(GstPad* pad, void* priv) c_gst_pad_set_element_private; - void function(GstPad* pad, GstPadEventFullFunction event, void* userData, GDestroyNotify notify) c_gst_pad_set_event_full_function_full; - void function(GstPad* pad, GstPadEventFunction event, void* userData, GDestroyNotify notify) c_gst_pad_set_event_function_full; - void function(GstPad* pad, GstPadGetRangeFunction get, void* userData, GDestroyNotify notify) c_gst_pad_set_getrange_function_full; - void function(GstPad* pad, GstPadIterIntLinkFunction iterintlink, void* userData, GDestroyNotify notify) c_gst_pad_set_iterate_internal_links_function_full; - void function(GstPad* pad, GstPadLinkFunction link, void* userData, GDestroyNotify notify) c_gst_pad_set_link_function_full; - void function(GstPad* pad, long offset) c_gst_pad_set_offset; - void function(GstPad* pad, GstPadQueryFunction query, void* userData, GDestroyNotify notify) c_gst_pad_set_query_function_full; - void function(GstPad* pad, GstPadUnlinkFunction unlink, void* userData, GDestroyNotify notify) c_gst_pad_set_unlink_function_full; - int function(GstPad* pad, GstTaskFunction func, void* userData, GDestroyNotify notify) c_gst_pad_start_task; - void function(GstPad* pad, GstPadStickyEventsForeachFunction foreachFunc, void* userData) c_gst_pad_sticky_events_foreach; - int function(GstPad* pad) c_gst_pad_stop_task; - GstFlowReturn function(GstPad* pad, GstEvent* event) c_gst_pad_store_sticky_event; - int function(GstPad* srcpad, GstPad* sinkpad) c_gst_pad_unlink; - void function(GstPad* pad) c_gst_pad_use_fixed_caps; - const(char)* function(GstFlowReturn ret) c_gst_flow_get_name; - GQuark function(GstFlowReturn ret) c_gst_flow_to_quark; - const(char)* function(GstPadMode mode) c_gst_pad_mode_get_name; - - // gstreamer.PadProbeInfo - - GstBuffer* function(GstPadProbeInfo* info) c_gst_pad_probe_info_get_buffer; - GstBufferList* function(GstPadProbeInfo* info) c_gst_pad_probe_info_get_buffer_list; - GstEvent* function(GstPadProbeInfo* info) c_gst_pad_probe_info_get_event; - GstQuery* function(GstPadProbeInfo* info) c_gst_pad_probe_info_get_query; - - // gstreamer.PadTemplate - - GType function() c_gst_pad_template_get_type; - GstPadTemplate* function(const(char)* nameTemplate, GstPadDirection direction, GstPadPresence presence, GstCaps* caps) c_gst_pad_template_new; - GstPadTemplate* function(GstStaticPadTemplate* padTemplate, GType padType) c_gst_pad_template_new_from_static_pad_template_with_gtype; - GstPadTemplate* function(const(char)* nameTemplate, GstPadDirection direction, GstPadPresence presence, GstCaps* caps, GType padType) c_gst_pad_template_new_with_gtype; - GstCaps* function(GstPadTemplate* templ) c_gst_pad_template_get_caps; - GstCaps* function(GstPadTemplate* templ) c_gst_pad_template_get_documentation_caps; - void function(GstPadTemplate* templ, GstPad* pad) c_gst_pad_template_pad_created; - void function(GstPadTemplate* templ, GstCaps* caps) c_gst_pad_template_set_documentation_caps; - - // gstreamer.ParamArray - - GType function() c_gst_param_spec_array_get_type; - - // gstreamer.ParamFraction - - GType function() c_gst_param_spec_fraction_get_type; - - // gstreamer.ParamSpecFraction - - GParamSpec* function(const(char)* name, const(char)* nick, const(char)* blurb, int minNum, int minDenom, int maxNum, int maxDenom, int defaultNum, int defaultDenom, GParamFlags flags) c_gst_param_spec_fraction; - - // gstreamer.ParentBufferMeta - - GstMetaInfo* function() c_gst_parent_buffer_meta_get_info; - GType function() c_gst_parent_buffer_meta_api_get_type; - - // gstreamer.ParseContext - - GType function() c_gst_parse_context_get_type; - GstParseContext* function() c_gst_parse_context_new; - GstParseContext* function(GstParseContext* context) c_gst_parse_context_copy; - void function(GstParseContext* context) c_gst_parse_context_free; - char** function(GstParseContext* context) c_gst_parse_context_get_missing_elements; - - // gstreamer.Pipeline - - GType function() c_gst_pipeline_get_type; - GstElement* function(const(char)* name) c_gst_pipeline_new; - void function(GstPipeline* pipeline) c_gst_pipeline_auto_clock; - int function(GstPipeline* pipeline) c_gst_pipeline_get_auto_flush_bus; - GstBus* function(GstPipeline* pipeline) c_gst_pipeline_get_bus; - GstClock* function(GstPipeline* pipeline) c_gst_pipeline_get_clock; - GstClockTime function(GstPipeline* pipeline) c_gst_pipeline_get_delay; - GstClockTime function(GstPipeline* pipeline) c_gst_pipeline_get_latency; - GstClock* function(GstPipeline* pipeline) c_gst_pipeline_get_pipeline_clock; - void function(GstPipeline* pipeline, int autoFlush) c_gst_pipeline_set_auto_flush_bus; - int function(GstPipeline* pipeline, GstClock* clock) c_gst_pipeline_set_clock; - void function(GstPipeline* pipeline, GstClockTime delay) c_gst_pipeline_set_delay; - void function(GstPipeline* pipeline, GstClockTime latency) c_gst_pipeline_set_latency; - void function(GstPipeline* pipeline, GstClock* clock) c_gst_pipeline_use_clock; - - // gstreamer.Plugin - - GType function() c_gst_plugin_get_type; - void function(GList* list) c_gst_plugin_list_free; - GstPlugin* function(const(char)* name) c_gst_plugin_load_by_name; - GstPlugin* function(char* filename, GError** err) c_gst_plugin_load_file; - int function(int majorVersion, int minorVersion, const(char)* name, const(char)* description, GstPluginInitFunc initFunc, const(char)* version_, const(char)* license, const(char)* source, const(char)* package_, const(char)* origin) c_gst_plugin_register_static; - int function(int majorVersion, int minorVersion, const(char)* name, const(char)* description, GstPluginInitFullFunc initFullFunc, const(char)* version_, const(char)* license, const(char)* source, const(char)* package_, const(char)* origin, void* userData) c_gst_plugin_register_static_full; - void function(GstPlugin* plugin, char** envVars, char** paths, char** names, GstPluginDependencyFlags flags) c_gst_plugin_add_dependency; - void function(GstPlugin* plugin, const(char)* envVars, const(char)* paths, const(char)* names, GstPluginDependencyFlags flags) c_gst_plugin_add_dependency_simple; - GstStructure* function(GstPlugin* plugin) c_gst_plugin_get_cache_data; - const(char)* function(GstPlugin* plugin) c_gst_plugin_get_description; - char* function(GstPlugin* plugin) c_gst_plugin_get_filename; - const(char)* function(GstPlugin* plugin) c_gst_plugin_get_license; - const(char)* function(GstPlugin* plugin) c_gst_plugin_get_name; - const(char)* function(GstPlugin* plugin) c_gst_plugin_get_origin; - const(char)* function(GstPlugin* plugin) c_gst_plugin_get_package; - const(char)* function(GstPlugin* plugin) c_gst_plugin_get_release_date_string; - const(char)* function(GstPlugin* plugin) c_gst_plugin_get_source; - const(char)* function(GstPlugin* plugin) c_gst_plugin_get_version; - int function(GstPlugin* plugin) c_gst_plugin_is_loaded; - GstPlugin* function(GstPlugin* plugin) c_gst_plugin_load; - void function(GstPlugin* plugin, GstStructure* cacheData) c_gst_plugin_set_cache_data; - GQuark function() c_gst_plugin_error_quark; - - // gstreamer.PluginFeature - - GType function() c_gst_plugin_feature_get_type; - GList* function(GList* list) c_gst_plugin_feature_list_copy; - void function(GList* list) c_gst_plugin_feature_list_debug; - void function(GList* list) c_gst_plugin_feature_list_free; - int function(void* p1, void* p2) c_gst_plugin_feature_rank_compare_func; - int function(GstPluginFeature* feature, uint minMajor, uint minMinor, uint minMicro) c_gst_plugin_feature_check_version; - GstPlugin* function(GstPluginFeature* feature) c_gst_plugin_feature_get_plugin; - const(char)* function(GstPluginFeature* feature) c_gst_plugin_feature_get_plugin_name; - uint function(GstPluginFeature* feature) c_gst_plugin_feature_get_rank; - GstPluginFeature* function(GstPluginFeature* feature) c_gst_plugin_feature_load; - void function(GstPluginFeature* feature, uint rank) c_gst_plugin_feature_set_rank; - - // gstreamer.Poll - - int function(GstPoll* set, GstPollFD* fd) c_gst_poll_add_fd; - int function(GstPoll* set, GstPollFD* fd) c_gst_poll_fd_can_read; - int function(GstPoll* set, GstPollFD* fd) c_gst_poll_fd_can_write; - int function(GstPoll* set, GstPollFD* fd, int active) c_gst_poll_fd_ctl_pri; - int function(GstPoll* set, GstPollFD* fd, int active) c_gst_poll_fd_ctl_read; - int function(GstPoll* set, GstPollFD* fd, int active) c_gst_poll_fd_ctl_write; - int function(GstPoll* set, GstPollFD* fd) c_gst_poll_fd_has_closed; - int function(GstPoll* set, GstPollFD* fd) c_gst_poll_fd_has_error; - int function(GstPoll* set, GstPollFD* fd) c_gst_poll_fd_has_pri; - void function(GstPoll* set, GstPollFD* fd) c_gst_poll_fd_ignored; - void function(GstPoll* set) c_gst_poll_free; - void function(GstPoll* set, GPollFD* fd) c_gst_poll_get_read_gpollfd; - int function(GstPoll* set) c_gst_poll_read_control; - int function(GstPoll* set, GstPollFD* fd) c_gst_poll_remove_fd; - void function(GstPoll* set) c_gst_poll_restart; - int function(GstPoll* set, int controllable) c_gst_poll_set_controllable; - void function(GstPoll* set, int flushing) c_gst_poll_set_flushing; - int function(GstPoll* set, GstClockTime timeout) c_gst_poll_wait; - int function(GstPoll* set) c_gst_poll_write_control; - GstPoll* function(int controllable) c_gst_poll_new; - GstPoll* function() c_gst_poll_new_timer; - - // gstreamer.PollFD - - void function(GstPollFD* fd) c_gst_poll_fd_init; - - // gstreamer.Preset - - GType function() c_gst_preset_get_type; - char* function() c_gst_preset_get_app_dir; - int function(char* appDir) c_gst_preset_set_app_dir; - int function(GstPreset* preset, const(char)* name) c_gst_preset_delete_preset; - int function(GstPreset* preset, const(char)* name, const(char)* tag, char** value) c_gst_preset_get_meta; - char** function(GstPreset* preset) c_gst_preset_get_preset_names; - char** function(GstPreset* preset) c_gst_preset_get_property_names; - int function(GstPreset* preset) c_gst_preset_is_editable; - int function(GstPreset* preset, const(char)* name) c_gst_preset_load_preset; - int function(GstPreset* preset, const(char)* oldName, const(char)* newName) c_gst_preset_rename_preset; - int function(GstPreset* preset, const(char)* name) c_gst_preset_save_preset; - int function(GstPreset* preset, const(char)* name, const(char)* tag, const(char)* value) c_gst_preset_set_meta; - - // gstreamer.Promise - - GType function() c_gst_promise_get_type; - GstPromise* function() c_gst_promise_new; - GstPromise* function(GstPromiseChangeFunc func, void* userData, GDestroyNotify notify) c_gst_promise_new_with_change_func; - void function(GstPromise* promise) c_gst_promise_expire; - GstStructure* function(GstPromise* promise) c_gst_promise_get_reply; - void function(GstPromise* promise) c_gst_promise_interrupt; - void function(GstPromise* promise, GstStructure* s) c_gst_promise_reply; - GstPromiseResult function(GstPromise* promise) c_gst_promise_wait; - - // gstreamer.ProtectionMeta - - GstMetaInfo* function() c_gst_protection_meta_get_info; - GType function() c_gst_protection_meta_api_get_type; - const(char)* function(char** systemIdentifiers) c_gst_protection_select_system; - - // gstreamer.ProxyPad - - GType function() c_gst_proxy_pad_get_type; - GstFlowReturn function(GstPad* pad, GstObject* parent, GstBuffer* buffer) c_gst_proxy_pad_chain_default; - GstFlowReturn function(GstPad* pad, GstObject* parent, GstBufferList* list) c_gst_proxy_pad_chain_list_default; - GstFlowReturn function(GstPad* pad, GstObject* parent, ulong offset, uint size, GstBuffer** buffer) c_gst_proxy_pad_getrange_default; - GstIterator* function(GstPad* pad, GstObject* parent) c_gst_proxy_pad_iterate_internal_links_default; - GstProxyPad* function(GstProxyPad* pad) c_gst_proxy_pad_get_internal; - - // gstreamer.Query - - GType function() c_gst_query_get_type; - GstQuery* function(GstCaps* caps) c_gst_query_new_accept_caps; - GstQuery* function(GstCaps* caps, int needPool) c_gst_query_new_allocation; - GstQuery* function() c_gst_query_new_bitrate; - GstQuery* function(GstFormat format) c_gst_query_new_buffering; - GstQuery* function(GstCaps* filter) c_gst_query_new_caps; - GstQuery* function(const(char)* contextType) c_gst_query_new_context; - GstQuery* function(GstFormat srcFormat, long value, GstFormat destFormat) c_gst_query_new_convert; - GstQuery* function(GstQueryType type, GstStructure* structure) c_gst_query_new_custom; - GstQuery* function() c_gst_query_new_drain; - GstQuery* function(GstFormat format) c_gst_query_new_duration; - GstQuery* function() c_gst_query_new_formats; - GstQuery* function() c_gst_query_new_latency; - GstQuery* function(GstFormat format) c_gst_query_new_position; - GstQuery* function() c_gst_query_new_scheduling; - GstQuery* function(GstFormat format) c_gst_query_new_seeking; - GstQuery* function(GstFormat format) c_gst_query_new_segment; - GstQuery* function() c_gst_query_new_uri; - void function(GstQuery* query, GType api, GstStructure* params) c_gst_query_add_allocation_meta; - void function(GstQuery* query, GstAllocator* allocator, GstAllocationParams* params) c_gst_query_add_allocation_param; - void function(GstQuery* query, GstBufferPool* pool, uint size, uint minBuffers, uint maxBuffers) c_gst_query_add_allocation_pool; - int function(GstQuery* query, long start, long stop) c_gst_query_add_buffering_range; - void function(GstQuery* query, GstPadMode mode) c_gst_query_add_scheduling_mode; - int function(GstQuery* query, GType api, uint* index) c_gst_query_find_allocation_meta; - uint function(GstQuery* query) c_gst_query_get_n_allocation_metas; - uint function(GstQuery* query) c_gst_query_get_n_allocation_params; - uint function(GstQuery* query) c_gst_query_get_n_allocation_pools; - uint function(GstQuery* query) c_gst_query_get_n_buffering_ranges; - uint function(GstQuery* query) c_gst_query_get_n_scheduling_modes; - GstStructure* function(GstQuery* query) c_gst_query_get_structure; - int function(GstQuery* query, GstPadMode mode) c_gst_query_has_scheduling_mode; - int function(GstQuery* query, GstPadMode mode, GstSchedulingFlags flags) c_gst_query_has_scheduling_mode_with_flags; - void function(GstQuery* query, GstCaps** caps) c_gst_query_parse_accept_caps; - void function(GstQuery* query, int* result) c_gst_query_parse_accept_caps_result; - void function(GstQuery* query, GstCaps** caps, int* needPool) c_gst_query_parse_allocation; - void function(GstQuery* query, uint* nominalBitrate) c_gst_query_parse_bitrate; - void function(GstQuery* query, int* busy, int* percent) c_gst_query_parse_buffering_percent; - void function(GstQuery* query, GstFormat* format, long* start, long* stop, long* estimatedTotal) c_gst_query_parse_buffering_range; - void function(GstQuery* query, GstBufferingMode* mode, int* avgIn, int* avgOut, long* bufferingLeft) c_gst_query_parse_buffering_stats; - void function(GstQuery* query, GstCaps** filter) c_gst_query_parse_caps; - void function(GstQuery* query, GstCaps** caps) c_gst_query_parse_caps_result; - void function(GstQuery* query, GstContext** context) c_gst_query_parse_context; - int function(GstQuery* query, char** contextType) c_gst_query_parse_context_type; - void function(GstQuery* query, GstFormat* srcFormat, long* srcValue, GstFormat* destFormat, long* destValue) c_gst_query_parse_convert; - void function(GstQuery* query, GstFormat* format, long* duration) c_gst_query_parse_duration; - void function(GstQuery* query, int* live, GstClockTime* minLatency, GstClockTime* maxLatency) c_gst_query_parse_latency; - void function(GstQuery* query, uint* nFormats) c_gst_query_parse_n_formats; - GType function(GstQuery* query, uint index, GstStructure** params) c_gst_query_parse_nth_allocation_meta; - void function(GstQuery* query, uint index, GstAllocator** allocator, GstAllocationParams* params) c_gst_query_parse_nth_allocation_param; - void function(GstQuery* query, uint index, GstBufferPool** pool, uint* size, uint* minBuffers, uint* maxBuffers) c_gst_query_parse_nth_allocation_pool; - int function(GstQuery* query, uint index, long* start, long* stop) c_gst_query_parse_nth_buffering_range; - void function(GstQuery* query, uint nth, GstFormat* format) c_gst_query_parse_nth_format; - GstPadMode function(GstQuery* query, uint index) c_gst_query_parse_nth_scheduling_mode; - void function(GstQuery* query, GstFormat* format, long* cur) c_gst_query_parse_position; - void function(GstQuery* query, GstSchedulingFlags* flags, int* minsize, int* maxsize, int* align_) c_gst_query_parse_scheduling; - void function(GstQuery* query, GstFormat* format, int* seekable, long* segmentStart, long* segmentEnd) c_gst_query_parse_seeking; - void function(GstQuery* query, double* rate, GstFormat* format, long* startValue, long* stopValue) c_gst_query_parse_segment; - void function(GstQuery* query, char** uri) c_gst_query_parse_uri; - void function(GstQuery* query, char** uri) c_gst_query_parse_uri_redirection; - void function(GstQuery* query, int* permanent) c_gst_query_parse_uri_redirection_permanent; - void function(GstQuery* query, uint index) c_gst_query_remove_nth_allocation_meta; - void function(GstQuery* query, uint index) c_gst_query_remove_nth_allocation_param; - void function(GstQuery* query, uint index) c_gst_query_remove_nth_allocation_pool; - void function(GstQuery* query, int result) c_gst_query_set_accept_caps_result; - void function(GstQuery* query, uint nominalBitrate) c_gst_query_set_bitrate; - void function(GstQuery* query, int busy, int percent) c_gst_query_set_buffering_percent; - void function(GstQuery* query, GstFormat format, long start, long stop, long estimatedTotal) c_gst_query_set_buffering_range; - void function(GstQuery* query, GstBufferingMode mode, int avgIn, int avgOut, long bufferingLeft) c_gst_query_set_buffering_stats; - void function(GstQuery* query, GstCaps* caps) c_gst_query_set_caps_result; - void function(GstQuery* query, GstContext* context) c_gst_query_set_context; - void function(GstQuery* query, GstFormat srcFormat, long srcValue, GstFormat destFormat, long destValue) c_gst_query_set_convert; - void function(GstQuery* query, GstFormat format, long duration) c_gst_query_set_duration; - void function(GstQuery* query, int nFormats, ... ) c_gst_query_set_formats; - void function(GstQuery* query, int nFormats, GstFormat* formats) c_gst_query_set_formatsv; - void function(GstQuery* query, int live, GstClockTime minLatency, GstClockTime maxLatency) c_gst_query_set_latency; - void function(GstQuery* query, uint index, GstAllocator* allocator, GstAllocationParams* params) c_gst_query_set_nth_allocation_param; - void function(GstQuery* query, uint index, GstBufferPool* pool, uint size, uint minBuffers, uint maxBuffers) c_gst_query_set_nth_allocation_pool; - void function(GstQuery* query, GstFormat format, long cur) c_gst_query_set_position; - void function(GstQuery* query, GstSchedulingFlags flags, int minsize, int maxsize, int align_) c_gst_query_set_scheduling; - void function(GstQuery* query, GstFormat format, int seekable, long segmentStart, long segmentEnd) c_gst_query_set_seeking; - void function(GstQuery* query, double rate, GstFormat format, long startValue, long stopValue) c_gst_query_set_segment; - void function(GstQuery* query, const(char)* uri) c_gst_query_set_uri; - void function(GstQuery* query, const(char)* uri) c_gst_query_set_uri_redirection; - void function(GstQuery* query, int permanent) c_gst_query_set_uri_redirection_permanent; - GstStructure* function(GstQuery* query) c_gst_query_writable_structure; - GstQueryTypeFlags function(GstQueryType type) c_gst_query_type_get_flags; - const(char)* function(GstQueryType type) c_gst_query_type_get_name; - GQuark function(GstQueryType type) c_gst_query_type_to_quark; - - // gstreamer.ReferenceTimestampMeta - - GstMetaInfo* function() c_gst_reference_timestamp_meta_get_info; - - // gstreamer.Registry - - GType function() c_gst_registry_get_type; - int function() c_gst_registry_fork_is_enabled; - void function(int enabled) c_gst_registry_fork_set_enabled; - GstRegistry* function() c_gst_registry_get; - int function(GstRegistry* registry, GstPluginFeature* feature) c_gst_registry_add_feature; - int function(GstRegistry* registry, GstPlugin* plugin) c_gst_registry_add_plugin; - int function(GstRegistry* registry, const(char)* featureName, uint minMajor, uint minMinor, uint minMicro) c_gst_registry_check_feature_version; - GList* function(GstRegistry* registry, GstPluginFeatureFilter filter, int first, void* userData) c_gst_registry_feature_filter; - GstPluginFeature* function(GstRegistry* registry, const(char)* name, GType type) c_gst_registry_find_feature; - GstPlugin* function(GstRegistry* registry, const(char)* name) c_gst_registry_find_plugin; - GList* function(GstRegistry* registry, GType type) c_gst_registry_get_feature_list; - GList* function(GstRegistry* registry, const(char)* name) c_gst_registry_get_feature_list_by_plugin; - uint function(GstRegistry* registry) c_gst_registry_get_feature_list_cookie; - GList* function(GstRegistry* registry) c_gst_registry_get_plugin_list; - GstPlugin* function(GstRegistry* registry, const(char)* filename) c_gst_registry_lookup; - GstPluginFeature* function(GstRegistry* registry, const(char)* name) c_gst_registry_lookup_feature; - GList* function(GstRegistry* registry, GstPluginFilter filter, int first, void* userData) c_gst_registry_plugin_filter; - void function(GstRegistry* registry, GstPluginFeature* feature) c_gst_registry_remove_feature; - void function(GstRegistry* registry, GstPlugin* plugin) c_gst_registry_remove_plugin; - int function(GstRegistry* registry, char* path) c_gst_registry_scan_path; - - // gstreamer.Sample - - GType function() c_gst_sample_get_type; - GstSample* function(GstBuffer* buffer, GstCaps* caps, GstSegment* segment, GstStructure* info) c_gst_sample_new; - GstBuffer* function(GstSample* sample) c_gst_sample_get_buffer; - GstBufferList* function(GstSample* sample) c_gst_sample_get_buffer_list; - GstCaps* function(GstSample* sample) c_gst_sample_get_caps; - GstStructure* function(GstSample* sample) c_gst_sample_get_info; - GstSegment* function(GstSample* sample) c_gst_sample_get_segment; - void function(GstSample* sample, GstBuffer* buffer) c_gst_sample_set_buffer; - void function(GstSample* sample, GstBufferList* bufferList) c_gst_sample_set_buffer_list; - void function(GstSample* sample, GstCaps* caps) c_gst_sample_set_caps; - int function(GstSample* sample, GstStructure* info) c_gst_sample_set_info; - void function(GstSample* sample, GstSegment* segment) c_gst_sample_set_segment; - - // gstreamer.Segment - - GType function() c_gst_segment_get_type; - GstSegment* function() c_gst_segment_new; - int function(GstSegment* segment, GstFormat format, ulong start, ulong stop, ulong* clipStart, ulong* clipStop) c_gst_segment_clip; - GstSegment* function(GstSegment* segment) c_gst_segment_copy; - void function(GstSegment* src, GstSegment* dest) c_gst_segment_copy_into; - int function(GstSegment* segment, double rate, GstFormat format, GstSeekFlags flags, GstSeekType startType, ulong start, GstSeekType stopType, ulong stop, int* update) c_gst_segment_do_seek; - void function(GstSegment* segment) c_gst_segment_free; - void function(GstSegment* segment, GstFormat format) c_gst_segment_init; - int function(GstSegment* s0, GstSegment* s1) c_gst_segment_is_equal; - int function(GstSegment* segment, GstFormat format, long offset) c_gst_segment_offset_running_time; - ulong function(GstSegment* segment, GstFormat format, ulong runningTime) c_gst_segment_position_from_running_time; - int function(GstSegment* segment, GstFormat format, ulong runningTime, ulong* position) c_gst_segment_position_from_running_time_full; - ulong function(GstSegment* segment, GstFormat format, ulong streamTime) c_gst_segment_position_from_stream_time; - int function(GstSegment* segment, GstFormat format, ulong streamTime, ulong* position) c_gst_segment_position_from_stream_time_full; - int function(GstSegment* segment, GstFormat format, ulong runningTime) c_gst_segment_set_running_time; - ulong function(GstSegment* segment, GstFormat format, ulong runningTime) c_gst_segment_to_position; - ulong function(GstSegment* segment, GstFormat format, ulong position) c_gst_segment_to_running_time; - int function(GstSegment* segment, GstFormat format, ulong position, ulong* runningTime) c_gst_segment_to_running_time_full; - ulong function(GstSegment* segment, GstFormat format, ulong position) c_gst_segment_to_stream_time; - int function(GstSegment* segment, GstFormat format, ulong position, ulong* streamTime) c_gst_segment_to_stream_time_full; - - // gstreamer.StaticCaps - - void function(GstStaticCaps* staticCaps) c_gst_static_caps_cleanup; - GstCaps* function(GstStaticCaps* staticCaps) c_gst_static_caps_get; - - // gstreamer.StaticPadTemplate - - GstPadTemplate* function(GstStaticPadTemplate* padTemplate) c_gst_static_pad_template_get; - GstCaps* function(GstStaticPadTemplate* templ) c_gst_static_pad_template_get_caps; - - // gstreamer.Stream - - GType function() c_gst_stream_get_type; - GstStream* function(const(char)* streamId, GstCaps* caps, GstStreamType type, GstStreamFlags flags) c_gst_stream_new; - GstCaps* function(GstStream* stream) c_gst_stream_get_caps; - GstStreamFlags function(GstStream* stream) c_gst_stream_get_stream_flags; - const(char)* function(GstStream* stream) c_gst_stream_get_stream_id; - GstStreamType function(GstStream* stream) c_gst_stream_get_stream_type; - GstTagList* function(GstStream* stream) c_gst_stream_get_tags; - void function(GstStream* stream, GstCaps* caps) c_gst_stream_set_caps; - void function(GstStream* stream, GstStreamFlags flags) c_gst_stream_set_stream_flags; - void function(GstStream* stream, GstStreamType streamType) c_gst_stream_set_stream_type; - void function(GstStream* stream, GstTagList* tags) c_gst_stream_set_tags; - - // gstreamer.StreamCollection - - GType function() c_gst_stream_collection_get_type; - GstStreamCollection* function(const(char)* upstreamId) c_gst_stream_collection_new; - int function(GstStreamCollection* collection, GstStream* stream) c_gst_stream_collection_add_stream; - uint function(GstStreamCollection* collection) c_gst_stream_collection_get_size; - GstStream* function(GstStreamCollection* collection, uint index) c_gst_stream_collection_get_stream; - const(char)* function(GstStreamCollection* collection) c_gst_stream_collection_get_upstream_id; - - // gstreamer.Structure - - GType function() c_gst_structure_get_type; - GstStructure* function(const(char)* string_, char** end) c_gst_structure_from_string; - GstStructure* function(const(char)* name, const(char)* firstfield, ... ) c_gst_structure_new; - GstStructure* function(const(char)* name) c_gst_structure_new_empty; - GstStructure* function(const(char)* string_) c_gst_structure_new_from_string; - GstStructure* function(GQuark nameQuark, GQuark fieldQuark, ... ) c_gst_structure_new_id; - GstStructure* function(GQuark quark) c_gst_structure_new_id_empty; - GstStructure* function(const(char)* name, const(char)* firstfield, void* varargs) c_gst_structure_new_valist; - int function(GstStructure* struct1, GstStructure* struct2) c_gst_structure_can_intersect; - GstStructure* function(GstStructure* structure) c_gst_structure_copy; - void function(GstStructure* structure, GstStructureFilterMapFunc func, void* userData) c_gst_structure_filter_and_map_in_place; - void function(GstStructure* structure) c_gst_structure_fixate; - int function(GstStructure* structure, const(char)* fieldName) c_gst_structure_fixate_field; - int function(GstStructure* structure, const(char)* fieldName, int target) c_gst_structure_fixate_field_boolean; - int function(GstStructure* structure, const(char)* fieldName, double target) c_gst_structure_fixate_field_nearest_double; - int function(GstStructure* structure, const(char)* fieldName, int targetNumerator, int targetDenominator) c_gst_structure_fixate_field_nearest_fraction; - int function(GstStructure* structure, const(char)* fieldName, int target) c_gst_structure_fixate_field_nearest_int; - int function(GstStructure* structure, const(char)* fieldName, const(char)* target) c_gst_structure_fixate_field_string; - int function(GstStructure* structure, GstStructureForeachFunc func, void* userData) c_gst_structure_foreach; - void function(GstStructure* structure) c_gst_structure_free; - int function(GstStructure* structure, const(char)* firstFieldname, ... ) c_gst_structure_get; - int function(GstStructure* structure, const(char)* fieldname, GValueArray** array) c_gst_structure_get_array; - int function(GstStructure* structure, const(char)* fieldname, int* value) c_gst_structure_get_boolean; - int function(GstStructure* structure, const(char)* fieldname, GstClockTime* value) c_gst_structure_get_clock_time; - int function(GstStructure* structure, const(char)* fieldname, GDate** value) c_gst_structure_get_date; - int function(GstStructure* structure, const(char)* fieldname, GstDateTime** value) c_gst_structure_get_date_time; - int function(GstStructure* structure, const(char)* fieldname, double* value) c_gst_structure_get_double; - int function(GstStructure* structure, const(char)* fieldname, GType enumtype, int* value) c_gst_structure_get_enum; - GType function(GstStructure* structure, const(char)* fieldname) c_gst_structure_get_field_type; - int function(GstStructure* structure, const(char)* fieldname, uint* valueFlags, uint* valueMask) c_gst_structure_get_flagset; - int function(GstStructure* structure, const(char)* fieldname, int* valueNumerator, int* valueDenominator) c_gst_structure_get_fraction; - int function(GstStructure* structure, const(char)* fieldname, int* value) c_gst_structure_get_int; - int function(GstStructure* structure, const(char)* fieldname, long* value) c_gst_structure_get_int64; - int function(GstStructure* structure, const(char)* fieldname, GValueArray** array) c_gst_structure_get_list; - const(char)* function(GstStructure* structure) c_gst_structure_get_name; - GQuark function(GstStructure* structure) c_gst_structure_get_name_id; - const(char)* function(GstStructure* structure, const(char)* fieldname) c_gst_structure_get_string; - int function(GstStructure* structure, const(char)* fieldname, uint* value) c_gst_structure_get_uint; - int function(GstStructure* structure, const(char)* fieldname, ulong* value) c_gst_structure_get_uint64; - int function(GstStructure* structure, const(char)* firstFieldname, void* args) c_gst_structure_get_valist; - GValue* function(GstStructure* structure, const(char)* fieldname) c_gst_structure_get_value; - int function(GstStructure* structure, const(char)* fieldname) c_gst_structure_has_field; - int function(GstStructure* structure, const(char)* fieldname, GType type) c_gst_structure_has_field_typed; - int function(GstStructure* structure, const(char)* name) c_gst_structure_has_name; - int function(GstStructure* structure, GQuark firstFieldId, ... ) c_gst_structure_id_get; - int function(GstStructure* structure, GQuark firstFieldId, void* args) c_gst_structure_id_get_valist; - GValue* function(GstStructure* structure, GQuark field) c_gst_structure_id_get_value; - int function(GstStructure* structure, GQuark field) c_gst_structure_id_has_field; - int function(GstStructure* structure, GQuark field, GType type) c_gst_structure_id_has_field_typed; - void function(GstStructure* structure, GQuark fieldname, ... ) c_gst_structure_id_set; - void function(GstStructure* structure, GQuark fieldname, void* varargs) c_gst_structure_id_set_valist; - void function(GstStructure* structure, GQuark field, GValue* value) c_gst_structure_id_set_value; - void function(GstStructure* structure, GQuark field, GValue* value) c_gst_structure_id_take_value; - GstStructure* function(GstStructure* struct1, GstStructure* struct2) c_gst_structure_intersect; - int function(GstStructure* structure1, GstStructure* structure2) c_gst_structure_is_equal; - int function(GstStructure* subset, GstStructure* superset) c_gst_structure_is_subset; - int function(GstStructure* structure, GstStructureMapFunc func, void* userData) c_gst_structure_map_in_place; - int function(GstStructure* structure) c_gst_structure_n_fields; - const(char)* function(GstStructure* structure, uint index) c_gst_structure_nth_field_name; - void function(GstStructure* structure) c_gst_structure_remove_all_fields; - void function(GstStructure* structure, const(char)* fieldname) c_gst_structure_remove_field; - void function(GstStructure* structure, const(char)* fieldname, ... ) c_gst_structure_remove_fields; - void function(GstStructure* structure, const(char)* fieldname, void* varargs) c_gst_structure_remove_fields_valist; - void function(GstStructure* structure, const(char)* fieldname, ... ) c_gst_structure_set; - void function(GstStructure* structure, const(char)* fieldname, GValueArray* array) c_gst_structure_set_array; - void function(GstStructure* structure, const(char)* fieldname, GValueArray* array) c_gst_structure_set_list; - void function(GstStructure* structure, const(char)* name) c_gst_structure_set_name; - int function(GstStructure* structure, int* refcount) c_gst_structure_set_parent_refcount; - void function(GstStructure* structure, const(char)* fieldname, void* varargs) c_gst_structure_set_valist; - void function(GstStructure* structure, const(char)* fieldname, GValue* value) c_gst_structure_set_value; - void function(GstStructure* structure, const(char)* fieldname, GValue* value) c_gst_structure_take_value; - char* function(GstStructure* structure) c_gst_structure_to_string; - int function(GstStructure** oldstrPtr, GstStructure* newstr) c_gst_structure_take; - - // gstreamer.SystemClock - - GType function() c_gst_system_clock_get_type; - GstClock* function() c_gst_system_clock_obtain; - void function(GstClock* newClock) c_gst_system_clock_set_default; - - // gstreamer.TagList - - GType function(const(char)* tag) c_gst_tag_get_type; - GstTagList* function(const(char)* tag, ... ) c_gst_tag_list_new; - GstTagList* function() c_gst_tag_list_new_empty; - GstTagList* function(const(char)* str) c_gst_tag_list_new_from_string; - GstTagList* function(void* varArgs) c_gst_tag_list_new_valist; - void function(GstTagList* list, GstTagMergeMode mode, const(char)* tag, ... ) c_gst_tag_list_add; - void function(GstTagList* list, GstTagMergeMode mode, const(char)* tag, void* varArgs) c_gst_tag_list_add_valist; - void function(GstTagList* list, GstTagMergeMode mode, const(char)* tag, void* varArgs) c_gst_tag_list_add_valist_values; - void function(GstTagList* list, GstTagMergeMode mode, const(char)* tag, GValue* value) c_gst_tag_list_add_value; - void function(GstTagList* list, GstTagMergeMode mode, const(char)* tag, ... ) c_gst_tag_list_add_values; - GstTagList* function(GstTagList* taglist) c_gst_tag_list_copy; - void function(GstTagList* list, GstTagForeachFunc func, void* userData) c_gst_tag_list_foreach; - int function(GstTagList* list, const(char)* tag, int* value) c_gst_tag_list_get_boolean; - int function(GstTagList* list, const(char)* tag, uint index, int* value) c_gst_tag_list_get_boolean_index; - int function(GstTagList* list, const(char)* tag, GDate** value) c_gst_tag_list_get_date; - int function(GstTagList* list, const(char)* tag, uint index, GDate** value) c_gst_tag_list_get_date_index; - int function(GstTagList* list, const(char)* tag, GstDateTime** value) c_gst_tag_list_get_date_time; - int function(GstTagList* list, const(char)* tag, uint index, GstDateTime** value) c_gst_tag_list_get_date_time_index; - int function(GstTagList* list, const(char)* tag, double* value) c_gst_tag_list_get_double; - int function(GstTagList* list, const(char)* tag, uint index, double* value) c_gst_tag_list_get_double_index; - int function(GstTagList* list, const(char)* tag, float* value) c_gst_tag_list_get_float; - int function(GstTagList* list, const(char)* tag, uint index, float* value) c_gst_tag_list_get_float_index; - int function(GstTagList* list, const(char)* tag, int* value) c_gst_tag_list_get_int; - int function(GstTagList* list, const(char)* tag, long* value) c_gst_tag_list_get_int64; - int function(GstTagList* list, const(char)* tag, uint index, long* value) c_gst_tag_list_get_int64_index; - int function(GstTagList* list, const(char)* tag, uint index, int* value) c_gst_tag_list_get_int_index; - int function(GstTagList* list, const(char)* tag, void** value) c_gst_tag_list_get_pointer; - int function(GstTagList* list, const(char)* tag, uint index, void** value) c_gst_tag_list_get_pointer_index; - int function(GstTagList* list, const(char)* tag, GstSample** sample) c_gst_tag_list_get_sample; - int function(GstTagList* list, const(char)* tag, uint index, GstSample** sample) c_gst_tag_list_get_sample_index; - GstTagScope function(GstTagList* list) c_gst_tag_list_get_scope; - int function(GstTagList* list, const(char)* tag, char** value) c_gst_tag_list_get_string; - int function(GstTagList* list, const(char)* tag, uint index, char** value) c_gst_tag_list_get_string_index; - uint function(GstTagList* list, const(char)* tag) c_gst_tag_list_get_tag_size; - int function(GstTagList* list, const(char)* tag, uint* value) c_gst_tag_list_get_uint; - int function(GstTagList* list, const(char)* tag, ulong* value) c_gst_tag_list_get_uint64; - int function(GstTagList* list, const(char)* tag, uint index, ulong* value) c_gst_tag_list_get_uint64_index; - int function(GstTagList* list, const(char)* tag, uint index, uint* value) c_gst_tag_list_get_uint_index; - GValue* function(GstTagList* list, const(char)* tag, uint index) c_gst_tag_list_get_value_index; - void function(GstTagList* into, GstTagList* from, GstTagMergeMode mode) c_gst_tag_list_insert; - int function(GstTagList* list) c_gst_tag_list_is_empty; - int function(GstTagList* list1, GstTagList* list2) c_gst_tag_list_is_equal; - GstTagList* function(GstTagList* list1, GstTagList* list2, GstTagMergeMode mode) c_gst_tag_list_merge; - int function(GstTagList* list) c_gst_tag_list_n_tags; - const(char)* function(GstTagList* list, uint index) c_gst_tag_list_nth_tag_name; - int function(GstTagList* list, const(char)* tag, uint index, char** value) c_gst_tag_list_peek_string_index; - void function(GstTagList* list, const(char)* tag) c_gst_tag_list_remove_tag; - void function(GstTagList* list, GstTagScope scope_) c_gst_tag_list_set_scope; - char* function(GstTagList* list) c_gst_tag_list_to_string; - int function(GValue* dest, GstTagList* list, const(char)* tag) c_gst_tag_list_copy_value; - int function(const(char)* tag) c_gst_tag_exists; - const(char)* function(const(char)* tag) c_gst_tag_get_description; - GstTagFlag function(const(char)* tag) c_gst_tag_get_flag; - const(char)* function(const(char)* tag) c_gst_tag_get_nick; - int function(const(char)* tag) c_gst_tag_is_fixed; - void function(GValue* dest, GValue* src) c_gst_tag_merge_strings_with_comma; - void function(GValue* dest, GValue* src) c_gst_tag_merge_use_first; - void function(const(char)* name, GstTagFlag flag, GType type, const(char)* nick, const(char)* blurb, GstTagMergeFunc func) c_gst_tag_register; - void function(const(char)* name, GstTagFlag flag, GType type, const(char)* nick, const(char)* blurb, GstTagMergeFunc func) c_gst_tag_register_static; - - // gstreamer.TagSetter - - GType function() c_gst_tag_setter_get_type; - void function(GstTagSetter* setter, GstTagMergeMode mode, const(char)* tag, void* varArgs) c_gst_tag_setter_add_tag_valist; - void function(GstTagSetter* setter, GstTagMergeMode mode, const(char)* tag, void* varArgs) c_gst_tag_setter_add_tag_valist_values; - void function(GstTagSetter* setter, GstTagMergeMode mode, const(char)* tag, GValue* value) c_gst_tag_setter_add_tag_value; - void function(GstTagSetter* setter, GstTagMergeMode mode, const(char)* tag, ... ) c_gst_tag_setter_add_tag_values; - void function(GstTagSetter* setter, GstTagMergeMode mode, const(char)* tag, ... ) c_gst_tag_setter_add_tags; - GstTagList* function(GstTagSetter* setter) c_gst_tag_setter_get_tag_list; - GstTagMergeMode function(GstTagSetter* setter) c_gst_tag_setter_get_tag_merge_mode; - void function(GstTagSetter* setter, GstTagList* list, GstTagMergeMode mode) c_gst_tag_setter_merge_tags; - void function(GstTagSetter* setter) c_gst_tag_setter_reset_tags; - void function(GstTagSetter* setter, GstTagMergeMode mode) c_gst_tag_setter_set_tag_merge_mode; - - // gstreamer.Task - - GType function() c_gst_task_get_type; - GstTask* function(GstTaskFunction func, void* userData, GDestroyNotify notify) c_gst_task_new; - void function() c_gst_task_cleanup_all; - GstTaskPool* function(GstTask* task) c_gst_task_get_pool; - GstTaskState function(GstTask* task) c_gst_task_get_state; - int function(GstTask* task) c_gst_task_join; - int function(GstTask* task) c_gst_task_pause; - int function(GstTask* task) c_gst_task_resume; - void function(GstTask* task, GstTaskThreadFunc enterFunc, void* userData, GDestroyNotify notify) c_gst_task_set_enter_callback; - void function(GstTask* task, GstTaskThreadFunc leaveFunc, void* userData, GDestroyNotify notify) c_gst_task_set_leave_callback; - void function(GstTask* task, GRecMutex* mutex) c_gst_task_set_lock; - void function(GstTask* task, GstTaskPool* pool) c_gst_task_set_pool; - int function(GstTask* task, GstTaskState state) c_gst_task_set_state; - int function(GstTask* task) c_gst_task_start; - int function(GstTask* task) c_gst_task_stop; - - // gstreamer.TaskPool - - GType function() c_gst_task_pool_get_type; - GstTaskPool* function() c_gst_task_pool_new; - void function(GstTaskPool* pool) c_gst_task_pool_cleanup; - void function(GstTaskPool* pool, void* id) c_gst_task_pool_join; - void function(GstTaskPool* pool, GError** err) c_gst_task_pool_prepare; - void* function(GstTaskPool* pool, GstTaskPoolFunction func, void* userData, GError** err) c_gst_task_pool_push; - - // gstreamer.Toc - - GType function() c_gst_toc_get_type; - GstToc* function(GstTocScope scope_) c_gst_toc_new; - void function(GstToc* toc, GstTocEntry* entry) c_gst_toc_append_entry; - void function(GstToc* toc) c_gst_toc_dump; - GstTocEntry* function(GstToc* toc, const(char)* uid) c_gst_toc_find_entry; - GList* function(GstToc* toc) c_gst_toc_get_entries; - GstTocScope function(GstToc* toc) c_gst_toc_get_scope; - GstTagList* function(GstToc* toc) c_gst_toc_get_tags; - void function(GstToc* toc, GstTagList* tags, GstTagMergeMode mode) c_gst_toc_merge_tags; - void function(GstToc* toc, GstTagList* tags) c_gst_toc_set_tags; - - // gstreamer.TocEntry - - GType function() c_gst_toc_entry_get_type; - GstTocEntry* function(GstTocEntryType type, const(char)* uid) c_gst_toc_entry_new; - void function(GstTocEntry* entry, GstTocEntry* subentry) c_gst_toc_entry_append_sub_entry; - GstTocEntryType function(GstTocEntry* entry) c_gst_toc_entry_get_entry_type; - int function(GstTocEntry* entry, GstTocLoopType* loopType, int* repeatCount) c_gst_toc_entry_get_loop; - GstTocEntry* function(GstTocEntry* entry) c_gst_toc_entry_get_parent; - int function(GstTocEntry* entry, long* start, long* stop) c_gst_toc_entry_get_start_stop_times; - GList* function(GstTocEntry* entry) c_gst_toc_entry_get_sub_entries; - GstTagList* function(GstTocEntry* entry) c_gst_toc_entry_get_tags; - GstToc* function(GstTocEntry* entry) c_gst_toc_entry_get_toc; - const(char)* function(GstTocEntry* entry) c_gst_toc_entry_get_uid; - int function(GstTocEntry* entry) c_gst_toc_entry_is_alternative; - int function(GstTocEntry* entry) c_gst_toc_entry_is_sequence; - void function(GstTocEntry* entry, GstTagList* tags, GstTagMergeMode mode) c_gst_toc_entry_merge_tags; - void function(GstTocEntry* entry, GstTocLoopType loopType, int repeatCount) c_gst_toc_entry_set_loop; - void function(GstTocEntry* entry, long start, long stop) c_gst_toc_entry_set_start_stop_times; - void function(GstTocEntry* entry, GstTagList* tags) c_gst_toc_entry_set_tags; - - // gstreamer.TocSetter - - GType function() c_gst_toc_setter_get_type; - GstToc* function(GstTocSetter* setter) c_gst_toc_setter_get_toc; - void function(GstTocSetter* setter) c_gst_toc_setter_reset; - void function(GstTocSetter* setter, GstToc* toc) c_gst_toc_setter_set_toc; - - // gstreamer.Tracer - - GType function() c_gst_tracer_get_type; - int function(GstPlugin* plugin, const(char)* name, GType type) c_gst_tracer_register; - - // gstreamer.TracerFactory - - GType function() c_gst_tracer_factory_get_type; - GList* function() c_gst_tracer_factory_get_list; - GType function(GstTracerFactory* factory) c_gst_tracer_factory_get_tracer_type; - - // gstreamer.TracerRecord - - GType function() c_gst_tracer_record_get_type; - GstTracerRecord* function(const(char)* name, const(char)* firstfield, ... ) c_gst_tracer_record_new; - void function(GstTracerRecord* self, ... ) c_gst_tracer_record_log; - - // gstreamer.TypeFind - - ulong function(GstTypeFind* find) c_gst_type_find_get_length; - ubyte* function(GstTypeFind* find, long offset, uint size) c_gst_type_find_peek; - void function(GstTypeFind* find, uint probability, GstCaps* caps) c_gst_type_find_suggest; - void function(GstTypeFind* find, uint probability, const(char)* mediaType, const(char)* fieldname, ... ) c_gst_type_find_suggest_simple; - int function(GstPlugin* plugin, const(char)* name, uint rank, GstTypeFindFunction func, const(char)* extensions, GstCaps* possibleCaps, void* data, GDestroyNotify dataNotify) c_gst_type_find_register; - GType function() c_gst_type_find_get_type; - - // gstreamer.TypeFindFactory - - GType function() c_gst_type_find_factory_get_type; - GList* function() c_gst_type_find_factory_get_list; - void function(GstTypeFindFactory* factory, GstTypeFind* find) c_gst_type_find_factory_call_function; - GstCaps* function(GstTypeFindFactory* factory) c_gst_type_find_factory_get_caps; - char** function(GstTypeFindFactory* factory) c_gst_type_find_factory_get_extensions; - int function(GstTypeFindFactory* factory) c_gst_type_find_factory_has_function; - - // gstreamer.URIHandler - - GType function() c_gst_uri_handler_get_type; - char** function(GstURIHandler* handler) c_gst_uri_handler_get_protocols; - char* function(GstURIHandler* handler) c_gst_uri_handler_get_uri; - GstURIType function(GstURIHandler* handler) c_gst_uri_handler_get_uri_type; - int function(GstURIHandler* handler, const(char)* uri, GError** err) c_gst_uri_handler_set_uri; - - // gstreamer.Uri - - GType function() c_gst_uri_get_type; - GstUri* function(const(char)* scheme, const(char)* userinfo, const(char)* host, uint port, const(char)* path, const(char)* query, const(char)* fragment) c_gst_uri_new; - int function(GstUri* uri, const(char)* relativePath) c_gst_uri_append_path; - int function(GstUri* uri, const(char)* pathSegment) c_gst_uri_append_path_segment; - int function(GstUri* first, GstUri* second) c_gst_uri_equal; - GstUri* function(GstUri* base, const(char)* uri) c_gst_uri_from_string_with_base; - const(char)* function(GstUri* uri) c_gst_uri_get_fragment; - const(char)* function(GstUri* uri) c_gst_uri_get_host; - GHashTable* function(GstUri* uri) c_gst_uri_get_media_fragment_table; - char* function(GstUri* uri) c_gst_uri_get_path; - GList* function(GstUri* uri) c_gst_uri_get_path_segments; - char* function(GstUri* uri) c_gst_uri_get_path_string; - uint function(GstUri* uri) c_gst_uri_get_port; - GList* function(GstUri* uri) c_gst_uri_get_query_keys; - char* function(GstUri* uri) c_gst_uri_get_query_string; - GHashTable* function(GstUri* uri) c_gst_uri_get_query_table; - const(char)* function(GstUri* uri, const(char)* queryKey) c_gst_uri_get_query_value; - const(char)* function(GstUri* uri) c_gst_uri_get_scheme; - const(char)* function(GstUri* uri) c_gst_uri_get_userinfo; - int function(GstUri* uri) c_gst_uri_is_normalized; - int function(GstUri* uri) c_gst_uri_is_writable; - GstUri* function(GstUri* baseUri, GstUri* refUri) c_gst_uri_join; - GstUri* function(GstUri* uri) c_gst_uri_make_writable; - GstUri* function(GstUri* base, const(char)* scheme, const(char)* userinfo, const(char)* host, uint port, const(char)* path, const(char)* query, const(char)* fragment) c_gst_uri_new_with_base; - int function(GstUri* uri) c_gst_uri_normalize; - int function(GstUri* uri, const(char)* queryKey) c_gst_uri_query_has_key; - int function(GstUri* uri, const(char)* queryKey) c_gst_uri_remove_query_key; - int function(GstUri* uri, const(char)* fragment) c_gst_uri_set_fragment; - int function(GstUri* uri, const(char)* host) c_gst_uri_set_host; - int function(GstUri* uri, const(char)* path) c_gst_uri_set_path; - int function(GstUri* uri, GList* pathSegments) c_gst_uri_set_path_segments; - int function(GstUri* uri, const(char)* path) c_gst_uri_set_path_string; - int function(GstUri* uri, uint port) c_gst_uri_set_port; - int function(GstUri* uri, const(char)* query) c_gst_uri_set_query_string; - int function(GstUri* uri, GHashTable* queryTable) c_gst_uri_set_query_table; - int function(GstUri* uri, const(char)* queryKey, const(char)* queryValue) c_gst_uri_set_query_value; - int function(GstUri* uri, const(char)* scheme) c_gst_uri_set_scheme; - int function(GstUri* uri, const(char)* userinfo) c_gst_uri_set_userinfo; - char* function(GstUri* uri) c_gst_uri_to_string; - char* function(const(char)* protocol, const(char)* location) c_gst_uri_construct; - GstUri* function(const(char)* uri) c_gst_uri_from_string; - GstUri* function(const(char)* uri) c_gst_uri_from_string_escaped; - char* function(const(char)* uri) c_gst_uri_get_location; - char* function(const(char)* uri) c_gst_uri_get_protocol; - int function(const(char)* uri, const(char)* protocol) c_gst_uri_has_protocol; - int function(const(char)* uri) c_gst_uri_is_valid; - char* function(const(char)* baseUri, const(char)* refUri) c_gst_uri_join_strings; - int function(GstURIType type, const(char)* protocol) c_gst_uri_protocol_is_supported; - int function(const(char)* protocol) c_gst_uri_protocol_is_valid; - char* function(char* filename, GError** err) c_gst_filename_to_uri; - GQuark function() c_gst_uri_error_quark; - - // gstreamer.ValueArray - - GType function() c_gst_value_array_get_type; - void function(GValue* value, GValue* appendValue) c_gst_value_array_append_and_take_value; - void function(GValue* value, GValue* appendValue) c_gst_value_array_append_value; - uint function(GValue* value) c_gst_value_array_get_size; - GValue* function(GValue* value, uint index) c_gst_value_array_get_value; - GValue* function(GValue* value, uint prealloc) c_gst_value_array_init; - void function(GValue* value, GValue* prependValue) c_gst_value_array_prepend_value; - - // gstreamer.ValueList - - GType function() c_gst_value_list_get_type; - void function(GValue* value, GValue* appendValue) c_gst_value_list_append_and_take_value; - void function(GValue* value, GValue* appendValue) c_gst_value_list_append_value; - void function(GValue* dest, GValue* value1, GValue* value2) c_gst_value_list_concat; - uint function(GValue* value) c_gst_value_list_get_size; - GValue* function(GValue* value, uint index) c_gst_value_list_get_value; - GValue* function(GValue* value, uint prealloc) c_gst_value_list_init; - void function(GValue* dest, GValue* value1, GValue* value2) c_gst_value_list_merge; - void function(GValue* value, GValue* prependValue) c_gst_value_list_prepend_value; - - // gstreamer.Debug - - void function(GstLogFunction func, void* userData, GDestroyNotify notify) c_gst_debug_add_log_function; - char* function(GstBin* bin, GstDebugGraphDetails details) c_gst_debug_bin_to_dot_data; - void function(GstBin* bin, GstDebugGraphDetails details, char* fileName) c_gst_debug_bin_to_dot_file; - void function(GstBin* bin, GstDebugGraphDetails details, char* fileName) c_gst_debug_bin_to_dot_file_with_ts; - char* function(uint colorinfo) c_gst_debug_construct_term_color; - int function(uint colorinfo) c_gst_debug_construct_win_color; - GSList* function() c_gst_debug_get_all_categories; - GstDebugColorMode function() c_gst_debug_get_color_mode; - GstDebugLevel function() c_gst_debug_get_default_threshold; - int function() c_gst_debug_is_active; - int function() c_gst_debug_is_colored; - const(char)* function(GstDebugLevel level) c_gst_debug_level_get_name; - void function(GstDebugCategory* category, GstDebugLevel level, const(char)* file, const(char)* function_, int line, GObject* object, const(char)* format, ... ) c_gst_debug_log; - void function(GstDebugCategory* category, GstDebugLevel level, const(char)* file, const(char)* function_, int line, GObject* object, GstDebugMessage* message, void* userData) c_gst_debug_log_default; - void function(GstDebugCategory* category, GstDebugLevel level, const(char)* file, const(char)* function_, int line, GObject* object, const(char)* format, void* args) c_gst_debug_log_valist; - void function() c_gst_debug_print_stack_trace; - uint function(GstLogFunction func) c_gst_debug_remove_log_function; - uint function(void* data) c_gst_debug_remove_log_function_by_data; - void function(int active) c_gst_debug_set_active; - void function(GstDebugColorMode mode) c_gst_debug_set_color_mode; - void function(const(char)* mode) c_gst_debug_set_color_mode_from_string; - void function(int colored) c_gst_debug_set_colored; - void function(GstDebugLevel level) c_gst_debug_set_default_threshold; - void function(const(char)* name, GstDebugLevel level) c_gst_debug_set_threshold_for_name; - void function(const(char)* list, int reset) c_gst_debug_set_threshold_from_string; - void function(const(char)* name) c_gst_debug_unset_threshold_for_name; - - // gstreamer.GError - - char* function(GQuark domain, int code) c_gst_error_get_message; - - // gstreamer.Format - - GstFormat function(const(char)* nick) c_gst_format_get_by_nick; - GstFormatDefinition* function(GstFormat format) c_gst_format_get_details; - const(char)* function(GstFormat format) c_gst_format_get_name; - GstIterator* function() c_gst_format_iterate_definitions; - GstFormat function(const(char)* nick, const(char)* description) c_gst_format_register; - GQuark function(GstFormat format) c_gst_format_to_quark; - int function(GstFormat* formats, GstFormat format) c_gst_formats_contains; - - // gstreamer.GStreamer - - void function() c_gst_deinit; - void function(int* argc, char*** argv) c_gst_init; - int function(int* argc, char*** argv, GError** err) c_gst_init_check; - GOptionGroup* function() c_gst_init_get_option_group; - int function() c_gst_is_initialized; - int function() c_gst_segtrap_is_enabled; - void function(int enabled) c_gst_segtrap_set_enabled; - int function() c_gst_update_registry; - void function(uint* major, uint* minor, uint* micro, uint* nano) c_gst_version; - char* function() c_gst_version_string; - - // gstreamer.Parse - - GstElement* function(const(char)* binDescription, int ghostUnlinkedPads, GError** err) c_gst_parse_bin_from_description; - GstElement* function(const(char)* binDescription, int ghostUnlinkedPads, GstParseContext* context, GstParseFlags flags, GError** err) c_gst_parse_bin_from_description_full; - GQuark function() c_gst_parse_error_quark; - GstElement* function(const(char)* pipelineDescription, GError** err) c_gst_parse_launch; - GstElement* function(const(char)* pipelineDescription, GstParseContext* context, GstParseFlags flags, GError** err) c_gst_parse_launch_full; - GstElement* function(char** argv, GError** err) c_gst_parse_launchv; - GstElement* function(char** argv, GstParseContext* context, GstParseFlags flags, GError** err) c_gst_parse_launchv_full; - - // gstreamer.Utils - - void* function(void* array, uint numElements, size_t elementSize, GCompareDataFunc searchFunc, GstSearchMode mode, void* searchData, void* userData) c_gst_util_array_binary_search; - void function(double src, int* destN, int* destD) c_gst_util_double_to_fraction; - void function(char* mem, uint size) c_gst_util_dump_mem; - int function(int aN, int aD, int bN, int bD, int* resN, int* resD) c_gst_util_fraction_add; - int function(int aN, int aD, int bN, int bD) c_gst_util_fraction_compare; - int function(int aN, int aD, int bN, int bD, int* resN, int* resD) c_gst_util_fraction_multiply; - void function(int srcN, int srcD, double* dest) c_gst_util_fraction_to_double; - ulong function(double value) c_gst_util_gdouble_to_guint64; - GstClockTime function() c_gst_util_get_timestamp; - int function(int a, int b) c_gst_util_greatest_common_divisor; - long function(long a, long b) c_gst_util_greatest_common_divisor_int64; - uint function() c_gst_util_group_id_next; - double function(ulong value) c_gst_util_guint64_to_gdouble; - int function(uint s1, uint s2) c_gst_util_seqnum_compare; - uint function() c_gst_util_seqnum_next; - void function(GObject* object, const(char)* name, const(char)* value) c_gst_util_set_object_arg; - void function(GValue* value, const(char)* valueStr) c_gst_util_set_value_from_string; - ulong function(ulong val, ulong num, ulong denom) c_gst_util_uint64_scale; - ulong function(ulong val, ulong num, ulong denom) c_gst_util_uint64_scale_ceil; - ulong function(ulong val, int num, int denom) c_gst_util_uint64_scale_int; - ulong function(ulong val, int num, int denom) c_gst_util_uint64_scale_int_ceil; - ulong function(ulong val, int num, int denom) c_gst_util_uint64_scale_int_round; - ulong function(ulong val, ulong num, ulong denom) c_gst_util_uint64_scale_round; - int function(GstClockTime* xy, GstClockTime* temp, uint n, GstClockTime* mNum, GstClockTime* mDenom, GstClockTime* b, GstClockTime* xbase, double* rSquared) c_gst_calculate_linear_regression; - int function(GstPlugin* plugin, GType type) c_gst_dynamic_type_register; - int function(GObject* object, const(char)* name, GValueArray** array) c_gst_util_get_object_array; - int function(GObject* object, const(char)* name, GValueArray* array) c_gst_util_set_object_array; - - // gstreamer.ValueGst - - int function(GValue* value1, GValue* value2) c_gst_value_can_compare; - int function(GValue* value1, GValue* value2) c_gst_value_can_intersect; - int function(GValue* minuend, GValue* subtrahend) c_gst_value_can_subtract; - int function(GValue* value1, GValue* value2) c_gst_value_can_union; - int function(GValue* value1, GValue* value2) c_gst_value_compare; - int function(GValue* dest, const(char)* src) c_gst_value_deserialize; - int function(GValue* dest, GValue* src) c_gst_value_fixate; - int function(GValue* product, GValue* factor1, GValue* factor2) c_gst_value_fraction_multiply; - int function(GValue* dest, GValue* minuend, GValue* subtrahend) c_gst_value_fraction_subtract; - ulong function(GValue* value) c_gst_value_get_bitmask; - GstCaps* function(GValue* value) c_gst_value_get_caps; - GstCapsFeatures* function(GValue* value) c_gst_value_get_caps_features; - double function(GValue* value) c_gst_value_get_double_range_max; - double function(GValue* value) c_gst_value_get_double_range_min; - uint function(GValue* value) c_gst_value_get_flagset_flags; - uint function(GValue* value) c_gst_value_get_flagset_mask; - void function(GValue* value, uint flags, uint mask) c_gst_value_set_flagset; - int function(GValue* value) c_gst_value_get_fraction_denominator; - int function(GValue* value) c_gst_value_get_fraction_numerator; - GValue* function(GValue* value) c_gst_value_get_fraction_range_max; - GValue* function(GValue* value) c_gst_value_get_fraction_range_min; - long function(GValue* value) c_gst_value_get_int64_range_max; - long function(GValue* value) c_gst_value_get_int64_range_min; - long function(GValue* value) c_gst_value_get_int64_range_step; - int function(GValue* value) c_gst_value_get_int_range_max; - int function(GValue* value) c_gst_value_get_int_range_min; - int function(GValue* value) c_gst_value_get_int_range_step; - GstStructure* function(GValue* value) c_gst_value_get_structure; - void function(GValue* dest, GValue* src) c_gst_value_init_and_copy; - int function(GValue* dest, GValue* value1, GValue* value2) c_gst_value_intersect; - int function(GValue* value) c_gst_value_is_fixed; - int function(GValue* value1, GValue* value2) c_gst_value_is_subset; - void function(GstValueTable* table) c_gst_value_register; - char* function(GValue* value) c_gst_value_serialize; - void function(GValue* value, ulong bitmask) c_gst_value_set_bitmask; - void function(GValue* value, GstCaps* caps) c_gst_value_set_caps; - void function(GValue* value, GstCapsFeatures* features) c_gst_value_set_caps_features; - void function(GValue* value, double start, double end) c_gst_value_set_double_range; - void function(GValue* value, int numerator, int denominator) c_gst_value_set_fraction; - void function(GValue* value, GValue* start, GValue* end) c_gst_value_set_fraction_range; - void function(GValue* value, int numeratorStart, int denominatorStart, int numeratorEnd, int denominatorEnd) c_gst_value_set_fraction_range_full; - void function(GValue* value, long start, long end) c_gst_value_set_int64_range; - void function(GValue* value, long start, long end, long step) c_gst_value_set_int64_range_step; - void function(GValue* value, int start, int end) c_gst_value_set_int_range; - void function(GValue* value, int start, int end, int step) c_gst_value_set_int_range_step; - void function(GValue* value, GstStructure* structure) c_gst_value_set_structure; - int function(GValue* dest, GValue* minuend, GValue* subtrahend) c_gst_value_subtract; - int function(GValue* dest, GValue* value1, GValue* value2) c_gst_value_union; -} - - -// gstreamer.AllocationParams - -alias c_gst_allocation_params_get_type gst_allocation_params_get_type; -alias c_gst_allocation_params_copy gst_allocation_params_copy; -alias c_gst_allocation_params_free gst_allocation_params_free; -alias c_gst_allocation_params_init gst_allocation_params_init; - -// gstreamer.Allocator - -alias c_gst_allocator_get_type gst_allocator_get_type; -alias c_gst_allocator_find gst_allocator_find; -alias c_gst_allocator_register gst_allocator_register; -alias c_gst_allocator_alloc gst_allocator_alloc; -alias c_gst_allocator_free gst_allocator_free; -alias c_gst_allocator_set_default gst_allocator_set_default; - -// gstreamer.AtomicQueue - -alias c_gst_atomic_queue_get_type gst_atomic_queue_get_type; -alias c_gst_atomic_queue_new gst_atomic_queue_new; -alias c_gst_atomic_queue_length gst_atomic_queue_length; -alias c_gst_atomic_queue_peek gst_atomic_queue_peek; -alias c_gst_atomic_queue_pop gst_atomic_queue_pop; -alias c_gst_atomic_queue_push gst_atomic_queue_push; -alias c_gst_atomic_queue_ref gst_atomic_queue_ref; -alias c_gst_atomic_queue_unref gst_atomic_queue_unref; - -// gstreamer.Bin - -alias c_gst_bin_get_type gst_bin_get_type; -alias c_gst_bin_new gst_bin_new; -alias c_gst_bin_add gst_bin_add; -alias c_gst_bin_add_many gst_bin_add_many; -alias c_gst_bin_find_unlinked_pad gst_bin_find_unlinked_pad; -alias c_gst_bin_get_by_interface gst_bin_get_by_interface; -alias c_gst_bin_get_by_name gst_bin_get_by_name; -alias c_gst_bin_get_by_name_recurse_up gst_bin_get_by_name_recurse_up; -alias c_gst_bin_get_suppressed_flags gst_bin_get_suppressed_flags; -alias c_gst_bin_iterate_all_by_element_factory_name gst_bin_iterate_all_by_element_factory_name; -alias c_gst_bin_iterate_all_by_interface gst_bin_iterate_all_by_interface; -alias c_gst_bin_iterate_elements gst_bin_iterate_elements; -alias c_gst_bin_iterate_recurse gst_bin_iterate_recurse; -alias c_gst_bin_iterate_sinks gst_bin_iterate_sinks; -alias c_gst_bin_iterate_sorted gst_bin_iterate_sorted; -alias c_gst_bin_iterate_sources gst_bin_iterate_sources; -alias c_gst_bin_recalculate_latency gst_bin_recalculate_latency; -alias c_gst_bin_remove gst_bin_remove; -alias c_gst_bin_remove_many gst_bin_remove_many; -alias c_gst_bin_set_suppressed_flags gst_bin_set_suppressed_flags; -alias c_gst_bin_sync_children_states gst_bin_sync_children_states; - -// gstreamer.Bitmask - -alias c_gst_bitmask_get_type gst_bitmask_get_type; - -// gstreamer.Buffer - -alias c_gst_buffer_get_type gst_buffer_get_type; -alias c_gst_buffer_new gst_buffer_new; -alias c_gst_buffer_new_allocate gst_buffer_new_allocate; -alias c_gst_buffer_new_wrapped gst_buffer_new_wrapped; -alias c_gst_buffer_new_wrapped_bytes gst_buffer_new_wrapped_bytes; -alias c_gst_buffer_new_wrapped_full gst_buffer_new_wrapped_full; -alias c_gst_buffer_add_meta gst_buffer_add_meta; -alias c_gst_buffer_add_parent_buffer_meta gst_buffer_add_parent_buffer_meta; -alias c_gst_buffer_add_protection_meta gst_buffer_add_protection_meta; -alias c_gst_buffer_add_reference_timestamp_meta gst_buffer_add_reference_timestamp_meta; -alias c_gst_buffer_append gst_buffer_append; -alias c_gst_buffer_append_memory gst_buffer_append_memory; -alias c_gst_buffer_append_region gst_buffer_append_region; -alias c_gst_buffer_copy_deep gst_buffer_copy_deep; -alias c_gst_buffer_copy_into gst_buffer_copy_into; -alias c_gst_buffer_copy_region gst_buffer_copy_region; -alias c_gst_buffer_extract gst_buffer_extract; -alias c_gst_buffer_extract_dup gst_buffer_extract_dup; -alias c_gst_buffer_fill gst_buffer_fill; -alias c_gst_buffer_find_memory gst_buffer_find_memory; -alias c_gst_buffer_foreach_meta gst_buffer_foreach_meta; -alias c_gst_buffer_get_all_memory gst_buffer_get_all_memory; -alias c_gst_buffer_get_flags gst_buffer_get_flags; -alias c_gst_buffer_get_memory gst_buffer_get_memory; -alias c_gst_buffer_get_memory_range gst_buffer_get_memory_range; -alias c_gst_buffer_get_meta gst_buffer_get_meta; -alias c_gst_buffer_get_n_meta gst_buffer_get_n_meta; -alias c_gst_buffer_get_reference_timestamp_meta gst_buffer_get_reference_timestamp_meta; -alias c_gst_buffer_get_size gst_buffer_get_size; -alias c_gst_buffer_get_sizes gst_buffer_get_sizes; -alias c_gst_buffer_get_sizes_range gst_buffer_get_sizes_range; -alias c_gst_buffer_has_flags gst_buffer_has_flags; -alias c_gst_buffer_insert_memory gst_buffer_insert_memory; -alias c_gst_buffer_is_all_memory_writable gst_buffer_is_all_memory_writable; -alias c_gst_buffer_is_memory_range_writable gst_buffer_is_memory_range_writable; -alias c_gst_buffer_iterate_meta gst_buffer_iterate_meta; -alias c_gst_buffer_iterate_meta_filtered gst_buffer_iterate_meta_filtered; -alias c_gst_buffer_map gst_buffer_map; -alias c_gst_buffer_map_range gst_buffer_map_range; -alias c_gst_buffer_memcmp gst_buffer_memcmp; -alias c_gst_buffer_memset gst_buffer_memset; -alias c_gst_buffer_n_memory gst_buffer_n_memory; -alias c_gst_buffer_peek_memory gst_buffer_peek_memory; -alias c_gst_buffer_prepend_memory gst_buffer_prepend_memory; -alias c_gst_buffer_remove_all_memory gst_buffer_remove_all_memory; -alias c_gst_buffer_remove_memory gst_buffer_remove_memory; -alias c_gst_buffer_remove_memory_range gst_buffer_remove_memory_range; -alias c_gst_buffer_remove_meta gst_buffer_remove_meta; -alias c_gst_buffer_replace_all_memory gst_buffer_replace_all_memory; -alias c_gst_buffer_replace_memory gst_buffer_replace_memory; -alias c_gst_buffer_replace_memory_range gst_buffer_replace_memory_range; -alias c_gst_buffer_resize gst_buffer_resize; -alias c_gst_buffer_resize_range gst_buffer_resize_range; -alias c_gst_buffer_set_flags gst_buffer_set_flags; -alias c_gst_buffer_set_size gst_buffer_set_size; -alias c_gst_buffer_unmap gst_buffer_unmap; -alias c_gst_buffer_unset_flags gst_buffer_unset_flags; -alias c_gst_buffer_get_max_memory gst_buffer_get_max_memory; - -// gstreamer.BufferList - -alias c_gst_buffer_list_get_type gst_buffer_list_get_type; -alias c_gst_buffer_list_new gst_buffer_list_new; -alias c_gst_buffer_list_new_sized gst_buffer_list_new_sized; -alias c_gst_buffer_list_calculate_size gst_buffer_list_calculate_size; -alias c_gst_buffer_list_copy_deep gst_buffer_list_copy_deep; -alias c_gst_buffer_list_foreach gst_buffer_list_foreach; -alias c_gst_buffer_list_get gst_buffer_list_get; -alias c_gst_buffer_list_get_writable gst_buffer_list_get_writable; -alias c_gst_buffer_list_insert gst_buffer_list_insert; -alias c_gst_buffer_list_length gst_buffer_list_length; -alias c_gst_buffer_list_remove gst_buffer_list_remove; - -// gstreamer.BufferPool - -alias c_gst_buffer_pool_get_type gst_buffer_pool_get_type; -alias c_gst_buffer_pool_new gst_buffer_pool_new; -alias c_gst_buffer_pool_config_add_option gst_buffer_pool_config_add_option; -alias c_gst_buffer_pool_config_get_allocator gst_buffer_pool_config_get_allocator; -alias c_gst_buffer_pool_config_get_option gst_buffer_pool_config_get_option; -alias c_gst_buffer_pool_config_get_params gst_buffer_pool_config_get_params; -alias c_gst_buffer_pool_config_has_option gst_buffer_pool_config_has_option; -alias c_gst_buffer_pool_config_n_options gst_buffer_pool_config_n_options; -alias c_gst_buffer_pool_config_set_allocator gst_buffer_pool_config_set_allocator; -alias c_gst_buffer_pool_config_set_params gst_buffer_pool_config_set_params; -alias c_gst_buffer_pool_config_validate_params gst_buffer_pool_config_validate_params; -alias c_gst_buffer_pool_acquire_buffer gst_buffer_pool_acquire_buffer; -alias c_gst_buffer_pool_get_config gst_buffer_pool_get_config; -alias c_gst_buffer_pool_get_options gst_buffer_pool_get_options; -alias c_gst_buffer_pool_has_option gst_buffer_pool_has_option; -alias c_gst_buffer_pool_is_active gst_buffer_pool_is_active; -alias c_gst_buffer_pool_release_buffer gst_buffer_pool_release_buffer; -alias c_gst_buffer_pool_set_active gst_buffer_pool_set_active; -alias c_gst_buffer_pool_set_config gst_buffer_pool_set_config; -alias c_gst_buffer_pool_set_flushing gst_buffer_pool_set_flushing; - -// gstreamer.Bus - -alias c_gst_bus_get_type gst_bus_get_type; -alias c_gst_bus_new gst_bus_new; -alias c_gst_bus_add_signal_watch gst_bus_add_signal_watch; -alias c_gst_bus_add_signal_watch_full gst_bus_add_signal_watch_full; -alias c_gst_bus_add_watch gst_bus_add_watch; -alias c_gst_bus_add_watch_full gst_bus_add_watch_full; -alias c_gst_bus_async_signal_func gst_bus_async_signal_func; -alias c_gst_bus_create_watch gst_bus_create_watch; -alias c_gst_bus_disable_sync_message_emission gst_bus_disable_sync_message_emission; -alias c_gst_bus_enable_sync_message_emission gst_bus_enable_sync_message_emission; -alias c_gst_bus_get_pollfd gst_bus_get_pollfd; -alias c_gst_bus_have_pending gst_bus_have_pending; -alias c_gst_bus_peek gst_bus_peek; -alias c_gst_bus_poll gst_bus_poll; -alias c_gst_bus_pop gst_bus_pop; -alias c_gst_bus_pop_filtered gst_bus_pop_filtered; -alias c_gst_bus_post gst_bus_post; -alias c_gst_bus_remove_signal_watch gst_bus_remove_signal_watch; -alias c_gst_bus_remove_watch gst_bus_remove_watch; -alias c_gst_bus_set_flushing gst_bus_set_flushing; -alias c_gst_bus_set_sync_handler gst_bus_set_sync_handler; -alias c_gst_bus_sync_signal_handler gst_bus_sync_signal_handler; -alias c_gst_bus_timed_pop gst_bus_timed_pop; -alias c_gst_bus_timed_pop_filtered gst_bus_timed_pop_filtered; - -// gstreamer.Caps - -alias c_gst_caps_get_type gst_caps_get_type; -alias c_gst_caps_new_any gst_caps_new_any; -alias c_gst_caps_new_empty gst_caps_new_empty; -alias c_gst_caps_new_empty_simple gst_caps_new_empty_simple; -alias c_gst_caps_new_full gst_caps_new_full; -alias c_gst_caps_new_full_valist gst_caps_new_full_valist; -alias c_gst_caps_new_simple gst_caps_new_simple; -alias c_gst_caps_append gst_caps_append; -alias c_gst_caps_append_structure gst_caps_append_structure; -alias c_gst_caps_append_structure_full gst_caps_append_structure_full; -alias c_gst_caps_can_intersect gst_caps_can_intersect; -alias c_gst_caps_copy gst_caps_copy; -alias c_gst_caps_copy_nth gst_caps_copy_nth; -alias c_gst_caps_filter_and_map_in_place gst_caps_filter_and_map_in_place; -alias c_gst_caps_fixate gst_caps_fixate; -alias c_gst_caps_foreach gst_caps_foreach; -alias c_gst_caps_get_features gst_caps_get_features; -alias c_gst_caps_get_size gst_caps_get_size; -alias c_gst_caps_get_structure gst_caps_get_structure; -alias c_gst_caps_intersect gst_caps_intersect; -alias c_gst_caps_intersect_full gst_caps_intersect_full; -alias c_gst_caps_is_always_compatible gst_caps_is_always_compatible; -alias c_gst_caps_is_any gst_caps_is_any; -alias c_gst_caps_is_empty gst_caps_is_empty; -alias c_gst_caps_is_equal gst_caps_is_equal; -alias c_gst_caps_is_equal_fixed gst_caps_is_equal_fixed; -alias c_gst_caps_is_fixed gst_caps_is_fixed; -alias c_gst_caps_is_strictly_equal gst_caps_is_strictly_equal; -alias c_gst_caps_is_subset gst_caps_is_subset; -alias c_gst_caps_is_subset_structure gst_caps_is_subset_structure; -alias c_gst_caps_is_subset_structure_full gst_caps_is_subset_structure_full; -alias c_gst_caps_map_in_place gst_caps_map_in_place; -alias c_gst_caps_merge gst_caps_merge; -alias c_gst_caps_merge_structure gst_caps_merge_structure; -alias c_gst_caps_merge_structure_full gst_caps_merge_structure_full; -alias c_gst_caps_normalize gst_caps_normalize; -alias c_gst_caps_remove_structure gst_caps_remove_structure; -alias c_gst_caps_set_features gst_caps_set_features; -alias c_gst_caps_set_features_simple gst_caps_set_features_simple; -alias c_gst_caps_set_simple gst_caps_set_simple; -alias c_gst_caps_set_simple_valist gst_caps_set_simple_valist; -alias c_gst_caps_set_value gst_caps_set_value; -alias c_gst_caps_simplify gst_caps_simplify; -alias c_gst_caps_steal_structure gst_caps_steal_structure; -alias c_gst_caps_subtract gst_caps_subtract; -alias c_gst_caps_to_string gst_caps_to_string; -alias c_gst_caps_truncate gst_caps_truncate; -alias c_gst_caps_from_string gst_caps_from_string; - -// gstreamer.CapsFeatures - -alias c_gst_caps_features_get_type gst_caps_features_get_type; -alias c_gst_caps_features_new gst_caps_features_new; -alias c_gst_caps_features_new_any gst_caps_features_new_any; -alias c_gst_caps_features_new_empty gst_caps_features_new_empty; -alias c_gst_caps_features_new_id gst_caps_features_new_id; -alias c_gst_caps_features_new_id_valist gst_caps_features_new_id_valist; -alias c_gst_caps_features_new_valist gst_caps_features_new_valist; -alias c_gst_caps_features_add gst_caps_features_add; -alias c_gst_caps_features_add_id gst_caps_features_add_id; -alias c_gst_caps_features_contains gst_caps_features_contains; -alias c_gst_caps_features_contains_id gst_caps_features_contains_id; -alias c_gst_caps_features_copy gst_caps_features_copy; -alias c_gst_caps_features_free gst_caps_features_free; -alias c_gst_caps_features_get_nth gst_caps_features_get_nth; -alias c_gst_caps_features_get_nth_id gst_caps_features_get_nth_id; -alias c_gst_caps_features_get_size gst_caps_features_get_size; -alias c_gst_caps_features_is_any gst_caps_features_is_any; -alias c_gst_caps_features_is_equal gst_caps_features_is_equal; -alias c_gst_caps_features_remove gst_caps_features_remove; -alias c_gst_caps_features_remove_id gst_caps_features_remove_id; -alias c_gst_caps_features_set_parent_refcount gst_caps_features_set_parent_refcount; -alias c_gst_caps_features_to_string gst_caps_features_to_string; -alias c_gst_caps_features_from_string gst_caps_features_from_string; - -// gstreamer.ChildProxy - -alias c_gst_child_proxy_get_type gst_child_proxy_get_type; -alias c_gst_child_proxy_child_added gst_child_proxy_child_added; -alias c_gst_child_proxy_child_removed gst_child_proxy_child_removed; -alias c_gst_child_proxy_get gst_child_proxy_get; -alias c_gst_child_proxy_get_child_by_index gst_child_proxy_get_child_by_index; -alias c_gst_child_proxy_get_child_by_name gst_child_proxy_get_child_by_name; -alias c_gst_child_proxy_get_children_count gst_child_proxy_get_children_count; -alias c_gst_child_proxy_get_property gst_child_proxy_get_property; -alias c_gst_child_proxy_get_valist gst_child_proxy_get_valist; -alias c_gst_child_proxy_lookup gst_child_proxy_lookup; -alias c_gst_child_proxy_set gst_child_proxy_set; -alias c_gst_child_proxy_set_property gst_child_proxy_set_property; -alias c_gst_child_proxy_set_valist gst_child_proxy_set_valist; - -// gstreamer.Clock - -alias c_gst_clock_get_type gst_clock_get_type; -alias c_gst_clock_id_compare_func gst_clock_id_compare_func; -alias c_gst_clock_id_get_clock gst_clock_id_get_clock; -alias c_gst_clock_id_get_time gst_clock_id_get_time; -alias c_gst_clock_id_ref gst_clock_id_ref; -alias c_gst_clock_id_unref gst_clock_id_unref; -alias c_gst_clock_id_unschedule gst_clock_id_unschedule; -alias c_gst_clock_id_uses_clock gst_clock_id_uses_clock; -alias c_gst_clock_id_wait gst_clock_id_wait; -alias c_gst_clock_id_wait_async gst_clock_id_wait_async; -alias c_gst_clock_add_observation gst_clock_add_observation; -alias c_gst_clock_add_observation_unapplied gst_clock_add_observation_unapplied; -alias c_gst_clock_adjust_unlocked gst_clock_adjust_unlocked; -alias c_gst_clock_adjust_with_calibration gst_clock_adjust_with_calibration; -alias c_gst_clock_get_calibration gst_clock_get_calibration; -alias c_gst_clock_get_internal_time gst_clock_get_internal_time; -alias c_gst_clock_get_master gst_clock_get_master; -alias c_gst_clock_get_resolution gst_clock_get_resolution; -alias c_gst_clock_get_time gst_clock_get_time; -alias c_gst_clock_get_timeout gst_clock_get_timeout; -alias c_gst_clock_is_synced gst_clock_is_synced; -alias c_gst_clock_new_periodic_id gst_clock_new_periodic_id; -alias c_gst_clock_new_single_shot_id gst_clock_new_single_shot_id; -alias c_gst_clock_periodic_id_reinit gst_clock_periodic_id_reinit; -alias c_gst_clock_set_calibration gst_clock_set_calibration; -alias c_gst_clock_set_master gst_clock_set_master; -alias c_gst_clock_set_resolution gst_clock_set_resolution; -alias c_gst_clock_set_synced gst_clock_set_synced; -alias c_gst_clock_set_timeout gst_clock_set_timeout; -alias c_gst_clock_single_shot_id_reinit gst_clock_single_shot_id_reinit; -alias c_gst_clock_unadjust_unlocked gst_clock_unadjust_unlocked; -alias c_gst_clock_unadjust_with_calibration gst_clock_unadjust_with_calibration; -alias c_gst_clock_wait_for_sync gst_clock_wait_for_sync; - -// gstreamer.Context - -alias c_gst_context_get_type gst_context_get_type; -alias c_gst_context_new gst_context_new; -alias c_gst_context_get_context_type gst_context_get_context_type; -alias c_gst_context_get_structure gst_context_get_structure; -alias c_gst_context_has_context_type gst_context_has_context_type; -alias c_gst_context_is_persistent gst_context_is_persistent; -alias c_gst_context_writable_structure gst_context_writable_structure; - -// gstreamer.ControlBinding - -alias c_gst_control_binding_get_type gst_control_binding_get_type; -alias c_gst_control_binding_get_g_value_array gst_control_binding_get_g_value_array; -alias c_gst_control_binding_get_value gst_control_binding_get_value; -alias c_gst_control_binding_get_value_array gst_control_binding_get_value_array; -alias c_gst_control_binding_is_disabled gst_control_binding_is_disabled; -alias c_gst_control_binding_set_disabled gst_control_binding_set_disabled; -alias c_gst_control_binding_sync_values gst_control_binding_sync_values; - -// gstreamer.ControlSource - -alias c_gst_control_source_get_type gst_control_source_get_type; -alias c_gst_control_source_get_value gst_control_source_get_value; -alias c_gst_control_source_get_value_array gst_control_source_get_value_array; - -// gstreamer.DateTime - -alias c_gst_date_time_get_type gst_date_time_get_type; -alias c_gst_date_time_new gst_date_time_new; -alias c_gst_date_time_new_from_g_date_time gst_date_time_new_from_g_date_time; -alias c_gst_date_time_new_from_iso8601_string gst_date_time_new_from_iso8601_string; -alias c_gst_date_time_new_from_unix_epoch_local_time gst_date_time_new_from_unix_epoch_local_time; -alias c_gst_date_time_new_from_unix_epoch_local_time_usecs gst_date_time_new_from_unix_epoch_local_time_usecs; -alias c_gst_date_time_new_from_unix_epoch_utc gst_date_time_new_from_unix_epoch_utc; -alias c_gst_date_time_new_from_unix_epoch_utc_usecs gst_date_time_new_from_unix_epoch_utc_usecs; -alias c_gst_date_time_new_local_time gst_date_time_new_local_time; -alias c_gst_date_time_new_now_local_time gst_date_time_new_now_local_time; -alias c_gst_date_time_new_now_utc gst_date_time_new_now_utc; -alias c_gst_date_time_new_y gst_date_time_new_y; -alias c_gst_date_time_new_ym gst_date_time_new_ym; -alias c_gst_date_time_new_ymd gst_date_time_new_ymd; -alias c_gst_date_time_get_day gst_date_time_get_day; -alias c_gst_date_time_get_hour gst_date_time_get_hour; -alias c_gst_date_time_get_microsecond gst_date_time_get_microsecond; -alias c_gst_date_time_get_minute gst_date_time_get_minute; -alias c_gst_date_time_get_month gst_date_time_get_month; -alias c_gst_date_time_get_second gst_date_time_get_second; -alias c_gst_date_time_get_time_zone_offset gst_date_time_get_time_zone_offset; -alias c_gst_date_time_get_year gst_date_time_get_year; -alias c_gst_date_time_has_day gst_date_time_has_day; -alias c_gst_date_time_has_month gst_date_time_has_month; -alias c_gst_date_time_has_second gst_date_time_has_second; -alias c_gst_date_time_has_time gst_date_time_has_time; -alias c_gst_date_time_has_year gst_date_time_has_year; -alias c_gst_date_time_ref gst_date_time_ref; -alias c_gst_date_time_to_g_date_time gst_date_time_to_g_date_time; -alias c_gst_date_time_to_iso8601_string gst_date_time_to_iso8601_string; -alias c_gst_date_time_unref gst_date_time_unref; - -// gstreamer.DebugCategory - -alias c_gst_debug_category_free gst_debug_category_free; -alias c_gst_debug_category_get_color gst_debug_category_get_color; -alias c_gst_debug_category_get_description gst_debug_category_get_description; -alias c_gst_debug_category_get_name gst_debug_category_get_name; -alias c_gst_debug_category_get_threshold gst_debug_category_get_threshold; -alias c_gst_debug_category_reset_threshold gst_debug_category_reset_threshold; -alias c_gst_debug_category_set_threshold gst_debug_category_set_threshold; - -// gstreamer.DebugMessage - -alias c_gst_debug_message_get gst_debug_message_get; - -// gstreamer.Device - -alias c_gst_device_get_type gst_device_get_type; -alias c_gst_device_create_element gst_device_create_element; -alias c_gst_device_get_caps gst_device_get_caps; -alias c_gst_device_get_device_class gst_device_get_device_class; -alias c_gst_device_get_display_name gst_device_get_display_name; -alias c_gst_device_get_properties gst_device_get_properties; -alias c_gst_device_has_classes gst_device_has_classes; -alias c_gst_device_has_classesv gst_device_has_classesv; -alias c_gst_device_reconfigure_element gst_device_reconfigure_element; - -// gstreamer.DeviceMonitor - -alias c_gst_device_monitor_get_type gst_device_monitor_get_type; -alias c_gst_device_monitor_new gst_device_monitor_new; -alias c_gst_device_monitor_add_filter gst_device_monitor_add_filter; -alias c_gst_device_monitor_get_bus gst_device_monitor_get_bus; -alias c_gst_device_monitor_get_devices gst_device_monitor_get_devices; -alias c_gst_device_monitor_get_providers gst_device_monitor_get_providers; -alias c_gst_device_monitor_get_show_all_devices gst_device_monitor_get_show_all_devices; -alias c_gst_device_monitor_remove_filter gst_device_monitor_remove_filter; -alias c_gst_device_monitor_set_show_all_devices gst_device_monitor_set_show_all_devices; -alias c_gst_device_monitor_start gst_device_monitor_start; -alias c_gst_device_monitor_stop gst_device_monitor_stop; - -// gstreamer.DeviceProvider - -alias c_gst_device_provider_get_type gst_device_provider_get_type; -alias c_gst_device_provider_register gst_device_provider_register; -alias c_gst_device_provider_can_monitor gst_device_provider_can_monitor; -alias c_gst_device_provider_device_add gst_device_provider_device_add; -alias c_gst_device_provider_device_changed gst_device_provider_device_changed; -alias c_gst_device_provider_device_remove gst_device_provider_device_remove; -alias c_gst_device_provider_get_bus gst_device_provider_get_bus; -alias c_gst_device_provider_get_devices gst_device_provider_get_devices; -alias c_gst_device_provider_get_factory gst_device_provider_get_factory; -alias c_gst_device_provider_get_hidden_providers gst_device_provider_get_hidden_providers; -alias c_gst_device_provider_get_metadata gst_device_provider_get_metadata; -alias c_gst_device_provider_hide_provider gst_device_provider_hide_provider; -alias c_gst_device_provider_start gst_device_provider_start; -alias c_gst_device_provider_stop gst_device_provider_stop; -alias c_gst_device_provider_unhide_provider gst_device_provider_unhide_provider; - -// gstreamer.DeviceProviderClass - -alias c_gst_device_provider_class_add_metadata gst_device_provider_class_add_metadata; -alias c_gst_device_provider_class_add_static_metadata gst_device_provider_class_add_static_metadata; -alias c_gst_device_provider_class_get_metadata gst_device_provider_class_get_metadata; -alias c_gst_device_provider_class_set_metadata gst_device_provider_class_set_metadata; -alias c_gst_device_provider_class_set_static_metadata gst_device_provider_class_set_static_metadata; - -// gstreamer.DeviceProviderFactory - -alias c_gst_device_provider_factory_get_type gst_device_provider_factory_get_type; -alias c_gst_device_provider_factory_find gst_device_provider_factory_find; -alias c_gst_device_provider_factory_get_by_name gst_device_provider_factory_get_by_name; -alias c_gst_device_provider_factory_list_get_device_providers gst_device_provider_factory_list_get_device_providers; -alias c_gst_device_provider_factory_get gst_device_provider_factory_get; -alias c_gst_device_provider_factory_get_device_provider_type gst_device_provider_factory_get_device_provider_type; -alias c_gst_device_provider_factory_get_metadata gst_device_provider_factory_get_metadata; -alias c_gst_device_provider_factory_get_metadata_keys gst_device_provider_factory_get_metadata_keys; -alias c_gst_device_provider_factory_has_classes gst_device_provider_factory_has_classes; -alias c_gst_device_provider_factory_has_classesv gst_device_provider_factory_has_classesv; - -// gstreamer.DoubleRange - -alias c_gst_double_range_get_type gst_double_range_get_type; - -// gstreamer.DynamicTypeFactory - -alias c_gst_dynamic_type_factory_get_type gst_dynamic_type_factory_get_type; -alias c_gst_dynamic_type_factory_load gst_dynamic_type_factory_load; - -// gstreamer.Element - -alias c_gst_element_get_type gst_element_get_type; -alias c_gst_element_make_from_uri gst_element_make_from_uri; -alias c_gst_element_register gst_element_register; -alias c_gst_element_state_change_return_get_name gst_element_state_change_return_get_name; -alias c_gst_element_state_get_name gst_element_state_get_name; -alias c_gst_element_abort_state gst_element_abort_state; -alias c_gst_element_add_pad gst_element_add_pad; -alias c_gst_element_add_property_deep_notify_watch gst_element_add_property_deep_notify_watch; -alias c_gst_element_add_property_notify_watch gst_element_add_property_notify_watch; -alias c_gst_element_call_async gst_element_call_async; -alias c_gst_element_change_state gst_element_change_state; -alias c_gst_element_continue_state gst_element_continue_state; -alias c_gst_element_create_all_pads gst_element_create_all_pads; -alias c_gst_element_foreach_pad gst_element_foreach_pad; -alias c_gst_element_foreach_sink_pad gst_element_foreach_sink_pad; -alias c_gst_element_foreach_src_pad gst_element_foreach_src_pad; -alias c_gst_element_get_base_time gst_element_get_base_time; -alias c_gst_element_get_bus gst_element_get_bus; -alias c_gst_element_get_clock gst_element_get_clock; -alias c_gst_element_get_compatible_pad gst_element_get_compatible_pad; -alias c_gst_element_get_compatible_pad_template gst_element_get_compatible_pad_template; -alias c_gst_element_get_context gst_element_get_context; -alias c_gst_element_get_context_unlocked gst_element_get_context_unlocked; -alias c_gst_element_get_contexts gst_element_get_contexts; -alias c_gst_element_get_current_clock_time gst_element_get_current_clock_time; -alias c_gst_element_get_current_running_time gst_element_get_current_running_time; -alias c_gst_element_get_factory gst_element_get_factory; -alias c_gst_element_get_metadata gst_element_get_metadata; -alias c_gst_element_get_pad_template gst_element_get_pad_template; -alias c_gst_element_get_pad_template_list gst_element_get_pad_template_list; -alias c_gst_element_get_request_pad gst_element_get_request_pad; -alias c_gst_element_get_start_time gst_element_get_start_time; -alias c_gst_element_get_state gst_element_get_state; -alias c_gst_element_get_static_pad gst_element_get_static_pad; -alias c_gst_element_is_locked_state gst_element_is_locked_state; -alias c_gst_element_iterate_pads gst_element_iterate_pads; -alias c_gst_element_iterate_sink_pads gst_element_iterate_sink_pads; -alias c_gst_element_iterate_src_pads gst_element_iterate_src_pads; -alias c_gst_element_link gst_element_link; -alias c_gst_element_link_filtered gst_element_link_filtered; -alias c_gst_element_link_many gst_element_link_many; -alias c_gst_element_link_pads gst_element_link_pads; -alias c_gst_element_link_pads_filtered gst_element_link_pads_filtered; -alias c_gst_element_link_pads_full gst_element_link_pads_full; -alias c_gst_element_lost_state gst_element_lost_state; -alias c_gst_element_message_full gst_element_message_full; -alias c_gst_element_message_full_with_details gst_element_message_full_with_details; -alias c_gst_element_no_more_pads gst_element_no_more_pads; -alias c_gst_element_post_message gst_element_post_message; -alias c_gst_element_provide_clock gst_element_provide_clock; -alias c_gst_element_query gst_element_query; -alias c_gst_element_query_convert gst_element_query_convert; -alias c_gst_element_query_duration gst_element_query_duration; -alias c_gst_element_query_position gst_element_query_position; -alias c_gst_element_release_request_pad gst_element_release_request_pad; -alias c_gst_element_remove_pad gst_element_remove_pad; -alias c_gst_element_remove_property_notify_watch gst_element_remove_property_notify_watch; -alias c_gst_element_request_pad gst_element_request_pad; -alias c_gst_element_seek gst_element_seek; -alias c_gst_element_seek_simple gst_element_seek_simple; -alias c_gst_element_send_event gst_element_send_event; -alias c_gst_element_set_base_time gst_element_set_base_time; -alias c_gst_element_set_bus gst_element_set_bus; -alias c_gst_element_set_clock gst_element_set_clock; -alias c_gst_element_set_context gst_element_set_context; -alias c_gst_element_set_locked_state gst_element_set_locked_state; -alias c_gst_element_set_start_time gst_element_set_start_time; -alias c_gst_element_set_state gst_element_set_state; -alias c_gst_element_sync_state_with_parent gst_element_sync_state_with_parent; -alias c_gst_element_unlink gst_element_unlink; -alias c_gst_element_unlink_many gst_element_unlink_many; -alias c_gst_element_unlink_pads gst_element_unlink_pads; - -// gstreamer.ElementClass - -alias c_gst_element_class_add_metadata gst_element_class_add_metadata; -alias c_gst_element_class_add_pad_template gst_element_class_add_pad_template; -alias c_gst_element_class_add_static_metadata gst_element_class_add_static_metadata; -alias c_gst_element_class_add_static_pad_template gst_element_class_add_static_pad_template; -alias c_gst_element_class_add_static_pad_template_with_gtype gst_element_class_add_static_pad_template_with_gtype; -alias c_gst_element_class_get_metadata gst_element_class_get_metadata; -alias c_gst_element_class_get_pad_template gst_element_class_get_pad_template; -alias c_gst_element_class_get_pad_template_list gst_element_class_get_pad_template_list; -alias c_gst_element_class_set_metadata gst_element_class_set_metadata; -alias c_gst_element_class_set_static_metadata gst_element_class_set_static_metadata; - -// gstreamer.ElementFactory - -alias c_gst_element_factory_get_type gst_element_factory_get_type; -alias c_gst_element_factory_find gst_element_factory_find; -alias c_gst_element_factory_list_filter gst_element_factory_list_filter; -alias c_gst_element_factory_list_get_elements gst_element_factory_list_get_elements; -alias c_gst_element_factory_make gst_element_factory_make; -alias c_gst_element_factory_can_sink_all_caps gst_element_factory_can_sink_all_caps; -alias c_gst_element_factory_can_sink_any_caps gst_element_factory_can_sink_any_caps; -alias c_gst_element_factory_can_src_all_caps gst_element_factory_can_src_all_caps; -alias c_gst_element_factory_can_src_any_caps gst_element_factory_can_src_any_caps; -alias c_gst_element_factory_create gst_element_factory_create; -alias c_gst_element_factory_get_element_type gst_element_factory_get_element_type; -alias c_gst_element_factory_get_metadata gst_element_factory_get_metadata; -alias c_gst_element_factory_get_metadata_keys gst_element_factory_get_metadata_keys; -alias c_gst_element_factory_get_num_pad_templates gst_element_factory_get_num_pad_templates; -alias c_gst_element_factory_get_static_pad_templates gst_element_factory_get_static_pad_templates; -alias c_gst_element_factory_get_uri_protocols gst_element_factory_get_uri_protocols; -alias c_gst_element_factory_get_uri_type gst_element_factory_get_uri_type; -alias c_gst_element_factory_has_interface gst_element_factory_has_interface; -alias c_gst_element_factory_list_is_type gst_element_factory_list_is_type; - -// gstreamer.Event - -alias c_gst_event_get_type gst_event_get_type; -alias c_gst_event_new_buffer_size gst_event_new_buffer_size; -alias c_gst_event_new_caps gst_event_new_caps; -alias c_gst_event_new_custom gst_event_new_custom; -alias c_gst_event_new_eos gst_event_new_eos; -alias c_gst_event_new_flush_start gst_event_new_flush_start; -alias c_gst_event_new_flush_stop gst_event_new_flush_stop; -alias c_gst_event_new_gap gst_event_new_gap; -alias c_gst_event_new_instant_rate_change gst_event_new_instant_rate_change; -alias c_gst_event_new_instant_rate_sync_time gst_event_new_instant_rate_sync_time; -alias c_gst_event_new_latency gst_event_new_latency; -alias c_gst_event_new_navigation gst_event_new_navigation; -alias c_gst_event_new_protection gst_event_new_protection; -alias c_gst_event_new_qos gst_event_new_qos; -alias c_gst_event_new_reconfigure gst_event_new_reconfigure; -alias c_gst_event_new_seek gst_event_new_seek; -alias c_gst_event_new_segment gst_event_new_segment; -alias c_gst_event_new_segment_done gst_event_new_segment_done; -alias c_gst_event_new_select_streams gst_event_new_select_streams; -alias c_gst_event_new_sink_message gst_event_new_sink_message; -alias c_gst_event_new_step gst_event_new_step; -alias c_gst_event_new_stream_collection gst_event_new_stream_collection; -alias c_gst_event_new_stream_group_done gst_event_new_stream_group_done; -alias c_gst_event_new_stream_start gst_event_new_stream_start; -alias c_gst_event_new_tag gst_event_new_tag; -alias c_gst_event_new_toc gst_event_new_toc; -alias c_gst_event_new_toc_select gst_event_new_toc_select; -alias c_gst_event_copy_segment gst_event_copy_segment; -alias c_gst_event_get_running_time_offset gst_event_get_running_time_offset; -alias c_gst_event_get_seqnum gst_event_get_seqnum; -alias c_gst_event_get_structure gst_event_get_structure; -alias c_gst_event_has_name gst_event_has_name; -alias c_gst_event_has_name_id gst_event_has_name_id; -alias c_gst_event_parse_buffer_size gst_event_parse_buffer_size; -alias c_gst_event_parse_caps gst_event_parse_caps; -alias c_gst_event_parse_flush_stop gst_event_parse_flush_stop; -alias c_gst_event_parse_gap gst_event_parse_gap; -alias c_gst_event_parse_group_id gst_event_parse_group_id; -alias c_gst_event_parse_instant_rate_change gst_event_parse_instant_rate_change; -alias c_gst_event_parse_instant_rate_sync_time gst_event_parse_instant_rate_sync_time; -alias c_gst_event_parse_latency gst_event_parse_latency; -alias c_gst_event_parse_protection gst_event_parse_protection; -alias c_gst_event_parse_qos gst_event_parse_qos; -alias c_gst_event_parse_seek gst_event_parse_seek; -alias c_gst_event_parse_seek_trickmode_interval gst_event_parse_seek_trickmode_interval; -alias c_gst_event_parse_segment gst_event_parse_segment; -alias c_gst_event_parse_segment_done gst_event_parse_segment_done; -alias c_gst_event_parse_select_streams gst_event_parse_select_streams; -alias c_gst_event_parse_sink_message gst_event_parse_sink_message; -alias c_gst_event_parse_step gst_event_parse_step; -alias c_gst_event_parse_stream gst_event_parse_stream; -alias c_gst_event_parse_stream_collection gst_event_parse_stream_collection; -alias c_gst_event_parse_stream_flags gst_event_parse_stream_flags; -alias c_gst_event_parse_stream_group_done gst_event_parse_stream_group_done; -alias c_gst_event_parse_stream_start gst_event_parse_stream_start; -alias c_gst_event_parse_tag gst_event_parse_tag; -alias c_gst_event_parse_toc gst_event_parse_toc; -alias c_gst_event_parse_toc_select gst_event_parse_toc_select; -alias c_gst_event_set_group_id gst_event_set_group_id; -alias c_gst_event_set_running_time_offset gst_event_set_running_time_offset; -alias c_gst_event_set_seek_trickmode_interval gst_event_set_seek_trickmode_interval; -alias c_gst_event_set_seqnum gst_event_set_seqnum; -alias c_gst_event_set_stream gst_event_set_stream; -alias c_gst_event_set_stream_flags gst_event_set_stream_flags; -alias c_gst_event_writable_structure gst_event_writable_structure; -alias c_gst_event_type_get_flags gst_event_type_get_flags; -alias c_gst_event_type_get_name gst_event_type_get_name; -alias c_gst_event_type_to_quark gst_event_type_to_quark; - -// gstreamer.FlagSet - -alias c_gst_flagset_get_type gst_flagset_get_type; -alias c_gst_flagset_register gst_flagset_register; - -// gstreamer.Fraction - -alias c_gst_fraction_get_type gst_fraction_get_type; - -// gstreamer.FractionRange - -alias c_gst_fraction_range_get_type gst_fraction_range_get_type; - -// gstreamer.GhostPad - -alias c_gst_ghost_pad_get_type gst_ghost_pad_get_type; -alias c_gst_ghost_pad_new gst_ghost_pad_new; -alias c_gst_ghost_pad_new_from_template gst_ghost_pad_new_from_template; -alias c_gst_ghost_pad_new_no_target gst_ghost_pad_new_no_target; -alias c_gst_ghost_pad_new_no_target_from_template gst_ghost_pad_new_no_target_from_template; -alias c_gst_ghost_pad_activate_mode_default gst_ghost_pad_activate_mode_default; -alias c_gst_ghost_pad_internal_activate_mode_default gst_ghost_pad_internal_activate_mode_default; -alias c_gst_ghost_pad_construct gst_ghost_pad_construct; -alias c_gst_ghost_pad_get_target gst_ghost_pad_get_target; -alias c_gst_ghost_pad_set_target gst_ghost_pad_set_target; - -// gstreamer.Int64Range - -alias c_gst_int64_range_get_type gst_int64_range_get_type; - -// gstreamer.IntRange - -alias c_gst_int_range_get_type gst_int_range_get_type; - -// gstreamer.Iterator - -alias c_gst_iterator_get_type gst_iterator_get_type; -alias c_gst_iterator_new gst_iterator_new; -alias c_gst_iterator_new_list gst_iterator_new_list; -alias c_gst_iterator_new_single gst_iterator_new_single; -alias c_gst_iterator_copy gst_iterator_copy; -alias c_gst_iterator_filter gst_iterator_filter; -alias c_gst_iterator_find_custom gst_iterator_find_custom; -alias c_gst_iterator_fold gst_iterator_fold; -alias c_gst_iterator_foreach gst_iterator_foreach; -alias c_gst_iterator_free gst_iterator_free; -alias c_gst_iterator_next gst_iterator_next; -alias c_gst_iterator_push gst_iterator_push; -alias c_gst_iterator_resync gst_iterator_resync; - -// gstreamer.Memory - -alias c_gst_memory_get_type gst_memory_get_type; -alias c_gst_memory_new_wrapped gst_memory_new_wrapped; -alias c_gst_memory_copy gst_memory_copy; -alias c_gst_memory_get_sizes gst_memory_get_sizes; -alias c_gst_memory_init gst_memory_init; -alias c_gst_memory_is_span gst_memory_is_span; -alias c_gst_memory_is_type gst_memory_is_type; -alias c_gst_memory_make_mapped gst_memory_make_mapped; -alias c_gst_memory_map gst_memory_map; -alias c_gst_memory_resize gst_memory_resize; -alias c_gst_memory_share gst_memory_share; -alias c_gst_memory_unmap gst_memory_unmap; - -// gstreamer.Message - -alias c_gst_message_get_type gst_message_get_type; -alias c_gst_message_new_application gst_message_new_application; -alias c_gst_message_new_async_done gst_message_new_async_done; -alias c_gst_message_new_async_start gst_message_new_async_start; -alias c_gst_message_new_buffering gst_message_new_buffering; -alias c_gst_message_new_clock_lost gst_message_new_clock_lost; -alias c_gst_message_new_clock_provide gst_message_new_clock_provide; -alias c_gst_message_new_custom gst_message_new_custom; -alias c_gst_message_new_device_added gst_message_new_device_added; -alias c_gst_message_new_device_changed gst_message_new_device_changed; -alias c_gst_message_new_device_removed gst_message_new_device_removed; -alias c_gst_message_new_duration_changed gst_message_new_duration_changed; -alias c_gst_message_new_element gst_message_new_element; -alias c_gst_message_new_eos gst_message_new_eos; -alias c_gst_message_new_error gst_message_new_error; -alias c_gst_message_new_error_with_details gst_message_new_error_with_details; -alias c_gst_message_new_have_context gst_message_new_have_context; -alias c_gst_message_new_info gst_message_new_info; -alias c_gst_message_new_info_with_details gst_message_new_info_with_details; -alias c_gst_message_new_instant_rate_request gst_message_new_instant_rate_request; -alias c_gst_message_new_latency gst_message_new_latency; -alias c_gst_message_new_need_context gst_message_new_need_context; -alias c_gst_message_new_new_clock gst_message_new_new_clock; -alias c_gst_message_new_progress gst_message_new_progress; -alias c_gst_message_new_property_notify gst_message_new_property_notify; -alias c_gst_message_new_qos gst_message_new_qos; -alias c_gst_message_new_redirect gst_message_new_redirect; -alias c_gst_message_new_request_state gst_message_new_request_state; -alias c_gst_message_new_reset_time gst_message_new_reset_time; -alias c_gst_message_new_segment_done gst_message_new_segment_done; -alias c_gst_message_new_segment_start gst_message_new_segment_start; -alias c_gst_message_new_state_changed gst_message_new_state_changed; -alias c_gst_message_new_state_dirty gst_message_new_state_dirty; -alias c_gst_message_new_step_done gst_message_new_step_done; -alias c_gst_message_new_step_start gst_message_new_step_start; -alias c_gst_message_new_stream_collection gst_message_new_stream_collection; -alias c_gst_message_new_stream_start gst_message_new_stream_start; -alias c_gst_message_new_stream_status gst_message_new_stream_status; -alias c_gst_message_new_streams_selected gst_message_new_streams_selected; -alias c_gst_message_new_structure_change gst_message_new_structure_change; -alias c_gst_message_new_tag gst_message_new_tag; -alias c_gst_message_new_toc gst_message_new_toc; -alias c_gst_message_new_warning gst_message_new_warning; -alias c_gst_message_new_warning_with_details gst_message_new_warning_with_details; -alias c_gst_message_add_redirect_entry gst_message_add_redirect_entry; -alias c_gst_message_copy gst_message_copy; -alias c_gst_message_get_num_redirect_entries gst_message_get_num_redirect_entries; -alias c_gst_message_get_seqnum gst_message_get_seqnum; -alias c_gst_message_get_stream_status_object gst_message_get_stream_status_object; -alias c_gst_message_get_structure gst_message_get_structure; -alias c_gst_message_has_name gst_message_has_name; -alias c_gst_message_parse_async_done gst_message_parse_async_done; -alias c_gst_message_parse_buffering gst_message_parse_buffering; -alias c_gst_message_parse_buffering_stats gst_message_parse_buffering_stats; -alias c_gst_message_parse_clock_lost gst_message_parse_clock_lost; -alias c_gst_message_parse_clock_provide gst_message_parse_clock_provide; -alias c_gst_message_parse_context_type gst_message_parse_context_type; -alias c_gst_message_parse_device_added gst_message_parse_device_added; -alias c_gst_message_parse_device_changed gst_message_parse_device_changed; -alias c_gst_message_parse_device_removed gst_message_parse_device_removed; -alias c_gst_message_parse_error gst_message_parse_error; -alias c_gst_message_parse_error_details gst_message_parse_error_details; -alias c_gst_message_parse_group_id gst_message_parse_group_id; -alias c_gst_message_parse_have_context gst_message_parse_have_context; -alias c_gst_message_parse_info gst_message_parse_info; -alias c_gst_message_parse_info_details gst_message_parse_info_details; -alias c_gst_message_parse_instant_rate_request gst_message_parse_instant_rate_request; -alias c_gst_message_parse_new_clock gst_message_parse_new_clock; -alias c_gst_message_parse_progress gst_message_parse_progress; -alias c_gst_message_parse_property_notify gst_message_parse_property_notify; -alias c_gst_message_parse_qos gst_message_parse_qos; -alias c_gst_message_parse_qos_stats gst_message_parse_qos_stats; -alias c_gst_message_parse_qos_values gst_message_parse_qos_values; -alias c_gst_message_parse_redirect_entry gst_message_parse_redirect_entry; -alias c_gst_message_parse_request_state gst_message_parse_request_state; -alias c_gst_message_parse_reset_time gst_message_parse_reset_time; -alias c_gst_message_parse_segment_done gst_message_parse_segment_done; -alias c_gst_message_parse_segment_start gst_message_parse_segment_start; -alias c_gst_message_parse_state_changed gst_message_parse_state_changed; -alias c_gst_message_parse_step_done gst_message_parse_step_done; -alias c_gst_message_parse_step_start gst_message_parse_step_start; -alias c_gst_message_parse_stream_collection gst_message_parse_stream_collection; -alias c_gst_message_parse_stream_status gst_message_parse_stream_status; -alias c_gst_message_parse_streams_selected gst_message_parse_streams_selected; -alias c_gst_message_parse_structure_change gst_message_parse_structure_change; -alias c_gst_message_parse_tag gst_message_parse_tag; -alias c_gst_message_parse_toc gst_message_parse_toc; -alias c_gst_message_parse_warning gst_message_parse_warning; -alias c_gst_message_parse_warning_details gst_message_parse_warning_details; -alias c_gst_message_set_buffering_stats gst_message_set_buffering_stats; -alias c_gst_message_set_group_id gst_message_set_group_id; -alias c_gst_message_set_qos_stats gst_message_set_qos_stats; -alias c_gst_message_set_qos_values gst_message_set_qos_values; -alias c_gst_message_set_seqnum gst_message_set_seqnum; -alias c_gst_message_set_stream_status_object gst_message_set_stream_status_object; -alias c_gst_message_streams_selected_add gst_message_streams_selected_add; -alias c_gst_message_streams_selected_get_size gst_message_streams_selected_get_size; -alias c_gst_message_streams_selected_get_stream gst_message_streams_selected_get_stream; -alias c_gst_message_writable_structure gst_message_writable_structure; -alias c_gst_message_replace gst_message_replace; -alias c_gst_message_type_get_name gst_message_type_get_name; -alias c_gst_message_type_to_quark gst_message_type_to_quark; - -// gstreamer.Meta - -alias c_gst_meta_compare_seqnum gst_meta_compare_seqnum; -alias c_gst_meta_get_seqnum gst_meta_get_seqnum; -alias c_gst_meta_api_type_get_tags gst_meta_api_type_get_tags; -alias c_gst_meta_api_type_has_tag gst_meta_api_type_has_tag; -alias c_gst_meta_api_type_register gst_meta_api_type_register; -alias c_gst_meta_get_info gst_meta_get_info; -alias c_gst_meta_register gst_meta_register; - -// gstreamer.MiniObject - -alias c_gst_mini_object_add_parent gst_mini_object_add_parent; -alias c_gst_mini_object_copy gst_mini_object_copy; -alias c_gst_mini_object_get_qdata gst_mini_object_get_qdata; -alias c_gst_mini_object_init gst_mini_object_init; -alias c_gst_mini_object_is_writable gst_mini_object_is_writable; -alias c_gst_mini_object_lock gst_mini_object_lock; -alias c_gst_mini_object_make_writable gst_mini_object_make_writable; -alias c_gst_mini_object_ref gst_mini_object_ref; -alias c_gst_mini_object_remove_parent gst_mini_object_remove_parent; -alias c_gst_mini_object_set_qdata gst_mini_object_set_qdata; -alias c_gst_mini_object_steal_qdata gst_mini_object_steal_qdata; -alias c_gst_mini_object_unlock gst_mini_object_unlock; -alias c_gst_mini_object_unref gst_mini_object_unref; -alias c_gst_mini_object_weak_ref gst_mini_object_weak_ref; -alias c_gst_mini_object_weak_unref gst_mini_object_weak_unref; -alias c_gst_mini_object_replace gst_mini_object_replace; -alias c_gst_mini_object_steal gst_mini_object_steal; -alias c_gst_mini_object_take gst_mini_object_take; - -// gstreamer.ObjectGst - -alias c_gst_object_get_type gst_object_get_type; -alias c_gst_object_check_uniqueness gst_object_check_uniqueness; -alias c_gst_object_default_deep_notify gst_object_default_deep_notify; -alias c_gst_object_ref_sink gst_object_ref_sink; -alias c_gst_object_replace gst_object_replace; -alias c_gst_object_add_control_binding gst_object_add_control_binding; -alias c_gst_object_default_error gst_object_default_error; -alias c_gst_object_get_control_binding gst_object_get_control_binding; -alias c_gst_object_get_control_rate gst_object_get_control_rate; -alias c_gst_object_get_g_value_array gst_object_get_g_value_array; -alias c_gst_object_get_name gst_object_get_name; -alias c_gst_object_get_parent gst_object_get_parent; -alias c_gst_object_get_path_string gst_object_get_path_string; -alias c_gst_object_get_value gst_object_get_value; -alias c_gst_object_get_value_array gst_object_get_value_array; -alias c_gst_object_has_active_control_bindings gst_object_has_active_control_bindings; -alias c_gst_object_has_ancestor gst_object_has_ancestor; -alias c_gst_object_has_as_ancestor gst_object_has_as_ancestor; -alias c_gst_object_has_as_parent gst_object_has_as_parent; -alias c_gst_object_ref gst_object_ref; -alias c_gst_object_remove_control_binding gst_object_remove_control_binding; -alias c_gst_object_set_control_binding_disabled gst_object_set_control_binding_disabled; -alias c_gst_object_set_control_bindings_disabled gst_object_set_control_bindings_disabled; -alias c_gst_object_set_control_rate gst_object_set_control_rate; -alias c_gst_object_set_name gst_object_set_name; -alias c_gst_object_set_parent gst_object_set_parent; -alias c_gst_object_suggest_next_sync gst_object_suggest_next_sync; -alias c_gst_object_sync_values gst_object_sync_values; -alias c_gst_object_unparent gst_object_unparent; -alias c_gst_object_unref gst_object_unref; - -// gstreamer.Pad - -alias c_gst_pad_get_type gst_pad_get_type; -alias c_gst_pad_new gst_pad_new; -alias c_gst_pad_new_from_static_template gst_pad_new_from_static_template; -alias c_gst_pad_new_from_template gst_pad_new_from_template; -alias c_gst_pad_link_get_name gst_pad_link_get_name; -alias c_gst_pad_activate_mode gst_pad_activate_mode; -alias c_gst_pad_add_probe gst_pad_add_probe; -alias c_gst_pad_can_link gst_pad_can_link; -alias c_gst_pad_chain gst_pad_chain; -alias c_gst_pad_chain_list gst_pad_chain_list; -alias c_gst_pad_check_reconfigure gst_pad_check_reconfigure; -alias c_gst_pad_create_stream_id gst_pad_create_stream_id; -alias c_gst_pad_create_stream_id_printf gst_pad_create_stream_id_printf; -alias c_gst_pad_create_stream_id_printf_valist gst_pad_create_stream_id_printf_valist; -alias c_gst_pad_event_default gst_pad_event_default; -alias c_gst_pad_forward gst_pad_forward; -alias c_gst_pad_get_allowed_caps gst_pad_get_allowed_caps; -alias c_gst_pad_get_current_caps gst_pad_get_current_caps; -alias c_gst_pad_get_direction gst_pad_get_direction; -alias c_gst_pad_get_element_private gst_pad_get_element_private; -alias c_gst_pad_get_last_flow_return gst_pad_get_last_flow_return; -alias c_gst_pad_get_offset gst_pad_get_offset; -alias c_gst_pad_get_pad_template gst_pad_get_pad_template; -alias c_gst_pad_get_pad_template_caps gst_pad_get_pad_template_caps; -alias c_gst_pad_get_parent_element gst_pad_get_parent_element; -alias c_gst_pad_get_peer gst_pad_get_peer; -alias c_gst_pad_get_range gst_pad_get_range; -alias c_gst_pad_get_single_internal_link gst_pad_get_single_internal_link; -alias c_gst_pad_get_sticky_event gst_pad_get_sticky_event; -alias c_gst_pad_get_stream gst_pad_get_stream; -alias c_gst_pad_get_stream_id gst_pad_get_stream_id; -alias c_gst_pad_get_task_state gst_pad_get_task_state; -alias c_gst_pad_has_current_caps gst_pad_has_current_caps; -alias c_gst_pad_is_active gst_pad_is_active; -alias c_gst_pad_is_blocked gst_pad_is_blocked; -alias c_gst_pad_is_blocking gst_pad_is_blocking; -alias c_gst_pad_is_linked gst_pad_is_linked; -alias c_gst_pad_iterate_internal_links gst_pad_iterate_internal_links; -alias c_gst_pad_iterate_internal_links_default gst_pad_iterate_internal_links_default; -alias c_gst_pad_link gst_pad_link; -alias c_gst_pad_link_full gst_pad_link_full; -alias c_gst_pad_link_maybe_ghosting gst_pad_link_maybe_ghosting; -alias c_gst_pad_link_maybe_ghosting_full gst_pad_link_maybe_ghosting_full; -alias c_gst_pad_mark_reconfigure gst_pad_mark_reconfigure; -alias c_gst_pad_needs_reconfigure gst_pad_needs_reconfigure; -alias c_gst_pad_pause_task gst_pad_pause_task; -alias c_gst_pad_peer_query gst_pad_peer_query; -alias c_gst_pad_peer_query_accept_caps gst_pad_peer_query_accept_caps; -alias c_gst_pad_peer_query_caps gst_pad_peer_query_caps; -alias c_gst_pad_peer_query_convert gst_pad_peer_query_convert; -alias c_gst_pad_peer_query_duration gst_pad_peer_query_duration; -alias c_gst_pad_peer_query_position gst_pad_peer_query_position; -alias c_gst_pad_proxy_query_accept_caps gst_pad_proxy_query_accept_caps; -alias c_gst_pad_proxy_query_caps gst_pad_proxy_query_caps; -alias c_gst_pad_pull_range gst_pad_pull_range; -alias c_gst_pad_push gst_pad_push; -alias c_gst_pad_push_event gst_pad_push_event; -alias c_gst_pad_push_list gst_pad_push_list; -alias c_gst_pad_query gst_pad_query; -alias c_gst_pad_query_accept_caps gst_pad_query_accept_caps; -alias c_gst_pad_query_caps gst_pad_query_caps; -alias c_gst_pad_query_convert gst_pad_query_convert; -alias c_gst_pad_query_default gst_pad_query_default; -alias c_gst_pad_query_duration gst_pad_query_duration; -alias c_gst_pad_query_position gst_pad_query_position; -alias c_gst_pad_remove_probe gst_pad_remove_probe; -alias c_gst_pad_send_event gst_pad_send_event; -alias c_gst_pad_set_activate_function_full gst_pad_set_activate_function_full; -alias c_gst_pad_set_activatemode_function_full gst_pad_set_activatemode_function_full; -alias c_gst_pad_set_active gst_pad_set_active; -alias c_gst_pad_set_chain_function_full gst_pad_set_chain_function_full; -alias c_gst_pad_set_chain_list_function_full gst_pad_set_chain_list_function_full; -alias c_gst_pad_set_element_private gst_pad_set_element_private; -alias c_gst_pad_set_event_full_function_full gst_pad_set_event_full_function_full; -alias c_gst_pad_set_event_function_full gst_pad_set_event_function_full; -alias c_gst_pad_set_getrange_function_full gst_pad_set_getrange_function_full; -alias c_gst_pad_set_iterate_internal_links_function_full gst_pad_set_iterate_internal_links_function_full; -alias c_gst_pad_set_link_function_full gst_pad_set_link_function_full; -alias c_gst_pad_set_offset gst_pad_set_offset; -alias c_gst_pad_set_query_function_full gst_pad_set_query_function_full; -alias c_gst_pad_set_unlink_function_full gst_pad_set_unlink_function_full; -alias c_gst_pad_start_task gst_pad_start_task; -alias c_gst_pad_sticky_events_foreach gst_pad_sticky_events_foreach; -alias c_gst_pad_stop_task gst_pad_stop_task; -alias c_gst_pad_store_sticky_event gst_pad_store_sticky_event; -alias c_gst_pad_unlink gst_pad_unlink; -alias c_gst_pad_use_fixed_caps gst_pad_use_fixed_caps; -alias c_gst_flow_get_name gst_flow_get_name; -alias c_gst_flow_to_quark gst_flow_to_quark; -alias c_gst_pad_mode_get_name gst_pad_mode_get_name; - -// gstreamer.PadProbeInfo - -alias c_gst_pad_probe_info_get_buffer gst_pad_probe_info_get_buffer; -alias c_gst_pad_probe_info_get_buffer_list gst_pad_probe_info_get_buffer_list; -alias c_gst_pad_probe_info_get_event gst_pad_probe_info_get_event; -alias c_gst_pad_probe_info_get_query gst_pad_probe_info_get_query; - -// gstreamer.PadTemplate - -alias c_gst_pad_template_get_type gst_pad_template_get_type; -alias c_gst_pad_template_new gst_pad_template_new; -alias c_gst_pad_template_new_from_static_pad_template_with_gtype gst_pad_template_new_from_static_pad_template_with_gtype; -alias c_gst_pad_template_new_with_gtype gst_pad_template_new_with_gtype; -alias c_gst_pad_template_get_caps gst_pad_template_get_caps; -alias c_gst_pad_template_get_documentation_caps gst_pad_template_get_documentation_caps; -alias c_gst_pad_template_pad_created gst_pad_template_pad_created; -alias c_gst_pad_template_set_documentation_caps gst_pad_template_set_documentation_caps; - -// gstreamer.ParamArray - -alias c_gst_param_spec_array_get_type gst_param_spec_array_get_type; - -// gstreamer.ParamFraction - -alias c_gst_param_spec_fraction_get_type gst_param_spec_fraction_get_type; - -// gstreamer.ParamSpecFraction - -alias c_gst_param_spec_fraction gst_param_spec_fraction; - -// gstreamer.ParentBufferMeta - -alias c_gst_parent_buffer_meta_get_info gst_parent_buffer_meta_get_info; -alias c_gst_parent_buffer_meta_api_get_type gst_parent_buffer_meta_api_get_type; - -// gstreamer.ParseContext - -alias c_gst_parse_context_get_type gst_parse_context_get_type; -alias c_gst_parse_context_new gst_parse_context_new; -alias c_gst_parse_context_copy gst_parse_context_copy; -alias c_gst_parse_context_free gst_parse_context_free; -alias c_gst_parse_context_get_missing_elements gst_parse_context_get_missing_elements; - -// gstreamer.Pipeline - -alias c_gst_pipeline_get_type gst_pipeline_get_type; -alias c_gst_pipeline_new gst_pipeline_new; -alias c_gst_pipeline_auto_clock gst_pipeline_auto_clock; -alias c_gst_pipeline_get_auto_flush_bus gst_pipeline_get_auto_flush_bus; -alias c_gst_pipeline_get_bus gst_pipeline_get_bus; -alias c_gst_pipeline_get_clock gst_pipeline_get_clock; -alias c_gst_pipeline_get_delay gst_pipeline_get_delay; -alias c_gst_pipeline_get_latency gst_pipeline_get_latency; -alias c_gst_pipeline_get_pipeline_clock gst_pipeline_get_pipeline_clock; -alias c_gst_pipeline_set_auto_flush_bus gst_pipeline_set_auto_flush_bus; -alias c_gst_pipeline_set_clock gst_pipeline_set_clock; -alias c_gst_pipeline_set_delay gst_pipeline_set_delay; -alias c_gst_pipeline_set_latency gst_pipeline_set_latency; -alias c_gst_pipeline_use_clock gst_pipeline_use_clock; - -// gstreamer.Plugin - -alias c_gst_plugin_get_type gst_plugin_get_type; -alias c_gst_plugin_list_free gst_plugin_list_free; -alias c_gst_plugin_load_by_name gst_plugin_load_by_name; -alias c_gst_plugin_load_file gst_plugin_load_file; -alias c_gst_plugin_register_static gst_plugin_register_static; -alias c_gst_plugin_register_static_full gst_plugin_register_static_full; -alias c_gst_plugin_add_dependency gst_plugin_add_dependency; -alias c_gst_plugin_add_dependency_simple gst_plugin_add_dependency_simple; -alias c_gst_plugin_get_cache_data gst_plugin_get_cache_data; -alias c_gst_plugin_get_description gst_plugin_get_description; -alias c_gst_plugin_get_filename gst_plugin_get_filename; -alias c_gst_plugin_get_license gst_plugin_get_license; -alias c_gst_plugin_get_name gst_plugin_get_name; -alias c_gst_plugin_get_origin gst_plugin_get_origin; -alias c_gst_plugin_get_package gst_plugin_get_package; -alias c_gst_plugin_get_release_date_string gst_plugin_get_release_date_string; -alias c_gst_plugin_get_source gst_plugin_get_source; -alias c_gst_plugin_get_version gst_plugin_get_version; -alias c_gst_plugin_is_loaded gst_plugin_is_loaded; -alias c_gst_plugin_load gst_plugin_load; -alias c_gst_plugin_set_cache_data gst_plugin_set_cache_data; -alias c_gst_plugin_error_quark gst_plugin_error_quark; - -// gstreamer.PluginFeature - -alias c_gst_plugin_feature_get_type gst_plugin_feature_get_type; -alias c_gst_plugin_feature_list_copy gst_plugin_feature_list_copy; -alias c_gst_plugin_feature_list_debug gst_plugin_feature_list_debug; -alias c_gst_plugin_feature_list_free gst_plugin_feature_list_free; -alias c_gst_plugin_feature_rank_compare_func gst_plugin_feature_rank_compare_func; -alias c_gst_plugin_feature_check_version gst_plugin_feature_check_version; -alias c_gst_plugin_feature_get_plugin gst_plugin_feature_get_plugin; -alias c_gst_plugin_feature_get_plugin_name gst_plugin_feature_get_plugin_name; -alias c_gst_plugin_feature_get_rank gst_plugin_feature_get_rank; -alias c_gst_plugin_feature_load gst_plugin_feature_load; -alias c_gst_plugin_feature_set_rank gst_plugin_feature_set_rank; - -// gstreamer.Poll - -alias c_gst_poll_add_fd gst_poll_add_fd; -alias c_gst_poll_fd_can_read gst_poll_fd_can_read; -alias c_gst_poll_fd_can_write gst_poll_fd_can_write; -alias c_gst_poll_fd_ctl_pri gst_poll_fd_ctl_pri; -alias c_gst_poll_fd_ctl_read gst_poll_fd_ctl_read; -alias c_gst_poll_fd_ctl_write gst_poll_fd_ctl_write; -alias c_gst_poll_fd_has_closed gst_poll_fd_has_closed; -alias c_gst_poll_fd_has_error gst_poll_fd_has_error; -alias c_gst_poll_fd_has_pri gst_poll_fd_has_pri; -alias c_gst_poll_fd_ignored gst_poll_fd_ignored; -alias c_gst_poll_free gst_poll_free; -alias c_gst_poll_get_read_gpollfd gst_poll_get_read_gpollfd; -alias c_gst_poll_read_control gst_poll_read_control; -alias c_gst_poll_remove_fd gst_poll_remove_fd; -alias c_gst_poll_restart gst_poll_restart; -alias c_gst_poll_set_controllable gst_poll_set_controllable; -alias c_gst_poll_set_flushing gst_poll_set_flushing; -alias c_gst_poll_wait gst_poll_wait; -alias c_gst_poll_write_control gst_poll_write_control; -alias c_gst_poll_new gst_poll_new; -alias c_gst_poll_new_timer gst_poll_new_timer; - -// gstreamer.PollFD - -alias c_gst_poll_fd_init gst_poll_fd_init; - -// gstreamer.Preset - -alias c_gst_preset_get_type gst_preset_get_type; -alias c_gst_preset_get_app_dir gst_preset_get_app_dir; -alias c_gst_preset_set_app_dir gst_preset_set_app_dir; -alias c_gst_preset_delete_preset gst_preset_delete_preset; -alias c_gst_preset_get_meta gst_preset_get_meta; -alias c_gst_preset_get_preset_names gst_preset_get_preset_names; -alias c_gst_preset_get_property_names gst_preset_get_property_names; -alias c_gst_preset_is_editable gst_preset_is_editable; -alias c_gst_preset_load_preset gst_preset_load_preset; -alias c_gst_preset_rename_preset gst_preset_rename_preset; -alias c_gst_preset_save_preset gst_preset_save_preset; -alias c_gst_preset_set_meta gst_preset_set_meta; - -// gstreamer.Promise - -alias c_gst_promise_get_type gst_promise_get_type; -alias c_gst_promise_new gst_promise_new; -alias c_gst_promise_new_with_change_func gst_promise_new_with_change_func; -alias c_gst_promise_expire gst_promise_expire; -alias c_gst_promise_get_reply gst_promise_get_reply; -alias c_gst_promise_interrupt gst_promise_interrupt; -alias c_gst_promise_reply gst_promise_reply; -alias c_gst_promise_wait gst_promise_wait; - -// gstreamer.ProtectionMeta - -alias c_gst_protection_meta_get_info gst_protection_meta_get_info; -alias c_gst_protection_meta_api_get_type gst_protection_meta_api_get_type; -alias c_gst_protection_select_system gst_protection_select_system; - -// gstreamer.ProxyPad - -alias c_gst_proxy_pad_get_type gst_proxy_pad_get_type; -alias c_gst_proxy_pad_chain_default gst_proxy_pad_chain_default; -alias c_gst_proxy_pad_chain_list_default gst_proxy_pad_chain_list_default; -alias c_gst_proxy_pad_getrange_default gst_proxy_pad_getrange_default; -alias c_gst_proxy_pad_iterate_internal_links_default gst_proxy_pad_iterate_internal_links_default; -alias c_gst_proxy_pad_get_internal gst_proxy_pad_get_internal; - -// gstreamer.Query - -alias c_gst_query_get_type gst_query_get_type; -alias c_gst_query_new_accept_caps gst_query_new_accept_caps; -alias c_gst_query_new_allocation gst_query_new_allocation; -alias c_gst_query_new_bitrate gst_query_new_bitrate; -alias c_gst_query_new_buffering gst_query_new_buffering; -alias c_gst_query_new_caps gst_query_new_caps; -alias c_gst_query_new_context gst_query_new_context; -alias c_gst_query_new_convert gst_query_new_convert; -alias c_gst_query_new_custom gst_query_new_custom; -alias c_gst_query_new_drain gst_query_new_drain; -alias c_gst_query_new_duration gst_query_new_duration; -alias c_gst_query_new_formats gst_query_new_formats; -alias c_gst_query_new_latency gst_query_new_latency; -alias c_gst_query_new_position gst_query_new_position; -alias c_gst_query_new_scheduling gst_query_new_scheduling; -alias c_gst_query_new_seeking gst_query_new_seeking; -alias c_gst_query_new_segment gst_query_new_segment; -alias c_gst_query_new_uri gst_query_new_uri; -alias c_gst_query_add_allocation_meta gst_query_add_allocation_meta; -alias c_gst_query_add_allocation_param gst_query_add_allocation_param; -alias c_gst_query_add_allocation_pool gst_query_add_allocation_pool; -alias c_gst_query_add_buffering_range gst_query_add_buffering_range; -alias c_gst_query_add_scheduling_mode gst_query_add_scheduling_mode; -alias c_gst_query_find_allocation_meta gst_query_find_allocation_meta; -alias c_gst_query_get_n_allocation_metas gst_query_get_n_allocation_metas; -alias c_gst_query_get_n_allocation_params gst_query_get_n_allocation_params; -alias c_gst_query_get_n_allocation_pools gst_query_get_n_allocation_pools; -alias c_gst_query_get_n_buffering_ranges gst_query_get_n_buffering_ranges; -alias c_gst_query_get_n_scheduling_modes gst_query_get_n_scheduling_modes; -alias c_gst_query_get_structure gst_query_get_structure; -alias c_gst_query_has_scheduling_mode gst_query_has_scheduling_mode; -alias c_gst_query_has_scheduling_mode_with_flags gst_query_has_scheduling_mode_with_flags; -alias c_gst_query_parse_accept_caps gst_query_parse_accept_caps; -alias c_gst_query_parse_accept_caps_result gst_query_parse_accept_caps_result; -alias c_gst_query_parse_allocation gst_query_parse_allocation; -alias c_gst_query_parse_bitrate gst_query_parse_bitrate; -alias c_gst_query_parse_buffering_percent gst_query_parse_buffering_percent; -alias c_gst_query_parse_buffering_range gst_query_parse_buffering_range; -alias c_gst_query_parse_buffering_stats gst_query_parse_buffering_stats; -alias c_gst_query_parse_caps gst_query_parse_caps; -alias c_gst_query_parse_caps_result gst_query_parse_caps_result; -alias c_gst_query_parse_context gst_query_parse_context; -alias c_gst_query_parse_context_type gst_query_parse_context_type; -alias c_gst_query_parse_convert gst_query_parse_convert; -alias c_gst_query_parse_duration gst_query_parse_duration; -alias c_gst_query_parse_latency gst_query_parse_latency; -alias c_gst_query_parse_n_formats gst_query_parse_n_formats; -alias c_gst_query_parse_nth_allocation_meta gst_query_parse_nth_allocation_meta; -alias c_gst_query_parse_nth_allocation_param gst_query_parse_nth_allocation_param; -alias c_gst_query_parse_nth_allocation_pool gst_query_parse_nth_allocation_pool; -alias c_gst_query_parse_nth_buffering_range gst_query_parse_nth_buffering_range; -alias c_gst_query_parse_nth_format gst_query_parse_nth_format; -alias c_gst_query_parse_nth_scheduling_mode gst_query_parse_nth_scheduling_mode; -alias c_gst_query_parse_position gst_query_parse_position; -alias c_gst_query_parse_scheduling gst_query_parse_scheduling; -alias c_gst_query_parse_seeking gst_query_parse_seeking; -alias c_gst_query_parse_segment gst_query_parse_segment; -alias c_gst_query_parse_uri gst_query_parse_uri; -alias c_gst_query_parse_uri_redirection gst_query_parse_uri_redirection; -alias c_gst_query_parse_uri_redirection_permanent gst_query_parse_uri_redirection_permanent; -alias c_gst_query_remove_nth_allocation_meta gst_query_remove_nth_allocation_meta; -alias c_gst_query_remove_nth_allocation_param gst_query_remove_nth_allocation_param; -alias c_gst_query_remove_nth_allocation_pool gst_query_remove_nth_allocation_pool; -alias c_gst_query_set_accept_caps_result gst_query_set_accept_caps_result; -alias c_gst_query_set_bitrate gst_query_set_bitrate; -alias c_gst_query_set_buffering_percent gst_query_set_buffering_percent; -alias c_gst_query_set_buffering_range gst_query_set_buffering_range; -alias c_gst_query_set_buffering_stats gst_query_set_buffering_stats; -alias c_gst_query_set_caps_result gst_query_set_caps_result; -alias c_gst_query_set_context gst_query_set_context; -alias c_gst_query_set_convert gst_query_set_convert; -alias c_gst_query_set_duration gst_query_set_duration; -alias c_gst_query_set_formats gst_query_set_formats; -alias c_gst_query_set_formatsv gst_query_set_formatsv; -alias c_gst_query_set_latency gst_query_set_latency; -alias c_gst_query_set_nth_allocation_param gst_query_set_nth_allocation_param; -alias c_gst_query_set_nth_allocation_pool gst_query_set_nth_allocation_pool; -alias c_gst_query_set_position gst_query_set_position; -alias c_gst_query_set_scheduling gst_query_set_scheduling; -alias c_gst_query_set_seeking gst_query_set_seeking; -alias c_gst_query_set_segment gst_query_set_segment; -alias c_gst_query_set_uri gst_query_set_uri; -alias c_gst_query_set_uri_redirection gst_query_set_uri_redirection; -alias c_gst_query_set_uri_redirection_permanent gst_query_set_uri_redirection_permanent; -alias c_gst_query_writable_structure gst_query_writable_structure; -alias c_gst_query_type_get_flags gst_query_type_get_flags; -alias c_gst_query_type_get_name gst_query_type_get_name; -alias c_gst_query_type_to_quark gst_query_type_to_quark; - -// gstreamer.ReferenceTimestampMeta - -alias c_gst_reference_timestamp_meta_get_info gst_reference_timestamp_meta_get_info; - -// gstreamer.Registry - -alias c_gst_registry_get_type gst_registry_get_type; -alias c_gst_registry_fork_is_enabled gst_registry_fork_is_enabled; -alias c_gst_registry_fork_set_enabled gst_registry_fork_set_enabled; -alias c_gst_registry_get gst_registry_get; -alias c_gst_registry_add_feature gst_registry_add_feature; -alias c_gst_registry_add_plugin gst_registry_add_plugin; -alias c_gst_registry_check_feature_version gst_registry_check_feature_version; -alias c_gst_registry_feature_filter gst_registry_feature_filter; -alias c_gst_registry_find_feature gst_registry_find_feature; -alias c_gst_registry_find_plugin gst_registry_find_plugin; -alias c_gst_registry_get_feature_list gst_registry_get_feature_list; -alias c_gst_registry_get_feature_list_by_plugin gst_registry_get_feature_list_by_plugin; -alias c_gst_registry_get_feature_list_cookie gst_registry_get_feature_list_cookie; -alias c_gst_registry_get_plugin_list gst_registry_get_plugin_list; -alias c_gst_registry_lookup gst_registry_lookup; -alias c_gst_registry_lookup_feature gst_registry_lookup_feature; -alias c_gst_registry_plugin_filter gst_registry_plugin_filter; -alias c_gst_registry_remove_feature gst_registry_remove_feature; -alias c_gst_registry_remove_plugin gst_registry_remove_plugin; -alias c_gst_registry_scan_path gst_registry_scan_path; - -// gstreamer.Sample - -alias c_gst_sample_get_type gst_sample_get_type; -alias c_gst_sample_new gst_sample_new; -alias c_gst_sample_get_buffer gst_sample_get_buffer; -alias c_gst_sample_get_buffer_list gst_sample_get_buffer_list; -alias c_gst_sample_get_caps gst_sample_get_caps; -alias c_gst_sample_get_info gst_sample_get_info; -alias c_gst_sample_get_segment gst_sample_get_segment; -alias c_gst_sample_set_buffer gst_sample_set_buffer; -alias c_gst_sample_set_buffer_list gst_sample_set_buffer_list; -alias c_gst_sample_set_caps gst_sample_set_caps; -alias c_gst_sample_set_info gst_sample_set_info; -alias c_gst_sample_set_segment gst_sample_set_segment; - -// gstreamer.Segment - -alias c_gst_segment_get_type gst_segment_get_type; -alias c_gst_segment_new gst_segment_new; -alias c_gst_segment_clip gst_segment_clip; -alias c_gst_segment_copy gst_segment_copy; -alias c_gst_segment_copy_into gst_segment_copy_into; -alias c_gst_segment_do_seek gst_segment_do_seek; -alias c_gst_segment_free gst_segment_free; -alias c_gst_segment_init gst_segment_init; -alias c_gst_segment_is_equal gst_segment_is_equal; -alias c_gst_segment_offset_running_time gst_segment_offset_running_time; -alias c_gst_segment_position_from_running_time gst_segment_position_from_running_time; -alias c_gst_segment_position_from_running_time_full gst_segment_position_from_running_time_full; -alias c_gst_segment_position_from_stream_time gst_segment_position_from_stream_time; -alias c_gst_segment_position_from_stream_time_full gst_segment_position_from_stream_time_full; -alias c_gst_segment_set_running_time gst_segment_set_running_time; -alias c_gst_segment_to_position gst_segment_to_position; -alias c_gst_segment_to_running_time gst_segment_to_running_time; -alias c_gst_segment_to_running_time_full gst_segment_to_running_time_full; -alias c_gst_segment_to_stream_time gst_segment_to_stream_time; -alias c_gst_segment_to_stream_time_full gst_segment_to_stream_time_full; - -// gstreamer.StaticCaps - -alias c_gst_static_caps_cleanup gst_static_caps_cleanup; -alias c_gst_static_caps_get gst_static_caps_get; - -// gstreamer.StaticPadTemplate - -alias c_gst_static_pad_template_get gst_static_pad_template_get; -alias c_gst_static_pad_template_get_caps gst_static_pad_template_get_caps; - -// gstreamer.Stream - -alias c_gst_stream_get_type gst_stream_get_type; -alias c_gst_stream_new gst_stream_new; -alias c_gst_stream_get_caps gst_stream_get_caps; -alias c_gst_stream_get_stream_flags gst_stream_get_stream_flags; -alias c_gst_stream_get_stream_id gst_stream_get_stream_id; -alias c_gst_stream_get_stream_type gst_stream_get_stream_type; -alias c_gst_stream_get_tags gst_stream_get_tags; -alias c_gst_stream_set_caps gst_stream_set_caps; -alias c_gst_stream_set_stream_flags gst_stream_set_stream_flags; -alias c_gst_stream_set_stream_type gst_stream_set_stream_type; -alias c_gst_stream_set_tags gst_stream_set_tags; - -// gstreamer.StreamCollection - -alias c_gst_stream_collection_get_type gst_stream_collection_get_type; -alias c_gst_stream_collection_new gst_stream_collection_new; -alias c_gst_stream_collection_add_stream gst_stream_collection_add_stream; -alias c_gst_stream_collection_get_size gst_stream_collection_get_size; -alias c_gst_stream_collection_get_stream gst_stream_collection_get_stream; -alias c_gst_stream_collection_get_upstream_id gst_stream_collection_get_upstream_id; - -// gstreamer.Structure - -alias c_gst_structure_get_type gst_structure_get_type; -alias c_gst_structure_from_string gst_structure_from_string; -alias c_gst_structure_new gst_structure_new; -alias c_gst_structure_new_empty gst_structure_new_empty; -alias c_gst_structure_new_from_string gst_structure_new_from_string; -alias c_gst_structure_new_id gst_structure_new_id; -alias c_gst_structure_new_id_empty gst_structure_new_id_empty; -alias c_gst_structure_new_valist gst_structure_new_valist; -alias c_gst_structure_can_intersect gst_structure_can_intersect; -alias c_gst_structure_copy gst_structure_copy; -alias c_gst_structure_filter_and_map_in_place gst_structure_filter_and_map_in_place; -alias c_gst_structure_fixate gst_structure_fixate; -alias c_gst_structure_fixate_field gst_structure_fixate_field; -alias c_gst_structure_fixate_field_boolean gst_structure_fixate_field_boolean; -alias c_gst_structure_fixate_field_nearest_double gst_structure_fixate_field_nearest_double; -alias c_gst_structure_fixate_field_nearest_fraction gst_structure_fixate_field_nearest_fraction; -alias c_gst_structure_fixate_field_nearest_int gst_structure_fixate_field_nearest_int; -alias c_gst_structure_fixate_field_string gst_structure_fixate_field_string; -alias c_gst_structure_foreach gst_structure_foreach; -alias c_gst_structure_free gst_structure_free; -alias c_gst_structure_get gst_structure_get; -alias c_gst_structure_get_array gst_structure_get_array; -alias c_gst_structure_get_boolean gst_structure_get_boolean; -alias c_gst_structure_get_clock_time gst_structure_get_clock_time; -alias c_gst_structure_get_date gst_structure_get_date; -alias c_gst_structure_get_date_time gst_structure_get_date_time; -alias c_gst_structure_get_double gst_structure_get_double; -alias c_gst_structure_get_enum gst_structure_get_enum; -alias c_gst_structure_get_field_type gst_structure_get_field_type; -alias c_gst_structure_get_flagset gst_structure_get_flagset; -alias c_gst_structure_get_fraction gst_structure_get_fraction; -alias c_gst_structure_get_int gst_structure_get_int; -alias c_gst_structure_get_int64 gst_structure_get_int64; -alias c_gst_structure_get_list gst_structure_get_list; -alias c_gst_structure_get_name gst_structure_get_name; -alias c_gst_structure_get_name_id gst_structure_get_name_id; -alias c_gst_structure_get_string gst_structure_get_string; -alias c_gst_structure_get_uint gst_structure_get_uint; -alias c_gst_structure_get_uint64 gst_structure_get_uint64; -alias c_gst_structure_get_valist gst_structure_get_valist; -alias c_gst_structure_get_value gst_structure_get_value; -alias c_gst_structure_has_field gst_structure_has_field; -alias c_gst_structure_has_field_typed gst_structure_has_field_typed; -alias c_gst_structure_has_name gst_structure_has_name; -alias c_gst_structure_id_get gst_structure_id_get; -alias c_gst_structure_id_get_valist gst_structure_id_get_valist; -alias c_gst_structure_id_get_value gst_structure_id_get_value; -alias c_gst_structure_id_has_field gst_structure_id_has_field; -alias c_gst_structure_id_has_field_typed gst_structure_id_has_field_typed; -alias c_gst_structure_id_set gst_structure_id_set; -alias c_gst_structure_id_set_valist gst_structure_id_set_valist; -alias c_gst_structure_id_set_value gst_structure_id_set_value; -alias c_gst_structure_id_take_value gst_structure_id_take_value; -alias c_gst_structure_intersect gst_structure_intersect; -alias c_gst_structure_is_equal gst_structure_is_equal; -alias c_gst_structure_is_subset gst_structure_is_subset; -alias c_gst_structure_map_in_place gst_structure_map_in_place; -alias c_gst_structure_n_fields gst_structure_n_fields; -alias c_gst_structure_nth_field_name gst_structure_nth_field_name; -alias c_gst_structure_remove_all_fields gst_structure_remove_all_fields; -alias c_gst_structure_remove_field gst_structure_remove_field; -alias c_gst_structure_remove_fields gst_structure_remove_fields; -alias c_gst_structure_remove_fields_valist gst_structure_remove_fields_valist; -alias c_gst_structure_set gst_structure_set; -alias c_gst_structure_set_array gst_structure_set_array; -alias c_gst_structure_set_list gst_structure_set_list; -alias c_gst_structure_set_name gst_structure_set_name; -alias c_gst_structure_set_parent_refcount gst_structure_set_parent_refcount; -alias c_gst_structure_set_valist gst_structure_set_valist; -alias c_gst_structure_set_value gst_structure_set_value; -alias c_gst_structure_take_value gst_structure_take_value; -alias c_gst_structure_to_string gst_structure_to_string; -alias c_gst_structure_take gst_structure_take; - -// gstreamer.SystemClock - -alias c_gst_system_clock_get_type gst_system_clock_get_type; -alias c_gst_system_clock_obtain gst_system_clock_obtain; -alias c_gst_system_clock_set_default gst_system_clock_set_default; - -// gstreamer.TagList - -alias c_gst_tag_get_type gst_tag_get_type; -alias c_gst_tag_list_new gst_tag_list_new; -alias c_gst_tag_list_new_empty gst_tag_list_new_empty; -alias c_gst_tag_list_new_from_string gst_tag_list_new_from_string; -alias c_gst_tag_list_new_valist gst_tag_list_new_valist; -alias c_gst_tag_list_add gst_tag_list_add; -alias c_gst_tag_list_add_valist gst_tag_list_add_valist; -alias c_gst_tag_list_add_valist_values gst_tag_list_add_valist_values; -alias c_gst_tag_list_add_value gst_tag_list_add_value; -alias c_gst_tag_list_add_values gst_tag_list_add_values; -alias c_gst_tag_list_copy gst_tag_list_copy; -alias c_gst_tag_list_foreach gst_tag_list_foreach; -alias c_gst_tag_list_get_boolean gst_tag_list_get_boolean; -alias c_gst_tag_list_get_boolean_index gst_tag_list_get_boolean_index; -alias c_gst_tag_list_get_date gst_tag_list_get_date; -alias c_gst_tag_list_get_date_index gst_tag_list_get_date_index; -alias c_gst_tag_list_get_date_time gst_tag_list_get_date_time; -alias c_gst_tag_list_get_date_time_index gst_tag_list_get_date_time_index; -alias c_gst_tag_list_get_double gst_tag_list_get_double; -alias c_gst_tag_list_get_double_index gst_tag_list_get_double_index; -alias c_gst_tag_list_get_float gst_tag_list_get_float; -alias c_gst_tag_list_get_float_index gst_tag_list_get_float_index; -alias c_gst_tag_list_get_int gst_tag_list_get_int; -alias c_gst_tag_list_get_int64 gst_tag_list_get_int64; -alias c_gst_tag_list_get_int64_index gst_tag_list_get_int64_index; -alias c_gst_tag_list_get_int_index gst_tag_list_get_int_index; -alias c_gst_tag_list_get_pointer gst_tag_list_get_pointer; -alias c_gst_tag_list_get_pointer_index gst_tag_list_get_pointer_index; -alias c_gst_tag_list_get_sample gst_tag_list_get_sample; -alias c_gst_tag_list_get_sample_index gst_tag_list_get_sample_index; -alias c_gst_tag_list_get_scope gst_tag_list_get_scope; -alias c_gst_tag_list_get_string gst_tag_list_get_string; -alias c_gst_tag_list_get_string_index gst_tag_list_get_string_index; -alias c_gst_tag_list_get_tag_size gst_tag_list_get_tag_size; -alias c_gst_tag_list_get_uint gst_tag_list_get_uint; -alias c_gst_tag_list_get_uint64 gst_tag_list_get_uint64; -alias c_gst_tag_list_get_uint64_index gst_tag_list_get_uint64_index; -alias c_gst_tag_list_get_uint_index gst_tag_list_get_uint_index; -alias c_gst_tag_list_get_value_index gst_tag_list_get_value_index; -alias c_gst_tag_list_insert gst_tag_list_insert; -alias c_gst_tag_list_is_empty gst_tag_list_is_empty; -alias c_gst_tag_list_is_equal gst_tag_list_is_equal; -alias c_gst_tag_list_merge gst_tag_list_merge; -alias c_gst_tag_list_n_tags gst_tag_list_n_tags; -alias c_gst_tag_list_nth_tag_name gst_tag_list_nth_tag_name; -alias c_gst_tag_list_peek_string_index gst_tag_list_peek_string_index; -alias c_gst_tag_list_remove_tag gst_tag_list_remove_tag; -alias c_gst_tag_list_set_scope gst_tag_list_set_scope; -alias c_gst_tag_list_to_string gst_tag_list_to_string; -alias c_gst_tag_list_copy_value gst_tag_list_copy_value; -alias c_gst_tag_exists gst_tag_exists; -alias c_gst_tag_get_description gst_tag_get_description; -alias c_gst_tag_get_flag gst_tag_get_flag; -alias c_gst_tag_get_nick gst_tag_get_nick; -alias c_gst_tag_is_fixed gst_tag_is_fixed; -alias c_gst_tag_merge_strings_with_comma gst_tag_merge_strings_with_comma; -alias c_gst_tag_merge_use_first gst_tag_merge_use_first; -alias c_gst_tag_register gst_tag_register; -alias c_gst_tag_register_static gst_tag_register_static; - -// gstreamer.TagSetter - -alias c_gst_tag_setter_get_type gst_tag_setter_get_type; -alias c_gst_tag_setter_add_tag_valist gst_tag_setter_add_tag_valist; -alias c_gst_tag_setter_add_tag_valist_values gst_tag_setter_add_tag_valist_values; -alias c_gst_tag_setter_add_tag_value gst_tag_setter_add_tag_value; -alias c_gst_tag_setter_add_tag_values gst_tag_setter_add_tag_values; -alias c_gst_tag_setter_add_tags gst_tag_setter_add_tags; -alias c_gst_tag_setter_get_tag_list gst_tag_setter_get_tag_list; -alias c_gst_tag_setter_get_tag_merge_mode gst_tag_setter_get_tag_merge_mode; -alias c_gst_tag_setter_merge_tags gst_tag_setter_merge_tags; -alias c_gst_tag_setter_reset_tags gst_tag_setter_reset_tags; -alias c_gst_tag_setter_set_tag_merge_mode gst_tag_setter_set_tag_merge_mode; - -// gstreamer.Task - -alias c_gst_task_get_type gst_task_get_type; -alias c_gst_task_new gst_task_new; -alias c_gst_task_cleanup_all gst_task_cleanup_all; -alias c_gst_task_get_pool gst_task_get_pool; -alias c_gst_task_get_state gst_task_get_state; -alias c_gst_task_join gst_task_join; -alias c_gst_task_pause gst_task_pause; -alias c_gst_task_resume gst_task_resume; -alias c_gst_task_set_enter_callback gst_task_set_enter_callback; -alias c_gst_task_set_leave_callback gst_task_set_leave_callback; -alias c_gst_task_set_lock gst_task_set_lock; -alias c_gst_task_set_pool gst_task_set_pool; -alias c_gst_task_set_state gst_task_set_state; -alias c_gst_task_start gst_task_start; -alias c_gst_task_stop gst_task_stop; - -// gstreamer.TaskPool - -alias c_gst_task_pool_get_type gst_task_pool_get_type; -alias c_gst_task_pool_new gst_task_pool_new; -alias c_gst_task_pool_cleanup gst_task_pool_cleanup; -alias c_gst_task_pool_join gst_task_pool_join; -alias c_gst_task_pool_prepare gst_task_pool_prepare; -alias c_gst_task_pool_push gst_task_pool_push; - -// gstreamer.Toc - -alias c_gst_toc_get_type gst_toc_get_type; -alias c_gst_toc_new gst_toc_new; -alias c_gst_toc_append_entry gst_toc_append_entry; -alias c_gst_toc_dump gst_toc_dump; -alias c_gst_toc_find_entry gst_toc_find_entry; -alias c_gst_toc_get_entries gst_toc_get_entries; -alias c_gst_toc_get_scope gst_toc_get_scope; -alias c_gst_toc_get_tags gst_toc_get_tags; -alias c_gst_toc_merge_tags gst_toc_merge_tags; -alias c_gst_toc_set_tags gst_toc_set_tags; - -// gstreamer.TocEntry - -alias c_gst_toc_entry_get_type gst_toc_entry_get_type; -alias c_gst_toc_entry_new gst_toc_entry_new; -alias c_gst_toc_entry_append_sub_entry gst_toc_entry_append_sub_entry; -alias c_gst_toc_entry_get_entry_type gst_toc_entry_get_entry_type; -alias c_gst_toc_entry_get_loop gst_toc_entry_get_loop; -alias c_gst_toc_entry_get_parent gst_toc_entry_get_parent; -alias c_gst_toc_entry_get_start_stop_times gst_toc_entry_get_start_stop_times; -alias c_gst_toc_entry_get_sub_entries gst_toc_entry_get_sub_entries; -alias c_gst_toc_entry_get_tags gst_toc_entry_get_tags; -alias c_gst_toc_entry_get_toc gst_toc_entry_get_toc; -alias c_gst_toc_entry_get_uid gst_toc_entry_get_uid; -alias c_gst_toc_entry_is_alternative gst_toc_entry_is_alternative; -alias c_gst_toc_entry_is_sequence gst_toc_entry_is_sequence; -alias c_gst_toc_entry_merge_tags gst_toc_entry_merge_tags; -alias c_gst_toc_entry_set_loop gst_toc_entry_set_loop; -alias c_gst_toc_entry_set_start_stop_times gst_toc_entry_set_start_stop_times; -alias c_gst_toc_entry_set_tags gst_toc_entry_set_tags; - -// gstreamer.TocSetter - -alias c_gst_toc_setter_get_type gst_toc_setter_get_type; -alias c_gst_toc_setter_get_toc gst_toc_setter_get_toc; -alias c_gst_toc_setter_reset gst_toc_setter_reset; -alias c_gst_toc_setter_set_toc gst_toc_setter_set_toc; - -// gstreamer.Tracer - -alias c_gst_tracer_get_type gst_tracer_get_type; -alias c_gst_tracer_register gst_tracer_register; - -// gstreamer.TracerFactory - -alias c_gst_tracer_factory_get_type gst_tracer_factory_get_type; -alias c_gst_tracer_factory_get_list gst_tracer_factory_get_list; -alias c_gst_tracer_factory_get_tracer_type gst_tracer_factory_get_tracer_type; - -// gstreamer.TracerRecord - -alias c_gst_tracer_record_get_type gst_tracer_record_get_type; -alias c_gst_tracer_record_new gst_tracer_record_new; -alias c_gst_tracer_record_log gst_tracer_record_log; - -// gstreamer.TypeFind - -alias c_gst_type_find_get_length gst_type_find_get_length; -alias c_gst_type_find_peek gst_type_find_peek; -alias c_gst_type_find_suggest gst_type_find_suggest; -alias c_gst_type_find_suggest_simple gst_type_find_suggest_simple; -alias c_gst_type_find_register gst_type_find_register; -alias c_gst_type_find_get_type gst_type_find_get_type; - -// gstreamer.TypeFindFactory - -alias c_gst_type_find_factory_get_type gst_type_find_factory_get_type; -alias c_gst_type_find_factory_get_list gst_type_find_factory_get_list; -alias c_gst_type_find_factory_call_function gst_type_find_factory_call_function; -alias c_gst_type_find_factory_get_caps gst_type_find_factory_get_caps; -alias c_gst_type_find_factory_get_extensions gst_type_find_factory_get_extensions; -alias c_gst_type_find_factory_has_function gst_type_find_factory_has_function; - -// gstreamer.URIHandler - -alias c_gst_uri_handler_get_type gst_uri_handler_get_type; -alias c_gst_uri_handler_get_protocols gst_uri_handler_get_protocols; -alias c_gst_uri_handler_get_uri gst_uri_handler_get_uri; -alias c_gst_uri_handler_get_uri_type gst_uri_handler_get_uri_type; -alias c_gst_uri_handler_set_uri gst_uri_handler_set_uri; - -// gstreamer.Uri - -alias c_gst_uri_get_type gst_uri_get_type; -alias c_gst_uri_new gst_uri_new; -alias c_gst_uri_append_path gst_uri_append_path; -alias c_gst_uri_append_path_segment gst_uri_append_path_segment; -alias c_gst_uri_equal gst_uri_equal; -alias c_gst_uri_from_string_with_base gst_uri_from_string_with_base; -alias c_gst_uri_get_fragment gst_uri_get_fragment; -alias c_gst_uri_get_host gst_uri_get_host; -alias c_gst_uri_get_media_fragment_table gst_uri_get_media_fragment_table; -alias c_gst_uri_get_path gst_uri_get_path; -alias c_gst_uri_get_path_segments gst_uri_get_path_segments; -alias c_gst_uri_get_path_string gst_uri_get_path_string; -alias c_gst_uri_get_port gst_uri_get_port; -alias c_gst_uri_get_query_keys gst_uri_get_query_keys; -alias c_gst_uri_get_query_string gst_uri_get_query_string; -alias c_gst_uri_get_query_table gst_uri_get_query_table; -alias c_gst_uri_get_query_value gst_uri_get_query_value; -alias c_gst_uri_get_scheme gst_uri_get_scheme; -alias c_gst_uri_get_userinfo gst_uri_get_userinfo; -alias c_gst_uri_is_normalized gst_uri_is_normalized; -alias c_gst_uri_is_writable gst_uri_is_writable; -alias c_gst_uri_join gst_uri_join; -alias c_gst_uri_make_writable gst_uri_make_writable; -alias c_gst_uri_new_with_base gst_uri_new_with_base; -alias c_gst_uri_normalize gst_uri_normalize; -alias c_gst_uri_query_has_key gst_uri_query_has_key; -alias c_gst_uri_remove_query_key gst_uri_remove_query_key; -alias c_gst_uri_set_fragment gst_uri_set_fragment; -alias c_gst_uri_set_host gst_uri_set_host; -alias c_gst_uri_set_path gst_uri_set_path; -alias c_gst_uri_set_path_segments gst_uri_set_path_segments; -alias c_gst_uri_set_path_string gst_uri_set_path_string; -alias c_gst_uri_set_port gst_uri_set_port; -alias c_gst_uri_set_query_string gst_uri_set_query_string; -alias c_gst_uri_set_query_table gst_uri_set_query_table; -alias c_gst_uri_set_query_value gst_uri_set_query_value; -alias c_gst_uri_set_scheme gst_uri_set_scheme; -alias c_gst_uri_set_userinfo gst_uri_set_userinfo; -alias c_gst_uri_to_string gst_uri_to_string; -alias c_gst_uri_construct gst_uri_construct; -alias c_gst_uri_from_string gst_uri_from_string; -alias c_gst_uri_from_string_escaped gst_uri_from_string_escaped; -alias c_gst_uri_get_location gst_uri_get_location; -alias c_gst_uri_get_protocol gst_uri_get_protocol; -alias c_gst_uri_has_protocol gst_uri_has_protocol; -alias c_gst_uri_is_valid gst_uri_is_valid; -alias c_gst_uri_join_strings gst_uri_join_strings; -alias c_gst_uri_protocol_is_supported gst_uri_protocol_is_supported; -alias c_gst_uri_protocol_is_valid gst_uri_protocol_is_valid; -alias c_gst_filename_to_uri gst_filename_to_uri; -alias c_gst_uri_error_quark gst_uri_error_quark; - -// gstreamer.ValueArray - -alias c_gst_value_array_get_type gst_value_array_get_type; -alias c_gst_value_array_append_and_take_value gst_value_array_append_and_take_value; -alias c_gst_value_array_append_value gst_value_array_append_value; -alias c_gst_value_array_get_size gst_value_array_get_size; -alias c_gst_value_array_get_value gst_value_array_get_value; -alias c_gst_value_array_init gst_value_array_init; -alias c_gst_value_array_prepend_value gst_value_array_prepend_value; - -// gstreamer.ValueList - -alias c_gst_value_list_get_type gst_value_list_get_type; -alias c_gst_value_list_append_and_take_value gst_value_list_append_and_take_value; -alias c_gst_value_list_append_value gst_value_list_append_value; -alias c_gst_value_list_concat gst_value_list_concat; -alias c_gst_value_list_get_size gst_value_list_get_size; -alias c_gst_value_list_get_value gst_value_list_get_value; -alias c_gst_value_list_init gst_value_list_init; -alias c_gst_value_list_merge gst_value_list_merge; -alias c_gst_value_list_prepend_value gst_value_list_prepend_value; - -// gstreamer.Debug - -alias c_gst_debug_add_log_function gst_debug_add_log_function; -alias c_gst_debug_bin_to_dot_data gst_debug_bin_to_dot_data; -alias c_gst_debug_bin_to_dot_file gst_debug_bin_to_dot_file; -alias c_gst_debug_bin_to_dot_file_with_ts gst_debug_bin_to_dot_file_with_ts; -alias c_gst_debug_construct_term_color gst_debug_construct_term_color; -alias c_gst_debug_construct_win_color gst_debug_construct_win_color; -alias c_gst_debug_get_all_categories gst_debug_get_all_categories; -alias c_gst_debug_get_color_mode gst_debug_get_color_mode; -alias c_gst_debug_get_default_threshold gst_debug_get_default_threshold; -alias c_gst_debug_is_active gst_debug_is_active; -alias c_gst_debug_is_colored gst_debug_is_colored; -alias c_gst_debug_level_get_name gst_debug_level_get_name; -alias c_gst_debug_log gst_debug_log; -alias c_gst_debug_log_default gst_debug_log_default; -alias c_gst_debug_log_valist gst_debug_log_valist; -alias c_gst_debug_print_stack_trace gst_debug_print_stack_trace; -alias c_gst_debug_remove_log_function gst_debug_remove_log_function; -alias c_gst_debug_remove_log_function_by_data gst_debug_remove_log_function_by_data; -alias c_gst_debug_set_active gst_debug_set_active; -alias c_gst_debug_set_color_mode gst_debug_set_color_mode; -alias c_gst_debug_set_color_mode_from_string gst_debug_set_color_mode_from_string; -alias c_gst_debug_set_colored gst_debug_set_colored; -alias c_gst_debug_set_default_threshold gst_debug_set_default_threshold; -alias c_gst_debug_set_threshold_for_name gst_debug_set_threshold_for_name; -alias c_gst_debug_set_threshold_from_string gst_debug_set_threshold_from_string; -alias c_gst_debug_unset_threshold_for_name gst_debug_unset_threshold_for_name; - -// gstreamer.GError - -alias c_gst_error_get_message gst_error_get_message; - -// gstreamer.Format - -alias c_gst_format_get_by_nick gst_format_get_by_nick; -alias c_gst_format_get_details gst_format_get_details; -alias c_gst_format_get_name gst_format_get_name; -alias c_gst_format_iterate_definitions gst_format_iterate_definitions; -alias c_gst_format_register gst_format_register; -alias c_gst_format_to_quark gst_format_to_quark; -alias c_gst_formats_contains gst_formats_contains; - -// gstreamer.GStreamer - -alias c_gst_deinit gst_deinit; -alias c_gst_init gst_init; -alias c_gst_init_check gst_init_check; -alias c_gst_init_get_option_group gst_init_get_option_group; -alias c_gst_is_initialized gst_is_initialized; -alias c_gst_segtrap_is_enabled gst_segtrap_is_enabled; -alias c_gst_segtrap_set_enabled gst_segtrap_set_enabled; -alias c_gst_update_registry gst_update_registry; -alias c_gst_version gst_version; -alias c_gst_version_string gst_version_string; - -// gstreamer.Parse - -alias c_gst_parse_bin_from_description gst_parse_bin_from_description; -alias c_gst_parse_bin_from_description_full gst_parse_bin_from_description_full; -alias c_gst_parse_error_quark gst_parse_error_quark; -alias c_gst_parse_launch gst_parse_launch; -alias c_gst_parse_launch_full gst_parse_launch_full; -alias c_gst_parse_launchv gst_parse_launchv; -alias c_gst_parse_launchv_full gst_parse_launchv_full; - -// gstreamer.Utils - -alias c_gst_util_array_binary_search gst_util_array_binary_search; -alias c_gst_util_double_to_fraction gst_util_double_to_fraction; -alias c_gst_util_dump_mem gst_util_dump_mem; -alias c_gst_util_fraction_add gst_util_fraction_add; -alias c_gst_util_fraction_compare gst_util_fraction_compare; -alias c_gst_util_fraction_multiply gst_util_fraction_multiply; -alias c_gst_util_fraction_to_double gst_util_fraction_to_double; -alias c_gst_util_gdouble_to_guint64 gst_util_gdouble_to_guint64; -alias c_gst_util_get_timestamp gst_util_get_timestamp; -alias c_gst_util_greatest_common_divisor gst_util_greatest_common_divisor; -alias c_gst_util_greatest_common_divisor_int64 gst_util_greatest_common_divisor_int64; -alias c_gst_util_group_id_next gst_util_group_id_next; -alias c_gst_util_guint64_to_gdouble gst_util_guint64_to_gdouble; -alias c_gst_util_seqnum_compare gst_util_seqnum_compare; -alias c_gst_util_seqnum_next gst_util_seqnum_next; -alias c_gst_util_set_object_arg gst_util_set_object_arg; -alias c_gst_util_set_value_from_string gst_util_set_value_from_string; -alias c_gst_util_uint64_scale gst_util_uint64_scale; -alias c_gst_util_uint64_scale_ceil gst_util_uint64_scale_ceil; -alias c_gst_util_uint64_scale_int gst_util_uint64_scale_int; -alias c_gst_util_uint64_scale_int_ceil gst_util_uint64_scale_int_ceil; -alias c_gst_util_uint64_scale_int_round gst_util_uint64_scale_int_round; -alias c_gst_util_uint64_scale_round gst_util_uint64_scale_round; -alias c_gst_calculate_linear_regression gst_calculate_linear_regression; -alias c_gst_dynamic_type_register gst_dynamic_type_register; -alias c_gst_util_get_object_array gst_util_get_object_array; -alias c_gst_util_set_object_array gst_util_set_object_array; - -// gstreamer.ValueGst - -alias c_gst_value_can_compare gst_value_can_compare; -alias c_gst_value_can_intersect gst_value_can_intersect; -alias c_gst_value_can_subtract gst_value_can_subtract; -alias c_gst_value_can_union gst_value_can_union; -alias c_gst_value_compare gst_value_compare; -alias c_gst_value_deserialize gst_value_deserialize; -alias c_gst_value_fixate gst_value_fixate; -alias c_gst_value_fraction_multiply gst_value_fraction_multiply; -alias c_gst_value_fraction_subtract gst_value_fraction_subtract; -alias c_gst_value_get_bitmask gst_value_get_bitmask; -alias c_gst_value_get_caps gst_value_get_caps; -alias c_gst_value_get_caps_features gst_value_get_caps_features; -alias c_gst_value_get_double_range_max gst_value_get_double_range_max; -alias c_gst_value_get_double_range_min gst_value_get_double_range_min; -alias c_gst_value_get_flagset_flags gst_value_get_flagset_flags; -alias c_gst_value_get_flagset_mask gst_value_get_flagset_mask; -alias c_gst_value_set_flagset gst_value_set_flagset; -alias c_gst_value_get_fraction_denominator gst_value_get_fraction_denominator; -alias c_gst_value_get_fraction_numerator gst_value_get_fraction_numerator; -alias c_gst_value_get_fraction_range_max gst_value_get_fraction_range_max; -alias c_gst_value_get_fraction_range_min gst_value_get_fraction_range_min; -alias c_gst_value_get_int64_range_max gst_value_get_int64_range_max; -alias c_gst_value_get_int64_range_min gst_value_get_int64_range_min; -alias c_gst_value_get_int64_range_step gst_value_get_int64_range_step; -alias c_gst_value_get_int_range_max gst_value_get_int_range_max; -alias c_gst_value_get_int_range_min gst_value_get_int_range_min; -alias c_gst_value_get_int_range_step gst_value_get_int_range_step; -alias c_gst_value_get_structure gst_value_get_structure; -alias c_gst_value_init_and_copy gst_value_init_and_copy; -alias c_gst_value_intersect gst_value_intersect; -alias c_gst_value_is_fixed gst_value_is_fixed; -alias c_gst_value_is_subset gst_value_is_subset; -alias c_gst_value_register gst_value_register; -alias c_gst_value_serialize gst_value_serialize; -alias c_gst_value_set_bitmask gst_value_set_bitmask; -alias c_gst_value_set_caps gst_value_set_caps; -alias c_gst_value_set_caps_features gst_value_set_caps_features; -alias c_gst_value_set_double_range gst_value_set_double_range; -alias c_gst_value_set_fraction gst_value_set_fraction; -alias c_gst_value_set_fraction_range gst_value_set_fraction_range; -alias c_gst_value_set_fraction_range_full gst_value_set_fraction_range_full; -alias c_gst_value_set_int64_range gst_value_set_int64_range; -alias c_gst_value_set_int64_range_step gst_value_set_int64_range_step; -alias c_gst_value_set_int_range gst_value_set_int_range; -alias c_gst_value_set_int_range_step gst_value_set_int_range_step; -alias c_gst_value_set_structure gst_value_set_structure; -alias c_gst_value_subtract gst_value_subtract; -alias c_gst_value_union gst_value_union; diff --git a/generated/gstreamer/gstreamer/c/types.d b/generated/gstreamer/gstreamer/c/types.d deleted file mode 100644 index a9e329578..000000000 --- a/generated/gstreamer/gstreamer/c/types.d +++ /dev/null @@ -1,7796 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module gstreamer.c.types; - -public import glib.c.types; -public import gobject.c.types; - - -/** - * A datatype to hold the handle to an outstanding sync or async clock callback. - */ -public alias void* GstClockID; - -/** - * A datatype to hold a time, measured in nanoseconds. - */ -public alias ulong GstClockTime; - -/** - * A datatype to hold a time difference, measured in nanoseconds. - */ -public alias long GstClockTimeDiff; - -/** - * A type defining the type of an element factory. - */ -public alias ulong GstElementFactoryListType; -/** - * Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE() - * and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(). - */ -public enum GstDebugGraphDetails : long -{ - /** - * show caps-name on edges - */ - MEDIA_TYPE = 1, - /** - * show caps-details on edges - */ - CAPS_DETAILS = 2, - /** - * show modified parameters on - * elements - */ - NON_DEFAULT_PARAMS = 4, - /** - * show element states - */ - STATES = 8, - /** - * show full element parameter values even - * if they are very long - */ - FULL_PARAMS = 16, - /** - * show all the typical details that one might want - */ - ALL = 15, - /** - * show all details regardless of how large or - * verbose they make the resulting output - */ - VERBOSE = 4294967295, -} -alias GstDebugGraphDetails DebugGraphDetails; - -/** - * Flags for allocators. - */ -public enum GstAllocatorFlags -{ - /** - * The allocator has a custom alloc function. - */ - CUSTOM_ALLOC = 16, - /** - * first flag that can be used for custom purposes - */ - LAST = 1048576, -} -alias GstAllocatorFlags AllocatorFlags; - -/** - * GstBinFlags are a set of flags specific to bins. Most are set/used - * internally. They can be checked using the GST_OBJECT_FLAG_IS_SET () macro, - * and (un)set using GST_OBJECT_FLAG_SET () and GST_OBJECT_FLAG_UNSET (). - */ -public enum GstBinFlags -{ - /** - * don't resync a state change when elements are - * added or linked in the bin (Since: 1.0.5) - */ - NO_RESYNC = 16384, - /** - * Indicates whether the bin can handle elements - * that add/remove source pads at any point in time without - * first posting a no-more-pads signal (Since: 1.10) - */ - STREAMS_AWARE = 32768, - /** - * the last enum in the series of flags for bins. - * Derived classes can use this as first value in a list of flags. - */ - LAST = 524288, -} -alias GstBinFlags BinFlags; - -/** - * A set of flags that can be provided to the gst_buffer_copy_into() - * function to specify which items should be copied. - */ -public enum GstBufferCopyFlags -{ - /** - * copy nothing - */ - NONE = 0, - /** - * flag indicating that buffer flags should be copied - */ - FLAGS = 1, - /** - * flag indicating that buffer pts, dts, - * duration, offset and offset_end should be copied - */ - TIMESTAMPS = 2, - /** - * flag indicating that buffer meta should be - * copied - */ - META = 4, - /** - * flag indicating that buffer memory should be reffed - * and appended to already existing memory. Unless the memory is marked as - * NO_SHARE, no actual copy of the memory is made but it is simply reffed. - * Add @GST_BUFFER_COPY_DEEP to force a real copy. - */ - MEMORY = 8, - /** - * flag indicating that buffer memory should be - * merged - */ - MERGE = 16, - /** - * flag indicating that memory should always be - * copied instead of reffed (Since: 1.2) - */ - DEEP = 32, -} -alias GstBufferCopyFlags BufferCopyFlags; - -/** - * A set of buffer flags used to describe properties of a #GstBuffer. - */ -public enum GstBufferFlags -{ - /** - * the buffer is live data and should be discarded in - * the PAUSED state. - */ - LIVE = 16, - /** - * the buffer contains data that should be dropped - * because it will be clipped against the segment - * boundaries or because it does not contain data - * that should be shown to the user. - */ - DECODE_ONLY = 32, - /** - * the buffer marks a data discontinuity in the stream. - * This typically occurs after a seek or a dropped buffer - * from a live or network source. - */ - DISCONT = 64, - /** - * the buffer timestamps might have a discontinuity - * and this buffer is a good point to resynchronize. - */ - RESYNC = 128, - /** - * the buffer data is corrupted. - */ - CORRUPTED = 256, - /** - * the buffer contains a media specific marker. for - * video this is the end of a frame boundary, for audio - * this is the start of a talkspurt. - */ - MARKER = 512, - /** - * the buffer contains header information that is - * needed to decode the following data. - */ - HEADER = 1024, - /** - * the buffer has been created to fill a gap in the - * stream and contains media neutral data (elements can - * switch to optimized code path that ignores the buffer - * content). - */ - GAP = 2048, - /** - * the buffer can be dropped without breaking the - * stream, for example to reduce bandwidth. - */ - DROPPABLE = 4096, - /** - * this unit cannot be decoded independently. - */ - DELTA_UNIT = 8192, - /** - * this flag is set when memory of the buffer - * is added/removed - */ - TAG_MEMORY = 16384, - /** - * Elements which write to disk or permanent - * storage should ensure the data is synced after - * writing the contents of this buffer. (Since: 1.6) - */ - SYNC_AFTER = 32768, - /** - * This buffer is important and should not be dropped. - * This can be used to mark important buffers, e.g. to flag - * RTP packets carrying keyframes or codec setup data for RTP - * Forward Error Correction purposes, or to prevent still video - * frames from being dropped by elements due to QoS. (Since: 1.14) - */ - NON_DROPPABLE = 65536, - /** - * additional media specific flags can be added starting from - * this flag. - */ - LAST = 1048576, -} -alias GstBufferFlags BufferFlags; - -/** - * Additional flags to control the allocation of a buffer - */ -public enum GstBufferPoolAcquireFlags -{ - /** - * no flags - */ - NONE = 0, - /** - * buffer is keyframe - */ - KEY_UNIT = 1, - /** - * when the bufferpool is empty, acquire_buffer - * will by default block until a buffer is released into the pool again. Setting - * this flag makes acquire_buffer return #GST_FLOW_EOS instead of blocking. - */ - DONTWAIT = 2, - /** - * buffer is discont - */ - DISCONT = 4, - /** - * last flag, subclasses can use private flags - * starting from this value. - */ - LAST = 65536, -} -alias GstBufferPoolAcquireFlags BufferPoolAcquireFlags; - -/** - * The different types of buffering methods. - */ -public enum GstBufferingMode -{ - /** - * a small amount of data is buffered - */ - STREAM = 0, - /** - * the stream is being downloaded - */ - DOWNLOAD = 1, - /** - * the stream is being downloaded in a ringbuffer - */ - TIMESHIFT = 2, - /** - * the stream is a live stream - */ - LIVE = 3, -} -alias GstBufferingMode BufferingMode; - -/** - * The standard flags that a bus may have. - */ -public enum GstBusFlags -{ - /** - * The bus is currently dropping all messages - */ - FLUSHING = 16, - /** - * offset to define more flags - */ - FLAG_LAST = 32, -} -alias GstBusFlags BusFlags; - -/** - * The result values for a GstBusSyncHandler. - */ -public enum GstBusSyncReply -{ - /** - * drop the message - */ - DROP = 0, - /** - * pass the message to the async queue - */ - PASS = 1, - /** - * pass message to async queue, continue if message is handled - */ - ASYNC = 2, -} -alias GstBusSyncReply BusSyncReply; - -/** - * Extra flags for a caps. - */ -public enum GstCapsFlags -{ - /** - * Caps has no specific content, but can contain - * anything. - */ - ANY = 16, -} -alias GstCapsFlags CapsFlags; - -/** - * Modes of caps intersection - * - * @GST_CAPS_INTERSECT_ZIG_ZAG tries to preserve overall order of both caps - * by iterating on the caps' structures as the following matrix shows: - * |[ - * caps1 - * +------------- - * | 1 2 4 7 - * caps2 | 3 5 8 10 - * | 6 9 11 12 - * ]| - * Used when there is no explicit precedence of one caps over the other. e.g. - * tee's sink pad getcaps function, it will probe its src pad peers' for their - * caps and intersect them with this mode. - * - * @GST_CAPS_INTERSECT_FIRST is useful when an element wants to preserve - * another element's caps priority order when intersecting with its own caps. - * Example: If caps1 is [A, B, C] and caps2 is [E, B, D, A], the result - * would be [A, B], maintaining the first caps priority on the intersection. - */ -public enum GstCapsIntersectMode -{ - /** - * Zig-zags over both caps. - */ - ZIG_ZAG = 0, - /** - * Keeps the first caps order. - */ - FIRST = 1, -} -alias GstCapsIntersectMode CapsIntersectMode; - -/** - * The type of the clock entry - */ -public enum GstClockEntryType -{ - /** - * a single shot timeout - */ - SINGLE = 0, - /** - * a periodic timeout request - */ - PERIODIC = 1, -} -alias GstClockEntryType ClockEntryType; - -/** - * The capabilities of this clock - */ -public enum GstClockFlags -{ - /** - * clock can do a single sync timeout request - */ - CAN_DO_SINGLE_SYNC = 16, - /** - * clock can do a single async timeout request - */ - CAN_DO_SINGLE_ASYNC = 32, - /** - * clock can do sync periodic timeout requests - */ - CAN_DO_PERIODIC_SYNC = 64, - /** - * clock can do async periodic timeout callbacks - */ - CAN_DO_PERIODIC_ASYNC = 128, - /** - * clock's resolution can be changed - */ - CAN_SET_RESOLUTION = 256, - /** - * clock can be slaved to a master clock - */ - CAN_SET_MASTER = 512, - /** - * clock needs to be synced before it can be used - * (Since: 1.6) - */ - NEEDS_STARTUP_SYNC = 1024, - /** - * subclasses can add additional flags starting from this flag - */ - LAST = 4096, -} -alias GstClockFlags ClockFlags; - -/** - * The return value of a clock operation. - */ -public enum GstClockReturn -{ - /** - * The operation succeeded. - */ - OK = 0, - /** - * The operation was scheduled too late. - */ - EARLY = 1, - /** - * The clockID was unscheduled - */ - UNSCHEDULED = 2, - /** - * The ClockID is busy - */ - BUSY = 3, - /** - * A bad time was provided to a function. - */ - BADTIME = 4, - /** - * An error occurred - */ - ERROR = 5, - /** - * Operation is not supported - */ - UNSUPPORTED = 6, - /** - * The ClockID is done waiting - */ - DONE = 7, -} -alias GstClockReturn ClockReturn; - -/** - * The different kind of clocks. - */ -public enum GstClockType -{ - /** - * time since Epoch - */ - REALTIME = 0, - /** - * monotonic time since some unspecified starting - * point - */ - MONOTONIC = 1, - /** - * some other time source is used (Since: 1.0.5) - */ - OTHER = 2, - /** - * time since Epoch, but using International Atomic Time - * as reference (Since: 1.18) - */ - TAI = 3, -} -alias GstClockType ClockType; - -/** - * Core errors are errors inside the core GStreamer library. - */ -public enum GstCoreError -{ - /** - * a general error which doesn't fit in any other - * category. Make sure you add a custom message to the error call. - */ - FAILED = 1, - /** - * do not use this except as a placeholder for - * deciding where to go while developing code. - */ - TOO_LAZY = 2, - /** - * use this when you do not want to implement - * this functionality yet. - */ - NOT_IMPLEMENTED = 3, - /** - * used for state change errors. - */ - STATE_CHANGE = 4, - /** - * used for pad-related errors. - */ - PAD = 5, - /** - * used for thread-related errors. - */ - THREAD = 6, - /** - * used for negotiation-related errors. - */ - NEGOTIATION = 7, - /** - * used for event-related errors. - */ - EVENT = 8, - /** - * used for seek-related errors. - */ - SEEK = 9, - /** - * used for caps-related errors. - */ - CAPS = 10, - /** - * used for negotiation-related errors. - */ - TAG = 11, - /** - * used if a plugin is missing. - */ - MISSING_PLUGIN = 12, - /** - * used for clock related errors. - */ - CLOCK = 13, - /** - * used if functionality has been disabled at - * compile time. - */ - DISABLED = 14, - /** - * the number of core error types. - */ - NUM_ERRORS = 15, -} -alias GstCoreError CoreError; - -/** - * These are some terminal style flags you can use when creating your - * debugging categories to make them stand out in debugging output. - */ -public enum GstDebugColorFlags -{ - /** - * Use black as foreground color. - */ - FG_BLACK = 0, - /** - * Use red as foreground color. - */ - FG_RED = 1, - /** - * Use green as foreground color. - */ - FG_GREEN = 2, - /** - * Use yellow as foreground color. - */ - FG_YELLOW = 3, - /** - * Use blue as foreground color. - */ - FG_BLUE = 4, - /** - * Use magenta as foreground color. - */ - FG_MAGENTA = 5, - /** - * Use cyan as foreground color. - */ - FG_CYAN = 6, - /** - * Use white as foreground color. - */ - FG_WHITE = 7, - /** - * Use black as background color. - */ - BG_BLACK = 0, - /** - * Use red as background color. - */ - BG_RED = 16, - /** - * Use green as background color. - */ - BG_GREEN = 32, - /** - * Use yellow as background color. - */ - BG_YELLOW = 48, - /** - * Use blue as background color. - */ - BG_BLUE = 64, - /** - * Use magenta as background color. - */ - BG_MAGENTA = 80, - /** - * Use cyan as background color. - */ - BG_CYAN = 96, - /** - * Use white as background color. - */ - BG_WHITE = 112, - /** - * Make the output bold. - */ - BOLD = 256, - /** - * Underline the output. - */ - UNDERLINE = 512, -} -alias GstDebugColorFlags DebugColorFlags; - -public enum GstDebugColorMode -{ - /** - * Do not use colors in logs. - */ - OFF = 0, - /** - * Paint logs in a platform-specific way. - */ - ON = 1, - /** - * Paint logs with UNIX terminal color codes - * no matter what platform GStreamer is running on. - */ - UNIX = 2, -} -alias GstDebugColorMode DebugColorMode; - -/** - * The level defines the importance of a debugging message. The more important a - * message is, the greater the probability that the debugging system outputs it. - */ -public enum GstDebugLevel -{ - /** - * No debugging level specified or desired. Used to deactivate - * debugging output. - */ - NONE = 0, - /** - * Error messages are to be used only when an error occurred - * that stops the application from keeping working correctly. - * An examples is gst_element_error, which outputs a message with this priority. - * It does not mean that the application is terminating as with g_error. - */ - ERROR = 1, - /** - * Warning messages are to inform about abnormal behaviour - * that could lead to problems or weird behaviour later on. An example of this - * would be clocking issues ("your computer is pretty slow") or broken input - * data ("Can't synchronize to stream.") - */ - WARNING = 2, - /** - * Fixme messages are messages that indicate that something - * in the executed code path is not fully implemented or handled yet. Note - * that this does not replace proper error handling in any way, the purpose - * of this message is to make it easier to spot incomplete/unfinished pieces - * of code when reading the debug log. - */ - FIXME = 3, - /** - * Informational messages should be used to keep the developer - * updated about what is happening. - * Examples where this should be used are when a typefind function has - * successfully determined the type of the stream or when an mp3 plugin detects - * the format to be used. ("This file has mono sound.") - */ - INFO = 4, - /** - * Debugging messages should be used when something common - * happens that is not the expected default behavior, or something that's - * useful to know but doesn't happen all the time (ie. per loop iteration or - * buffer processed or event handled). - * An example would be notifications about state changes or receiving/sending - * of events. - */ - DEBUG = 5, - /** - * Log messages are messages that are very common but might be - * useful to know. As a rule of thumb a pipeline that is running as expected - * should never output anything else but LOG messages whilst processing data. - * Use this log level to log recurring information in chain functions and - * loop functions, for example. - */ - LOG = 6, - /** - * Tracing-related messages. - * Examples for this are referencing/dereferencing of objects. - */ - TRACE = 7, - /** - * memory dump messages are used to log (small) chunks of - * data as memory dumps in the log. They will be displayed as hexdump with - * ASCII characters. - */ - MEMDUMP = 9, - /** - * The number of defined debugging levels. - */ - COUNT = 10, -} -alias GstDebugLevel DebugLevel; - -/** - * The standard flags that an element may have. - */ -public enum GstElementFlags -{ - /** - * ignore state changes from parent - */ - LOCKED_STATE = 16, - /** - * the element is a sink - */ - SINK = 32, - /** - * the element is a source. - */ - SOURCE = 64, - /** - * the element can provide a clock - */ - PROVIDE_CLOCK = 128, - /** - * the element requires a clock - */ - REQUIRE_CLOCK = 256, - /** - * the element can use an index - */ - INDEXABLE = 512, - /** - * offset to define more flags - */ - LAST = 16384, -} -alias GstElementFlags ElementFlags; - -/** - * #GstEventType lists the standard event types that can be sent in a pipeline. - * - * The custom event types can be used for private messages between elements - * that can't be expressed using normal - * GStreamer buffer passing semantics. Custom events carry an arbitrary - * #GstStructure. - * Specific custom events are distinguished by the name of the structure. - */ -public enum GstEventType -{ - /** - * unknown event. - */ - UNKNOWN = 0, - /** - * Start a flush operation. This event clears all data - * from the pipeline and unblock all streaming threads. - */ - FLUSH_START = 2563, - /** - * Stop a flush operation. This event resets the - * running-time of the pipeline. - */ - FLUSH_STOP = 5127, - /** - * Event to mark the start of a new stream. Sent before any - * other serialized event and only sent at the start of a new stream, - * not after flushing seeks. - */ - STREAM_START = 10254, - /** - * #GstCaps event. Notify the pad of a new media type. - */ - CAPS = 12814, - /** - * A new media segment follows in the dataflow. The - * segment events contains information for clipping buffers and - * converting buffer timestamps to running-time and - * stream-time. - */ - SEGMENT = 17934, - /** - * A new #GstStreamCollection is available (Since: 1.10) - */ - STREAM_COLLECTION = 19230, - /** - * A new set of metadata tags has been found in the stream. - */ - TAG = 20510, - /** - * Notification of buffering requirements. Currently not - * used yet. - */ - BUFFERSIZE = 23054, - /** - * An event that sinks turn into a message. Used to - * send messages that should be emitted in sync with - * rendering. - */ - SINK_MESSAGE = 25630, - /** - * Indicates that there is no more data for - * the stream group ID in the message. Sent before EOS - * in some instances and should be handled mostly the same. (Since: 1.10) - */ - STREAM_GROUP_DONE = 26894, - /** - * End-Of-Stream. No more data is to be expected to follow - * without either a STREAM_START event, or a FLUSH_STOP and a SEGMENT - * event. - */ - EOS = 28174, - /** - * An event which indicates that a new table of contents (TOC) - * was found or updated. - */ - TOC = 30750, - /** - * An event which indicates that new or updated - * encryption information has been found in the stream. - */ - PROTECTION = 33310, - /** - * Marks the end of a segment playback. - */ - SEGMENT_DONE = 38406, - /** - * Marks a gap in the datastream. - */ - GAP = 40966, - /** - * Notify downstream that a playback rate override - * should be applied as soon as possible. (Since: 1.18) - */ - INSTANT_RATE_CHANGE = 46090, - /** - * A quality message. Used to indicate to upstream elements - * that the downstream elements should adjust their processing - * rate. - */ - QOS = 48641, - /** - * A request for a new playback position and rate. - */ - SEEK = 51201, - /** - * Navigation events are usually used for communicating - * user requests, such as mouse or keyboard movements, - * to upstream elements. - */ - NAVIGATION = 53761, - /** - * Notification of new latency adjustment. Sinks will use - * the latency information to adjust their synchronisation. - */ - LATENCY = 56321, - /** - * A request for stepping through the media. Sinks will usually - * execute the step operation. - */ - STEP = 58881, - /** - * A request for upstream renegotiating caps and reconfiguring. - */ - RECONFIGURE = 61441, - /** - * A request for a new playback position based on TOC - * entry's UID. - */ - TOC_SELECT = 64001, - /** - * A request to select one or more streams (Since: 1.10) - */ - SELECT_STREAMS = 66561, - /** - * Sent by the pipeline to notify elements that handle the - * instant-rate-change event about the running-time when - * the rate multiplier should be applied (or was applied). (Since: 1.18) - */ - INSTANT_RATE_SYNC_TIME = 66817, - /** - * Upstream custom event - */ - CUSTOM_UPSTREAM = 69121, - /** - * Downstream custom event that travels in the - * data flow. - */ - CUSTOM_DOWNSTREAM = 71686, - /** - * Custom out-of-band downstream event. - */ - CUSTOM_DOWNSTREAM_OOB = 74242, - /** - * Custom sticky downstream event. - */ - CUSTOM_DOWNSTREAM_STICKY = 76830, - /** - * Custom upstream or downstream event. - * In-band when travelling downstream. - */ - CUSTOM_BOTH = 79367, - /** - * Custom upstream or downstream out-of-band event. - */ - CUSTOM_BOTH_OOB = 81923, -} -alias GstEventType EventType; - -/** - * #GstEventTypeFlags indicate the aspects of the different #GstEventType - * values. You can get the type flags of a #GstEventType with the - * gst_event_type_get_flags() function. - */ -public enum GstEventTypeFlags -{ - /** - * Set if the event can travel upstream. - */ - UPSTREAM = 1, - /** - * Set if the event can travel downstream. - */ - DOWNSTREAM = 2, - /** - * Set if the event should be serialized with data - * flow. - */ - SERIALIZED = 4, - /** - * Set if the event is sticky on the pads. - */ - STICKY = 8, - /** - * Multiple sticky events can be on a pad, each - * identified by the event name. - */ - STICKY_MULTI = 16, -} -alias GstEventTypeFlags EventTypeFlags; - -/** - * The result of passing data to a pad. - * - * Note that the custom return values should not be exposed outside of the - * element scope. - */ -public enum GstFlowReturn -{ - /** - * Pre-defined custom success code. - */ - CUSTOM_SUCCESS_2 = 102, - /** - * Pre-defined custom success code (define your - * custom success code to this to avoid compiler - * warnings). - */ - CUSTOM_SUCCESS_1 = 101, - /** - * Elements can use values starting from - * this (and higher) to define custom success - * codes. - */ - CUSTOM_SUCCESS = 100, - /** - * Data passing was ok. - */ - OK = 0, - /** - * Pad is not linked. - */ - NOT_LINKED = -1, - /** - * Pad is flushing. - */ - FLUSHING = -2, - /** - * Pad is EOS. - */ - EOS = -3, - /** - * Pad is not negotiated. - */ - NOT_NEGOTIATED = -4, - /** - * Some (fatal) error occurred. Element generating - * this error should post an error message using - * GST_ELEMENT_ERROR() with more details. - */ - ERROR = -5, - /** - * This operation is not supported. - */ - NOT_SUPPORTED = -6, - /** - * Elements can use values starting from - * this (and lower) to define custom error codes. - */ - CUSTOM_ERROR = -100, - /** - * Pre-defined custom error code (define your - * custom error code to this to avoid compiler - * warnings). - */ - CUSTOM_ERROR_1 = -101, - /** - * Pre-defined custom error code. - */ - CUSTOM_ERROR_2 = -102, -} -alias GstFlowReturn FlowReturn; - -/** - * Standard predefined formats - */ -public enum GstFormat -{ - /** - * undefined format - */ - UNDEFINED = 0, - /** - * the default format of the pad/element. This can be - * samples for raw audio, frames/fields for raw video (some, but not all, - * elements support this; use @GST_FORMAT_TIME if you don't have a good - * reason to query for samples/frames) - */ - DEFAULT = 1, - /** - * bytes - */ - BYTES = 2, - /** - * time in nanoseconds - */ - TIME = 3, - /** - * buffers (few, if any, elements implement this as of - * May 2009) - */ - BUFFERS = 4, - /** - * percentage of stream (few, if any, elements implement - * this as of May 2009) - */ - PERCENT = 5, -} -alias GstFormat Format; - -/** - * The result of a #GstIteratorItemFunction. - */ -public enum GstIteratorItem -{ - /** - * Skip this item - */ - SKIP = 0, - /** - * Return item - */ - PASS = 1, - /** - * Stop after this item. - */ - END = 2, -} -alias GstIteratorItem IteratorItem; - -/** - * The result of gst_iterator_next(). - */ -public enum GstIteratorResult -{ - /** - * No more items in the iterator - */ - DONE = 0, - /** - * An item was retrieved - */ - OK = 1, - /** - * Datastructure changed while iterating - */ - RESYNC = 2, - /** - * An error happened - */ - ERROR = 3, -} -alias GstIteratorResult IteratorResult; - -/** - * Library errors are for errors from the library being used by elements - * (initializing, finalizing, settings, ...) - */ -public enum GstLibraryError -{ - /** - * a general error which doesn't fit in any other - * category. Make sure you add a custom message to the error call. - */ - FAILED = 1, - /** - * do not use this except as a placeholder for - * deciding where to go while developing code. - */ - TOO_LAZY = 2, - /** - * used when the library could not be opened. - */ - INIT = 3, - /** - * used when the library could not be closed. - */ - SHUTDOWN = 4, - /** - * used when the library doesn't accept settings. - */ - SETTINGS = 5, - /** - * used when the library generated an encoding error. - */ - ENCODE = 6, - /** - * the number of library error types. - */ - NUM_ERRORS = 7, -} -alias GstLibraryError LibraryError; - -/** - * Flags used when locking miniobjects - */ -public enum GstLockFlags -{ - /** - * lock for read access - */ - READ = 1, - /** - * lock for write access - */ - WRITE = 2, - /** - * lock for exclusive access - */ - EXCLUSIVE = 4, - /** - * first flag that can be used for custom purposes - */ - LAST = 256, -} -alias GstLockFlags LockFlags; - -/** - * Flags used when mapping memory - */ -public enum GstMapFlags -{ - /** - * map for read access - */ - READ = 1, - /** - * map for write access - */ - WRITE = 2, - /** - * first flag that can be used for custom purposes - */ - FLAG_LAST = 65536, -} -alias GstMapFlags MapFlags; - -/** - * Flags for wrapped memory. - */ -public enum GstMemoryFlags -{ - /** - * memory is readonly. It is not allowed to map the - * memory with #GST_MAP_WRITE. - */ - READONLY = 2, - /** - * memory must not be shared. Copies will have to be - * made when this memory needs to be shared between buffers. - */ - NO_SHARE = 16, - /** - * the memory prefix is filled with 0 bytes - */ - ZERO_PREFIXED = 32, - /** - * the memory padding is filled with 0 bytes - */ - ZERO_PADDED = 64, - /** - * the memory is physically contiguous. (Since: 1.2) - */ - PHYSICALLY_CONTIGUOUS = 128, - /** - * the memory can't be mapped via gst_memory_map() without any preconditions. (Since: 1.2) - */ - NOT_MAPPABLE = 256, - /** - * first flag that can be used for custom purposes - */ - LAST = 1048576, -} -alias GstMemoryFlags MemoryFlags; - -/** - * The different message types that are available. - */ -public enum GstMessageType : uint -{ - /** - * an undefined message - */ - UNKNOWN = 0, - /** - * end-of-stream reached in a pipeline. The application will - * only receive this message in the PLAYING state and every time it sets a - * pipeline to PLAYING that is in the EOS state. The application can perform a - * flushing seek in the pipeline, which will undo the EOS state again. - */ - EOS = 1, - /** - * an error occurred. When the application receives an error - * message it should stop playback of the pipeline and not assume that more - * data will be played. It is possible to specify a redirection url to the error - * messages by setting a `redirect-location` field into the error message, application - * or high level bins might use the information as required. - */ - ERROR = 2, - /** - * a warning occurred. - */ - WARNING = 4, - /** - * an info message occurred - */ - INFO = 8, - /** - * a tag was found. - */ - TAG = 16, - /** - * the pipeline is buffering. When the application - * receives a buffering message in the PLAYING state for a non-live pipeline it - * must PAUSE the pipeline until the buffering completes, when the percentage - * field in the message is 100%. For live pipelines, no action must be - * performed and the buffering percentage can be used to inform the user about - * the progress. - */ - BUFFERING = 32, - /** - * a state change happened - */ - STATE_CHANGED = 64, - /** - * an element changed state in a streaming thread. - * This message is deprecated. - */ - STATE_DIRTY = 128, - /** - * a stepping operation finished. - */ - STEP_DONE = 256, - /** - * an element notifies its capability of providing - * a clock. This message is used internally and - * never forwarded to the application. - */ - CLOCK_PROVIDE = 512, - /** - * The current clock as selected by the pipeline became - * unusable. The pipeline will select a new clock on - * the next PLAYING state change. The application - * should set the pipeline to PAUSED and back to - * PLAYING when this message is received. - */ - CLOCK_LOST = 1024, - /** - * a new clock was selected in the pipeline. - */ - NEW_CLOCK = 2048, - /** - * the structure of the pipeline changed. This - * message is used internally and never forwarded to the application. - */ - STRUCTURE_CHANGE = 4096, - /** - * status about a stream, emitted when it starts, - * stops, errors, etc.. - */ - STREAM_STATUS = 8192, - /** - * message posted by the application, possibly - * via an application-specific element. - */ - APPLICATION = 16384, - /** - * element-specific message, see the specific element's - * documentation - */ - ELEMENT = 32768, - /** - * pipeline started playback of a segment. This - * message is used internally and never forwarded to the application. - */ - SEGMENT_START = 65536, - /** - * pipeline completed playback of a segment. This - * message is forwarded to the application after all elements that posted - * @GST_MESSAGE_SEGMENT_START posted a GST_MESSAGE_SEGMENT_DONE message. - */ - SEGMENT_DONE = 131072, - /** - * The duration of a pipeline changed. The - * application can get the new duration with a duration query. - */ - DURATION_CHANGED = 262144, - /** - * Posted by elements when their latency changes. The - * application should recalculate and distribute a new latency. - */ - LATENCY = 524288, - /** - * Posted by elements when they start an ASYNC - * #GstStateChange. This message is not forwarded to the application but is used - * internally. - */ - ASYNC_START = 1048576, - /** - * Posted by elements when they complete an ASYNC - * #GstStateChange. The application will only receive this message from the toplevel - * pipeline. - */ - ASYNC_DONE = 2097152, - /** - * Posted by elements when they want the pipeline to - * change state. This message is a suggestion to the application which can - * decide to perform the state change on (part of) the pipeline. - */ - REQUEST_STATE = 4194304, - /** - * A stepping operation was started. - */ - STEP_START = 8388608, - /** - * A buffer was dropped or an element changed its processing - * strategy for Quality of Service reasons. - */ - QOS = 16777216, - /** - * A progress message. - */ - PROGRESS = 33554432, - /** - * A new table of contents (TOC) was found or previously found TOC - * was updated. - */ - TOC = 67108864, - /** - * Message to request resetting the pipeline's - * running time from the pipeline. This is an internal message which - * applications will likely never receive. - */ - RESET_TIME = 134217728, - /** - * Message indicating start of a new stream. Useful - * e.g. when using playbin in gapless playback mode, to get notified when - * the next title actually starts playing (which will be some time after - * the URI for the next title has been set). - */ - STREAM_START = 268435456, - /** - * Message indicating that an element wants a specific context (Since: 1.2) - */ - NEED_CONTEXT = 536870912, - /** - * Message indicating that an element created a context (Since: 1.2) - */ - HAVE_CONTEXT = 1073741824, - /** - * Message is an extended message type (see below). - * These extended message IDs can't be used directly with mask-based API - * like gst_bus_poll() or gst_bus_timed_pop_filtered(), but you can still - * filter for GST_MESSAGE_EXTENDED and then check the result for the - * specific type. (Since: 1.4) - */ - EXTENDED = 2147483648, - /** - * Message indicating a #GstDevice was added to - * a #GstDeviceProvider (Since: 1.4) - */ - DEVICE_ADDED = 2147483649, - /** - * Message indicating a #GstDevice was removed - * from a #GstDeviceProvider (Since: 1.4) - */ - DEVICE_REMOVED = 2147483650, - /** - * Message indicating a #GObject property has - * changed (Since: 1.10) - */ - PROPERTY_NOTIFY = 2147483651, - /** - * Message indicating a new #GstStreamCollection - * is available (Since: 1.10) - */ - STREAM_COLLECTION = 2147483652, - /** - * Message indicating the active selection of - * #GstStreams has changed (Since: 1.10) - */ - STREAMS_SELECTED = 2147483653, - /** - * Message indicating to request the application to - * try to play the given URL(s). Useful if for example a HTTP 302/303 - * response is received with a non-HTTP URL inside. (Since: 1.10) - */ - REDIRECT = 2147483654, - /** - * Message indicating a #GstDevice was changed - * a #GstDeviceProvider (Since: 1.16) - */ - DEVICE_CHANGED = 2147483655, - /** - * Message sent by elements to request the - * running time from the pipeline when an instant rate change should - * be applied (which may be in the past when the answer arrives). (Since: 1.18) - */ - INSTANT_RATE_REQUEST = 2147483656, - /** - * mask for all of the above messages. - */ - ANY = 4294967295, -} -alias GstMessageType MessageType; - -/** - * Extra metadata flags. - */ -public enum GstMetaFlags -{ - /** - * no flags - */ - NONE = 0, - /** - * metadata should not be modified - */ - READONLY = 1, - /** - * metadata is managed by a bufferpool - */ - POOLED = 2, - /** - * metadata should not be removed - */ - LOCKED = 4, - /** - * additional flags can be added starting from this flag. - */ - LAST = 65536, -} -alias GstMetaFlags MetaFlags; - -/** - * Flags for the mini object - */ -public enum GstMiniObjectFlags -{ - /** - * the object can be locked and unlocked with - * gst_mini_object_lock() and gst_mini_object_unlock(). - */ - LOCKABLE = 1, - /** - * the object is permanently locked in - * READONLY mode. Only read locks can be performed on the object. - */ - LOCK_READONLY = 2, - /** - * the object is expected to stay alive - * even after gst_deinit() has been called and so should be ignored by leak - * detection tools. (Since: 1.10) - */ - MAY_BE_LEAKED = 4, - /** - * first flag that can be used by subclasses. - */ - LAST = 16, -} -alias GstMiniObjectFlags MiniObjectFlags; - -/** - * The standard flags that an gstobject may have. - */ -public enum GstObjectFlags -{ - /** - * the object is expected to stay alive even - * after gst_deinit() has been called and so should be ignored by leak - * detection tools. (Since: 1.10) - */ - MAY_BE_LEAKED = 1, - /** - * subclasses can add additional flags starting from this flag - */ - LAST = 16, -} -alias GstObjectFlags ObjectFlags; - -/** - * The direction of a pad. - */ -public enum GstPadDirection -{ - /** - * direction is unknown. - */ - UNKNOWN = 0, - /** - * the pad is a source pad. - */ - SRC = 1, - /** - * the pad is a sink pad. - */ - SINK = 2, -} -alias GstPadDirection PadDirection; - -/** - * Pad state flags - */ -public enum GstPadFlags -{ - /** - * is dataflow on a pad blocked - */ - BLOCKED = 16, - /** - * is pad flushing - */ - FLUSHING = 32, - /** - * is pad in EOS state - */ - EOS = 64, - /** - * is pad currently blocking on a buffer or event - */ - BLOCKING = 128, - /** - * ensure that there is a parent object before calling - * into the pad callbacks. - */ - NEED_PARENT = 256, - /** - * the pad should be reconfigured/renegotiated. - * The flag has to be unset manually after - * reconfiguration happened. - */ - NEED_RECONFIGURE = 512, - /** - * the pad has pending events - */ - PENDING_EVENTS = 1024, - /** - * the pad is using fixed caps. This means that - * once the caps are set on the pad, the default caps query function - * will only return those caps. - */ - FIXED_CAPS = 2048, - /** - * the default event and query handler will forward - * all events and queries to the internally linked pads - * instead of discarding them. - */ - PROXY_CAPS = 4096, - /** - * the default query handler will forward - * allocation queries to the internally linked pads - * instead of discarding them. - */ - PROXY_ALLOCATION = 8192, - /** - * the default query handler will forward - * scheduling queries to the internally linked pads - * instead of discarding them. - */ - PROXY_SCHEDULING = 16384, - /** - * the default accept-caps handler will check - * it the caps intersect the query-caps result instead - * of checking for a subset. This is interesting for - * parsers that can accept incompletely specified caps. - */ - ACCEPT_INTERSECT = 32768, - /** - * the default accept-caps handler will use - * the template pad caps instead of query caps to - * compare with the accept caps. Use this in combination - * with %GST_PAD_FLAG_ACCEPT_INTERSECT. (Since: 1.6) - */ - ACCEPT_TEMPLATE = 65536, - /** - * offset to define more flags - */ - LAST = 1048576, -} -alias GstPadFlags PadFlags; - -/** - * The amount of checking to be done when linking pads. @GST_PAD_LINK_CHECK_CAPS - * and @GST_PAD_LINK_CHECK_TEMPLATE_CAPS are mutually exclusive. If both are - * specified, expensive but safe @GST_PAD_LINK_CHECK_CAPS are performed. - * - * > Only disable some of the checks if you are 100% certain you know the link - * > will not fail because of hierarchy/caps compatibility failures. If uncertain, - * > use the default checks (%GST_PAD_LINK_CHECK_DEFAULT) or the regular methods - * > for linking the pads. - */ -public enum GstPadLinkCheck -{ - /** - * Don't check hierarchy or caps compatibility. - */ - NOTHING = 0, - /** - * Check the pads have same parents/grandparents. - * Could be omitted if it is already known that the two elements that own the - * pads are in the same bin. - */ - HIERARCHY = 1, - /** - * Check if the pads are compatible by using - * their template caps. This is much faster than @GST_PAD_LINK_CHECK_CAPS, but - * would be unsafe e.g. if one pad has %GST_CAPS_ANY. - */ - TEMPLATE_CAPS = 2, - /** - * Check if the pads are compatible by comparing the - * caps returned by gst_pad_query_caps(). - */ - CAPS = 4, - /** - * Disables pushing a reconfigure event when pads are - * linked. - */ - NO_RECONFIGURE = 8, - /** - * The default checks done when linking - * pads (i.e. the ones used by gst_pad_link()). - */ - DEFAULT = 5, -} -alias GstPadLinkCheck PadLinkCheck; - -/** - * Result values from gst_pad_link and friends. - */ -public enum GstPadLinkReturn -{ - /** - * link succeeded - */ - OK = 0, - /** - * pads have no common grandparent - */ - WRONG_HIERARCHY = -1, - /** - * pad was already linked - */ - WAS_LINKED = -2, - /** - * pads have wrong direction - */ - WRONG_DIRECTION = -3, - /** - * pads do not have common format - */ - NOFORMAT = -4, - /** - * pads cannot cooperate in scheduling - */ - NOSCHED = -5, - /** - * refused for some reason - */ - REFUSED = -6, -} -alias GstPadLinkReturn PadLinkReturn; - -/** - * The status of a GstPad. After activating a pad, which usually happens when the - * parent element goes from READY to PAUSED, the GstPadMode defines if the - * pad operates in push or pull mode. - */ -public enum GstPadMode -{ - /** - * Pad will not handle dataflow - */ - NONE = 0, - /** - * Pad handles dataflow in downstream push mode - */ - PUSH = 1, - /** - * Pad handles dataflow in upstream pull mode - */ - PULL = 2, -} -alias GstPadMode PadMode; - -/** - * Indicates when this pad will become available. - */ -public enum GstPadPresence -{ - /** - * the pad is always available - */ - ALWAYS = 0, - /** - * the pad will become available depending on the media stream - */ - SOMETIMES = 1, - /** - * the pad is only available on request with - * gst_element_request_pad(). - */ - REQUEST = 2, -} -alias GstPadPresence PadPresence; - -/** - * Different return values for the #GstPadProbeCallback. - */ -public enum GstPadProbeReturn -{ - /** - * drop data in data probes. For push mode this means that - * the data item is not sent downstream. For pull mode, it means that - * the data item is not passed upstream. In both cases, no other probes - * are called for this item and %GST_FLOW_OK or %TRUE is returned to the - * caller. - */ - DROP = 0, - /** - * normal probe return value. This leaves the probe in - * place, and defers decisions about dropping or passing data to other - * probes, if any. If there are no other probes, the default behaviour - * for the probe type applies ('block' for blocking probes, - * and 'pass' for non-blocking probes). - */ - OK = 1, - /** - * remove this probe. - */ - REMOVE = 2, - /** - * pass the data item in the block probe and block on the - * next item. - */ - PASS = 3, - /** - * Data has been handled in the probe and will not be - * forwarded further. For events and buffers this is the same behaviour as - * %GST_PAD_PROBE_DROP (except that in this case you need to unref the buffer - * or event yourself). For queries it will also return %TRUE to the caller. - * The probe can also modify the #GstFlowReturn value by using the - * #GST_PAD_PROBE_INFO_FLOW_RETURN() accessor. - * Note that the resulting query must contain valid entries. - * Since: 1.6 - */ - HANDLED = 4, -} -alias GstPadProbeReturn PadProbeReturn; - -/** - * The different probing types that can occur. When either one of - * @GST_PAD_PROBE_TYPE_IDLE or @GST_PAD_PROBE_TYPE_BLOCK is used, the probe will be a - * blocking probe. - */ -public enum GstPadProbeType -{ - /** - * invalid probe type - */ - INVALID = 0, - /** - * probe idle pads and block while the callback is called - */ - IDLE = 1, - /** - * probe and block pads - */ - BLOCK = 2, - /** - * probe buffers - */ - BUFFER = 16, - /** - * probe buffer lists - */ - BUFFER_LIST = 32, - /** - * probe downstream events - */ - EVENT_DOWNSTREAM = 64, - /** - * probe upstream events - */ - EVENT_UPSTREAM = 128, - /** - * probe flush events. This probe has to be - * explicitly enabled and is not included in the - * @@GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM or - * @@GST_PAD_PROBE_TYPE_EVENT_UPSTREAM probe types. - */ - EVENT_FLUSH = 256, - /** - * probe downstream queries - */ - QUERY_DOWNSTREAM = 512, - /** - * probe upstream queries - */ - QUERY_UPSTREAM = 1024, - /** - * probe push - */ - PUSH = 4096, - /** - * probe pull - */ - PULL = 8192, - /** - * probe and block at the next opportunity, at data flow or when idle - */ - BLOCKING = 3, - /** - * probe downstream data (buffers, buffer lists, and events) - */ - DATA_DOWNSTREAM = 112, - /** - * probe upstream data (events) - */ - DATA_UPSTREAM = 128, - /** - * probe upstream and downstream data (buffers, buffer lists, and events) - */ - DATA_BOTH = 240, - /** - * probe and block downstream data (buffers, buffer lists, and events) - */ - BLOCK_DOWNSTREAM = 114, - /** - * probe and block upstream data (events) - */ - BLOCK_UPSTREAM = 130, - /** - * probe upstream and downstream events - */ - EVENT_BOTH = 192, - /** - * probe upstream and downstream queries - */ - QUERY_BOTH = 1536, - /** - * probe upstream events and queries and downstream buffers, buffer lists, events and queries - */ - ALL_BOTH = 1776, - /** - * probe push and pull - */ - SCHEDULING = 12288, -} -alias GstPadProbeType PadProbeType; - -/** - * Flags for the padtemplate - */ -public enum GstPadTemplateFlags -{ - /** - * first flag that can be used by subclasses. - */ - LAST = 256, -} -alias GstPadTemplateFlags PadTemplateFlags; - -/** - * The different parsing errors that can occur. - */ -public enum GstParseError -{ - /** - * A syntax error occurred. - */ - SYNTAX = 0, - /** - * The description contained an unknown element - */ - NO_SUCH_ELEMENT = 1, - /** - * An element did not have a specified property - */ - NO_SUCH_PROPERTY = 2, - /** - * There was an error linking two pads. - */ - LINK = 3, - /** - * There was an error setting a property - */ - COULD_NOT_SET_PROPERTY = 4, - /** - * An empty bin was specified. - */ - EMPTY_BIN = 5, - /** - * An empty description was specified - */ - EMPTY = 6, - /** - * A delayed link did not get resolved. - */ - DELAYED_LINK = 7, -} -alias GstParseError ParseError; - -/** - * Parsing options. - */ -public enum GstParseFlags -{ - /** - * Do not use any special parsing options. - */ - NONE = 0, - /** - * Always return %NULL when an error occurs - * (default behaviour is to return partially constructed bins or elements - * in some cases) - */ - FATAL_ERRORS = 1, - /** - * If a bin only has a single element, - * just return the element. - */ - NO_SINGLE_ELEMENT_BINS = 2, - /** - * If more than one toplevel element is described - * by the pipeline description string, put them in a #GstBin instead of a - * #GstPipeline. (Since: 1.10) - */ - PLACE_IN_BIN = 4, -} -alias GstParseFlags ParseFlags; - -/** - * Pipeline flags - */ -public enum GstPipelineFlags -{ - /** - * this pipeline works with a fixed clock - */ - FIXED_CLOCK = 524288, - /** - * offset to define more flags - */ - LAST = 8388608, -} -alias GstPipelineFlags PipelineFlags; - -public enum GstPluginAPIFlags -{ - /** - * Ignore enum members when generating - * the plugins cache. This is useful if the members of the enum are generated - * dynamically, in order not to expose incorrect documentation to the end user. - */ - MEMBERS = 1, -} -alias GstPluginAPIFlags PluginAPIFlags; - -/** - * Flags used in connection with gst_plugin_add_dependency(). - */ -public enum GstPluginDependencyFlags -{ - /** - * no special flags - */ - NONE = 0, - /** - * recurse into subdirectories - */ - RECURSE = 1, - /** - * use paths - * argument only if none of the environment variables is set - */ - PATHS_ARE_DEFAULT_ONLY = 2, - /** - * interpret - * filename argument as filter suffix and check all matching files in - * the directory - */ - FILE_NAME_IS_SUFFIX = 4, - /** - * interpret - * filename argument as filter prefix and check all matching files in - * the directory. Since: 1.8. - */ - FILE_NAME_IS_PREFIX = 8, - /** - * interpret - * non-absolute paths as relative to the main executable directory. Since - * 1.14. - */ - PATHS_ARE_RELATIVE_TO_EXE = 16, -} -alias GstPluginDependencyFlags PluginDependencyFlags; - -/** - * The plugin loading errors - */ -public enum GstPluginError -{ - /** - * The plugin could not be loaded - */ - MODULE = 0, - /** - * The plugin has unresolved dependencies - */ - DEPENDENCIES = 1, - /** - * The plugin has already be loaded from a different file - */ - NAME_MISMATCH = 2, -} -alias GstPluginError PluginError; - -/** - * The plugin loading state - */ -public enum GstPluginFlags -{ - /** - * Temporarily loaded plugins - */ - CACHED = 16, - /** - * The plugin won't be scanned (again) - */ - BLACKLISTED = 32, -} -alias GstPluginFlags PluginFlags; - -/** - * The type of a %GST_MESSAGE_PROGRESS. The progress messages inform the - * application of the status of asynchronous tasks. - */ -public enum GstProgressType -{ - /** - * A new task started. - */ - START = 0, - /** - * A task completed and a new one continues. - */ - CONTINUE = 1, - /** - * A task completed. - */ - COMPLETE = 2, - /** - * A task was canceled. - */ - CANCELED = 3, - /** - * A task caused an error. An error message is also - * posted on the bus. - */ - ERROR = 4, -} -alias GstProgressType ProgressType; - -/** - * The result of a #GstPromise - * - * Since: 1.14 - */ -public enum GstPromiseResult -{ - /** - * Initial state. Waiting for transition to any - * other state. - */ - PENDING = 0, - /** - * Interrupted by the consumer as it doesn't - * want the value anymore. - */ - INTERRUPTED = 1, - /** - * A producer marked a reply - */ - REPLIED = 2, - /** - * The promise expired (the carrying object - * lost all refs) and the promise will never be fulfilled. - */ - EXPIRED = 3, -} -alias GstPromiseResult PromiseResult; - -/** - * The different types of QoS events that can be given to the - * gst_event_new_qos() method. - */ -public enum GstQOSType -{ - /** - * The QoS event type that is produced when upstream - * elements are producing data too quickly and the element can't keep up - * processing the data. Upstream should reduce their production rate. This - * type is also used when buffers arrive early or in time. - */ - OVERFLOW = 0, - /** - * The QoS event type that is produced when upstream - * elements are producing data too slowly and need to speed up their - * production rate. - */ - UNDERFLOW = 1, - /** - * The QoS event type that is produced when the - * application enabled throttling to limit the data rate. - */ - THROTTLE = 2, -} -alias GstQOSType QOSType; - -/** - * Standard predefined Query types - */ -public enum GstQueryType -{ - /** - * unknown query type - */ - UNKNOWN = 0, - /** - * current position in stream - */ - POSITION = 2563, - /** - * total duration of the stream - */ - DURATION = 5123, - /** - * latency of stream - */ - LATENCY = 7683, - /** - * current jitter of stream - */ - JITTER = 10243, - /** - * current rate of the stream - */ - RATE = 12803, - /** - * seeking capabilities - */ - SEEKING = 15363, - /** - * segment start/stop positions - */ - SEGMENT = 17923, - /** - * convert values between formats - */ - CONVERT = 20483, - /** - * query supported formats for convert - */ - FORMATS = 23043, - /** - * query available media for efficient seeking. - */ - BUFFERING = 28163, - /** - * a custom application or element defined query. - */ - CUSTOM = 30723, - /** - * query the URI of the source or sink. - */ - URI = 33283, - /** - * the buffer allocation properties - */ - ALLOCATION = 35846, - /** - * the scheduling properties - */ - SCHEDULING = 38401, - /** - * the accept caps query - */ - ACCEPT_CAPS = 40963, - /** - * the caps query - */ - CAPS = 43523, - /** - * wait till all serialized data is consumed downstream - */ - DRAIN = 46086, - /** - * query the pipeline-local context from - * downstream or upstream (since 1.2) - */ - CONTEXT = 48643, - /** - * the bitrate query (since 1.16) - */ - BITRATE = 51202, -} -alias GstQueryType QueryType; - -/** - * #GstQueryTypeFlags indicate the aspects of the different #GstQueryType - * values. You can get the type flags of a #GstQueryType with the - * gst_query_type_get_flags() function. - */ -public enum GstQueryTypeFlags -{ - /** - * Set if the query can travel upstream. - */ - UPSTREAM = 1, - /** - * Set if the query can travel downstream. - */ - DOWNSTREAM = 2, - /** - * Set if the query should be serialized with data - * flow. - */ - SERIALIZED = 4, -} -alias GstQueryTypeFlags QueryTypeFlags; - -/** - * Element priority ranks. Defines the order in which the autoplugger (or - * similar rank-picking mechanisms, such as e.g. gst_element_make_from_uri()) - * will choose this element over an alternative one with the same function. - * - * These constants serve as a rough guidance for defining the rank of a - * #GstPluginFeature. Any value is valid, including values bigger than - * @GST_RANK_PRIMARY. - */ -public enum GstRank -{ - /** - * will be chosen last or not at all - */ - NONE = 0, - /** - * unlikely to be chosen - */ - MARGINAL = 64, - /** - * likely to be chosen - */ - SECONDARY = 128, - /** - * will be chosen first - */ - PRIMARY = 256, -} -alias GstRank Rank; - -/** - * Resource errors are for any resource used by an element: - * memory, files, network connections, process space, ... - * They're typically used by source and sink elements. - */ -public enum GstResourceError -{ - /** - * a general error which doesn't fit in any other - * category. Make sure you add a custom message to the error call. - */ - FAILED = 1, - /** - * do not use this except as a placeholder for - * deciding where to go while developing code. - */ - TOO_LAZY = 2, - /** - * used when the resource could not be found. - */ - NOT_FOUND = 3, - /** - * used when resource is busy. - */ - BUSY = 4, - /** - * used when resource fails to open for reading. - */ - OPEN_READ = 5, - /** - * used when resource fails to open for writing. - */ - OPEN_WRITE = 6, - /** - * used when resource cannot be opened for - * both reading and writing, or either (but unspecified which). - */ - OPEN_READ_WRITE = 7, - /** - * used when the resource can't be closed. - */ - CLOSE = 8, - /** - * used when the resource can't be read from. - */ - READ = 9, - /** - * used when the resource can't be written to. - */ - WRITE = 10, - /** - * used when a seek on the resource fails. - */ - SEEK = 11, - /** - * used when a synchronize on the resource fails. - */ - SYNC = 12, - /** - * used when settings can't be manipulated on. - */ - SETTINGS = 13, - /** - * used when the resource has no space left. - */ - NO_SPACE_LEFT = 14, - /** - * used when the resource can't be opened - * due to missing authorization. - * (Since: 1.2.4) - */ - NOT_AUTHORIZED = 15, - /** - * the number of resource error types. - */ - NUM_ERRORS = 16, -} -alias GstResourceError ResourceError; - -/** - * The different scheduling flags. - */ -public enum GstSchedulingFlags -{ - /** - * if seeking is possible - */ - SEEKABLE = 1, - /** - * if sequential access is recommended - */ - SEQUENTIAL = 2, - /** - * if bandwidth is limited and buffering possible (since 1.2) - */ - BANDWIDTH_LIMITED = 4, -} -alias GstSchedulingFlags SchedulingFlags; - -/** - * The different search modes. - */ -public enum GstSearchMode -{ - /** - * Only search for exact matches. - */ - EXACT = 0, - /** - * Search for an exact match or the element just before. - */ - BEFORE = 1, - /** - * Search for an exact match or the element just after. - */ - AFTER = 2, -} -alias GstSearchMode SearchMode; - -/** - * Flags to be used with gst_element_seek() or gst_event_new_seek(). All flags - * can be used together. - * - * A non flushing seek might take some time to perform as the currently - * playing data in the pipeline will not be cleared. - * - * An accurate seek might be slower for formats that don't have any indexes - * or timestamp markers in the stream. Specifying this flag might require a - * complete scan of the file in those cases. - * - * When performing a segment seek: after the playback of the segment completes, - * no EOS will be emitted by the element that performed the seek, but a - * %GST_MESSAGE_SEGMENT_DONE message will be posted on the bus by the element. - * When this message is posted, it is possible to send a new seek event to - * continue playback. With this seek method it is possible to perform seamless - * looping or simple linear editing. - * - * When only changing the playback rate and not the direction, the - * %GST_SEEK_FLAG_INSTANT_RATE_CHANGE flag can be used for a non-flushing seek - * to signal that the rate change should be applied immediately. This requires - * special support in the seek handlers (e.g. demuxers) and any elements - * synchronizing to the clock, and in general can't work in all cases (for example - * UDP streaming where the delivery rate is controlled by a remote server). The - * instant-rate-change mode supports changing the trickmode-related GST_SEEK_ flags, - * but can't be used in conjunction with other seek flags that affect the new - * playback position - as the playback position will not be changing. - * - * When doing fast forward (rate > 1.0) or fast reverse (rate < -1.0) trickmode - * playback, the %GST_SEEK_FLAG_TRICKMODE flag can be used to instruct decoders - * and demuxers to adjust the playback rate by skipping frames. This can improve - * performance and decrease CPU usage because not all frames need to be decoded. - * - * Beyond that, the %GST_SEEK_FLAG_TRICKMODE_KEY_UNITS flag can be used to - * request that decoders skip all frames except key units, and - * %GST_SEEK_FLAG_TRICKMODE_NO_AUDIO flags can be used to request that audio - * decoders do no decoding at all, and simple output silence. - * - * The %GST_SEEK_FLAG_SNAP_BEFORE flag can be used to snap to the previous - * relevant location, and the %GST_SEEK_FLAG_SNAP_AFTER flag can be used to - * select the next relevant location. If %GST_SEEK_FLAG_KEY_UNIT is specified, - * the relevant location is a keyframe. If both flags are specified, the nearest - * of these locations will be selected. If none are specified, the implementation is - * free to select whichever it wants. - * - * The before and after here are in running time, so when playing backwards, - * the next location refers to the one that will played in next, and not the - * one that is located after in the actual source stream. - * - * Also see part-seeking.txt in the GStreamer design documentation for more - * details on the meaning of these flags and the behaviour expected of - * elements that handle them. - */ -public enum GstSeekFlags -{ - /** - * no flag - */ - NONE = 0, - /** - * flush pipeline - */ - FLUSH = 1, - /** - * accurate position is requested, this might - * be considerably slower for some formats. - */ - ACCURATE = 2, - /** - * seek to the nearest keyframe. This might be - * faster but less accurate. - */ - KEY_UNIT = 4, - /** - * perform a segment seek. - */ - SEGMENT = 8, - /** - * when doing fast forward or fast reverse playback, allow - * elements to skip frames instead of generating all - * frames. (Since: 1.6) - */ - TRICKMODE = 16, - /** - * Deprecated backward compatibility flag, replaced - * by %GST_SEEK_FLAG_TRICKMODE - */ - SKIP = 16, - /** - * go to a location before the requested position, - * if %GST_SEEK_FLAG_KEY_UNIT this means the keyframe at or before - * the requested position the one at or before the seek target. - */ - SNAP_BEFORE = 32, - /** - * go to a location after the requested position, - * if %GST_SEEK_FLAG_KEY_UNIT this means the keyframe at of after the - * requested position. - */ - SNAP_AFTER = 64, - /** - * go to a position near the requested position, - * if %GST_SEEK_FLAG_KEY_UNIT this means the keyframe closest - * to the requested position, if both keyframes are at an equal - * distance, behaves like %GST_SEEK_FLAG_SNAP_BEFORE. - */ - SNAP_NEAREST = 96, - /** - * when doing fast forward or fast reverse - * playback, request that elements only decode keyframes - * and skip all other content, for formats that have - * keyframes. (Since: 1.6) - */ - TRICKMODE_KEY_UNITS = 128, - /** - * when doing fast forward or fast reverse - * playback, request that audio decoder elements skip - * decoding and output only gap events or silence. (Since: 1.6) - */ - TRICKMODE_NO_AUDIO = 256, - /** - * When doing fast forward or fast reverse - * playback, request that elements only decode keyframes and - * forward predicted frames and skip all other content (for example - * B-Frames), for formats that have keyframes and forward predicted - * frames. (Since: 1.18) - */ - TRICKMODE_FORWARD_PREDICTED = 512, - /** - * Signals that a rate change should be - * applied immediately. Only valid if start/stop position - * are GST_CLOCK_TIME_NONE, the playback direction does not change - * and the seek is not flushing. (Since: 1.18) - */ - INSTANT_RATE_CHANGE = 1024, -} -alias GstSeekFlags SeekFlags; - -/** - * The different types of seek events. When constructing a seek event with - * gst_event_new_seek() or when doing gst_segment_do_seek (). - */ -public enum GstSeekType -{ - /** - * no change in position is required - */ - NONE = 0, - /** - * absolute position is requested - */ - SET = 1, - /** - * relative position to duration is requested - */ - END = 2, -} -alias GstSeekType SeekType; - -/** - * Flags for the GstSegment structure. Currently mapped to the corresponding - * values of the seek flags. - */ -public enum GstSegmentFlags -{ - /** - * no flags - */ - NONE = 0, - /** - * reset the pipeline running_time to the segment - * running_time - */ - RESET = 1, - /** - * perform skip playback (Since: 1.6) - */ - TRICKMODE = 16, - /** - * Deprecated backward compatibility flag, replaced - * by @GST_SEGMENT_FLAG_TRICKMODE - */ - SKIP = 16, - /** - * send SEGMENT_DONE instead of EOS - */ - SEGMENT = 8, - /** - * Decode only keyframes, where - * possible (Since: 1.6) - */ - TRICKMODE_KEY_UNITS = 128, - /** - * Decode only keyframes or forward - * predicted frames, where possible (Since: 1.18) - */ - TRICKMODE_FORWARD_PREDICTED = 512, - /** - * Do not decode any audio, where - * possible (Since: 1.6) - */ - TRICKMODE_NO_AUDIO = 256, -} -alias GstSegmentFlags SegmentFlags; - -public enum GstStackTraceFlags -{ - /** - * Try to retrieve the minimum information - * available, which may be none on some platforms - * (Since: 1.18) - */ - NONE = 0, - /** - * Try to retrieve as much information as possible, - * including source information when getting the - * stack trace - */ - FULL = 1, -} -alias GstStackTraceFlags StackTraceFlags; - -/** - * The possible states an element can be in. States can be changed using - * gst_element_set_state() and checked using gst_element_get_state(). - */ -public enum GstState -{ - /** - * no pending state. - */ - VOID_PENDING = 0, - /** - * the NULL state or initial state of an element. - */ - NULL = 1, - /** - * the element is ready to go to PAUSED. - */ - READY = 2, - /** - * the element is PAUSED, it is ready to accept and - * process data. Sink elements however only accept one - * buffer and then block. - */ - PAUSED = 3, - /** - * the element is PLAYING, the #GstClock is running and - * the data is flowing. - */ - PLAYING = 4, -} -alias GstState State; - -/** - * These are the different state changes an element goes through. - * %GST_STATE_NULL ⇒ %GST_STATE_PLAYING is called an upwards state change - * and %GST_STATE_PLAYING ⇒ %GST_STATE_NULL a downwards state change. - */ -public enum GstStateChange -{ - /** - * state change from NULL to READY. - * * The element must check if the resources it needs are available. Device - * sinks and -sources typically try to probe the device to constrain their - * caps. - * * The element opens the device (in case feature need to be probed). - */ - NULL_TO_READY = 10, - /** - * state change from READY to PAUSED. - * * The element pads are activated in order to receive data in PAUSED. - * Streaming threads are started. - * * Some elements might need to return %GST_STATE_CHANGE_ASYNC and complete - * the state change when they have enough information. It is a requirement - * for sinks to return %GST_STATE_CHANGE_ASYNC and complete the state change - * when they receive the first buffer or %GST_EVENT_EOS (preroll). - * Sinks also block the dataflow when in PAUSED. - * * A pipeline resets the running_time to 0. - * * Live sources return %GST_STATE_CHANGE_NO_PREROLL and don't generate data. - */ - READY_TO_PAUSED = 19, - /** - * state change from PAUSED to PLAYING. - * * Most elements ignore this state change. - * * The pipeline selects a #GstClock and distributes this to all the children - * before setting them to PLAYING. This means that it is only allowed to - * synchronize on the #GstClock in the PLAYING state. - * * The pipeline uses the #GstClock and the running_time to calculate the - * base_time. The base_time is distributed to all children when performing - * the state change. - * * Sink elements stop blocking on the preroll buffer or event and start - * rendering the data. - * * Sinks can post %GST_MESSAGE_EOS in the PLAYING state. It is not allowed - * to post %GST_MESSAGE_EOS when not in the PLAYING state. - * * While streaming in PAUSED or PLAYING elements can create and remove - * sometimes pads. - * * Live sources start generating data and return %GST_STATE_CHANGE_SUCCESS. - */ - PAUSED_TO_PLAYING = 28, - /** - * state change from PLAYING to PAUSED. - * * Most elements ignore this state change. - * * The pipeline calculates the running_time based on the last selected - * #GstClock and the base_time. It stores this information to continue - * playback when going back to the PLAYING state. - * * Sinks unblock any #GstClock wait calls. - * * When a sink does not have a pending buffer to play, it returns - * #GST_STATE_CHANGE_ASYNC from this state change and completes the state - * change when it receives a new buffer or an %GST_EVENT_EOS. - * * Any queued %GST_MESSAGE_EOS items are removed since they will be reposted - * when going back to the PLAYING state. The EOS messages are queued in - * #GstBin containers. - * * Live sources stop generating data and return %GST_STATE_CHANGE_NO_PREROLL. - */ - PLAYING_TO_PAUSED = 35, - /** - * state change from PAUSED to READY. - * * Sinks unblock any waits in the preroll. - * * Elements unblock any waits on devices - * * Chain or get_range functions return %GST_FLOW_FLUSHING. - * * The element pads are deactivated so that streaming becomes impossible and - * all streaming threads are stopped. - * * The sink forgets all negotiated formats - * * Elements remove all sometimes pads - */ - PAUSED_TO_READY = 26, - /** - * state change from READY to NULL. - * * Elements close devices - * * Elements reset any internal state. - */ - READY_TO_NULL = 17, - /** - * state change from NULL to NULL. (Since: 1.14) - */ - NULL_TO_NULL = 9, - /** - * state change from READY to READY, - * This might happen when going to PAUSED asynchronously failed, in that case - * elements should make sure they are in a proper, coherent READY state. (Since: 1.14) - */ - READY_TO_READY = 18, - /** - * state change from PAUSED to PAUSED. - * This might happen when elements were in PLAYING state and 'lost state', - * they should make sure to go back to real 'PAUSED' state (prerolling for example). (Since: 1.14) - */ - PAUSED_TO_PAUSED = 27, - /** - * state change from PLAYING to PLAYING. (Since: 1.14) - */ - PLAYING_TO_PLAYING = 36, -} -alias GstStateChange StateChange; - -/** - * The possible return values from a state change function such as - * gst_element_set_state(). Only @GST_STATE_CHANGE_FAILURE is a real failure. - */ -public enum GstStateChangeReturn -{ - /** - * the state change failed - */ - FAILURE = 0, - /** - * the state change succeeded - */ - SUCCESS = 1, - /** - * the state change will happen asynchronously - */ - ASYNC = 2, - /** - * the state change succeeded but the element - * cannot produce data in %GST_STATE_PAUSED. - * This typically happens with live sources. - */ - NO_PREROLL = 3, -} -alias GstStateChangeReturn StateChangeReturn; - -/** - * Stream errors are for anything related to the stream being processed: - * format errors, media type errors, ... - * They're typically used by decoders, demuxers, converters, ... - */ -public enum GstStreamError -{ - /** - * a general error which doesn't fit in any other - * category. Make sure you add a custom message to the error call. - */ - FAILED = 1, - /** - * do not use this except as a placeholder for - * deciding where to go while developing code. - */ - TOO_LAZY = 2, - /** - * use this when you do not want to implement - * this functionality yet. - */ - NOT_IMPLEMENTED = 3, - /** - * used when the element doesn't know the - * stream's type. - */ - TYPE_NOT_FOUND = 4, - /** - * used when the element doesn't handle this type - * of stream. - */ - WRONG_TYPE = 5, - /** - * used when there's no codec to handle the - * stream's type. - */ - CODEC_NOT_FOUND = 6, - /** - * used when decoding fails. - */ - DECODE = 7, - /** - * used when encoding fails. - */ - ENCODE = 8, - /** - * used when demuxing fails. - */ - DEMUX = 9, - /** - * used when muxing fails. - */ - MUX = 10, - /** - * used when the stream is of the wrong format - * (for example, wrong caps). - */ - FORMAT = 11, - /** - * used when the stream is encrypted and can't be - * decrypted because this is not supported by the element. - */ - DECRYPT = 12, - /** - * used when the stream is encrypted and - * can't be decrypted because no suitable key is available. - */ - DECRYPT_NOKEY = 13, - /** - * the number of stream error types. - */ - NUM_ERRORS = 14, -} -alias GstStreamError StreamError; - -public enum GstStreamFlags -{ - /** - * This stream has no special attributes - */ - NONE = 0, - /** - * This stream is a sparse stream (e.g. a subtitle - * stream), data may flow only in irregular intervals with large gaps in - * between. - */ - SPARSE = 1, - /** - * This stream should be selected by default. This - * flag may be used by demuxers to signal that a stream should be selected - * by default in a playback scenario. - */ - SELECT = 2, - /** - * This stream should not be selected by default. - * This flag may be used by demuxers to signal that a stream should not - * be selected by default in a playback scenario, but only if explicitly - * selected by the user (e.g. an audio track for the hard of hearing or - * a director's commentary track). - */ - UNSELECT = 4, -} -alias GstStreamFlags StreamFlags; - -/** - * The type of a %GST_MESSAGE_STREAM_STATUS. The stream status messages inform the - * application of new streaming threads and their status. - */ -public enum GstStreamStatusType -{ - /** - * A new thread need to be created. - */ - CREATE = 0, - /** - * a thread entered its loop function - */ - ENTER = 1, - /** - * a thread left its loop function - */ - LEAVE = 2, - /** - * a thread is destroyed - */ - DESTROY = 3, - /** - * a thread is started - */ - START = 8, - /** - * a thread is paused - */ - PAUSE = 9, - /** - * a thread is stopped - */ - STOP = 10, -} -alias GstStreamStatusType StreamStatusType; - -/** - * #GstStreamType describes a high level classification set for - * flows of data in #GstStream objects. - * - * Note that this is a flag, and therefore users should not assume it - * will be a single value. Do not use the equality operator for checking - * whether a stream is of a certain type. - * - * Since: 1.10 - */ -public enum GstStreamType -{ - /** - * The stream is of unknown (unclassified) type. - */ - UNKNOWN = 1, - /** - * The stream is of audio data - */ - AUDIO = 2, - /** - * The stream carries video data - */ - VIDEO = 4, - /** - * The stream is a muxed container type - */ - CONTAINER = 8, - /** - * The stream contains subtitle / subpicture data. - */ - TEXT = 16, -} -alias GstStreamType StreamType; - -/** - * The type of a %GST_MESSAGE_STRUCTURE_CHANGE. - */ -public enum GstStructureChangeType -{ - /** - * Pad linking is starting or done. - */ - LINK = 0, - /** - * Pad unlinking is starting or done. - */ - UNLINK = 1, -} -alias GstStructureChangeType StructureChangeType; - -/** - * Extra tag flags used when registering tags. - */ -public enum GstTagFlag -{ - /** - * undefined flag - */ - UNDEFINED = 0, - /** - * tag is meta data - */ - META = 1, - /** - * tag is encoded - */ - ENCODED = 2, - /** - * tag is decoded - */ - DECODED = 3, - /** - * number of tag flags - */ - COUNT = 4, -} -alias GstTagFlag TagFlag; - -/** - * The different tag merging modes are basically replace, overwrite and append, - * but they can be seen from two directions. Given two taglists: (A) the tags - * already in the element and (B) the ones that are supplied to the element ( - * e.g. via gst_tag_setter_merge_tags() / gst_tag_setter_add_tags() or a - * %GST_EVENT_TAG), how are these tags merged? - * In the table below this is shown for the cases that a tag exists in the list - * (A) or does not exists (!A) and combinations thereof. - * - * | merge mode | A + B | A + !B | !A + B | !A + !B | - * | ----------- | ----- | ------ | ------ | ------- | - * | REPLACE_ALL | B | ø | B | ø | - * | REPLACE | B | A | B | ø | - * | APPEND | A, B | A | B | ø | - * | PREPEND | B, A | A | B | ø | - * | KEEP | A | A | B | ø | - * | KEEP_ALL | A | A | ø | ø | - */ -public enum GstTagMergeMode -{ - /** - * undefined merge mode - */ - UNDEFINED = 0, - /** - * replace all tags (clear list and append) - */ - REPLACE_ALL = 1, - /** - * replace tags - */ - REPLACE = 2, - /** - * append tags - */ - APPEND = 3, - /** - * prepend tags - */ - PREPEND = 4, - /** - * keep existing tags - */ - KEEP = 5, - /** - * keep all existing tags - */ - KEEP_ALL = 6, - /** - * the number of merge modes - */ - COUNT = 7, -} -alias GstTagMergeMode TagMergeMode; - -/** - * GstTagScope specifies if a taglist applies to the complete - * medium or only to one single stream. - */ -public enum GstTagScope -{ - /** - * tags specific to this single stream - */ - STREAM = 0, - /** - * global tags for the complete medium - */ - GLOBAL = 1, -} -alias GstTagScope TagScope; - -/** - * The different states a task can be in - */ -public enum GstTaskState -{ - /** - * the task is started and running - */ - STARTED = 0, - /** - * the task is stopped - */ - STOPPED = 1, - /** - * the task is paused - */ - PAUSED = 2, -} -alias GstTaskState TaskState; - -/** - * The different types of TOC entries (see #GstTocEntry). - * - * There are two types of TOC entries: alternatives or parts in a sequence. - */ -public enum GstTocEntryType -{ - /** - * entry is an angle (i.e. an alternative) - */ - ANGLE = -3, - /** - * entry is a version (i.e. alternative) - */ - VERSION = -2, - /** - * entry is an edition (i.e. alternative) - */ - EDITION = -1, - /** - * invalid entry type value - */ - INVALID = 0, - /** - * entry is a title (i.e. a part of a sequence) - */ - TITLE = 1, - /** - * entry is a track (i.e. a part of a sequence) - */ - TRACK = 2, - /** - * entry is a chapter (i.e. a part of a sequence) - */ - CHAPTER = 3, -} -alias GstTocEntryType TocEntryType; - -/** - * How a #GstTocEntry should be repeated. By default, entries are played a - * single time. - * - * Since: 1.4 - */ -public enum GstTocLoopType -{ - /** - * single forward playback - */ - NONE = 0, - /** - * repeat forward - */ - FORWARD = 1, - /** - * repeat backward - */ - REVERSE = 2, - /** - * repeat forward and backward - */ - PING_PONG = 3, -} -alias GstTocLoopType TocLoopType; - -/** - * The scope of a TOC. - */ -public enum GstTocScope -{ - /** - * global TOC representing all selectable options - * (this is what applications are usually interested in) - */ - GLOBAL = 1, - /** - * TOC for the currently active/selected stream - * (this is a TOC representing the current stream from start to EOS, - * and is what a TOC writer / muxer is usually interested in; it will - * usually be a subset of the global TOC, e.g. just the chapters of - * the current title, or the chapters selected for playback from the - * current title) - */ - CURRENT = 2, -} -alias GstTocScope TocScope; - -/** - * Flag that describe the value. These flags help applications processing the - * logs to understand the values. - */ -public enum GstTracerValueFlags -{ - /** - * no flags - */ - NONE = 0, - /** - * the value is optional. When using this flag - * one need to have an additional boolean arg before this value in the - * var-args list passed to gst_tracer_record_log(). - */ - OPTIONAL = 1, - /** - * the value is a combined figure, since the - * start of tracing. Examples are averages or timestamps. - */ - AGGREGATED = 2, -} -alias GstTracerValueFlags TracerValueFlags; - -/** - * Tracing record will contain fields that contain a measured value or extra - * meta-data. One such meta data are values that tell where a measurement was - * taken. This enumerating declares to which scope such a meta data field - * relates to. If it is e.g. %GST_TRACER_VALUE_SCOPE_PAD, then each of the log - * events may contain values for different #GstPads. - * - * Since: 1.8 - */ -public enum GstTracerValueScope -{ - /** - * the value is related to the process - */ - PROCESS = 0, - /** - * the value is related to a thread - */ - THREAD = 1, - /** - * the value is related to an #GstElement - */ - ELEMENT = 2, - /** - * the value is related to a #GstPad - */ - PAD = 3, -} -alias GstTracerValueScope TracerValueScope; - -/** - * The probability of the typefind function. Higher values have more certainty - * in doing a reliable typefind. - */ -public enum GstTypeFindProbability -{ - /** - * type undetected. - */ - NONE = 0, - /** - * unlikely typefind. - */ - MINIMUM = 1, - /** - * possible type detected. - */ - POSSIBLE = 50, - /** - * likely a type was detected. - */ - LIKELY = 80, - /** - * nearly certain that a type was detected. - */ - NEARLY_CERTAIN = 99, - /** - * very certain a type was detected. - */ - MAXIMUM = 100, -} -alias GstTypeFindProbability TypeFindProbability; - -/** - * Different URI-related errors that can occur. - */ -public enum GstURIError -{ - /** - * The protocol is not supported - */ - UNSUPPORTED_PROTOCOL = 0, - /** - * There was a problem with the URI - */ - BAD_URI = 1, - /** - * Could not set or change the URI because the - * URI handler was in a state where that is not possible or not permitted - */ - BAD_STATE = 2, - /** - * There was a problem with the entity that - * the URI references - */ - BAD_REFERENCE = 3, -} -alias GstURIError URIError; - -/** - * The different types of URI direction. - */ -public enum GstURIType -{ - /** - * The URI direction is unknown - */ - UNKNOWN = 0, - /** - * The URI is a consumer. - */ - SINK = 1, - /** - * The URI is a producer. - */ - SRC = 2, -} -alias GstURIType URIType; - -struct GstAllocationParams -{ - /** - * flags to control allocation - */ - GstMemoryFlags flags; - /** - * the desired alignment of the memory - */ - size_t align_; - /** - * the desired prefix - */ - size_t prefix; - /** - * the desired padding - */ - size_t padding; - void*[4] GstReserved; -} - -struct GstAllocator -{ - GstObject object; - const(char)* memType; - /** - * the implementation of the GstMemoryMapFunction - */ - GstMemoryMapFunction memMap; - /** - * the implementation of the GstMemoryUnmapFunction - */ - GstMemoryUnmapFunction memUnmap; - /** - * the implementation of the GstMemoryCopyFunction - */ - GstMemoryCopyFunction memCopy; - /** - * the implementation of the GstMemoryShareFunction - */ - GstMemoryShareFunction memShare; - /** - * the implementation of the GstMemoryIsSpanFunction - */ - GstMemoryIsSpanFunction memIsSpan; - /** - * the implementation of the GstMemoryMapFullFunction. - * Will be used instead of @mem_map if present. (Since: 1.6) - */ - GstMemoryMapFullFunction memMapFull; - /** - * the implementation of the GstMemoryUnmapFullFunction. - * Will be used instead of @mem_unmap if present. (Since: 1.6) - */ - GstMemoryUnmapFullFunction memUnmapFull; - void*[2] GstReserved; - GstAllocatorPrivate* priv; -} - -/** - * The #GstAllocator is used to create new memory. - */ -struct GstAllocatorClass -{ - /** - * Object parent class - */ - GstObjectClass objectClass; - /** - * - * Params: - * allocator = a #GstAllocator to use - * size = size of the visible memory area - * params = optional parameters - * Returns: a new #GstMemory. - */ - extern(C) GstMemory* function(GstAllocator* allocator, size_t size, GstAllocationParams* params) alloc; - /** */ - extern(C) void function(GstAllocator* allocator, GstMemory* memory) free; - void*[4] GstReserved; -} - -struct GstAllocatorPrivate; - -struct GstAtomicQueue; - -struct GstBin -{ - GstElement element; - /** - * the number of children in this bin - */ - int numchildren; - /** - * the list of children in this bin - */ - GList* children; - /** - * updated whenever @children changes - */ - uint childrenCookie; - /** - * internal bus for handling child messages - */ - GstBus* childBus; - /** - * queued and cached messages - */ - GList* messages; - /** - * the bin is currently calculating its state - */ - bool polling; - /** - * the bin needs to recalculate its state (deprecated) - */ - bool stateDirty; - /** - * the bin needs to select a new clock - */ - bool clockDirty; - /** - * the last clock selected - */ - GstClock* providedClock; - /** - * the element that provided @provided_clock - */ - GstElement* clockProvider; - GstBinPrivate* priv; - void*[4] GstReserved; -} - -/** - * Subclasses can override the @add_element and @remove_element to - * update the list of children in the bin. - * - * The @handle_message method can be overridden to implement custom - * message handling. @handle_message takes ownership of the message, just like - * #gst_element_post_message. - * - * The @deep_element_added vfunc will be called when a new element has been - * added to any bin inside this bin, so it will also be called if a new child - * was added to a sub-bin of this bin. #GstBin implementations that override - * this message should chain up to the parent class implementation so the - * #GstBin::deep-element-added signal is emitted on all parents. - */ -struct GstBinClass -{ - /** - * bin parent class - */ - GstElementClass parentClass; - GThreadPool* pool; - /** */ - extern(C) void function(GstBin* bin, GstElement* child) elementAdded; - /** */ - extern(C) void function(GstBin* bin, GstElement* child) elementRemoved; - /** */ - extern(C) int function(GstBin* bin, GstElement* element) addElement; - /** */ - extern(C) int function(GstBin* bin, GstElement* element) removeElement; - /** */ - extern(C) void function(GstBin* bin, GstMessage* message) handleMessage; - /** */ - extern(C) int function(GstBin* bin) doLatency; - /** */ - extern(C) void function(GstBin* bin, GstBin* subBin, GstElement* child) deepElementAdded; - /** */ - extern(C) void function(GstBin* bin, GstBin* subBin, GstElement* child) deepElementRemoved; - void*[2] GstReserved; -} - -struct GstBinPrivate; - -struct GstBitmask; - -struct GstBuffer -{ - /** - * the parent structure - */ - GstMiniObject miniObject; - /** - * pointer to the pool owner of the buffer - */ - GstBufferPool* pool; - /** - * presentation timestamp of the buffer, can be #GST_CLOCK_TIME_NONE when the - * pts is not known or relevant. The pts contains the timestamp when the - * media should be presented to the user. - */ - GstClockTime pts; - /** - * decoding timestamp of the buffer, can be #GST_CLOCK_TIME_NONE when the - * dts is not known or relevant. The dts contains the timestamp when the - * media should be processed. - */ - GstClockTime dts; - /** - * duration in time of the buffer data, can be #GST_CLOCK_TIME_NONE - * when the duration is not known or relevant. - */ - GstClockTime duration; - /** - * a media specific offset for the buffer data. - * For video frames, this is the frame number of this buffer. - * For audio samples, this is the offset of the first sample in this buffer. - * For file data or compressed data this is the byte offset of the first - * byte in this buffer. - */ - ulong offset; - /** - * the last offset contained in this buffer. It has the same - * format as @offset. - */ - ulong offsetEnd; -} - -struct GstBufferList; - -struct GstBufferPool -{ - GstObject object; - int flushing; - GstBufferPoolPrivate* priv; - void*[4] GstReserved; -} - -/** - * Parameters passed to the gst_buffer_pool_acquire_buffer() function to control the - * allocation of the buffer. - * - * The default implementation ignores the @start and @stop members but other - * implementations can use this extra information to decide what buffer to - * return. - */ -struct GstBufferPoolAcquireParams -{ - /** - * the format of @start and @stop - */ - GstFormat format; - /** - * the start position - */ - long start; - /** - * the stop position - */ - long stop; - /** - * additional flags - */ - GstBufferPoolAcquireFlags flags; - void*[4] GstReserved; -} - -/** - * The GstBufferPool class. - */ -struct GstBufferPoolClass -{ - /** - * Object parent class - */ - GstObjectClass objectClass; - /** - * - * Params: - * pool = a #GstBufferPool - * Returns: a %NULL terminated array - * of strings. - */ - extern(C) char** function(GstBufferPool* pool) getOptions; - /** - * - * Params: - * pool = a #GstBufferPool - * config = a #GstStructure - * Returns: %TRUE when the configuration could be set. - */ - extern(C) int function(GstBufferPool* pool, GstStructure* config) setConfig; - /** */ - extern(C) int function(GstBufferPool* pool) start; - /** */ - extern(C) int function(GstBufferPool* pool) stop; - /** - * - * Params: - * pool = a #GstBufferPool - * buffer = a location for a #GstBuffer - * params = parameters. - * Returns: a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is - * inactive. - */ - extern(C) GstFlowReturn function(GstBufferPool* pool, GstBuffer** buffer, GstBufferPoolAcquireParams* params) acquireBuffer; - /** */ - extern(C) GstFlowReturn function(GstBufferPool* pool, GstBuffer** buffer, GstBufferPoolAcquireParams* params) allocBuffer; - /** */ - extern(C) void function(GstBufferPool* pool, GstBuffer* buffer) resetBuffer; - /** */ - extern(C) void function(GstBufferPool* pool, GstBuffer* buffer) releaseBuffer; - /** */ - extern(C) void function(GstBufferPool* pool, GstBuffer* buffer) freeBuffer; - /** */ - extern(C) void function(GstBufferPool* pool) flushStart; - /** */ - extern(C) void function(GstBufferPool* pool) flushStop; - void*[2] GstReserved; -} - -struct GstBufferPoolPrivate; - -struct GstBus -{ - GstObject object; - GstBusPrivate* priv; - void*[4] GstReserved; -} - -struct GstBusClass -{ - GstObjectClass parentClass; - /** */ - extern(C) void function(GstBus* bus, GstMessage* message) message; - /** */ - extern(C) void function(GstBus* bus, GstMessage* message) syncMessage; - void*[4] GstReserved; -} - -struct GstBusPrivate; - -struct GstCaps -{ - /** - * the parent type - */ - GstMiniObject miniObject; -} - -struct GstCapsFeatures; - -struct GstChildProxy; - -/** - * #GstChildProxy interface. - */ -struct GstChildProxyInterface -{ - /** - * parent interface type. - */ - GTypeInterface parent; - /** - * - * Params: - * parent = the parent object to get the child from - * name = the child's name - * Returns: the child object or %NULL if - * not found. Unref after usage. - * - * MT safe. - */ - extern(C) GObject* function(GstChildProxy* parent, const(char)* name) getChildByName; - /** - * - * Params: - * parent = the parent object to get the child from - * index = the child's position in the child list - * Returns: the child object or %NULL if - * not found (index too high). Unref after usage. - * - * MT safe. - */ - extern(C) GObject* function(GstChildProxy* parent, uint index) getChildByIndex; - /** - * - * Params: - * parent = the parent object - * Returns: the number of child objects - * - * MT safe. - */ - extern(C) uint function(GstChildProxy* parent) getChildrenCount; - /** */ - extern(C) void function(GstChildProxy* parent, GObject* child, const(char)* name) childAdded; - /** */ - extern(C) void function(GstChildProxy* parent, GObject* child, const(char)* name) childRemoved; - void*[4] GstReserved; -} - -struct GstClock -{ - GstObject object; - GstClockPrivate* priv; - void*[4] GstReserved; -} - -/** - * GStreamer clock class. Override the vmethods to implement the clock - * functionality. - */ -struct GstClockClass -{ - /** - * the parent class structure - */ - GstObjectClass parentClass; - /** */ - extern(C) GstClockTime function(GstClock* clock, GstClockTime oldResolution, GstClockTime newResolution) changeResolution; - /** - * - * Params: - * clock = a #GstClock - * Returns: the resolution of the clock in units of #GstClockTime. - * - * MT safe. - */ - extern(C) GstClockTime function(GstClock* clock) getResolution; - /** - * - * Params: - * clock = a #GstClock to query - * Returns: the internal time of the clock. Or GST_CLOCK_TIME_NONE when - * given invalid input. - * - * MT safe. - */ - extern(C) GstClockTime function(GstClock* clock) getInternalTime; - /** */ - extern(C) GstClockReturn function(GstClock* clock, GstClockEntry* entry, GstClockTimeDiff* jitter) wait; - /** */ - extern(C) GstClockReturn function(GstClock* clock, GstClockEntry* entry) waitAsync; - /** */ - extern(C) void function(GstClock* clock, GstClockEntry* entry) unschedule; - void*[4] GstReserved; -} - -/** - * All pending timeouts or periodic notifies are converted into - * an entry. - * Note that GstClockEntry should be treated as an opaque structure. It must - * not be extended or allocated using a custom allocator. - */ -struct GstClockEntry -{ - /** - * reference counter (read-only) - */ - int refcount; - GstClock* clock; - GstClockEntryType type; - GstClockTime time; - GstClockTime interval; - GstClockReturn status; - GstClockCallback func; - void* userData; - GDestroyNotify destroyData; - bool unscheduled; - bool wokenUp; - void*[4] GstReserved; -} - -struct GstClockPrivate; - -struct GstContext; - -struct GstControlBinding -{ - GstObject parent; - /** - * name of the property of this binding - */ - char* name; - /** - * #GParamSpec for this property - */ - GParamSpec* pspec; - GstObject* object; - bool disabled; - union ABI - { - struct Abi - { - GstControlBindingPrivate* priv; - } - Abi abi; - void*[4] GstReserved; - } - ABI abi; -} - -/** - * The class structure of #GstControlBinding. - */ -struct GstControlBindingClass -{ - /** - * Parent class - */ - GstObjectClass parentClass; - /** - * - * Params: - * binding = the control binding - * object = the object that has controlled properties - * timestamp = the time that should be processed - * lastSync = the last time this was called - * Returns: %TRUE if the controller value could be applied to the object - * property, %FALSE otherwise - */ - extern(C) int function(GstControlBinding* binding, GstObject* object, GstClockTime timestamp, GstClockTime lastSync) syncValues; - /** - * - * Params: - * binding = the control binding - * timestamp = the time the control-change should be read from - * Returns: the GValue of the property at the given time, - * or %NULL if the property isn't controlled. - */ - extern(C) GValue* function(GstControlBinding* binding, GstClockTime timestamp) getValue; - /** - * - * Params: - * binding = the control binding - * timestamp = the time that should be processed - * interval = the time spacing between subsequent values - * nValues = the number of values - * values = array to put control-values in - * Returns: %TRUE if the given array could be filled, %FALSE otherwise - */ - extern(C) int function(GstControlBinding* binding, GstClockTime timestamp, GstClockTime interval, uint nValues, void* values) getValueArray; - /** - * - * Params: - * binding = the control binding - * timestamp = the time that should be processed - * interval = the time spacing between subsequent values - * nValues = the number of values - * values = array to put control-values in - * Returns: %TRUE if the given array could be filled, %FALSE otherwise - */ - extern(C) int function(GstControlBinding* binding, GstClockTime timestamp, GstClockTime interval, uint nValues, GValue* values) getGValueArray; - void*[4] GstReserved; -} - -struct GstControlBindingPrivate; - -struct GstControlSource -{ - GstObject parent; - /** - * Function for returning a value for a given timestamp - */ - GstControlSourceGetValue getValue; - /** - * Function for returning a values array for a given timestamp - */ - GstControlSourceGetValueArray getValueArray; - void*[4] GstReserved; -} - -/** - * The class structure of #GstControlSource. - */ -struct GstControlSourceClass -{ - /** - * Parent class - */ - GstObjectClass parentClass; - void*[4] GstReserved; -} - -struct GstDateTime; - -struct GstDebugCategory -{ - int threshold; - uint color; - const(char)* name; - const(char)* description; -} - -struct GstDebugMessage; - -struct GstDevice -{ - /** - * The parent #GstObject structure. - */ - GstObject parent; - GstDevicePrivate* priv; - void*[4] GstReserved; -} - -/** - * The class structure for a #GstDevice object. - * - * Since: 1.4 - */ -struct GstDeviceClass -{ - /** - * The parent #GstObjectClass structure. - */ - GstObjectClass parentClass; - /** - * - * Params: - * device = a #GstDevice - * name = name of new element, or %NULL to automatically - * create a unique name. - * Returns: a new #GstElement configured to use - * this device - */ - extern(C) GstElement* function(GstDevice* device, const(char)* name) createElement; - /** - * - * Params: - * device = a #GstDevice - * element = a #GstElement - * Returns: %TRUE if the element could be reconfigured to use this device, - * %FALSE otherwise. - */ - extern(C) int function(GstDevice* device, GstElement* element) reconfigureElement; - void*[4] GstReserved; -} - -struct GstDeviceMonitor -{ - /** - * the parent #GstObject structure - */ - GstObject parent; - GstDeviceMonitorPrivate* priv; - void*[4] GstReserved; -} - -/** - * Opaque device monitor class structure. - * - * Since: 1.4 - */ -struct GstDeviceMonitorClass -{ - /** - * the parent #GstObjectClass structure - */ - GstObjectClass parentClass; - void*[4] GstReserved; -} - -struct GstDeviceMonitorPrivate; - -struct GstDevicePrivate; - -struct GstDeviceProvider -{ - /** - * The parent #GstObject - */ - GstObject parent; - /** - * a #GList of the #GstDevice objects - */ - GList* devices; - GstDeviceProviderPrivate* priv; - void*[4] GstReserved; -} - -struct GstDeviceProviderClass -{ - /** - * the parent #GstObjectClass structure - */ - GstObjectClass parentClass; - /** - * a pointer to the #GstDeviceProviderFactory that creates this - * provider - */ - GstDeviceProviderFactory* factory; - /** */ - extern(C) GList* function(GstDeviceProvider* provider) probe; - /** - * - * Params: - * provider = A #GstDeviceProvider - * Returns: %TRUE if the device providering could be started - */ - extern(C) int function(GstDeviceProvider* provider) start; - /** */ - extern(C) void function(GstDeviceProvider* provider) stop; - void* metadata; - void*[4] GstReserved; -} - -struct GstDeviceProviderFactory; - -/** - * The opaque #GstDeviceProviderFactoryClass data structure. - * - * Since: 1.4 - */ -struct GstDeviceProviderFactoryClass; - -struct GstDeviceProviderPrivate; - -struct GstDoubleRange; - -struct GstDynamicTypeFactory; - -struct GstDynamicTypeFactoryClass; - -struct GstElement -{ - GstObject object; - /** - * Used to serialize execution of gst_element_set_state() - */ - GRecMutex stateLock; - /** - * Used to signal completion of a state change - */ - GCond stateCond; - /** - * Used to detect concurrent execution of - * gst_element_set_state() and gst_element_get_state() - */ - uint stateCookie; - /** - * the target state of an element as set by the application - */ - GstState targetState; - /** - * the current state of an element - */ - GstState currentState; - /** - * the next state of an element, can be #GST_STATE_VOID_PENDING if - * the element is in the correct state. - */ - GstState nextState; - /** - * the final state the element should go to, can be - * #GST_STATE_VOID_PENDING if the element is in the correct state - */ - GstState pendingState; - /** - * the last return value of an element state change - */ - GstStateChangeReturn lastReturn; - /** - * the bus of the element. This bus is provided to the element by the - * parent element or the application. A #GstPipeline has a bus of its own. - */ - GstBus* bus; - /** - * the clock of the element. This clock is usually provided to the - * element by the toplevel #GstPipeline. - */ - GstClock* clock; - /** - * the time of the clock right before the element is set to - * PLAYING. Subtracting @base_time from the current clock time in the PLAYING - * state will yield the running_time against the clock. - */ - GstClockTimeDiff baseTime; - /** - * the running_time of the last PAUSED state - */ - GstClockTime startTime; - /** - * number of pads of the element, includes both source and sink pads. - */ - ushort numpads; - /** - * list of pads - */ - GList* pads; - /** - * number of source pads of the element. - */ - ushort numsrcpads; - /** - * list of source pads - */ - GList* srcpads; - /** - * number of sink pads of the element. - */ - ushort numsinkpads; - /** - * list of sink pads - */ - GList* sinkpads; - /** - * updated whenever the a pad is added or removed - */ - uint padsCookie; - /** - * list of contexts - */ - GList* contexts; - void*[3] GstReserved; -} - -struct GstElementClass -{ - /** - * the parent class structure - */ - GstObjectClass parentClass; - /** - * metadata for elements of this class - */ - void* metadata; - /** - * the #GstElementFactory that creates these elements - */ - GstElementFactory* elementfactory; - /** - * a #GList of #GstPadTemplate - */ - GList* padtemplates; - /** - * the number of padtemplates - */ - int numpadtemplates; - /** - * changed whenever the padtemplates change - */ - uint padTemplCookie; - /** */ - extern(C) void function(GstElement* element, GstPad* pad) padAdded; - /** */ - extern(C) void function(GstElement* element, GstPad* pad) padRemoved; - /** */ - extern(C) void function(GstElement* element) noMorePads; - /** - * - * Params: - * element = a #GstElement to find a request pad of. - * templ = a #GstPadTemplate of which we want a pad of. - * name = the name of the request #GstPad - * to retrieve. Can be %NULL. - * caps = the caps of the pad we want to - * request. Can be %NULL. - * Returns: requested #GstPad if found, - * otherwise %NULL. Release after usage. - */ - extern(C) GstPad* function(GstElement* element, GstPadTemplate* templ, const(char)* name, GstCaps* caps) requestNewPad; - /** */ - extern(C) void function(GstElement* element, GstPad* pad) releasePad; - /** - * - * Params: - * element = a #GstElement to get the state of. - * state = a pointer to #GstState to hold the state. - * Can be %NULL. - * pending = a pointer to #GstState to hold the pending - * state. Can be %NULL. - * timeout = a #GstClockTime to specify the timeout for an async - * state change or %GST_CLOCK_TIME_NONE for infinite timeout. - * Returns: %GST_STATE_CHANGE_SUCCESS if the element has no more pending state - * and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the - * element is still performing a state change or - * %GST_STATE_CHANGE_FAILURE if the last state change failed. - * - * MT safe. - */ - extern(C) GstStateChangeReturn function(GstElement* element, GstState* state, GstState* pending, GstClockTime timeout) getState; - /** - * - * Params: - * element = a #GstElement to change state of. - * state = the element's new #GstState. - * Returns: Result of the state change using #GstStateChangeReturn. - * - * MT safe. - */ - extern(C) GstStateChangeReturn function(GstElement* element, GstState state) setState; - /** - * - * Params: - * element = a #GstElement - * transition = the requested transition - * Returns: the #GstStateChangeReturn of the state transition. - */ - extern(C) GstStateChangeReturn function(GstElement* element, GstStateChange transition) changeState; - /** */ - extern(C) void function(GstElement* element, GstState oldstate, GstState newstate, GstState pending) stateChanged; - /** */ - extern(C) void function(GstElement* element, GstBus* bus) setBus; - /** - * - * Params: - * element = a #GstElement to query - * Returns: the GstClock provided by the - * element or %NULL if no clock could be provided. Unref after usage. - * - * MT safe. - */ - extern(C) GstClock* function(GstElement* element) provideClock; - /** - * - * Params: - * element = a #GstElement to set the clock for. - * clock = the #GstClock to set for the element. - * Returns: %TRUE if the element accepted the clock. An element can refuse a - * clock when it, for example, is not able to slave its internal clock to the - * @clock or when it requires a specific clock to operate. - * - * MT safe. - */ - extern(C) int function(GstElement* element, GstClock* clock) setClock; - /** - * - * Params: - * element = a #GstElement to send the event to. - * event = the #GstEvent to send to the element. - * Returns: %TRUE if the event was handled. Events that trigger a preroll (such - * as flushing seeks and steps) will emit %GST_MESSAGE_ASYNC_DONE. - */ - extern(C) int function(GstElement* element, GstEvent* event) sendEvent; - /** - * - * Params: - * element = a #GstElement to perform the query on. - * query = the #GstQuery. - * Returns: %TRUE if the query could be performed. - * - * MT safe. - */ - extern(C) int function(GstElement* element, GstQuery* query) query; - /** - * - * Params: - * element = a #GstElement posting the message - * message = a #GstMessage to post - * Returns: %TRUE if the message was successfully posted. The function returns - * %FALSE if the element did not have a bus. - * - * MT safe. - */ - extern(C) int function(GstElement* element, GstMessage* message) postMessage; - /** */ - extern(C) void function(GstElement* element, GstContext* context) setContext; - void*[18] GstReserved; -} - -struct GstElementFactory; - -struct GstElementFactoryClass; - -struct GstEvent -{ - /** - * the parent structure - */ - GstMiniObject miniObject; - /** - * the #GstEventType of the event - */ - GstEventType type; - /** - * the timestamp of the event - */ - ulong timestamp; - /** - * the sequence number of the event - */ - uint seqnum; -} - -struct GstFlagSet; - -/** - * A format definition - */ -struct GstFormatDefinition -{ - /** - * The unique id of this format - */ - GstFormat value; - /** - * A short nick of the format - */ - const(char)* nick; - /** - * A longer description of the format - */ - const(char)* description; - /** - * A quark for the nick - */ - GQuark quark; -} - -struct GstFraction; - -struct GstFractionRange; - -struct GstGhostPad -{ - GstProxyPad pad; - GstGhostPadPrivate* priv; -} - -struct GstGhostPadClass -{ - GstProxyPadClass parentClass; - void*[4] GstReserved; -} - -struct GstGhostPadPrivate; - -struct GstInt64Range; - -struct GstIntRange; - -struct GstIterator -{ - /** - * The function to copy the iterator - */ - GstIteratorCopyFunction copy; - /** - * The function to get the next item in the iterator - */ - GstIteratorNextFunction next; - /** - * The function to be called for each item retrieved - */ - GstIteratorItemFunction item; - /** - * The function to call when a resync is needed. - */ - GstIteratorResyncFunction resync; - /** - * The function to call when the iterator is freed - */ - GstIteratorFreeFunction free; - /** - * The iterator that is currently pushed with gst_iterator_push() - */ - GstIterator* pushed; - /** - * The type of the object that this iterator will return - */ - GType type; - /** - * The lock protecting the data structure and the cookie. - */ - GMutex* lock; - /** - * The cookie; the value of the master_cookie when this iterator was - * created. - */ - uint cookie; - /** - * A pointer to the master cookie. - */ - uint* masterCookie; - /** - * the size of the iterator - */ - uint size; - void*[4] GstReserved; -} - -/** - * A structure containing the result of a map operation such as - * gst_memory_map(). It contains the data and size. - */ -struct GstMapInfo -{ - /** - * a pointer to the mapped memory - */ - GstMemory* memory; - /** - * flags used when mapping the memory - */ - GstMapFlags flags; - /** - * a pointer to the mapped data - */ - ubyte* data; - /** - * the valid size in @data - */ - size_t size; - /** - * the maximum bytes in @data - */ - size_t maxsize; - /** - * extra private user_data that the implementation of the memory - * can use to store extra info. - */ - void*[4] userData; - void*[4] GstReserved; -} - -struct GstMemory -{ - /** - * parent structure - */ - GstMiniObject miniObject; - /** - * pointer to the #GstAllocator - */ - GstAllocator* allocator; - /** - * parent memory block - */ - GstMemory* parent; - /** - * the maximum size allocated - */ - size_t maxsize; - /** - * the alignment of the memory - */ - size_t align_; - /** - * the offset where valid data starts - */ - size_t offset; - /** - * the size of valid data - */ - size_t size; -} - -struct GstMessage -{ - /** - * the parent structure - */ - GstMiniObject miniObject; - /** - * the #GstMessageType of the message - */ - GstMessageType type; - /** - * the timestamp of the message - */ - ulong timestamp; - /** - * the src of the message - */ - GstObject* src; - /** - * the sequence number of the message - */ - uint seqnum; - GMutex lock; - GCond cond; -} - -struct GstMeta -{ - /** - * extra flags for the metadata - */ - GstMetaFlags flags; - /** - * pointer to the #GstMetaInfo - */ - GstMetaInfo* info; -} - -/** - * The #GstMetaInfo provides information about a specific metadata - * structure. - */ -struct GstMetaInfo -{ - /** - * tag identifying the metadata structure and api - */ - GType api; - /** - * type identifying the implementor of the api - */ - GType type; - /** - * size of the metadata - */ - size_t size; - /** - * function for initializing the metadata - */ - GstMetaInitFunction initFunc; - /** - * function for freeing the metadata - */ - GstMetaFreeFunction freeFunc; - /** - * function for transforming the metadata - */ - GstMetaTransformFunction transformFunc; -} - -/** - * Extra data passed to a "gst-copy" transform #GstMetaTransformFunction. - */ -struct GstMetaTransformCopy -{ - /** - * %TRUE if only region is copied - */ - bool region; - /** - * the offset to copy, 0 if @region is %FALSE, otherwise > 0 - */ - size_t offset; - /** - * the size to copy, -1 or the buffer size when @region is %FALSE - */ - size_t size; -} - -struct GstMiniObject -{ - /** - * the GType of the object - */ - GType type; - /** - * atomic refcount - */ - int refcount; - /** - * atomic state of the locks - */ - int lockstate; - /** - * extra flags. - */ - uint flags; - /** - * a copy function - */ - GstMiniObjectCopyFunction copy; - /** - * a dispose function - */ - GstMiniObjectDisposeFunction dispose; - /** - * the free function - */ - GstMiniObjectFreeFunction free; - uint privUint; - void* privPointer; -} - -struct GstObject -{ - GObject object; - /** - * object LOCK - */ - GMutex lock; - /** - * The name of the object - */ - char* name; - /** - * this object's parent, weak ref - */ - GstObject* parent; - /** - * flags for this object - */ - uint flags; - GList* controlBindings; - ulong controlRate; - ulong lastSync; - void* GstReserved; -} - -/** - * GStreamer base object class. - */ -struct GstObjectClass -{ - /** - * parent - */ - GObjectClass parentClass; - /** - * separator used by gst_object_get_path_string() - */ - const(char)* pathStringSeparator; - /** */ - extern(C) void function(GstObject* object, GstObject* orig, GParamSpec* pspec) deepNotify; - void*[4] GstReserved; -} - -struct GstPad -{ - GstObject object; - /** - * private data owned by the parent element - */ - void* elementPrivate; - /** - * padtemplate for this pad - */ - GstPadTemplate* padtemplate; - /** - * the direction of the pad, cannot change after creating - * the pad. - */ - GstPadDirection direction; - GRecMutex streamRecLock; - GstTask* task; - GCond blockCond; - GHookList probes; - GstPadMode mode; - GstPadActivateFunction activatefunc; - void* activatedata; - GDestroyNotify activatenotify; - GstPadActivateModeFunction activatemodefunc; - void* activatemodedata; - GDestroyNotify activatemodenotify; - GstPad* peer; - GstPadLinkFunction linkfunc; - void* linkdata; - GDestroyNotify linknotify; - GstPadUnlinkFunction unlinkfunc; - void* unlinkdata; - GDestroyNotify unlinknotify; - GstPadChainFunction chainfunc; - void* chaindata; - GDestroyNotify chainnotify; - GstPadChainListFunction chainlistfunc; - void* chainlistdata; - GDestroyNotify chainlistnotify; - GstPadGetRangeFunction getrangefunc; - void* getrangedata; - GDestroyNotify getrangenotify; - GstPadEventFunction eventfunc; - void* eventdata; - GDestroyNotify eventnotify; - long offset; - GstPadQueryFunction queryfunc; - void* querydata; - GDestroyNotify querynotify; - GstPadIterIntLinkFunction iterintlinkfunc; - void* iterintlinkdata; - GDestroyNotify iterintlinknotify; - int numProbes; - int numBlocked; - GstPadPrivate* priv; - union ABI - { - void*[4] GstReserved; - struct Abi - { - GstFlowReturn lastFlowret; - GstPadEventFullFunction eventfullfunc; - } - Abi abi; - } - ABI abi; -} - -struct GstPadClass -{ - GstObjectClass parentClass; - /** */ - extern(C) void function(GstPad* pad, GstPad* peer) linked; - /** */ - extern(C) void function(GstPad* pad, GstPad* peer) unlinked; - void*[4] GstReserved; -} - -struct GstPadPrivate; - -struct GstPadProbeInfo -{ - /** - * the current probe type - */ - GstPadProbeType type; - /** - * the id of the probe - */ - gulong id; - /** - * type specific data, check the @type field to know the - * datatype. This field can be %NULL. - */ - void* data; - /** - * offset of pull probe, this field is valid when @type contains - * #GST_PAD_PROBE_TYPE_PULL - */ - ulong offset; - /** - * size of pull probe, this field is valid when @type contains - * #GST_PAD_PROBE_TYPE_PULL - */ - uint size; - union ABI - { - void*[4] GstReserved; - struct Abi - { - GstFlowReturn flowRet; - } - Abi abi; - } - ABI abi; -} - -struct GstPadTemplate -{ - GstObject object; - char* nameTemplate; - GstPadDirection direction; - GstPadPresence presence; - GstCaps* caps; - union ABI - { - void*[4] GstReserved; - struct Abi - { - GType gtype; - GstCaps* documentationCaps; - } - Abi abi; - } - ABI abi; -} - -struct GstPadTemplateClass -{ - GstObjectClass parentClass; - /** */ - extern(C) void function(GstPadTemplate* templ, GstPad* pad) padCreated; - void*[4] GstReserved; -} - -struct GstParamArray; - -struct GstParamFraction; - -/** - * A GParamSpec derived structure for arrays of values. - */ -struct GstParamSpecArray -{ - /** - * super class - */ - GParamSpec parentInstance; - /** - * the #GParamSpec of the type of values in the array - */ - GParamSpec* elementSpec; -} - -/** - * A GParamSpec derived structure that contains the meta data for fractional - * properties. - */ -struct GstParamSpecFraction -{ - /** - * super class - */ - GParamSpec parentInstance; - /** - * minimal numerator - */ - int minNum; - /** - * minimal denominator - */ - int minDen; - /** - * maximal numerator - */ - int maxNum; - /** - * maximal denominator - */ - int maxDen; - /** - * default numerator - */ - int defNum; - /** - * default denominator - */ - int defDen; -} - -/** - * The #GstParentBufferMeta is a #GstMeta which can be attached to a #GstBuffer - * to hold a reference to another buffer that is only released when the child - * #GstBuffer is released. - * - * Typically, #GstParentBufferMeta is used when the child buffer is directly - * using the #GstMemory of the parent buffer, and wants to prevent the parent - * buffer from being returned to a buffer pool until the #GstMemory is available - * for re-use. - * - * Since: 1.6 - */ -struct GstParentBufferMeta -{ - /** - * the parent #GstMeta structure - */ - GstMeta parent; - /** - * the #GstBuffer on which a reference is being held. - */ - GstBuffer* buffer; -} - -struct GstParseContext; - -struct GstPipeline -{ - GstBin bin; - /** - * The fixed clock of the pipeline, used when - * GST_PIPELINE_FLAG_FIXED_CLOCK is set. - */ - GstClock* fixedClock; - /** - * The stream time of the pipeline. A better name for this - * property would be the running_time, the total time spent in the - * PLAYING state without being flushed. (deprecated, use the start_time - * on GstElement). - */ - GstClockTime streamTime; - /** - * Extra delay added to base_time to compensate for computing delays - * when setting elements to PLAYING. - */ - GstClockTime delay; - GstPipelinePrivate* priv; - void*[4] GstReserved; -} - -struct GstPipelineClass -{ - GstBinClass parentClass; - void*[4] GstReserved; -} - -struct GstPipelinePrivate; - -struct GstPlugin; - -struct GstPluginClass; - -/** - * A plugin should export a variable of this type called plugin_desc. The plugin - * loader will use the data provided there to initialize the plugin. - * - * The @licence parameter must be one of: LGPL, GPL, QPL, GPL/QPL, MPL, - * BSD, MIT/X11, Proprietary, unknown. - */ -struct GstPluginDesc -{ - /** - * the major version number of core that plugin was compiled for - */ - int majorVersion; - /** - * the minor version number of core that plugin was compiled for - */ - int minorVersion; - /** - * a unique name of the plugin - */ - const(char)* name; - /** - * description of plugin - */ - const(char)* description; - /** - * pointer to the init function of this plugin. - */ - GstPluginInitFunc pluginInit; - /** - * version of the plugin - */ - const(char)* version_; - /** - * effective license of plugin - */ - const(char)* license; - /** - * source module plugin belongs to - */ - const(char)* source; - /** - * shipped package plugin belongs to - */ - const(char)* package_; - /** - * URL to provider of plugin - */ - const(char)* origin; - /** - * date time string in ISO 8601 - * format (or rather, a subset thereof), or %NULL. Allowed are the - * following formats: "YYYY-MM-DD" and "YYY-MM-DDTHH:MMZ" (with - * 'T' a separator and 'Z' indicating UTC/Zulu time). This field - * should be set via the GST_PACKAGE_RELEASE_DATETIME - * preprocessor macro. - */ - const(char)* releaseDatetime; - void*[4] GstReserved; -} - -struct GstPluginFeature; - -struct GstPluginFeatureClass; - -struct GstPoll; - -struct GstPollFD -{ - /** - * a file descriptor - */ - int fd; - int idx; -} - -struct GstPreset; - -/** - * #GstPreset interface. - */ -struct GstPresetInterface -{ - /** - * parent interface type. - */ - GTypeInterface parent; - /** - * - * Params: - * preset = a #GObject that implements #GstPreset - * Returns: list with names, use g_strfreev() after usage. - */ - extern(C) char** function(GstPreset* preset) getPresetNames; - /** - * - * Params: - * preset = a #GObject that implements #GstPreset - * Returns: an - * array of property names which should be freed with g_strfreev() after use. - */ - extern(C) char** function(GstPreset* preset) getPropertyNames; - /** - * - * Params: - * preset = a #GObject that implements #GstPreset - * name = preset name to load - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name - */ - extern(C) int function(GstPreset* preset, const(char)* name) loadPreset; - /** - * - * Params: - * preset = a #GObject that implements #GstPreset - * name = preset name to save - * Returns: %TRUE for success, %FALSE - */ - extern(C) int function(GstPreset* preset, const(char)* name) savePreset; - /** - * - * Params: - * preset = a #GObject that implements #GstPreset - * oldName = current preset name - * newName = new preset name - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with @old_name - */ - extern(C) int function(GstPreset* preset, const(char)* oldName, const(char)* newName) renamePreset; - /** - * - * Params: - * preset = a #GObject that implements #GstPreset - * name = preset name to remove - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name - */ - extern(C) int function(GstPreset* preset, const(char)* name) deletePreset; - /** - * - * Params: - * preset = a #GObject that implements #GstPreset - * name = preset name - * tag = meta data item name - * value = new value - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name - */ - extern(C) int function(GstPreset* preset, const(char)* name, const(char)* tag, const(char)* value) setMeta; - /** - * - * Params: - * preset = a #GObject that implements #GstPreset - * name = preset name - * tag = meta data item name - * value = value - * Returns: %TRUE for success, %FALSE if e.g. there is no preset with that @name - * or no value for the given @tag - */ - extern(C) int function(GstPreset* preset, const(char)* name, const(char)* tag, char** value) getMeta; - void*[4] GstReserved; -} - -struct GstPromise -{ - /** - * parent #GstMiniObject - */ - GstMiniObject parent; -} - -/** - * Metadata type that holds information about a sample from a protection-protected - * track, including the information needed to decrypt it (if it is encrypted). - * - * Since: 1.6 - */ -struct GstProtectionMeta -{ - /** - * the parent #GstMeta. - */ - GstMeta meta; - /** - * the cryptographic information needed to decrypt the sample. - */ - GstStructure* info; -} - -struct GstProxyPad -{ - GstPad pad; - GstProxyPadPrivate* priv; -} - -struct GstProxyPadClass -{ - GstPadClass parentClass; - void*[1] GstReserved; -} - -struct GstProxyPadPrivate; - -struct GstQuery -{ - /** - * The parent #GstMiniObject type - */ - GstMiniObject miniObject; - /** - * the #GstQueryType - */ - GstQueryType type; -} - -/** - * #GstReferenceTimestampMeta can be used to attach alternative timestamps and - * possibly durations to a #GstBuffer. These are generally not according to - * the pipeline clock and could be e.g. the NTP timestamp when the media was - * captured. - * - * The reference is stored as a #GstCaps in @reference. Examples of valid - * references would be "timestamp/x-drivername-stream" for timestamps that are locally - * generated by some driver named "drivername" when generating the stream, - * e.g. based on a frame counter, or "timestamp/x-ntp, host=pool.ntp.org, - * port=123" for timestamps based on a specific NTP server. - * - * Since: 1.14 - */ -struct GstReferenceTimestampMeta -{ - /** - * the parent #GstMeta structure - */ - GstMeta parent; - /** - * identifier for the timestamp reference. - */ - GstCaps* reference; - /** - * timestamp - */ - GstClockTime timestamp; - /** - * duration, or %GST_CLOCK_TIME_NONE - */ - GstClockTime duration; -} - -struct GstRegistry -{ - GstObject object; - GstRegistryPrivate* priv; -} - -struct GstRegistryClass -{ - GstObjectClass parentClass; -} - -struct GstRegistryPrivate; - -struct GstSample; - -struct GstSegment -{ - /** - * flags for this segment - */ - GstSegmentFlags flags; - /** - * the playback rate of the segment is set in response to a seek - * event and, without any seek, the value should be `1.0`. This - * value is used by elements that synchronize buffer [running - * times](additional/design/synchronisation.md#running-time) on - * the clock (usually the sink elements), leading to consuming - * buffers faster (for a value `> 1.0`) or slower (for `0.0 < - * value < 1.0`) than normal playback speed. The rate also - * defines the playback direction, meaning that when the value is - * lower than `0.0`, the playback happens in reverse, and the - * [stream-time](additional/design/synchronisation.md#stream-time) - * is going backward. The `rate` value should never be `0.0`. - */ - double rate; - /** - * The applied rate is the rate that has been applied to the stream. - * The effective/resulting playback rate of a stream is - * `rate * applied_rate`. - * The applied rate can be set by source elements when a server is - * sending the stream with an already modified playback speed - * rate. Filter elements that modify the stream in a way that - * modifies the playback speed should also modify the applied - * rate. For example the #videorate element when its - * #videorate:rate property is set will set the applied rate of - * the segment it pushed downstream. Also #scaletempo applies the - * input segment rate to the stream and outputs a segment with - * rate=1.0 and applied_rate=. - */ - double appliedRate; - /** - * the unit used for all of the segment's values. - */ - GstFormat format; - /** - * the running time (plus elapsed time, see offset) of the - * segment [start](GstSegment.start) ([stop](GstSegment.stop) if - * rate < 0.0). - */ - ulong base; - /** - * the offset expresses the elapsed time (in buffer timestamps) - * before a seek with its start (stop if rate < 0.0) seek type - * set to #GST_SEEK_TYPE_NONE, the value is set to the position - * of the segment at the time of the seek. - */ - ulong offset; - /** - * the start time of the segment (in buffer timestamps) - * [(PTS)](GstBuffer.pts), that is the timestamp of the first - * buffer to output inside the segment (last one during - * reverse playback). For example decoders will - * [clip](gst_segment_clip) out the buffers before the start - * time. - */ - ulong start; - /** - * the stop time of the segment (in buffer timestamps) - * [(PTS)](GstBuffer.pts), that is the timestamp of the last - * buffer to output inside the segment (first one during - * reverse playback). For example decoders will - * [clip](gst_segment_clip) out buffers after the stop time. - */ - ulong stop; - /** - * the stream time of the segment [start](GstSegment.start) - * ([stop](GstSegment.stop) if rate < 0.0). - */ - ulong time; - /** - * the buffer timestamp position in the segment is supposed to be - * updated by elements such as sources, demuxers or parsers to - * track progress by setting it to the last pushed buffer' end time - * ([timestamp](GstBuffer.pts) + #GstBuffer.duration) for that - * specific segment. The position is used when reconfiguring the - * segment with #gst_segment_do_seek when the seek is only - * updating the segment (see [offset](GstSegment.offset)). - */ - ulong position; - /** - * the duration of the segment is the maximum absolute difference - * between #GstSegment.start and #GstSegment.stop if stop is not - * set, otherwise it should be the difference between those - * two values. This should be set by elements that know the - * overall stream duration (like demuxers) and will be used when - * seeking with #GST_SEEK_TYPE_END. - */ - ulong duration; - void*[4] GstReserved; -} - -struct GstStaticCaps -{ - /** - * the cached #GstCaps - */ - GstCaps* caps; - /** - * a string describing a caps - */ - const(char)* string_; - void*[4] GstReserved; -} - -struct GstStaticPadTemplate -{ - /** - * the name of the template - */ - const(char)* nameTemplate; - /** - * the direction of the template - */ - GstPadDirection direction; - /** - * the presence of the template - */ - GstPadPresence presence; - /** - * the caps of the template. - */ - GstStaticCaps staticCaps; -} - -struct GstStream -{ - GstObject object; - /** - * The Stream Identifier for this #GstStream - */ - const(char)* streamId; - GstStreamPrivate* priv; - void*[4] GstReserved; -} - -/** - * GstStream class structure - */ -struct GstStreamClass -{ - /** - * the parent class structure - */ - GstObjectClass parentClass; - void*[4] GstReserved; -} - -struct GstStreamCollection -{ - GstObject object; - char* upstreamId; - GstStreamCollectionPrivate* priv; - void*[4] GstReserved; -} - -/** - * GstStreamCollection class structure - */ -struct GstStreamCollectionClass -{ - /** - * the parent class structure - */ - GstObjectClass parentClass; - /** */ - extern(C) void function(GstStreamCollection* collection, GstStream* stream, GParamSpec* pspec) streamNotify; - void*[4] GstReserved; -} - -struct GstStreamCollectionPrivate; - -struct GstStreamPrivate; - -struct GstStructure -{ - /** - * the GType of a structure - */ - GType type; - GQuark name; -} - -struct GstSystemClock -{ - GstClock clock; - GstSystemClockPrivate* priv; - void*[4] GstReserved; -} - -struct GstSystemClockClass -{ - GstClockClass parentClass; - void*[4] GstReserved; -} - -struct GstSystemClockPrivate; - -struct GstTagList -{ - /** - * the parent type - */ - GstMiniObject miniObject; -} - -struct GstTagSetter; - -/** - * #GstTagSetterInterface interface. - */ -struct GstTagSetterInterface -{ - /** - * parent interface type. - */ - GTypeInterface gIface; -} - -struct GstTask -{ - GstObject object; - /** - * the state of the task - */ - GstTaskState state; - /** - * used to pause/resume the task - */ - GCond cond; - /** - * The lock taken when iterating the task function - */ - GRecMutex* lock; - /** - * the function executed by this task - */ - GstTaskFunction func; - /** - * user_data passed to the task function - */ - void* userData; - /** - * GDestroyNotify for @user_data - */ - GDestroyNotify notify; - /** - * a flag indicating that the task is running - */ - bool running; - GThread* thread; - GstTaskPrivate* priv; - void*[4] GstReserved; -} - -struct GstTaskClass -{ - GstObjectClass parentClass; - GstTaskPool* pool; - void*[4] GstReserved; -} - -struct GstTaskPool -{ - GstObject object; - GThreadPool* pool; - void*[4] GstReserved; -} - -/** - * The #GstTaskPoolClass object. - */ -struct GstTaskPoolClass -{ - /** - * the parent class structure - */ - GstObjectClass parentClass; - /** */ - extern(C) void function(GstTaskPool* pool, GError** err) prepare; - /** */ - extern(C) void function(GstTaskPool* pool) cleanup; - /** - * - * Params: - * pool = a #GstTaskPool - * func = the function to call - * userData = data to pass to @func - * Returns: a pointer that should be used - * for the gst_task_pool_join function. This pointer can be %NULL, you - * must check @error to detect errors. - * - * Throws: GException on failure. - */ - extern(C) void* function(GstTaskPool* pool, GstTaskPoolFunction func, void* userData, GError** err) push; - /** */ - extern(C) void function(GstTaskPool* pool, void* id) join; - void*[4] GstReserved; -} - -struct GstTaskPrivate; - -/** - * Structure for saving a timestamp and a value. - */ -struct GstTimedValue -{ - /** - * timestamp of the value change - */ - GstClockTime timestamp; - /** - * the corresponding value - */ - double value; -} - -struct GstToc; - -struct GstTocEntry; - -struct GstTocSetter; - -/** - * #GstTocSetterInterface interface. - */ -struct GstTocSetterInterface -{ - /** - * parent interface type. - */ - GTypeInterface gIface; -} - -struct GstTracer -{ - GstObject parent; - GstTracerPrivate* priv; - void*[4] GstReserved; -} - -struct GstTracerClass -{ - GstObjectClass parentClass; - void*[4] GstReserved; -} - -struct GstTracerFactory; - -struct GstTracerFactoryClass; - -struct GstTracerPrivate; - -struct GstTracerRecord; - -struct GstTracerRecordClass; - -struct GstTypeFind -{ - /** */ - extern(C) ubyte* function(void* data, long offset, uint size) peek; - /** */ - extern(C) void function(void* data, uint probability, GstCaps* caps) suggest; - /** - * The data used by the caller of the typefinding function. - */ - void* data; - /** */ - extern(C) ulong function(void* data) getLength; - void*[4] GstReserved; -} - -struct GstTypeFindFactory; - -struct GstTypeFindFactoryClass; - -struct GstURIHandler; - -/** - * Any #GstElement using this interface should implement these methods. - */ -struct GstURIHandlerInterface -{ - /** - * The parent interface type - */ - GTypeInterface parent; - /** */ - extern(C) GstURIType function(GType type) getType; - /** */ - extern(C) char** function(GType type) getProtocols; - /** - * - * Params: - * handler = A #GstURIHandler - * Returns: the URI currently handled by - * the @handler. Returns %NULL if there are no URI currently - * handled. The returned string must be freed with g_free() when no - * longer needed. - */ - extern(C) char* function(GstURIHandler* handler) getUri; - /** - * - * Params: - * handler = A #GstURIHandler - * uri = URI to set - * Returns: %TRUE if the URI was set successfully, else %FALSE. - * - * Throws: GException on failure. - */ - extern(C) int function(GstURIHandler* handler, const(char)* uri, GError** err) setUri; -} - -struct GstUri; - -struct GstValueArray; - -struct GstValueList; - -/** - * VTable for the #GValue @type. - */ -struct GstValueTable -{ - /** - * a #GType - */ - GType type; - /** - * a #GstValueCompareFunc - */ - GstValueCompareFunc compare; - /** - * a #GstValueSerializeFunc - */ - GstValueSerializeFunc serialize; - /** - * a #GstValueDeserializeFunc - */ - GstValueDeserializeFunc deserialize; - void*[4] GstReserved; -} - -/** - * A function that will be called from gst_buffer_foreach_meta(). The @meta - * field will point to a the reference of the meta. - * - * @buffer should not be modified from this callback. - * - * When this function returns %TRUE, the next meta will be - * returned. When %FALSE is returned, gst_buffer_foreach_meta() will return. - * - * When @meta is set to %NULL, the item will be removed from the buffer. - * - * Params: - * buffer = a #GstBuffer - * meta = a pointer to a #GstMeta - * userData = user data passed to gst_buffer_foreach_meta() - * - * Returns: %FALSE when gst_buffer_foreach_meta() should stop - */ -public alias extern(C) int function(GstBuffer* buffer, GstMeta** meta, void* userData) GstBufferForeachMetaFunc; - -/** - * A function that will be called from gst_buffer_list_foreach(). The @buffer - * field will point to a the reference of the buffer at @idx. - * - * When this function returns %TRUE, the next buffer will be - * returned. When %FALSE is returned, gst_buffer_list_foreach() will return. - * - * When @buffer is set to %NULL, the item will be removed from the bufferlist. - * When @buffer has been made writable, the new buffer reference can be assigned - * to @buffer. This function is responsible for unreffing the old buffer when - * removing or modifying. - * - * Params: - * buffer = pointer the buffer - * idx = the index of @buffer - * userData = user data passed to gst_buffer_list_foreach() - * - * Returns: %FALSE when gst_buffer_list_foreach() should stop - */ -public alias extern(C) int function(GstBuffer** buffer, uint idx, void* userData) GstBufferListFunc; - -/** - * Specifies the type of function passed to gst_bus_add_watch() or - * gst_bus_add_watch_full(), which is called from the mainloop when a message - * is available on the bus. - * - * The message passed to the function will be unreffed after execution of this - * function so it should not be freed in the function. - * - * Note that this function is used as a GSourceFunc which means that returning - * %FALSE will remove the GSource from the mainloop. - * - * Params: - * bus = the #GstBus that sent the message - * message = the #GstMessage - * userData = user data that has been given, when registering the handler - * - * Returns: %FALSE if the event source should be removed. - */ -public alias extern(C) int function(GstBus* bus, GstMessage* message, void* userData) GstBusFunc; - -/** - * Handler will be invoked synchronously, when a new message has been injected - * into the bus. This function is mostly used internally. Only one sync handler - * can be attached to a given bus. - * - * If the handler returns GST_BUS_DROP, it should unref the message, else the - * message should not be unreffed by the sync handler. - * - * Params: - * bus = the #GstBus that sent the message - * message = the #GstMessage - * userData = user data that has been given, when registering the handler - * - * Returns: #GstBusSyncReply stating what to do with the message - */ -public alias extern(C) GstBusSyncReply function(GstBus* bus, GstMessage* message, void* userData) GstBusSyncHandler; - -/** - * A function that will be called in gst_caps_filter_and_map_in_place(). - * The function may modify @features and @structure, and both will be - * removed from the caps if %FALSE is returned. - * - * Params: - * features = the #GstCapsFeatures - * structure = the #GstStructure - * userData = user data - * - * Returns: %TRUE if the features and structure should be preserved, - * %FALSE if it should be removed. - */ -public alias extern(C) int function(GstCapsFeatures* features, GstStructure* structure, void* userData) GstCapsFilterMapFunc; - -/** - * A function that will be called in gst_caps_foreach(). The function may - * not modify @features or @structure. - * - * Params: - * features = the #GstCapsFeatures - * structure = the #GstStructure - * userData = user data - * - * Returns: %TRUE if the foreach operation should continue, %FALSE if - * the foreach operation should stop with %FALSE. - * - * Since: 1.6 - */ -public alias extern(C) int function(GstCapsFeatures* features, GstStructure* structure, void* userData) GstCapsForeachFunc; - -/** - * A function that will be called in gst_caps_map_in_place(). The function - * may modify @features and @structure. - * - * Params: - * features = the #GstCapsFeatures - * structure = the #GstStructure - * userData = user data - * - * Returns: %TRUE if the map operation should continue, %FALSE if - * the map operation should stop with %FALSE. - */ -public alias extern(C) int function(GstCapsFeatures* features, GstStructure* structure, void* userData) GstCapsMapFunc; - -/** - * The function prototype of the callback. - * - * Params: - * clock = The clock that triggered the callback - * time = The time it was triggered - * id = The #GstClockID that expired - * userData = user data passed in the gst_clock_id_wait_async() function - * - * Returns: %TRUE or %FALSE (currently unused) - */ -public alias extern(C) int function(GstClock* clock, GstClockTime time, GstClockID id, void* userData) GstClockCallback; - -/** - * FIXME(2.0): remove, this is unused - */ -public alias extern(C) void function(GstControlBinding* binding, double srcValue, GValue* destValue) GstControlBindingConvert; - -/** - * Function for returning a value for a given timestamp. - * - * Params: - * self = the #GstControlSource instance - * timestamp = timestamp for which a value should be calculated - * value = a value which will be set to the result. - * - * Returns: %TRUE if the value was successfully calculated. - */ -public alias extern(C) int function(GstControlSource* self, GstClockTime timestamp, double* value) GstControlSourceGetValue; - -/** - * Function for returning an array of values for starting at a given timestamp. - * - * Params: - * self = the #GstControlSource instance - * timestamp = timestamp for which a value should be calculated - * interval = the time spacing between subsequent values - * nValues = the number of values - * values = array to put control-values in - * - * Returns: %TRUE if the values were successfully calculated. - */ -public alias extern(C) int function(GstControlSource* self, GstClockTime timestamp, GstClockTime interval, uint nValues, double* values) GstControlSourceGetValueArray; - -/** - * we define this to avoid a compiler warning regarding a cast from a function - * pointer to a void pointer - * (see https://bugzilla.gnome.org/show_bug.cgi?id=309253) - */ -public alias extern(C) void function() GstDebugFuncPtr; - -/** - * Callback prototype used in #gst_element_call_async - * - * Params: - * element = The #GstElement this function has been called against - * userData = Data passed in the function where that callback has been passed - */ -public alias extern(C) void function(GstElement* element, void* userData) GstElementCallAsyncFunc; - -/** - * Function called for each pad when using gst_element_foreach_sink_pad(), - * gst_element_foreach_src_pad(), or gst_element_foreach_pad(). - * - * Params: - * element = the #GstElement - * pad = a #GstPad - * userData = user data passed to the foreach function - * - * Returns: %FALSE to stop iterating pads, %TRUE to continue - * - * Since: 1.14 - */ -public alias extern(C) int function(GstElement* element, GstPad* pad, void* userData) GstElementForeachPadFunc; - -/** - * This function will be called when creating a copy of @it and should - * create a copy of all custom iterator fields or increase their - * reference counts. - * - * Params: - * it = The original iterator - * copy = The copied iterator - */ -public alias extern(C) void function(GstIterator* it, GstIterator* copy) GstIteratorCopyFunction; - -/** - * A function to be passed to gst_iterator_fold(). - * - * Params: - * item = the item to fold - * ret = a #GValue collecting the result - * userData = data passed to gst_iterator_fold() - * - * Returns: %TRUE if the fold should continue, %FALSE if it should stop. - */ -public alias extern(C) int function(GValue* item, GValue* ret, void* userData) GstIteratorFoldFunction; - -/** - * A function that is called by gst_iterator_foreach() for every element. - * - * Params: - * item = The item - * userData = User data - */ -public alias extern(C) void function(GValue* item, void* userData) GstIteratorForeachFunction; - -/** - * This function will be called when the iterator is freed. - * - * Implementors of a #GstIterator should implement this - * function and pass it to the constructor of the custom iterator. - * The function will be called with the iterator lock held. - * - * Params: - * it = the iterator - */ -public alias extern(C) void function(GstIterator* it) GstIteratorFreeFunction; - -/** - * The function that will be called after the next item of the iterator - * has been retrieved. This function can be used to skip items or stop - * the iterator. - * - * The function will be called with the iterator lock held. - * - * Params: - * it = the iterator - * item = the item being retrieved. - * - * Returns: the result of the operation. - */ -public alias extern(C) GstIteratorItem function(GstIterator* it, GValue* item) GstIteratorItemFunction; - -/** - * The function that will be called when the next element of the iterator - * should be retrieved. - * - * Implementors of a #GstIterator should implement this - * function and pass it to the constructor of the custom iterator. - * The function will be called with the iterator lock held. - * - * Params: - * it = the iterator - * result = a pointer to hold the next item - * - * Returns: the result of the operation. - */ -public alias extern(C) GstIteratorResult function(GstIterator* it, GValue* result) GstIteratorNextFunction; - -/** - * This function will be called whenever a concurrent update happened - * to the iterated datastructure. The implementor of the iterator should - * restart the iterator from the beginning and clean up any state it might - * have. - * - * Implementors of a #GstIterator should implement this - * function and pass it to the constructor of the custom iterator. - * The function will be called with the iterator lock held. - * - * Params: - * it = the iterator - */ -public alias extern(C) void function(GstIterator* it) GstIteratorResyncFunction; - -/** - * Function prototype for a logging function that can be registered with - * gst_debug_add_log_function(). - * Use G_GNUC_NO_INSTRUMENT on that function. - * - * Params: - * category = a #GstDebugCategory - * level = a #GstDebugLevel - * file = file name - * function_ = function name - * line = line number - * object = a #GObject - * message = the message - * userData = user data for the log function - */ -public alias extern(C) void function(GstDebugCategory* category, GstDebugLevel level, const(char)* file, const(char)* function_, int line, GObject* object, GstDebugMessage* message, void* userData) GstLogFunction; - -/** - * Copy @size bytes from @mem starting at @offset and return them wrapped in a - * new GstMemory object. - * If @size is set to -1, all bytes starting at @offset are copied. - * - * Params: - * mem = a #GstMemory - * offset = an offset - * size = a size or -1 - * - * Returns: a new #GstMemory object wrapping a copy of the requested region in - * @mem. - */ -public alias extern(C) GstMemory* function(GstMemory* mem, ptrdiff_t offset, ptrdiff_t size) GstMemoryCopyFunction; - -/** - * Check if @mem1 and @mem2 occupy contiguous memory and return the offset of - * @mem1 in the parent buffer in @offset. - * - * Params: - * mem1 = a #GstMemory - * mem2 = a #GstMemory - * offset = a result offset - * - * Returns: %TRUE if @mem1 and @mem2 are in contiguous memory. - */ -public alias extern(C) int function(GstMemory* mem1, GstMemory* mem2, size_t* offset) GstMemoryIsSpanFunction; - -/** - * Get the memory of @mem that can be accessed according to the mode specified - * in @info's flags. The function should return a pointer that contains at least - * @maxsize bytes. - * - * Params: - * mem = a #GstMemory - * info = the #GstMapInfo to map with - * maxsize = size to map - * - * Returns: a pointer to memory of which at least @maxsize bytes can be - * accessed according to the access pattern in @info's flags. - */ -public alias extern(C) void* function(GstMemory* mem, GstMapInfo* info, size_t maxsize) GstMemoryMapFullFunction; - -/** - * Get the memory of @mem that can be accessed according to the mode specified - * in @flags. The function should return a pointer that contains at least - * @maxsize bytes. - * - * Params: - * mem = a #GstMemory - * maxsize = size to map - * flags = access mode for the memory - * - * Returns: a pointer to memory of which at least @maxsize bytes can be - * accessed according to the access pattern in @flags. - */ -public alias extern(C) void* function(GstMemory* mem, size_t maxsize, GstMapFlags flags) GstMemoryMapFunction; - -/** - * Share @size bytes from @mem starting at @offset and return them wrapped in a - * new GstMemory object. If @size is set to -1, all bytes starting at @offset are - * shared. This function does not make a copy of the bytes in @mem. - * - * Params: - * mem = a #GstMemory - * offset = an offset - * size = a size or -1 - * - * Returns: a new #GstMemory object sharing the requested region in @mem. - */ -public alias extern(C) GstMemory* function(GstMemory* mem, ptrdiff_t offset, ptrdiff_t size) GstMemoryShareFunction; - -/** - * Release the pointer previously retrieved with gst_memory_map() with @info. - * - * Params: - * mem = a #GstMemory - * info = a #GstMapInfo - */ -public alias extern(C) void function(GstMemory* mem, GstMapInfo* info) GstMemoryUnmapFullFunction; - -/** - * Release the pointer previously retrieved with gst_memory_map(). - * - * Params: - * mem = a #GstMemory - */ -public alias extern(C) void function(GstMemory* mem) GstMemoryUnmapFunction; - -/** - * Function called when @meta is freed in @buffer. - * - * Params: - * meta = a #GstMeta - * buffer = a #GstBuffer - */ -public alias extern(C) void function(GstMeta* meta, GstBuffer* buffer) GstMetaFreeFunction; - -/** - * Function called when @meta is initialized in @buffer. - * - * Params: - * meta = a #GstMeta - * params = parameters passed to the init function - * buffer = a #GstBuffer - */ -public alias extern(C) int function(GstMeta* meta, void* params, GstBuffer* buffer) GstMetaInitFunction; - -/** - * Function called for each @meta in @buffer as a result of performing a - * transformation on @transbuf. Additional @type specific transform data - * is passed to the function as @data. - * - * Implementations should check the @type of the transform and parse - * additional type specific fields in @data that should be used to update - * the metadata on @transbuf. - * - * Params: - * transbuf = a #GstBuffer - * meta = a #GstMeta - * buffer = a #GstBuffer - * type = the transform type - * data = transform specific data. - * - * Returns: %TRUE if the transform could be performed - */ -public alias extern(C) int function(GstBuffer* transbuf, GstMeta* meta, GstBuffer* buffer, GQuark type, void* data) GstMetaTransformFunction; - -/** - * Function prototype for methods to create copies of instances. - * - * Params: - * obj = MiniObject to copy - * - * Returns: reference to cloned instance. - */ -public alias extern(C) GstMiniObject* function(GstMiniObject* obj) GstMiniObjectCopyFunction; - -/** - * Function prototype for when a miniobject has lost its last refcount. - * Implementation of the mini object are allowed to revive the - * passed object by doing a gst_mini_object_ref(). If the object is not - * revived after the dispose function, the function should return %TRUE - * and the memory associated with the object is freed. - * - * Params: - * obj = MiniObject to dispose - * - * Returns: %TRUE if the object should be cleaned up. - */ -public alias extern(C) int function(GstMiniObject* obj) GstMiniObjectDisposeFunction; - -/** - * Virtual function prototype for methods to free resources used by - * mini-objects. - * - * Params: - * obj = MiniObject to free - */ -public alias extern(C) void function(GstMiniObject* obj) GstMiniObjectFreeFunction; - -/** - * A #GstMiniObjectNotify function can be added to a mini object as a - * callback that gets triggered when gst_mini_object_unref() drops the - * last ref and @obj is about to be freed. - * - * Params: - * userData = data that was provided when the notify was added - * obj = the mini object - */ -public alias extern(C) void function(void* userData, GstMiniObject* obj) GstMiniObjectNotify; - -/** - * This function is called when the pad is activated during the element - * READY to PAUSED state change. By default this function will call the - * activate function that puts the pad in push mode but elements can - * override this function to activate the pad in pull mode if they wish. - * - * Params: - * pad = a #GstPad - * parent = the parent of @pad - * - * Returns: %TRUE if the pad could be activated. - */ -public alias extern(C) int function(GstPad* pad, GstObject* parent) GstPadActivateFunction; - -/** - * The prototype of the push and pull activate functions. - * - * Params: - * pad = a #GstPad - * parent = the parent of @pad - * mode = the requested activation mode of @pad - * active = activate or deactivate the pad. - * - * Returns: %TRUE if the pad could be activated or deactivated. - */ -public alias extern(C) int function(GstPad* pad, GstObject* parent, GstPadMode mode, int active) GstPadActivateModeFunction; - -/** - * A function that will be called on sinkpads when chaining buffers. - * The function typically processes the data contained in the buffer and - * either consumes the data or passes it on to the internally linked pad(s). - * - * The implementer of this function receives a refcount to @buffer and should - * gst_buffer_unref() when the buffer is no longer needed. - * - * When a chain function detects an error in the data stream, it must post an - * error on the bus and return an appropriate #GstFlowReturn value. - * - * Params: - * pad = the sink #GstPad that performed the chain. - * parent = the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT - * flag is set, @parent is guaranteed to be not-%NULL and remain valid - * during the execution of this function. - * buffer = the #GstBuffer that is chained, not %NULL. - * - * Returns: #GST_FLOW_OK for success - */ -public alias extern(C) GstFlowReturn function(GstPad* pad, GstObject* parent, GstBuffer* buffer) GstPadChainFunction; - -/** - * A function that will be called on sinkpads when chaining buffer lists. - * The function typically processes the data contained in the buffer list and - * either consumes the data or passes it on to the internally linked pad(s). - * - * The implementer of this function receives a refcount to @list and - * should gst_buffer_list_unref() when the list is no longer needed. - * - * When a chainlist function detects an error in the data stream, it must - * post an error on the bus and return an appropriate #GstFlowReturn value. - * - * Params: - * pad = the sink #GstPad that performed the chain. - * parent = the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT - * flag is set, @parent is guaranteed to be not-%NULL and remain valid - * during the execution of this function. - * list = the #GstBufferList that is chained, not %NULL. - * - * Returns: #GST_FLOW_OK for success - */ -public alias extern(C) GstFlowReturn function(GstPad* pad, GstObject* parent, GstBufferList* list) GstPadChainListFunction; - -/** - * Function signature to handle an event for the pad. - * - * This variant is for specific elements that will take into account the - * last downstream flow return (from a pad push), in which case they can - * return it. - * - * Params: - * pad = the #GstPad to handle the event. - * parent = the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT - * flag is set, @parent is guaranteed to be not-%NULL and remain valid - * during the execution of this function. - * event = the #GstEvent to handle. - * - * Returns: %GST_FLOW_OK if the event was handled properly, or any other - * #GstFlowReturn dependent on downstream state. - * - * Since: 1.8 - */ -public alias extern(C) GstFlowReturn function(GstPad* pad, GstObject* parent, GstEvent* event) GstPadEventFullFunction; - -/** - * Function signature to handle an event for the pad. - * - * Params: - * pad = the #GstPad to handle the event. - * parent = the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT - * flag is set, @parent is guaranteed to be not-%NULL and remain valid - * during the execution of this function. - * event = the #GstEvent to handle. - * - * Returns: %TRUE if the pad could handle the event. - */ -public alias extern(C) int function(GstPad* pad, GstObject* parent, GstEvent* event) GstPadEventFunction; - -/** - * A forward function is called for all internally linked pads, see - * gst_pad_forward(). - * - * Params: - * pad = the #GstPad that is forwarded. - * userData = the gpointer to optional user data. - * - * Returns: %TRUE if the dispatching procedure has to be stopped. - */ -public alias extern(C) int function(GstPad* pad, void* userData) GstPadForwardFunction; - -/** - * This function will be called on source pads when a peer element - * request a buffer at the specified @offset and @length. If this function - * returns #GST_FLOW_OK, the result buffer will be stored in @buffer. The - * contents of @buffer is invalid for any other return value. - * - * This function is installed on a source pad with - * gst_pad_set_getrange_function() and can only be called on source pads after - * they are successfully activated with gst_pad_activate_mode() with the - * #GST_PAD_MODE_PULL. - * - * @offset and @length are always given in byte units. @offset must normally be a value - * between 0 and the length in bytes of the data available on @pad. The - * length (duration in bytes) can be retrieved with a #GST_QUERY_DURATION or with a - * #GST_QUERY_SEEKING. - * - * Any @offset larger or equal than the length will make the function return - * #GST_FLOW_EOS, which corresponds to EOS. In this case @buffer does not - * contain a valid buffer. - * - * The buffer size of @buffer will only be smaller than @length when @offset is - * near the end of the stream. In all other cases, the size of @buffer must be - * exactly the requested size. - * - * It is allowed to call this function with a 0 @length and valid @offset, in - * which case @buffer will contain a 0-sized buffer and the function returns - * #GST_FLOW_OK. - * - * When this function is called with a -1 @offset, the sequentially next buffer - * of length @length in the stream is returned. - * - * When this function is called with a -1 @length, a buffer with a default - * optimal length is returned in @buffer. The length might depend on the value - * of @offset. - * - * Params: - * pad = the src #GstPad to perform the getrange on. - * parent = the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT - * flag is set, @parent is guaranteed to be not-%NULL and remain valid - * during the execution of this function. - * offset = the offset of the range - * length = the length of the range - * buffer = a memory location to hold the result buffer, cannot be %NULL. - * - * Returns: #GST_FLOW_OK for success and a valid buffer in @buffer. Any other - * return value leaves @buffer undefined. - */ -public alias extern(C) GstFlowReturn function(GstPad* pad, GstObject* parent, ulong offset, uint length, GstBuffer** buffer) GstPadGetRangeFunction; - -/** - * The signature of the internal pad link iterator function. - * - * Params: - * pad = The #GstPad to query. - * parent = the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT - * flag is set, @parent is guaranteed to be not-%NULL and remain valid - * during the execution of this function. - * - * Returns: a new #GstIterator that will iterate over all pads that are - * linked to the given pad on the inside of the parent element. - * - * the caller must call gst_iterator_free() after usage. - */ -public alias extern(C) GstIterator* function(GstPad* pad, GstObject* parent) GstPadIterIntLinkFunction; - -/** - * Function signature to handle a new link on the pad. - * - * Params: - * pad = the #GstPad that is linked. - * parent = the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT - * flag is set, @parent is guaranteed to be not-%NULL and remain valid - * during the execution of this function. - * peer = the peer #GstPad of the link - * - * Returns: the result of the link with the specified peer. - */ -public alias extern(C) GstPadLinkReturn function(GstPad* pad, GstObject* parent, GstPad* peer) GstPadLinkFunction; - -/** - * Callback used by gst_pad_add_probe(). Gets called to notify about the current - * blocking type. - * - * The callback is allowed to modify the data pointer in @info. - * - * Params: - * pad = the #GstPad that is blocked - * info = #GstPadProbeInfo - * userData = the gpointer to optional user data. - * - * Returns: a #GstPadProbeReturn - */ -public alias extern(C) GstPadProbeReturn function(GstPad* pad, GstPadProbeInfo* info, void* userData) GstPadProbeCallback; - -/** - * The signature of the query function. - * - * Params: - * pad = the #GstPad to query. - * parent = the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT - * flag is set, @parent is guaranteed to be not-%NULL and remain valid - * during the execution of this function. - * query = the #GstQuery object to execute - * - * Returns: %TRUE if the query could be performed. - */ -public alias extern(C) int function(GstPad* pad, GstObject* parent, GstQuery* query) GstPadQueryFunction; - -/** - * Callback used by gst_pad_sticky_events_foreach(). - * - * When this function returns %TRUE, the next event will be - * returned. When %FALSE is returned, gst_pad_sticky_events_foreach() will return. - * - * When @event is set to %NULL, the item will be removed from the list of sticky events. - * @event can be replaced by assigning a new reference to it. - * This function is responsible for unreffing the old event when - * removing or modifying. - * - * Params: - * pad = the #GstPad. - * event = a sticky #GstEvent. - * userData = the #gpointer to optional user data. - * - * Returns: %TRUE if the iteration should continue - */ -public alias extern(C) int function(GstPad* pad, GstEvent** event, void* userData) GstPadStickyEventsForeachFunction; - -/** - * Function signature to handle a unlinking the pad prom its peer. - * - * The pad's lock is already held when the unlink function is called, so most - * pad functions cannot be called from within the callback. - * - * Params: - * pad = the #GstPad that is linked. - * parent = the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT - * flag is set, @parent is guaranteed to be not-%NULL and remain valid - * during the execution of this function. - */ -public alias extern(C) void function(GstPad* pad, GstObject* parent) GstPadUnlinkFunction; - -/** - * A function that can be used with e.g. gst_registry_feature_filter() - * to get a list of pluginfeature that match certain criteria. - * - * Params: - * feature = the pluginfeature to check - * userData = the user_data that has been passed on e.g. - * gst_registry_feature_filter() - * - * Returns: %TRUE for a positive match, %FALSE otherwise - */ -public alias extern(C) int function(GstPluginFeature* feature, void* userData) GstPluginFeatureFilter; - -/** - * A function that can be used with e.g. gst_registry_plugin_filter() - * to get a list of plugins that match certain criteria. - * - * Params: - * plugin = the plugin to check - * userData = the user_data that has been passed on e.g. gst_registry_plugin_filter() - * - * Returns: %TRUE for a positive match, %FALSE otherwise - */ -public alias extern(C) int function(GstPlugin* plugin, void* userData) GstPluginFilter; - -/** - * A plugin should provide a pointer to a function of either #GstPluginInitFunc - * or this type in the plugin_desc struct. - * The function will be called by the loader at startup. One would then - * register each #GstPluginFeature. This version allows - * user data to be passed to init function (useful for bindings). - * - * Params: - * plugin = The plugin object - * userData = extra data - * - * Returns: %TRUE if plugin initialised successfully - */ -public alias extern(C) int function(GstPlugin* plugin, void* userData) GstPluginInitFullFunc; - -/** - * A plugin should provide a pointer to a function of this type in the - * plugin_desc struct. - * This function will be called by the loader at startup. One would then - * register each #GstPluginFeature. - * - * Params: - * plugin = The plugin object - * - * Returns: %TRUE if plugin initialised successfully - */ -public alias extern(C) int function(GstPlugin* plugin) GstPluginInitFunc; - -/** */ -public alias extern(C) void function(GstPromise* promise, void* userData) GstPromiseChangeFunc; - -/** - * A function that will be called in gst_structure_filter_and_map_in_place(). - * The function may modify @value, and the value will be removed from - * the structure if %FALSE is returned. - * - * Params: - * fieldId = the #GQuark of the field name - * value = the #GValue of the field - * userData = user data - * - * Returns: %TRUE if the field should be preserved, %FALSE if it - * should be removed. - */ -public alias extern(C) int function(GQuark fieldId, GValue* value, void* userData) GstStructureFilterMapFunc; - -/** - * A function that will be called in gst_structure_foreach(). The function may - * not modify @value. - * - * Params: - * fieldId = the #GQuark of the field name - * value = the #GValue of the field - * userData = user data - * - * Returns: %TRUE if the foreach operation should continue, %FALSE if - * the foreach operation should stop with %FALSE. - */ -public alias extern(C) int function(GQuark fieldId, GValue* value, void* userData) GstStructureForeachFunc; - -/** - * A function that will be called in gst_structure_map_in_place(). The function - * may modify @value. - * - * Params: - * fieldId = the #GQuark of the field name - * value = the #GValue of the field - * userData = user data - * - * Returns: %TRUE if the map operation should continue, %FALSE if - * the map operation should stop with %FALSE. - */ -public alias extern(C) int function(GQuark fieldId, GValue* value, void* userData) GstStructureMapFunc; - -/** - * A function that will be called in gst_tag_list_foreach(). The function may - * not modify the tag list. - * - * Params: - * list = the #GstTagList - * tag = a name of a tag in @list - * userData = user data - */ -public alias extern(C) void function(GstTagList* list, const(char)* tag, void* userData) GstTagForeachFunc; - -/** - * A function for merging multiple values of a tag used when registering - * tags. - * - * Params: - * dest = the destination #GValue - * src = the source #GValue - */ -public alias extern(C) void function(GValue* dest, GValue* src) GstTagMergeFunc; - -/** - * A function that will repeatedly be called in the thread created by - * a #GstTask. - * - * Params: - * userData = user data passed to the function - */ -public alias extern(C) void function(void* userData) GstTaskFunction; - -/** - * Task function, see gst_task_pool_push(). - * - * Params: - * userData = user data for the task function - */ -public alias extern(C) void function(void* userData) GstTaskPoolFunction; - -/** - * Custom GstTask thread callback functions that can be installed. - * - * Params: - * task = The #GstTask - * thread = The #GThread - * userData = user data - */ -public alias extern(C) void function(GstTask* task, GThread* thread, void* userData) GstTaskThreadFunc; - -/** - * A function that will be called by typefinding. - * - * Params: - * find = A #GstTypeFind structure - * userData = optional data to pass to the function - */ -public alias extern(C) void function(GstTypeFind* find, void* userData) GstTypeFindFunction; - -/** - * Used together with gst_value_compare() to compare #GValue items. - * - * Params: - * value1 = first value for comparison - * value2 = second value for comparison - * - * Returns: one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN - * or GST_VALUE_UNORDERED - */ -public alias extern(C) int function(GValue* value1, GValue* value2) GstValueCompareFunc; - -/** - * Used by gst_value_deserialize() to parse a non-binary form into the #GValue. - * - * Params: - * dest = a #GValue - * s = a string - * - * Returns: %TRUE for success - */ -public alias extern(C) int function(GValue* dest, const(char)* s) GstValueDeserializeFunc; - -/** - * Used by gst_value_serialize() to obtain a non-binary form of the #GValue. - * - * Free-function: g_free - * - * Params: - * value1 = a #GValue - * - * Returns: the string representation of the value - */ -public alias extern(C) char* function(GValue* value1) GstValueSerializeFunc; - -/** - * The allocator name for the default system memory allocator - */ -enum ALLOCATOR_SYSMEM = "SystemMemory"; -alias GST_ALLOCATOR_SYSMEM = ALLOCATOR_SYSMEM; - -/** - * Combination of all possible fields that can be copied with - * gst_buffer_copy_into(). - */ -enum BUFFER_COPY_ALL = 15; -alias GST_BUFFER_COPY_ALL = BUFFER_COPY_ALL; - -/** - * Combination of all possible metadata fields that can be copied with - * gst_buffer_copy_into(). - */ -enum BUFFER_COPY_METADATA = 7; -alias GST_BUFFER_COPY_METADATA = BUFFER_COPY_METADATA; - -/** - * Constant for no-offset return results. - */ -enum BUFFER_OFFSET_NONE = 18446744073709551615UL; -alias GST_BUFFER_OFFSET_NONE = BUFFER_OFFSET_NONE; - -enum CAN_INLINE = 1; -alias GST_CAN_INLINE = CAN_INLINE; - -enum CAPS_FEATURE_MEMORY_SYSTEM_MEMORY = "memory:SystemMemory"; -alias GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY = CAPS_FEATURE_MEMORY_SYSTEM_MEMORY; - -/** - * Constant to define an undefined clock time. - */ -enum CLOCK_TIME_NONE = 18446744073709551615UL; -alias GST_CLOCK_TIME_NONE = CLOCK_TIME_NONE; - -enum DEBUG_BG_MASK = 240; -alias GST_DEBUG_BG_MASK = DEBUG_BG_MASK; - -enum DEBUG_FG_MASK = 15; -alias GST_DEBUG_FG_MASK = DEBUG_FG_MASK; - -enum DEBUG_FORMAT_MASK = 65280; -alias GST_DEBUG_FORMAT_MASK = DEBUG_FORMAT_MASK; - -enum ELEMENT_FACTORY_KLASS_DECODER = "Decoder"; -alias GST_ELEMENT_FACTORY_KLASS_DECODER = ELEMENT_FACTORY_KLASS_DECODER; - -enum ELEMENT_FACTORY_KLASS_DECRYPTOR = "Decryptor"; -alias GST_ELEMENT_FACTORY_KLASS_DECRYPTOR = ELEMENT_FACTORY_KLASS_DECRYPTOR; - -enum ELEMENT_FACTORY_KLASS_DEMUXER = "Demuxer"; -alias GST_ELEMENT_FACTORY_KLASS_DEMUXER = ELEMENT_FACTORY_KLASS_DEMUXER; - -enum ELEMENT_FACTORY_KLASS_DEPAYLOADER = "Depayloader"; -alias GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER = ELEMENT_FACTORY_KLASS_DEPAYLOADER; - -enum ELEMENT_FACTORY_KLASS_ENCODER = "Encoder"; -alias GST_ELEMENT_FACTORY_KLASS_ENCODER = ELEMENT_FACTORY_KLASS_ENCODER; - -enum ELEMENT_FACTORY_KLASS_ENCRYPTOR = "Encryptor"; -alias GST_ELEMENT_FACTORY_KLASS_ENCRYPTOR = ELEMENT_FACTORY_KLASS_ENCRYPTOR; - -enum ELEMENT_FACTORY_KLASS_FORMATTER = "Formatter"; -alias GST_ELEMENT_FACTORY_KLASS_FORMATTER = ELEMENT_FACTORY_KLASS_FORMATTER; - -/** - * Elements interacting with hardware devices should specify this classifier in - * their metadata. You may need to put the element in "READY" state to test if - * the hardware is present in the system. - */ -enum ELEMENT_FACTORY_KLASS_HARDWARE = "Hardware"; -alias GST_ELEMENT_FACTORY_KLASS_HARDWARE = ELEMENT_FACTORY_KLASS_HARDWARE; - -enum ELEMENT_FACTORY_KLASS_MEDIA_AUDIO = "Audio"; -alias GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO = ELEMENT_FACTORY_KLASS_MEDIA_AUDIO; - -enum ELEMENT_FACTORY_KLASS_MEDIA_IMAGE = "Image"; -alias GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE = ELEMENT_FACTORY_KLASS_MEDIA_IMAGE; - -enum ELEMENT_FACTORY_KLASS_MEDIA_METADATA = "Metadata"; -alias GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA = ELEMENT_FACTORY_KLASS_MEDIA_METADATA; - -enum ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE = "Subtitle"; -alias GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE = ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE; - -enum ELEMENT_FACTORY_KLASS_MEDIA_VIDEO = "Video"; -alias GST_ELEMENT_FACTORY_KLASS_MEDIA_VIDEO = ELEMENT_FACTORY_KLASS_MEDIA_VIDEO; - -enum ELEMENT_FACTORY_KLASS_MUXER = "Muxer"; -alias GST_ELEMENT_FACTORY_KLASS_MUXER = ELEMENT_FACTORY_KLASS_MUXER; - -enum ELEMENT_FACTORY_KLASS_PARSER = "Parser"; -alias GST_ELEMENT_FACTORY_KLASS_PARSER = ELEMENT_FACTORY_KLASS_PARSER; - -enum ELEMENT_FACTORY_KLASS_PAYLOADER = "Payloader"; -alias GST_ELEMENT_FACTORY_KLASS_PAYLOADER = ELEMENT_FACTORY_KLASS_PAYLOADER; - -enum ELEMENT_FACTORY_KLASS_SINK = "Sink"; -alias GST_ELEMENT_FACTORY_KLASS_SINK = ELEMENT_FACTORY_KLASS_SINK; - -enum ELEMENT_FACTORY_KLASS_SRC = "Source"; -alias GST_ELEMENT_FACTORY_KLASS_SRC = ELEMENT_FACTORY_KLASS_SRC; - -/** - * Elements of any of the defined GST_ELEMENT_FACTORY_LIST types - */ -enum ELEMENT_FACTORY_TYPE_ANY = 562949953421311UL; -alias GST_ELEMENT_FACTORY_TYPE_ANY = ELEMENT_FACTORY_TYPE_ANY; - -/** - * All sinks handling audio, video or image media types - */ -enum ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS = 3940649673949188UL; -alias GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS = ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS; - -/** - * All encoders handling audio media types - */ -enum ELEMENT_FACTORY_TYPE_AUDIO_ENCODER = 1125899906842626UL; -alias GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER = ELEMENT_FACTORY_TYPE_AUDIO_ENCODER; - -/** - * All elements used to 'decode' streams (decoders, demuxers, parsers, depayloaders) - */ -enum ELEMENT_FACTORY_TYPE_DECODABLE = 1377UL; -alias GST_ELEMENT_FACTORY_TYPE_DECODABLE = ELEMENT_FACTORY_TYPE_DECODABLE; - -enum ELEMENT_FACTORY_TYPE_DECODER = 1UL; -alias GST_ELEMENT_FACTORY_TYPE_DECODER = ELEMENT_FACTORY_TYPE_DECODER; - -enum ELEMENT_FACTORY_TYPE_DECRYPTOR = 1024UL; -alias GST_ELEMENT_FACTORY_TYPE_DECRYPTOR = ELEMENT_FACTORY_TYPE_DECRYPTOR; - -enum ELEMENT_FACTORY_TYPE_DEMUXER = 32UL; -alias GST_ELEMENT_FACTORY_TYPE_DEMUXER = ELEMENT_FACTORY_TYPE_DEMUXER; - -enum ELEMENT_FACTORY_TYPE_DEPAYLOADER = 256UL; -alias GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER = ELEMENT_FACTORY_TYPE_DEPAYLOADER; - -enum ELEMENT_FACTORY_TYPE_ENCODER = 2UL; -alias GST_ELEMENT_FACTORY_TYPE_ENCODER = ELEMENT_FACTORY_TYPE_ENCODER; - -enum ELEMENT_FACTORY_TYPE_ENCRYPTOR = 2048UL; -alias GST_ELEMENT_FACTORY_TYPE_ENCRYPTOR = ELEMENT_FACTORY_TYPE_ENCRYPTOR; - -enum ELEMENT_FACTORY_TYPE_FORMATTER = 512UL; -alias GST_ELEMENT_FACTORY_TYPE_FORMATTER = ELEMENT_FACTORY_TYPE_FORMATTER; - -enum ELEMENT_FACTORY_TYPE_HARDWARE = 4096UL; -alias GST_ELEMENT_FACTORY_TYPE_HARDWARE = ELEMENT_FACTORY_TYPE_HARDWARE; - -enum ELEMENT_FACTORY_TYPE_MAX_ELEMENTS = 281474976710656UL; -alias GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS = ELEMENT_FACTORY_TYPE_MAX_ELEMENTS; - -/** - * Elements matching any of the defined GST_ELEMENT_FACTORY_TYPE_MEDIA types - * - * Note: Do not use this if you wish to not filter against any of the defined - * media types. If you wish to do this, simply don't specify any - * GST_ELEMENT_FACTORY_TYPE_MEDIA flag. - */ -enum ELEMENT_FACTORY_TYPE_MEDIA_ANY = 18446462598732840960UL; -alias GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY = ELEMENT_FACTORY_TYPE_MEDIA_ANY; - -enum ELEMENT_FACTORY_TYPE_MEDIA_AUDIO = 1125899906842624UL; -alias GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO = ELEMENT_FACTORY_TYPE_MEDIA_AUDIO; - -enum ELEMENT_FACTORY_TYPE_MEDIA_IMAGE = 2251799813685248UL; -alias GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE = ELEMENT_FACTORY_TYPE_MEDIA_IMAGE; - -enum ELEMENT_FACTORY_TYPE_MEDIA_METADATA = 9007199254740992UL; -alias GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA = ELEMENT_FACTORY_TYPE_MEDIA_METADATA; - -enum ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE = 4503599627370496UL; -alias GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE = ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE; - -enum ELEMENT_FACTORY_TYPE_MEDIA_VIDEO = 562949953421312UL; -alias GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO = ELEMENT_FACTORY_TYPE_MEDIA_VIDEO; - -enum ELEMENT_FACTORY_TYPE_MUXER = 16UL; -alias GST_ELEMENT_FACTORY_TYPE_MUXER = ELEMENT_FACTORY_TYPE_MUXER; - -enum ELEMENT_FACTORY_TYPE_PARSER = 64UL; -alias GST_ELEMENT_FACTORY_TYPE_PARSER = ELEMENT_FACTORY_TYPE_PARSER; - -enum ELEMENT_FACTORY_TYPE_PAYLOADER = 128UL; -alias GST_ELEMENT_FACTORY_TYPE_PAYLOADER = ELEMENT_FACTORY_TYPE_PAYLOADER; - -enum ELEMENT_FACTORY_TYPE_SINK = 4UL; -alias GST_ELEMENT_FACTORY_TYPE_SINK = ELEMENT_FACTORY_TYPE_SINK; - -enum ELEMENT_FACTORY_TYPE_SRC = 8UL; -alias GST_ELEMENT_FACTORY_TYPE_SRC = ELEMENT_FACTORY_TYPE_SRC; - -/** - * All encoders handling video or image media types - */ -enum ELEMENT_FACTORY_TYPE_VIDEO_ENCODER = 2814749767106562UL; -alias GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER = ELEMENT_FACTORY_TYPE_VIDEO_ENCODER; - -/** - * Name and contact details of the author(s). Use \n to separate - * multiple author details. - * E.g: "Joe Bloggs <joe.blogs at foo.com>" - */ -enum ELEMENT_METADATA_AUTHOR = "author"; -alias GST_ELEMENT_METADATA_AUTHOR = ELEMENT_METADATA_AUTHOR; - -/** - * Sentence describing the purpose of the element. - * E.g: "Write stream to a file" - */ -enum ELEMENT_METADATA_DESCRIPTION = "description"; -alias GST_ELEMENT_METADATA_DESCRIPTION = ELEMENT_METADATA_DESCRIPTION; - -/** - * Set uri pointing to user documentation. Applications can use this to show - * help for e.g. effects to users. - */ -enum ELEMENT_METADATA_DOC_URI = "doc-uri"; -alias GST_ELEMENT_METADATA_DOC_URI = ELEMENT_METADATA_DOC_URI; - -/** - * Elements that bridge to certain other products can include an icon of that - * used product. Application can show the icon in menus/selectors to help - * identifying specific elements. - */ -enum ELEMENT_METADATA_ICON_NAME = "icon-name"; -alias GST_ELEMENT_METADATA_ICON_NAME = ELEMENT_METADATA_ICON_NAME; - -/** - * String describing the type of element, as an unordered list - * separated with slashes ('/'). See draft-klass.txt of the design docs - * for more details and common types. E.g: "Sink/File" - */ -enum ELEMENT_METADATA_KLASS = "klass"; -alias GST_ELEMENT_METADATA_KLASS = ELEMENT_METADATA_KLASS; - -/** - * The long English name of the element. E.g. "File Sink" - */ -enum ELEMENT_METADATA_LONGNAME = "long-name"; -alias GST_ELEMENT_METADATA_LONGNAME = ELEMENT_METADATA_LONGNAME; - -/** - * Builds a string using errno describing the previously failed system - * call. To be used as the debug argument in #GST_ELEMENT_ERROR. - */ -enum ERROR_SYSTEM = "system error: %s"; -alias GST_ERROR_SYSTEM = ERROR_SYSTEM; - -enum EVENT_NUM_SHIFT = 8; -alias GST_EVENT_NUM_SHIFT = EVENT_NUM_SHIFT; - -/** - * The same thing as #GST_EVENT_TYPE_UPSTREAM | #GST_EVENT_TYPE_DOWNSTREAM. - */ -enum EVENT_TYPE_BOTH = 3; -alias GST_EVENT_TYPE_BOTH = EVENT_TYPE_BOTH; - -/** - * A mask value with all bits set, for use as a - * GstFlagSet mask where all flag bits must match - * exactly - */ -enum FLAG_SET_MASK_EXACT = 4294967295; -alias GST_FLAG_SET_MASK_EXACT = FLAG_SET_MASK_EXACT; - -/** - * The PERCENT format is between 0 and this value - */ -enum FORMAT_PERCENT_MAX = 1000000UL; -alias GST_FORMAT_PERCENT_MAX = FORMAT_PERCENT_MAX; - -/** - * The value used to scale down the reported PERCENT format value to - * its real value. - */ -enum FORMAT_PERCENT_SCALE = 10000UL; -alias GST_FORMAT_PERCENT_SCALE = FORMAT_PERCENT_SCALE; - -/** - * Can be used together with #GST_FOURCC_ARGS to properly output a - * #guint32 fourcc value in a printf\()-style text message. - * - * |[ - * printf ("fourcc: %" GST_FOURCC_FORMAT "\n", GST_FOURCC_ARGS (fcc)); - * ]| - */ -enum FOURCC_FORMAT = "c%c%c%c"; -alias GST_FOURCC_FORMAT = FOURCC_FORMAT; - -/** - * A value which is guaranteed to never be returned by - * gst_util_group_id_next(). - * - * Can be used as a default value in variables used to store group_id. - */ -enum GROUP_ID_INVALID = 0; -alias GST_GROUP_ID_INVALID = GROUP_ID_INVALID; - -/** - * To be used in GST_PLUGIN_DEFINE if unsure about the licence. - */ -enum LICENSE_UNKNOWN = "unknown"; -alias GST_LICENSE_UNKNOWN = LICENSE_UNKNOWN; - -/** - * GstLockFlags value alias for GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE - */ -enum LOCK_FLAG_READWRITE = 3; -alias GST_LOCK_FLAG_READWRITE = LOCK_FLAG_READWRITE; - -/** - * GstMapFlags value alias for GST_MAP_READ | GST_MAP_WRITE - */ -enum MAP_READWRITE = 3; -alias GST_MAP_READWRITE = MAP_READWRITE; - -/** - * This metadata stays relevant as long as memory layout is unchanged. - */ -enum META_TAG_MEMORY_STR = "memory"; -alias GST_META_TAG_MEMORY_STR = META_TAG_MEMORY_STR; - -/** - * Constant that defines one GStreamer millisecond. - */ -enum MSECOND = 1000000UL; -alias GST_MSECOND = MSECOND; - -/** - * Constant that defines one GStreamer nanosecond - */ -enum NSECOND = 1UL; -alias GST_NSECOND = NSECOND; - -/** - * Use this flag on GObject properties of GstObject to indicate that - * they might not be available depending on environment such as OS, device, etc, - * so such properties will be installed conditionally only if the GstObject is - * able to support it. - */ -enum PARAM_CONDITIONALLY_AVAILABLE = 16384; -alias GST_PARAM_CONDITIONALLY_AVAILABLE = PARAM_CONDITIONALLY_AVAILABLE; - -/** - * Use this flag on GObject properties to signal they can make sense to be. - * controlled over time. This hint is used by the GstController. - */ -enum PARAM_CONTROLLABLE = 512; -alias GST_PARAM_CONTROLLABLE = PARAM_CONTROLLABLE; - -/** - * Use this flag on GObject properties of GstObject to indicate that - * during `gst-inspect` and friends, the default value should be used - * as default instead of the current value. - */ -enum PARAM_DOC_SHOW_DEFAULT = 8192; -alias GST_PARAM_DOC_SHOW_DEFAULT = PARAM_DOC_SHOW_DEFAULT; - -/** - * Use this flag on GObject properties of GstElements to indicate that - * they can be changed when the element is in the PAUSED or lower state. - * This flag implies GST_PARAM_MUTABLE_READY. - */ -enum PARAM_MUTABLE_PAUSED = 2048; -alias GST_PARAM_MUTABLE_PAUSED = PARAM_MUTABLE_PAUSED; - -/** - * Use this flag on GObject properties of GstElements to indicate that - * they can be changed when the element is in the PLAYING or lower state. - * This flag implies GST_PARAM_MUTABLE_PAUSED. - */ -enum PARAM_MUTABLE_PLAYING = 4096; -alias GST_PARAM_MUTABLE_PLAYING = PARAM_MUTABLE_PLAYING; - -/** - * Use this flag on GObject properties of GstElements to indicate that - * they can be changed when the element is in the READY or lower state. - */ -enum PARAM_MUTABLE_READY = 1024; -alias GST_PARAM_MUTABLE_READY = PARAM_MUTABLE_READY; - -/** - * Bits based on GST_PARAM_USER_SHIFT can be used by 3rd party applications. - */ -enum PARAM_USER_SHIFT = 65536; -alias GST_PARAM_USER_SHIFT = PARAM_USER_SHIFT; - -/** - * The field name in a GstCaps that is used to signal the UUID of the protection - * system. - */ -enum PROTECTION_SYSTEM_ID_CAPS_FIELD = "protection-system"; -alias GST_PROTECTION_SYSTEM_ID_CAPS_FIELD = PROTECTION_SYSTEM_ID_CAPS_FIELD; - -/** - * The protection system value of the unspecified UUID. - * In some cases the system protection ID is not present in the contents or in their - * metadata, as encrypted WebM. - * This define is used to set the value of the "system_id" field in GstProtectionEvent, - * with this value, the application will use an external information to choose which - * protection system to use. - * - * Example: The matroskademux uses this value in the case of encrypted WebM, - * the application will choose the appropriate protection system based on the information - * received through EME API. - */ -enum PROTECTION_UNSPECIFIED_SYSTEM_ID = "unspecified-system-id"; -alias GST_PROTECTION_UNSPECIFIED_SYSTEM_ID = PROTECTION_UNSPECIFIED_SYSTEM_ID; - -/** - * printf format type used to debug GStreamer types. You can use this in - * combination with GStreamer's debug logging system as well as the functions - * gst_info_vasprintf(), gst_info_strdup_vprintf() and gst_info_strdup_printf() - * to pretty-print the following types: #GstCaps, #GstStructure, - * #GstCapsFeatures, #GstTagList, #GstDateTime, #GstBuffer, #GstBufferList, - * #GstMessage, #GstEvent, #GstQuery, #GstContext, #GstPad, #GstObject. All - * #GObject types will be printed as typename plus pointer, and everything - * else will simply be printed as pointer address. - * - * This can only be used on types whose size is >= sizeof(gpointer). - */ -enum PTR_FORMAT = "paA"; -alias GST_PTR_FORMAT = PTR_FORMAT; - -enum QUERY_NUM_SHIFT = 8; -alias GST_QUERY_NUM_SHIFT = QUERY_NUM_SHIFT; - -/** - * The same thing as #GST_QUERY_TYPE_UPSTREAM | #GST_QUERY_TYPE_DOWNSTREAM. - */ -enum QUERY_TYPE_BOTH = 3; -alias GST_QUERY_TYPE_BOTH = QUERY_TYPE_BOTH; - -/** - * Constant that defines one GStreamer second. - */ -enum SECOND = 1000000000UL; -alias GST_SECOND = SECOND; - -/** - * printf format type used to debug GStreamer segments. You can use this in - * combination with GStreamer's debug logging system as well as the functions - * gst_info_vasprintf(), gst_info_strdup_vprintf() and gst_info_strdup_printf() - * to pretty-print #GstSegment structures. - * This can only be used on pointers to GstSegment structures. - */ -enum SEGMENT_FORMAT = "paB"; -alias GST_SEGMENT_FORMAT = SEGMENT_FORMAT; - -enum SEGMENT_INSTANT_FLAGS = 912; -alias GST_SEGMENT_INSTANT_FLAGS = SEGMENT_INSTANT_FLAGS; - -/** - * A value which is guaranteed to never be returned by - * gst_util_seqnum_next(). - * - * Can be used as a default value in variables used to store seqnum. - */ -enum SEQNUM_INVALID = 0; -alias GST_SEQNUM_INVALID = SEQNUM_INVALID; - -/** - * printf format type used to debug GStreamer signed time value pointers. You - * can use this in combination with GStreamer's debug logging system as well as - * the functions gst_info_vasprintf(), gst_info_strdup_vprintf() and - * gst_info_strdup_printf() to pretty-print signed time (pointers to - * #GstClockTimeDiff or #gint64). - */ -enum STIMEP_FORMAT = "paS"; -alias GST_STIMEP_FORMAT = STIMEP_FORMAT; - -/** - * A string that can be used in printf-like format strings to display a signed - * #GstClockTimeDiff or #gint64 value in h:m:s format. Use GST_TIME_ARGS() to - * construct the matching arguments. - * - * Example: - * |[ - * printf("%" GST_STIME_FORMAT "\n", GST_STIME_ARGS(ts)); - * ]| - */ -enum STIME_FORMAT = "c%"; -alias GST_STIME_FORMAT = STIME_FORMAT; - -/** - * album containing this data (string) - * - * The album name as it should be displayed, e.g. 'The Jazz Guitar' - */ -enum TAG_ALBUM = "album"; -alias GST_TAG_ALBUM = TAG_ALBUM; - -/** - * The artist of the entire album, as it should be displayed. - */ -enum TAG_ALBUM_ARTIST = "album-artist"; -alias GST_TAG_ALBUM_ARTIST = TAG_ALBUM_ARTIST; - -/** - * The artist of the entire album, as it should be sorted. - */ -enum TAG_ALBUM_ARTIST_SORTNAME = "album-artist-sortname"; -alias GST_TAG_ALBUM_ARTIST_SORTNAME = TAG_ALBUM_ARTIST_SORTNAME; - -/** - * album gain in db (double) - */ -enum TAG_ALBUM_GAIN = "replaygain-album-gain"; -alias GST_TAG_ALBUM_GAIN = TAG_ALBUM_GAIN; - -/** - * peak of the album (double) - */ -enum TAG_ALBUM_PEAK = "replaygain-album-peak"; -alias GST_TAG_ALBUM_PEAK = TAG_ALBUM_PEAK; - -/** - * album containing this data, as used for sorting (string) - * - * The album name as it should be sorted, e.g. 'Jazz Guitar, The' - */ -enum TAG_ALBUM_SORTNAME = "album-sortname"; -alias GST_TAG_ALBUM_SORTNAME = TAG_ALBUM_SORTNAME; - -/** - * count of discs inside collection this disc belongs to (unsigned integer) - */ -enum TAG_ALBUM_VOLUME_COUNT = "album-disc-count"; -alias GST_TAG_ALBUM_VOLUME_COUNT = TAG_ALBUM_VOLUME_COUNT; - -/** - * disc number inside a collection (unsigned integer) - */ -enum TAG_ALBUM_VOLUME_NUMBER = "album-disc-number"; -alias GST_TAG_ALBUM_VOLUME_NUMBER = TAG_ALBUM_VOLUME_NUMBER; - -/** - * Arbitrary application data (sample) - * - * Some formats allow applications to add their own arbitrary data - * into files. This data is application dependent. - */ -enum TAG_APPLICATION_DATA = "application-data"; -alias GST_TAG_APPLICATION_DATA = TAG_APPLICATION_DATA; - -/** - * Name of the application used to create the media (string) - */ -enum TAG_APPLICATION_NAME = "application-name"; -alias GST_TAG_APPLICATION_NAME = TAG_APPLICATION_NAME; - -/** - * person(s) responsible for the recording (string) - * - * The artist name as it should be displayed, e.g. 'Jimi Hendrix' or - * 'The Guitar Heroes' - */ -enum TAG_ARTIST = "artist"; -alias GST_TAG_ARTIST = TAG_ARTIST; - -/** - * person(s) responsible for the recording, as used for sorting (string) - * - * The artist name as it should be sorted, e.g. 'Hendrix, Jimi' or - * 'Guitar Heroes, The' - */ -enum TAG_ARTIST_SORTNAME = "artist-sortname"; -alias GST_TAG_ARTIST_SORTNAME = TAG_ARTIST_SORTNAME; - -/** - * generic file attachment (sample) (sample taglist should specify the content - * type and if possible set "filename" to the file name of the - * attachment) - */ -enum TAG_ATTACHMENT = "attachment"; -alias GST_TAG_ATTACHMENT = TAG_ATTACHMENT; - -/** - * codec the audio data is stored in (string) - */ -enum TAG_AUDIO_CODEC = "audio-codec"; -alias GST_TAG_AUDIO_CODEC = TAG_AUDIO_CODEC; - -/** - * number of beats per minute in audio (double) - */ -enum TAG_BEATS_PER_MINUTE = "beats-per-minute"; -alias GST_TAG_BEATS_PER_MINUTE = TAG_BEATS_PER_MINUTE; - -/** - * exact or average bitrate in bits/s (unsigned integer) - */ -enum TAG_BITRATE = "bitrate"; -alias GST_TAG_BITRATE = TAG_BITRATE; - -/** - * codec the data is stored in (string) - */ -enum TAG_CODEC = "codec"; -alias GST_TAG_CODEC = TAG_CODEC; - -/** - * free text commenting the data (string) - */ -enum TAG_COMMENT = "comment"; -alias GST_TAG_COMMENT = TAG_COMMENT; - -/** - * person(s) who composed the recording (string) - */ -enum TAG_COMPOSER = "composer"; -alias GST_TAG_COMPOSER = TAG_COMPOSER; - -/** - * The composer's name, used for sorting (string) - */ -enum TAG_COMPOSER_SORTNAME = "composer-sortname"; -alias GST_TAG_COMPOSER_SORTNAME = TAG_COMPOSER_SORTNAME; - -/** - * conductor/performer refinement (string) - */ -enum TAG_CONDUCTOR = "conductor"; -alias GST_TAG_CONDUCTOR = TAG_CONDUCTOR; - -/** - * contact information (string) - */ -enum TAG_CONTACT = "contact"; -alias GST_TAG_CONTACT = TAG_CONTACT; - -/** - * container format the data is stored in (string) - */ -enum TAG_CONTAINER_FORMAT = "container-format"; -alias GST_TAG_CONTAINER_FORMAT = TAG_CONTAINER_FORMAT; - -/** - * copyright notice of the data (string) - */ -enum TAG_COPYRIGHT = "copyright"; -alias GST_TAG_COPYRIGHT = TAG_COPYRIGHT; - -/** - * URI to location where copyright details can be found (string) - */ -enum TAG_COPYRIGHT_URI = "copyright-uri"; -alias GST_TAG_COPYRIGHT_URI = TAG_COPYRIGHT_URI; - -/** - * date the data was created (#GDate structure) - */ -enum TAG_DATE = "date"; -alias GST_TAG_DATE = TAG_DATE; - -/** - * date and time the data was created (#GstDateTime structure) - */ -enum TAG_DATE_TIME = "datetime"; -alias GST_TAG_DATE_TIME = TAG_DATE_TIME; - -/** - * short text describing the content of the data (string) - */ -enum TAG_DESCRIPTION = "description"; -alias GST_TAG_DESCRIPTION = TAG_DESCRIPTION; - -/** - * Manufacturer of the device used to create the media (string) - */ -enum TAG_DEVICE_MANUFACTURER = "device-manufacturer"; -alias GST_TAG_DEVICE_MANUFACTURER = TAG_DEVICE_MANUFACTURER; - -/** - * Model of the device used to create the media (string) - */ -enum TAG_DEVICE_MODEL = "device-model"; -alias GST_TAG_DEVICE_MODEL = TAG_DEVICE_MODEL; - -/** - * length in GStreamer time units (nanoseconds) (unsigned 64-bit integer) - */ -enum TAG_DURATION = "duration"; -alias GST_TAG_DURATION = TAG_DURATION; - -/** - * name of the person or organisation that encoded the file. May contain a - * copyright message if the person or organisation also holds the copyright - * (string) - * - * Note: do not use this field to describe the encoding application. Use - * #GST_TAG_APPLICATION_NAME or #GST_TAG_COMMENT for that. - */ -enum TAG_ENCODED_BY = "encoded-by"; -alias GST_TAG_ENCODED_BY = TAG_ENCODED_BY; - -/** - * encoder used to encode this stream (string) - */ -enum TAG_ENCODER = "encoder"; -alias GST_TAG_ENCODER = TAG_ENCODER; - -/** - * version of the encoder used to encode this stream (unsigned integer) - */ -enum TAG_ENCODER_VERSION = "encoder-version"; -alias GST_TAG_ENCODER_VERSION = TAG_ENCODER_VERSION; - -/** - * key/value text commenting the data (string) - * - * Must be in the form of 'key=comment' or - * 'key[lc]=comment' where 'lc' is an ISO-639 - * language code. - * - * This tag is used for unknown Vorbis comment tags, - * unknown APE tags and certain ID3v2 comment fields. - */ -enum TAG_EXTENDED_COMMENT = "extended-comment"; -alias GST_TAG_EXTENDED_COMMENT = TAG_EXTENDED_COMMENT; - -/** - * genre this data belongs to (string) - */ -enum TAG_GENRE = "genre"; -alias GST_TAG_GENRE = TAG_GENRE; - -/** - * Indicates the direction the device is pointing to when capturing - * a media. It is represented as degrees in floating point representation, - * 0 means the geographic north, and increases clockwise (double from 0 to 360) - * - * See also #GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION - */ -enum TAG_GEO_LOCATION_CAPTURE_DIRECTION = "geo-location-capture-direction"; -alias GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION = TAG_GEO_LOCATION_CAPTURE_DIRECTION; - -/** - * The city (english name) where the media has been produced (string). - */ -enum TAG_GEO_LOCATION_CITY = "geo-location-city"; -alias GST_TAG_GEO_LOCATION_CITY = TAG_GEO_LOCATION_CITY; - -/** - * The country (english name) where the media has been produced (string). - */ -enum TAG_GEO_LOCATION_COUNTRY = "geo-location-country"; -alias GST_TAG_GEO_LOCATION_COUNTRY = TAG_GEO_LOCATION_COUNTRY; - -/** - * geo elevation of where the media has been recorded or produced in meters - * according to WGS84 (zero is average sea level) (double). - */ -enum TAG_GEO_LOCATION_ELEVATION = "geo-location-elevation"; -alias GST_TAG_GEO_LOCATION_ELEVATION = TAG_GEO_LOCATION_ELEVATION; - -/** - * Represents the expected error on the horizontal positioning in - * meters (double). - */ -enum TAG_GEO_LOCATION_HORIZONTAL_ERROR = "geo-location-horizontal-error"; -alias GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR = TAG_GEO_LOCATION_HORIZONTAL_ERROR; - -/** - * geo latitude location of where the media has been recorded or produced in - * degrees according to WGS84 (zero at the equator, negative values for southern - * latitudes) (double). - */ -enum TAG_GEO_LOCATION_LATITUDE = "geo-location-latitude"; -alias GST_TAG_GEO_LOCATION_LATITUDE = TAG_GEO_LOCATION_LATITUDE; - -/** - * geo longitude location of where the media has been recorded or produced in - * degrees according to WGS84 (zero at the prime meridian in Greenwich/UK, - * negative values for western longitudes). (double). - */ -enum TAG_GEO_LOCATION_LONGITUDE = "geo-location-longitude"; -alias GST_TAG_GEO_LOCATION_LONGITUDE = TAG_GEO_LOCATION_LONGITUDE; - -/** - * Indicates the movement direction of the device performing the capture - * of a media. It is represented as degrees in floating point representation, - * 0 means the geographic north, and increases clockwise (double from 0 to 360) - * - * See also #GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION - */ -enum TAG_GEO_LOCATION_MOVEMENT_DIRECTION = "geo-location-movement-direction"; -alias GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION = TAG_GEO_LOCATION_MOVEMENT_DIRECTION; - -/** - * Speed of the capturing device when performing the capture. - * Represented in m/s. (double) - * - * See also #GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION - */ -enum TAG_GEO_LOCATION_MOVEMENT_SPEED = "geo-location-movement-speed"; -alias GST_TAG_GEO_LOCATION_MOVEMENT_SPEED = TAG_GEO_LOCATION_MOVEMENT_SPEED; - -/** - * human readable descriptive location of where the media has been recorded or - * produced. (string). - */ -enum TAG_GEO_LOCATION_NAME = "geo-location-name"; -alias GST_TAG_GEO_LOCATION_NAME = TAG_GEO_LOCATION_NAME; - -/** - * A location 'smaller' than GST_TAG_GEO_LOCATION_CITY that specifies better - * where the media has been produced. (e.g. the neighborhood) (string). - * - * This tag has been added as this is how it is handled/named in XMP's - * Iptc4xmpcore schema. - */ -enum TAG_GEO_LOCATION_SUBLOCATION = "geo-location-sublocation"; -alias GST_TAG_GEO_LOCATION_SUBLOCATION = TAG_GEO_LOCATION_SUBLOCATION; - -/** - * Groups together media that are related and spans multiple tracks. An - * example are multiple pieces of a concerto. (string) - */ -enum TAG_GROUPING = "grouping"; -alias GST_TAG_GROUPING = TAG_GROUPING; - -/** - * Homepage for this media (i.e. artist or movie homepage) (string) - */ -enum TAG_HOMEPAGE = "homepage"; -alias GST_TAG_HOMEPAGE = TAG_HOMEPAGE; - -/** - * image (sample) (sample taglist should specify the content type and preferably - * also set "image-type" field as `GstTagImageType`) - */ -enum TAG_IMAGE = "image"; -alias GST_TAG_IMAGE = TAG_IMAGE; - -/** - * Represents the 'Orientation' tag from EXIF. Defines how the image - * should be rotated and mirrored for display. (string) - * - * This tag has a predefined set of allowed values: - * "rotate-0" - * "rotate-90" - * "rotate-180" - * "rotate-270" - * "flip-rotate-0" - * "flip-rotate-90" - * "flip-rotate-180" - * "flip-rotate-270" - * - * The naming is adopted according to a possible transformation to perform - * on the image to fix its orientation, obviously equivalent operations will - * yield the same result. - * - * Rotations indicated by the values are in clockwise direction and - * 'flip' means an horizontal mirroring. - */ -enum TAG_IMAGE_ORIENTATION = "image-orientation"; -alias GST_TAG_IMAGE_ORIENTATION = TAG_IMAGE_ORIENTATION; - -/** - * Information about the people behind a remix and similar - * interpretations of another existing piece (string) - */ -enum TAG_INTERPRETED_BY = "interpreted-by"; -alias GST_TAG_INTERPRETED_BY = TAG_INTERPRETED_BY; - -/** - * International Standard Recording Code - see http://www.ifpi.org/isrc/ (string) - */ -enum TAG_ISRC = "isrc"; -alias GST_TAG_ISRC = TAG_ISRC; - -/** - * comma separated keywords describing the content (string). - */ -enum TAG_KEYWORDS = "keywords"; -alias GST_TAG_KEYWORDS = TAG_KEYWORDS; - -/** - * ISO-639-2 or ISO-639-1 code for the language the content is in (string) - * - * There is utility API in libgsttag in gst-plugins-base to obtain a translated - * language name from the language code: `gst_tag_get_language_name()` - */ -enum TAG_LANGUAGE_CODE = "language-code"; -alias GST_TAG_LANGUAGE_CODE = TAG_LANGUAGE_CODE; - -/** - * Name of the language the content is in (string) - * - * Free-form name of the language the content is in, if a language code - * is not available. This tag should not be set in addition to a language - * code. It is undefined what language or locale the language name is in. - */ -enum TAG_LANGUAGE_NAME = "language-name"; -alias GST_TAG_LANGUAGE_NAME = TAG_LANGUAGE_NAME; - -/** - * license of data (string) - */ -enum TAG_LICENSE = "license"; -alias GST_TAG_LICENSE = TAG_LICENSE; - -/** - * URI to location where license details can be found (string) - */ -enum TAG_LICENSE_URI = "license-uri"; -alias GST_TAG_LICENSE_URI = TAG_LICENSE_URI; - -/** - * Origin of media as a URI (location, where the original of the file or stream - * is hosted) (string) - */ -enum TAG_LOCATION = "location"; -alias GST_TAG_LOCATION = TAG_LOCATION; - -/** - * The lyrics of the media (string) - */ -enum TAG_LYRICS = "lyrics"; -alias GST_TAG_LYRICS = TAG_LYRICS; - -/** - * maximum bitrate in bits/s (unsigned integer) - */ -enum TAG_MAXIMUM_BITRATE = "maximum-bitrate"; -alias GST_TAG_MAXIMUM_BITRATE = TAG_MAXIMUM_BITRATE; - -/** - * [Midi note number](http://en.wikipedia.org/wiki/Note#Note_designation_in_accordance_with_octave_name) - * of the audio track. This is useful for sample instruments and in particular - * for multi-samples. - */ -enum TAG_MIDI_BASE_NOTE = "midi-base-note"; -alias GST_TAG_MIDI_BASE_NOTE = TAG_MIDI_BASE_NOTE; - -/** - * minimum bitrate in bits/s (unsigned integer) - */ -enum TAG_MINIMUM_BITRATE = "minimum-bitrate"; -alias GST_TAG_MINIMUM_BITRATE = TAG_MINIMUM_BITRATE; - -/** - * nominal bitrate in bits/s (unsigned integer). The actual bitrate might be - * different from this target bitrate. - */ -enum TAG_NOMINAL_BITRATE = "nominal-bitrate"; -alias GST_TAG_NOMINAL_BITRATE = TAG_NOMINAL_BITRATE; - -/** - * organization (string) - */ -enum TAG_ORGANIZATION = "organization"; -alias GST_TAG_ORGANIZATION = TAG_ORGANIZATION; - -/** - * person(s) performing (string) - */ -enum TAG_PERFORMER = "performer"; -alias GST_TAG_PERFORMER = TAG_PERFORMER; - -/** - * image that is meant for preview purposes, e.g. small icon-sized version - * (sample) (sample taglist should specify the content type) - */ -enum TAG_PREVIEW_IMAGE = "preview-image"; -alias GST_TAG_PREVIEW_IMAGE = TAG_PREVIEW_IMAGE; - -/** - * Any private data that may be contained in tags (sample). - * - * It is represented by #GstSample in which #GstBuffer contains the - * binary data and the sample's info #GstStructure may contain any - * extra information that identifies the origin or meaning of the data. - * - * Private frames in ID3v2 tags ('PRIV' frames) will be represented - * using this tag, in which case the GstStructure will be named - * "ID3PrivateFrame" and contain a field named "owner" of type string - * which contains the owner-identification string from the tag. - */ -enum TAG_PRIVATE_DATA = "private-data"; -alias GST_TAG_PRIVATE_DATA = TAG_PRIVATE_DATA; - -/** - * Name of the label or publisher (string) - */ -enum TAG_PUBLISHER = "publisher"; -alias GST_TAG_PUBLISHER = TAG_PUBLISHER; - -/** - * reference level of track and album gain values (double) - */ -enum TAG_REFERENCE_LEVEL = "replaygain-reference-level"; -alias GST_TAG_REFERENCE_LEVEL = TAG_REFERENCE_LEVEL; - -/** - * serial number of track (unsigned integer) - */ -enum TAG_SERIAL = "serial"; -alias GST_TAG_SERIAL = TAG_SERIAL; - -/** - * Number of the episode within a season/show (unsigned integer) - */ -enum TAG_SHOW_EPISODE_NUMBER = "show-episode-number"; -alias GST_TAG_SHOW_EPISODE_NUMBER = TAG_SHOW_EPISODE_NUMBER; - -/** - * Name of the show, used for displaying (string) - */ -enum TAG_SHOW_NAME = "show-name"; -alias GST_TAG_SHOW_NAME = TAG_SHOW_NAME; - -/** - * Number of the season of a show/series (unsigned integer) - */ -enum TAG_SHOW_SEASON_NUMBER = "show-season-number"; -alias GST_TAG_SHOW_SEASON_NUMBER = TAG_SHOW_SEASON_NUMBER; - -/** - * Name of the show, used for sorting (string) - */ -enum TAG_SHOW_SORTNAME = "show-sortname"; -alias GST_TAG_SHOW_SORTNAME = TAG_SHOW_SORTNAME; - -/** - * codec/format the subtitle data is stored in (string) - */ -enum TAG_SUBTITLE_CODEC = "subtitle-codec"; -alias GST_TAG_SUBTITLE_CODEC = TAG_SUBTITLE_CODEC; - -/** - * commonly used title (string) - * - * The title as it should be displayed, e.g. 'The Doll House' - */ -enum TAG_TITLE = "title"; -alias GST_TAG_TITLE = TAG_TITLE; - -/** - * commonly used title, as used for sorting (string) - * - * The title as it should be sorted, e.g. 'Doll House, The' - */ -enum TAG_TITLE_SORTNAME = "title-sortname"; -alias GST_TAG_TITLE_SORTNAME = TAG_TITLE_SORTNAME; - -/** - * count of tracks inside collection this track belongs to (unsigned integer) - */ -enum TAG_TRACK_COUNT = "track-count"; -alias GST_TAG_TRACK_COUNT = TAG_TRACK_COUNT; - -/** - * track gain in db (double) - */ -enum TAG_TRACK_GAIN = "replaygain-track-gain"; -alias GST_TAG_TRACK_GAIN = TAG_TRACK_GAIN; - -/** - * track number inside a collection (unsigned integer) - */ -enum TAG_TRACK_NUMBER = "track-number"; -alias GST_TAG_TRACK_NUMBER = TAG_TRACK_NUMBER; - -/** - * peak of the track (double) - */ -enum TAG_TRACK_PEAK = "replaygain-track-peak"; -alias GST_TAG_TRACK_PEAK = TAG_TRACK_PEAK; - -/** - * Rating attributed by a person (likely the application user). - * The higher the value, the more the user likes this media - * (unsigned int from 0 to 100) - */ -enum TAG_USER_RATING = "user-rating"; -alias GST_TAG_USER_RATING = TAG_USER_RATING; - -/** - * version of this data (string) - */ -enum TAG_VERSION = "version"; -alias GST_TAG_VERSION = TAG_VERSION; - -/** - * codec the video data is stored in (string) - */ -enum TAG_VIDEO_CODEC = "video-codec"; -alias GST_TAG_VIDEO_CODEC = TAG_VIDEO_CODEC; - -/** - * printf format type used to debug GStreamer ClockTime pointers. You can use - * this in combination with GStreamer's debug logging system as well as the - * functions gst_info_vasprintf(), gst_info_strdup_vprintf() and - * gst_info_strdup_printf() to pretty-print #GstClockTime pointers. This can - * only be used on pointers to GstClockTime values. - */ -enum TIMEP_FORMAT = "paT"; -alias GST_TIMEP_FORMAT = TIMEP_FORMAT; - -/** - * A string that can be used in printf-like format strings to display a - * #GstClockTime value in h:m:s format. Use GST_TIME_ARGS() to construct - * the matching arguments. - * - * Example: - * |[ - * printf("%" GST_TIME_FORMAT "\n", GST_TIME_ARGS(ts)); - * ]| - */ -enum TIME_FORMAT = "u:%02u:%02u.%09u"; -alias GST_TIME_FORMAT = TIME_FORMAT; - -/** - * Special value for the repeat_count set in gst_toc_entry_set_loop() or - * returned by gst_toc_entry_set_loop() to indicate infinite looping. - */ -enum TOC_REPEAT_COUNT_INFINITE = -1; -alias GST_TOC_REPEAT_COUNT_INFINITE = TOC_REPEAT_COUNT_INFINITE; - -/** - * Value for #GstUri.port to indicate no port number. - */ -enum URI_NO_PORT = 0; -alias GST_URI_NO_PORT = URI_NO_PORT; - -/** - * Constant that defines one GStreamer microsecond. - */ -enum USECOND = 1000UL; -alias GST_USECOND = USECOND; - -/** - * Indicates that the first value provided to a comparison function - * (gst_value_compare()) is equal to the second one. - */ -enum VALUE_EQUAL = 0; -alias GST_VALUE_EQUAL = VALUE_EQUAL; - -/** - * Indicates that the first value provided to a comparison function - * (gst_value_compare()) is greater than the second one. - */ -enum VALUE_GREATER_THAN = 1; -alias GST_VALUE_GREATER_THAN = VALUE_GREATER_THAN; - -/** - * Indicates that the first value provided to a comparison function - * (gst_value_compare()) is lesser than the second one. - */ -enum VALUE_LESS_THAN = -1; -alias GST_VALUE_LESS_THAN = VALUE_LESS_THAN; - -/** - * Indicates that the comparison function (gst_value_compare()) can not - * determine a order for the two provided values. - */ -enum VALUE_UNORDERED = 2; -alias GST_VALUE_UNORDERED = VALUE_UNORDERED; - -/** - * The major version of GStreamer at compile time: - */ -enum VERSION_MAJOR = 1; -alias GST_VERSION_MAJOR = VERSION_MAJOR; - -/** - * The micro version of GStreamer at compile time: - */ -enum VERSION_MICRO = 4; -alias GST_VERSION_MICRO = VERSION_MICRO; - -/** - * The minor version of GStreamer at compile time: - */ -enum VERSION_MINOR = 18; -alias GST_VERSION_MINOR = VERSION_MINOR; - -/** - * The nano version of GStreamer at compile time: - * Actual releases have 0, GIT versions have 1, prerelease versions have 2-... - */ -enum VERSION_NANO = 0; -alias GST_VERSION_NANO = VERSION_NANO; diff --git a/generated/gtkd/gtkd/Loader.d b/generated/gtkd/gtkd/Loader.d deleted file mode 100644 index 19c8be537..000000000 --- a/generated/gtkd/gtkd/Loader.d +++ /dev/null @@ -1,465 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -module gtkd.Loader; - -import std.algorithm : canFind; -import std.stdio; -import std.string; - -import gtkd.paths; - -public struct Linker -{ - private static void*[string] loadedLibraries; - private static string[][string] loadFailures; - - extern(C) static void unsupportedSymbol() - { - throw new Error("The function you are calling is not pressent in your version of GTK+."); - } - - /* - * Links the provided symbol - * Params: - * funct = The function we are linking - * symbol = The name of the symbol to link - * libraries = One or more libraries to search for the symbol - */ - public static void link(T)(ref T funct, string symbol, const string[] libraries ...) - { - funct = cast(T)getSymbol(symbol, libraries); - } - - /* - * Gets a simbol from one of the provided libraries - * Params: - * symbol = The name of the symbol to link - * libraries = One or more libraries to search for the symbol - */ - public static void* getSymbol(string symbol, const string[] libraries ...) - { - void* handle; - - foreach ( library; libraries ) - { - if( !(library in loadedLibraries) ) - loadLibrary(library); - - handle = pGetSymbol(loadedLibraries[library], symbol); - - if ( handle !is null ) - break; - } - - if ( handle is null ) - { - foreach ( library; libraries ) - loadFailures[library] ~= symbol; - - handle = &unsupportedSymbol; - } - - return handle; - } - - /* - * Loads a library - */ - public static void loadLibrary(string library) - { - void* handle; - - if ( library.canFind(';') ) - { - foreach ( lib; library.split(';') ) - { - handle = pLoadLibrary(lib); - if ( handle ) - break; - } - } - else - { - handle = pLoadLibrary(library); - } - - if ( handle is null ) - throw new Exception("Library load failed ("~ library ~"): "~ getErrorMessage()); - - loadedLibraries[library] = handle; - } - - /* - * Unload a library - */ - public static void unloadLibrary(string library) - { - pUnloadLibrary(loadedLibraries[library]); - - loadedLibraries.remove(library); - } - - ///Ditto - public static void unloadLibrary(const string[] libraries) - { - foreach ( lib; libraries ) - { - unloadLibrary(lib); - } - } - - /** - * Checks if any symbol failed to load - * Returns: true if ALL symbols are loaded - */ - public static bool isPerfectLoad() - { - return loadFailures.keys.length == 0; - } - - /** - * Gets all libraries loaded. - * returns: An array with the loaded libraries - */ - public static string[] getLoadLibraries() - { - return loadedLibraries.keys; - } - - /** - * Print all libraries loaded. - */ - public static void dumpLoadLibraries() - { - foreach ( lib; getLoadLibraries() ) - { - writefln("Loaded lib = %s", lib); - } - } - - /** - * Checks if a library is loaded. - * Returns: true is the library was loaded sucsessfully. - */ - public static bool isLoaded(string library) - { - if ( library in loadedLibraries ) - return true; - else - return false; - } - - ///Ditto - public static bool isLoaded(const string[] libraries) - { - return isLoaded(libraries[0]); - } - - /** - * Gets all the failed loads for a specific library. - * returns: An array of the names hat failed to load for a specific library - * or null if none was found - */ - public static string[] getLoadFailures(string library) - { - if ( library in loadFailures ) - return loadFailures[library]; - else - return null; - } - - ///Ditto. - public static string[] getLoadFailures(const string[] libraries) - { - string[] failures; - - foreach ( lib; libraries ) - { - failures ~= getLoadFailures(lib); - } - - return failures; - } - - /** - * Print all symbols that failed to load - */ - public static void dumpFailedLoads() - { - foreach ( library; loadedLibraries.keys ) - { - foreach ( symbol; getLoadFailures(library) ) - { - writefln("failed (%s) %s", library, symbol); - } - } - } - - static ~this() - { - foreach ( library; loadedLibraries.keys ) - unloadLibrary(library); - } - - /* - * Links the provided symbol - * Params: - * funct = The function we are linking - * symbol = The name of the symbol to link - * libraries = One or more libraries to search for the symbol - */ - deprecated("Use the LIBRARY_* symbols defined for each package, instead of gtkd.paths.LIBRARY") - public static void link(T)(ref T funct, string symbol, LIBRARY[] libraries ...) - { - funct = cast(T)getSymbol(symbol, libraries); - } - - /* - * Gets a simbol from one of the provided libraries - * Params: - * symbol = The name of the symbol to link - * libraries = One or more libraries to search for the symbol - */ - deprecated("Use the LIBRARY_* symbols defined for each package, instead of gtkd.paths.LIBRARY") - public static void* getSymbol(string symbol, LIBRARY[] libraries ...) - { - string[] libStr = new string[libraries.length]; - - foreach (i, library; libraries ) - { - libStr[i] = importLibs[library]; - } - - return getSymbol(symbol, libStr); - } - - /* - * Unload a library - */ - deprecated("Use the LIBRARY_* symbols defined for each package, instead of gtkd.paths.LIBRARY") - public static void unloadLibrary(LIBRARY library) - { - unloadLibrary( importLibs[library] ); - } - - /** - * Checks if a library is loaded. - * Returns: true is the library was loaded sucsessfully. - */ - deprecated("Use the LIBRARY_* symbols defined for each package, instead of gtkd.paths.LIBRARY") - public static bool isLoaded(LIBRARY library) - { - return isLoaded(importLibs[library]); - } - - /** - * Gets all the failed loads for a specific library. - * returns: An array of the names hat failed to load for a specific library - * or null if none was found - */ - deprecated("Use the LIBRARY_* symbols defined for each package, instead of gtkd.paths.LIBRARY") - public static string[] getLoadFailures(LIBRARY library) - { - return getLoadFailures(importLibs[library]); - } -} - -// Platform specific implementation below. - -version(Windows) -{ - import core.sys.windows.winbase : LoadLibraryA, GetProcAddress, FreeLibrary, GetLastError, FormatMessageA, - FORMAT_MESSAGE_FROM_SYSTEM, FORMAT_MESSAGE_ARGUMENT_ARRAY; - import core.sys.windows.winnt : LANG_NEUTRAL, IMAGE_FILE_MACHINE_AMD64, IMAGE_FILE_MACHINE_I386; - - extern(Windows) - { - int SetDllDirectoryA(const(char)* path); - } - - private void* pLoadLibrary(string libraryName) - { - setDllPath(); - - return LoadLibraryA(cast(char*)toStringz(libraryName)); - } - - private void* pGetSymbol(void* handle, string symbol) - { - return GetProcAddress(handle, cast(char*)toStringz(symbol)); - } - - private alias FreeLibrary pUnloadLibrary; - - private string getErrorMessage() - { - char[] buffer = new char[2048]; - buffer[0] = '\0'; - - FormatMessageA( FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ARGUMENT_ARRAY, - null, - GetLastError(), - LANG_NEUTRAL, - buffer.ptr, - cast(uint)buffer.length, - cast(char**)["\0".ptr].ptr); - - return buffer.ptr.fromStringz.idup; - } - - private void setDllPath() - { - static bool isSet; - - if ( isSet ) - return; - - string gtkPath = getGtkPath(); - - if ( gtkPath.length > 0 ) - SetDllDirectoryA((gtkPath~'\0').ptr); - - isSet = true; - } - - private string getGtkPath() - { - import std.algorithm; - import std.path; - import std.process; - import std.file; - - foreach ( lib; ["libgtk-3-0.dll", "gtk-3-3.0.dll", "gtk-3.dll"] ) - { - foreach (path; splitter(environment.get("PATH"), ';')) - { - string dllPath = buildNormalizedPath(path, lib); - - if ( !exists(dllPath) ) - continue; - - if ( checkArchitecture(dllPath) ) - return path; - } - } - - return null; - } - - private bool checkArchitecture(string dllPath) - { - import std.stdio; - - File dll = File(dllPath); - - dll.seek(0x3c); - int offset = dll.rawRead(new int[1])[0]; - - dll.seek(offset); - uint peHead = dll.rawRead(new uint[1])[0]; - - //Not a PE Header. - if( peHead != 0x00004550) - return false; - - ushort type = dll.rawRead(new ushort[1])[0]; - - version(Win32) - { - if ( type == IMAGE_FILE_MACHINE_I386 ) - return true; - } - else version(Win64) - { - if ( type == IMAGE_FILE_MACHINE_AMD64 ) - return true; - } - - return false; - } -} -else -{ - import core.sys.posix.dlfcn : dlopen, dlerror, dlsym, dlclose, RTLD_NOW, RTLD_GLOBAL; - import std.path : buildPath; - - private string lastError; - - version(OSX) - { - string basePath() - { - import std.process; - - static string path; - - if (path !is null) - return path; - - path = environment.get("GTK_BASEPATH"); - if(!path){ - path=environment.get("HOMEBREW_ROOT"); - if(path){ - path=path.buildPath("lib"); - } - } - return path; - } - } - else - { - enum basePath = ""; - } - - private void* pLoadLibrary(string libraryName, int flag = RTLD_NOW) - { - void* handle = dlopen(cast(char*)toStringz(basePath.buildPath(libraryName)), flag | RTLD_GLOBAL); - - if(!handle){ - lastError = dlerror().fromStringz.idup; - } - - // clear the error buffer - dlerror(); - - return handle; - } - - private void* pGetSymbol(void* libraryHandle, string symbol) - { - void* symbolHandle = dlsym(libraryHandle, cast(char*)toStringz(symbol)); - - // clear the error buffer - dlerror(); - - return symbolHandle; - } - - private int pUnloadLibrary(void* libraryHandle) - { - return dlclose(libraryHandle); - } - - private string getErrorMessage() - { - scope(exit) lastError = null; - return lastError; - } -} diff --git a/generated/gtkd/gtkd/paths.d b/generated/gtkd/gtkd/paths.d deleted file mode 100644 index 38d9a3264..000000000 --- a/generated/gtkd/gtkd/paths.d +++ /dev/null @@ -1,139 +0,0 @@ -/* - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - * - * paths.d -- list of libraries that will be dynamically linked with gtkD - * - * Added: John Reimer -- 2004-12-20 - * Updated: 2005-02-21 changed names; added version(linux) - * Updated: 2005-05-05 updated Linux support - * Updated: 2008-02-16 Tango support - */ - -module gtkd.paths; - -/* - * Define the Libraries that gtkD will be using. - * This is a growable list, as long as the programmer - * also adds to the importLibs list. - */ - -enum LIBRARY -{ - ATK, - CAIRO, - GDK, - GDKPIXBUF, - GLIB, - GMODULE, - GOBJECT, - GIO, - GTHREAD, - GTK, - PANGO, - PANGOCAIRO, - GLGDK, - GLGTK, - GDA, - GSV, - GSV1, - GSTREAMER, - GSTINTERFACES, - VTE, - PEAS, - RSVG, -} - -version (Windows) -{ - const string[LIBRARY.max+1] importLibs = - [ - LIBRARY.ATK: "libatk-1.0-0.dll", - LIBRARY.CAIRO: "libcairo-2.dll", - LIBRARY.GDK: "libgdk-3-0.dll", - LIBRARY.GDKPIXBUF: "libgdk_pixbuf-2.0-0.dll", - LIBRARY.GLIB: "libglib-2.0-0.dll", - LIBRARY.GMODULE: "libgmodule-2.0-0.dll", - LIBRARY.GOBJECT: "libgobject-2.0-0.dll", - LIBRARY.GIO: "libgio-2.0-0.dll", - LIBRARY.GTHREAD: "libgthread-2.0-0.dll", - LIBRARY.GTK: "libgtk-3-0.dll", - LIBRARY.PANGO: "libpango-1.0-0.dll", - LIBRARY.PANGOCAIRO: "libpangocairo-1.0-0.dll", - LIBRARY.GLGDK: "libgdkglext-3.0-0.dll", - LIBRARY.GLGTK: "libgtkglext-3.0-0.dll", - LIBRARY.GDA: "libgda-4.0-4.dll", - LIBRARY.GSV: "libgtksourceview-4-0.dll", - LIBRARY.GSTREAMER: "libgstreamer-1.0.dll", - LIBRARY.GSTINTERFACES: "libgstvideo-1.0.dll", - LIBRARY.VTE: "libvte-2.91.dll", - LIBRARY.PEAS: "libpeas-1.0.dll", - LIBRARY.RSVG: "librsvg-2-2.dll", - ]; -} -else version(darwin) -{ - const string[LIBRARY.max+1] importLibs = - [ - LIBRARY.ATK: "libatk-1.0.dylib", - LIBRARY.CAIRO: "libcairo.dylib", - LIBRARY.GDK: "libgdk-3.0.dylib", - LIBRARY.GDKPIXBUF: "libgdk_pixbuf-2.0.dylib", - LIBRARY.GLIB: "libglib-2.0.dylib", - LIBRARY.GMODULE: "libgmodule-2.0.dylib", - LIBRARY.GOBJECT: "libgobject-2.0.dylib", - LIBRARY.GIO: "libgio-2.0.dylib", - LIBRARY.GTHREAD: "libgthread-2.0.dylib", - LIBRARY.GTK: "libgtk-3.0.dylib", - LIBRARY.PANGO: "libpango-1.0.dylib", - LIBRARY.PANGOCAIRO: "libpangocairo-1.0.dylib", - LIBRARY.GLGDK: "libgdkglext-3.0.dylib", - LIBRARY.GLGTK: "libgtkglext-3.0.dylib", - LIBRARY.GDA: "libgda-2.dylib", - LIBRARY.GSV: "libgtksourceview-4.0.dylib", - LIBRARY.GSTREAMER: "libgstreamer-1.0.dylib", - LIBRARY.GSTINTERFACES: "libgstvideo-1.0.dylib", - LIBRARY.VTE: "libvte-2.91.dylib", - LIBRARY.PEAS: "libpeas-1.0.dylib", - LIBRARY.RSVG: "librsvg-2.dylib", - ]; -} -else -{ - const string[LIBRARY.max+1] importLibs = - [ - LIBRARY.ATK: "libatk-1.0.so.0", - LIBRARY.CAIRO: "libcairo.so.2", - LIBRARY.GDK: "libgdk-3.so.0", - LIBRARY.GDKPIXBUF: "libgdk_pixbuf-2.0.so.0", - LIBRARY.GLIB: "libglib-2.0.so.0", - LIBRARY.GMODULE: "libgmodule-2.0.so.0", - LIBRARY.GOBJECT: "libgobject-2.0.so.0", - LIBRARY.GIO: "libgio-2.0.so.0", - LIBRARY.GTHREAD: "libgthread-2.0.so.0", - LIBRARY.GTK: "libgtk-3.so.0", - LIBRARY.PANGO: "libpango-1.0.so.0", - LIBRARY.PANGOCAIRO: "libpangocairo-1.0.so.0", - LIBRARY.GLGDK: "libgdkglext-3.0.so.0", - LIBRARY.GLGTK: "libgtkglext-3.0.so.0", - LIBRARY.GDA: "libgda-4.0.so.4", - LIBRARY.GSV: "libgtksourceview-4.so.0", - LIBRARY.GSTREAMER: "libgstreamer-1.0.so.0", - LIBRARY.GSTINTERFACES: "libgstvideo-1.0.so.0", - LIBRARY.VTE: "libvte-2.91.so.0", - LIBRARY.PEAS: "libpeas-1.0.so.0", - LIBRARY.RSVG: "librsvg-2.so.2", - ]; -} diff --git a/generated/gtkd/rsvg/Handle.d b/generated/gtkd/rsvg/Handle.d deleted file mode 100644 index 93fc4be5e..000000000 --- a/generated/gtkd/rsvg/Handle.d +++ /dev/null @@ -1,1102 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module rsvg.Handle; - -private import cairo.Context; -private import gdkpixbuf.Pixbuf; -private import gio.Cancellable; -private import gio.FileIF; -private import gio.InputStream; -private import glib.ConstructionException; -private import glib.ErrorG; -private import glib.GException; -private import glib.Str; -private import glib.c.functions; -private import gobject.ObjectG; -private import rsvg.c.functions; -public import rsvg.c.types; - - -/** - * Lets you load SVG data and render it. - */ -public class Handle : ObjectG -{ - /** the main Gtk struct */ - protected RsvgHandle* rsvgHandle; - - /** Get the main Gtk struct */ - public RsvgHandle* getHandleStruct(bool transferOwnership = false) - { - if (transferOwnership) - ownedRef = false; - return rsvgHandle; - } - - /** the main Gtk struct as a void* */ - protected override void* getStruct() - { - return cast(void*)rsvgHandle; - } - - /** - * Sets our main struct and passes it to the parent class. - */ - public this (RsvgHandle* rsvgHandle, bool ownedRef = false) - { - this.rsvgHandle = rsvgHandle; - super(cast(GObject*)rsvgHandle, ownedRef); - } - - - /** */ - public static GType getType() - { - return rsvg_handle_get_type(); - } - - /** - * Returns a new rsvg handle. Must be freed with @g_object_unref. This - * handle can be used to load an image. - * - * The preferred way of loading SVG data into the returned #RsvgHandle is with - * rsvg_handle_read_stream_sync(). - * - * The deprecated way of loading SVG data is with rsvg_handle_write() and - * rsvg_handle_close(); note that these require buffering the entire file - * internally, and for this reason it is better to use the stream functions: - * rsvg_handle_new_from_stream_sync(), rsvg_handle_read_stream_sync(), or - * rsvg_handle_new_from_gfile_sync(). - * - * After loading the #RsvgHandle with data, you can render it using Cairo or get - * a GdkPixbuf from it. When finished, free the handle with g_object_unref(). No - * more than one image can be loaded with one handle. - * - * Note that this function creates an #RsvgHandle with no flags set. If you - * require any of #RsvgHandleFlags to be set, use any of - * rsvg_handle_new_with_flags(), rsvg_handle_new_from_stream_sync(), or - * rsvg_handle_new_from_gfile_sync(). - * - * Returns: A new #RsvgHandle with no flags set. - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this() - { - auto __p = rsvg_handle_new(); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } - - this(cast(RsvgHandle*) __p, true); - } - - /** - * Loads the SVG specified by @data. Note that this function creates an - * #RsvgHandle without a base URL, and without any #RsvgHandleFlags. If you - * need these, use rsvg_handle_new_from_stream_sync() instead by creating - * a #GMemoryInputStream from your data. - * - * Params: - * data = The SVG data - * - * Returns: A #RsvgHandle or %NULL if an error occurs. - * - * Since: 2.14 - * - * Throws: GException on failure. - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(ubyte[] data) - { - GError* err = null; - - auto __p = rsvg_handle_new_from_data(data.ptr, cast(size_t)data.length, &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - if(__p is null) - { - throw new ConstructionException("null returned by new_from_data"); - } - - this(cast(RsvgHandle*) __p, true); - } - - /** - * Loads the SVG specified by @file_name. Note that this function, like - * rsvg_handle_new(), does not specify any loading flags for the resulting - * handle. If you require the use of #RsvgHandleFlags, use - * rsvg_handle_new_from_gfile_sync(). - * - * Params: - * filename = The file name to load, or a URI. - * - * Returns: A #RsvgHandle or %NULL if an error occurs. - * - * Since: 2.14 - * - * Throws: GException on failure. - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(string filename) - { - GError* err = null; - - auto __p = rsvg_handle_new_from_file(Str.toStringz(filename), &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - if(__p is null) - { - throw new ConstructionException("null returned by new_from_file"); - } - - this(cast(RsvgHandle*) __p, true); - } - - /** - * Creates a new #RsvgHandle for @file. - * - * This function sets the "base file" of the handle to be @file itself, so SVG - * elements like <image> which reference external - * resources will be resolved relative to the location of @file. - * - * If @cancellable is not %NULL, then the operation can be cancelled by - * triggering the cancellable object from another thread. If the - * operation was cancelled, the error %G_IO_ERROR_CANCELLED will be - * returned in @error. - * - * Params: - * file = a #GFile - * flags = flags from #RsvgHandleFlags - * cancellable = a #GCancellable, or %NULL - * - * Returns: a new #RsvgHandle on success, or %NULL with @error filled in - * - * Since: 2.32 - * - * Throws: GException on failure. - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(FileIF file, RsvgHandleFlags flags, Cancellable cancellable) - { - GError* err = null; - - auto __p = rsvg_handle_new_from_gfile_sync((file is null) ? null : file.getFileStruct(), flags, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - if(__p is null) - { - throw new ConstructionException("null returned by new_from_gfile_sync"); - } - - this(cast(RsvgHandle*) __p, true); - } - - /** - * Creates a new #RsvgHandle for @stream. - * - * This function sets the "base file" of the handle to be @base_file if - * provided. SVG elements like <image> which reference - * external resources will be resolved relative to the location of @base_file. - * - * If @cancellable is not %NULL, then the operation can be cancelled by - * triggering the cancellable object from another thread. If the - * operation was cancelled, the error %G_IO_ERROR_CANCELLED will be - * returned in @error. - * - * Params: - * inputStream = a #GInputStream - * baseFile = a #GFile, or %NULL - * flags = flags from #RsvgHandleFlags - * cancellable = a #GCancellable, or %NULL - * - * Returns: a new #RsvgHandle on success, or %NULL with @error filled in - * - * Since: 2.32 - * - * Throws: GException on failure. - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(InputStream inputStream, FileIF baseFile, RsvgHandleFlags flags, Cancellable cancellable) - { - GError* err = null; - - auto __p = rsvg_handle_new_from_stream_sync((inputStream is null) ? null : inputStream.getInputStreamStruct(), (baseFile is null) ? null : baseFile.getFileStruct(), flags, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err); - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - if(__p is null) - { - throw new ConstructionException("null returned by new_from_stream_sync"); - } - - this(cast(RsvgHandle*) __p, true); - } - - /** - * Creates a new #RsvgHandle with flags @flags. After calling this function, - * you can feed the resulting handle with SVG data by using - * rsvg_handle_read_stream_sync(). - * - * Params: - * flags = flags from #RsvgHandleFlags - * - * Returns: a new #RsvgHandle - * - * Since: 2.36 - * - * Throws: ConstructionException GTK+ fails to create the object. - */ - public this(RsvgHandleFlags flags) - { - auto __p = rsvg_handle_new_with_flags(flags); - - if(__p is null) - { - throw new ConstructionException("null returned by new_with_flags"); - } - - this(cast(RsvgHandle*) __p, true); - } - - /** - * Closes @handle, to indicate that loading the image is complete. This will - * return %TRUE if the loader closed successfully and the SVG data was parsed - * correctly. Note that @handle isn't freed until @g_object_unref is called. - * - * Deprecated: Use rsvg_handle_read_stream_sync() or the constructor - * functions rsvg_handle_new_from_gfile_sync() or - * rsvg_handle_new_from_stream_sync(). See the deprecation notes for - * rsvg_handle_write() for more information. - * - * Returns: %TRUE on success, or %FALSE on error. - * - * Throws: GException on failure. - */ - public bool close() - { - GError* err = null; - - auto __p = rsvg_handle_close(rsvgHandle, &err) != 0; - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - return __p; - } - - /** - * Gets the base uri for this #RsvgHandle. - * - * Returns: the base uri, possibly null - * - * Since: 2.8 - */ - public string getBaseUri() - { - return Str.toString(rsvg_handle_get_base_uri(rsvgHandle)); - } - - /** - * Get the SVG's size. Do not call from within the size_func callback, because - * an infinite loop will occur. - * - * This function depends on the #RsvgHandle's DPI to compute dimensions in - * pixels, so you should call rsvg_handle_set_dpi() beforehand. - * - * Params: - * dimensionData = A place to store the SVG's size - * - * Since: 2.14 - */ - public void getDimensions(out RsvgDimensionData dimensionData) - { - rsvg_handle_get_dimensions(rsvgHandle, &dimensionData); - } - - /** - * Get the size of a subelement of the SVG file. Do not call from within the - * size_func callback, because an infinite loop will occur. - * - * This function depends on the #RsvgHandle's DPI to compute dimensions in - * pixels, so you should call rsvg_handle_set_dpi() beforehand. - * - * Element IDs should look like an URL fragment identifier; for example, pass - * "##foo" (hash foo) to get the geometry of the element that - * has an id="foo" attribute. - * - * Deprecated: Use rsvg_handle_get_geometry_for_layer() instead. - * - * Params: - * dimensionData = A place to store the SVG's size - * id = An element's id within the SVG, starting with "##" (a single - * hash character), for example, "##layer1". This notation corresponds to a - * URL's fragment ID. Alternatively, pass %NULL to use the whole SVG. - * - * Since: 2.22 - */ - public bool getDimensionsSub(out RsvgDimensionData dimensionData, string id) - { - return rsvg_handle_get_dimensions_sub(rsvgHandle, &dimensionData, Str.toStringz(id)) != 0; - } - - /** - * Computes the ink rectangle and logical rectangle of a single SVG element. - * - * While `rsvg_handle_get_geometry_for_layer` computes the geometry of an SVG element subtree with - * its transformation matrix, this other function will compute the element's geometry - * as if it were being rendered under an identity transformation by itself. That is, - * the resulting geometry is as if the element got extracted by itself from the SVG. - * - * This function is the counterpart to `rsvg_handle_render_element`. - * - * Element IDs should look like an URL fragment identifier; for example, pass - * "##foo" (hash foo) to get the geometry of the element that - * has an id="foo" attribute. - * - * The "ink rectangle" is the bounding box that would be painted - * for fully- stroked and filled elements. - * - * The "logical rectangle" just takes into account the unstroked - * paths and text outlines. - * - * Note that these bounds are not minimum bounds; for example, - * clipping paths are not taken into account. - * - * You can pass #NULL for the @id if you want to measure all - * the elements in the SVG, i.e. to measure everything from the - * root element. - * - * This operation is not constant-time, as it involves going through all - * the child elements. - * - * API ordering: This function must be called on a fully-loaded @handle. See - * the section API ordering for details. - * - * Panics: this function will panic if the @handle is not fully-loaded. - * - * Params: - * id = An element's id within the SVG, starting with "##" (a single - * hash character), for example, "##layer1". This notation corresponds to a - * URL's fragment ID. Alternatively, pass %NULL to compute the geometry for the - * whole SVG. - * outInkRect = Place to store the ink rectangle of the element. - * outLogicalRect = Place to store the logical rectangle of the element. - * - * Since: 2.46 - * - * Throws: GException on failure. - */ - public bool getGeometryForElement(string id, out RsvgRectangle outInkRect, out RsvgRectangle outLogicalRect) - { - GError* err = null; - - auto __p = rsvg_handle_get_geometry_for_element(rsvgHandle, Str.toStringz(id), &outInkRect, &outLogicalRect, &err) != 0; - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - return __p; - } - - /** - * Computes the ink rectangle and logical rectangle of an SVG element, or the - * whole SVG, as if the whole SVG were rendered to a specific viewport. - * - * Element IDs should look like an URL fragment identifier; for example, pass - * "##foo" (hash foo) to get the geometry of the element that - * has an id="foo" attribute. - * - * The "ink rectangle" is the bounding box that would be painted - * for fully- stroked and filled elements. - * - * The "logical rectangle" just takes into account the unstroked - * paths and text outlines. - * - * Note that these bounds are not minimum bounds; for example, - * clipping paths are not taken into account. - * - * You can pass #NULL for the @id if you want to measure all - * the elements in the SVG, i.e. to measure everything from the - * root element. - * - * This operation is not constant-time, as it involves going through all - * the child elements. - * - * API ordering: This function must be called on a fully-loaded @handle. See - * the section API ordering for details. - * - * Panics: this function will panic if the @handle is not fully-loaded. - * - * Params: - * id = An element's id within the SVG, starting with "##" (a single - * hash character), for example, "##layer1". This notation corresponds to a - * URL's fragment ID. Alternatively, pass %NULL to compute the geometry for the - * whole SVG. - * viewport = Viewport size at which the whole SVG would be fitted. - * outInkRect = Place to store the ink rectangle of the element. - * outLogicalRect = Place to store the logical rectangle of the element. - * - * Since: 2.46 - * - * Throws: GException on failure. - */ - public bool getGeometryForLayer(string id, RsvgRectangle* viewport, out RsvgRectangle outInkRect, out RsvgRectangle outLogicalRect) - { - GError* err = null; - - auto __p = rsvg_handle_get_geometry_for_layer(rsvgHandle, Str.toStringz(id), viewport, &outInkRect, &outLogicalRect, &err) != 0; - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - return __p; - } - - /** - * Queries the width, height, and - * viewBox attributes in an SVG document. - * - * If you are calling this function to compute a scaling factor to render the SVG, - * consider simply using rsvg_handle_render_document() instead; it will do the - * scaling computations automatically. - * - * As an example, the following SVG element has a width of 100 pixels and a height of 400 pixels, but no viewBox: - * - * |[ - * - * ]| - * - * Conversely, the following element has a viewBox, but no width or height: - * - * |[ - * - * ]| - * - * Note that the #RsvgLength return values have #RsvgUnits in them; you should - * not assume that they are always in pixels. For example, the following SVG element - * will return a width value whose units field is RSVG_UNIT_MM. - * - * |[ - * - * ]| - * - * API ordering: This function must be called on a fully-loaded @handle. See - * the section API ordering for details. - * - * Panics: this function will panic if the @handle is not fully-loaded. - * - * Params: - * outHasWidth = Will be set to #TRUE if the toplevel SVG has a width attribute - * outWidth = Will be set to the value of the width attribute in the toplevel SVG - * outHasHeight = Will be set to #TRUE if the toplevel SVG has a height attribute - * outHeight = Will be set to the value of the height attribute in the toplevel SVG - * outHasViewbox = Will be set to #TRUE if the toplevel SVG has a viewBox attribute - * outViewbox = Will be set to the value of the viewBox attribute in the toplevel SVG - * - * Since: 2.46 - */ - public void getIntrinsicDimensions(out bool outHasWidth, out RsvgLength outWidth, out bool outHasHeight, out RsvgLength outHeight, out bool outHasViewbox, out RsvgRectangle outViewbox) - { - int outoutHasWidth; - int outoutHasHeight; - int outoutHasViewbox; - - rsvg_handle_get_intrinsic_dimensions(rsvgHandle, &outoutHasWidth, &outWidth, &outoutHasHeight, &outHeight, &outoutHasViewbox, &outViewbox); - - outHasWidth = (outoutHasWidth == 1); - outHasHeight = (outoutHasHeight == 1); - outHasViewbox = (outoutHasViewbox == 1); - } - - /** - * Returns the pixbuf loaded by @handle. The pixbuf returned will be reffed, so - * the caller of this function must assume that ref. If insufficient data has - * been read to create the pixbuf, or an error occurred in loading, then %NULL - * will be returned. Note that the pixbuf may not be complete until - * @rsvg_handle_close has been called. - * - * This function depends on the #RsvgHandle's DPI to compute dimensions in - * pixels, so you should call rsvg_handle_set_dpi() beforehand. - * - * Returns: the pixbuf loaded by @handle, or %NULL. - */ - public Pixbuf getPixbuf() - { - auto __p = rsvg_handle_get_pixbuf(rsvgHandle); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Pixbuf)(cast(GdkPixbuf*) __p, true); - } - - /** - * Creates a #GdkPixbuf the same size as the entire SVG loaded into @handle, but - * only renders the sub-element that has the specified @id (and all its - * sub-sub-elements recursively). If @id is #NULL, this function renders the - * whole SVG. - * - * This function depends on the #RsvgHandle's DPI to compute dimensions in - * pixels, so you should call rsvg_handle_set_dpi() beforehand. - * - * If you need to render an image which is only big enough to fit a particular - * sub-element of the SVG, consider using rsvg_handle_render_cairo_sub(), upon a - * surface that is just the size returned by rsvg_handle_get_dimensions_sub(). - * You will need to offset the rendering by the amount returned in - * rsvg_handle_get_position_sub(). - * - * Element IDs should look like an URL fragment identifier; for example, pass - * "##foo" (hash foo) to get the geometry of the element that - * has an id="foo" attribute. - * - * Params: - * id = An element's id within the SVG, starting with "##" (a single - * hash character), for example, "##layer1". This notation corresponds to a - * URL's fragment ID. Alternatively, pass %NULL to use the whole SVG. - * - * Returns: a pixbuf, or %NULL if an error occurs - * during rendering. - * - * Since: 2.14 - */ - public Pixbuf getPixbufSub(string id) - { - auto __p = rsvg_handle_get_pixbuf_sub(rsvgHandle, Str.toStringz(id)); - - if(__p is null) - { - return null; - } - - return ObjectG.getDObject!(Pixbuf)(cast(GdkPixbuf*) __p, true); - } - - /** - * Get the position of a subelement of the SVG file. Do not call from within - * the size_func callback, because an infinite loop will occur. - * - * This function depends on the #RsvgHandle's DPI to compute dimensions in - * pixels, so you should call rsvg_handle_set_dpi() beforehand. - * - * Element IDs should look like an URL fragment identifier; for example, pass - * "##foo" (hash foo) to get the geometry of the element that - * has an id="foo" attribute. - * - * Deprecated: Use rsvg_handle_get_geometry_for_layer() instead. - * - * Params: - * positionData = A place to store the SVG fragment's position. - * id = An element's id within the SVG, starting with "##" (a single - * hash character), for example, "##layer1". This notation corresponds to a - * URL's fragment ID. Alternatively, pass %NULL to use the whole SVG. - * - * Since: 2.22 - */ - public bool getPositionSub(out RsvgPositionData positionData, string id) - { - return rsvg_handle_get_position_sub(rsvgHandle, &positionData, Str.toStringz(id)) != 0; - } - - /** - * Checks whether the element @id exists in the SVG document. - * - * Element IDs should look like an URL fragment identifier; for example, pass - * "##foo" (hash foo) to get the geometry of the element that - * has an id="foo" attribute. - * - * Params: - * id = An element's id within the SVG, starting with "##" (a single hash - * character), for example, "##layer1". This notation corresponds to a URL's - * fragment ID. - * - * Returns: %TRUE if @id exists in the SVG document, %FALSE otherwise. - * - * Since: 2.22 - */ - public bool hasSub(string id) - { - return rsvg_handle_has_sub(rsvgHandle, Str.toStringz(id)) != 0; - } - - /** - * Do not call this function. This is intended for librsvg's internal - * test suite only. - * - * Params: - * testing = Whether to enable testing mode - */ - public void internalSetTesting(bool testing) - { - rsvg_handle_internal_set_testing(rsvgHandle, testing); - } - - /** - * Reads @stream and writes the data from it to @handle. - * - * Before calling this function, you may need to call rsvg_handle_set_base_uri() - * or rsvg_handle_set_base_gfile() to set the "base file" for resolving - * references to external resources. SVG elements like - * <image> which reference external resources will be - * resolved relative to the location you specify with those functions. - * - * If @cancellable is not %NULL, then the operation can be cancelled by - * triggering the cancellable object from another thread. If the - * operation was cancelled, the error %G_IO_ERROR_CANCELLED will be - * returned. - * - * Params: - * stream = a #GInputStream - * cancellable = a #GCancellable, or %NULL - * - * Returns: %TRUE if reading @stream succeeded, or %FALSE otherwise - * with @error filled in - * - * Since: 2.32 - * - * Throws: GException on failure. - */ - public bool readStreamSync(InputStream stream, Cancellable cancellable) - { - GError* err = null; - - auto __p = rsvg_handle_read_stream_sync(rsvgHandle, (stream is null) ? null : stream.getInputStreamStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), &err) != 0; - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - return __p; - } - - /** - * Draws a loaded SVG handle to a Cairo context. Drawing will occur with - * respect to the @cr's current transformation: for example, if the @cr has a - * rotated current transformation matrix, the whole SVG will be rotated in the - * rendered version. - * - * This function depends on the #RsvgHandle's DPI to compute dimensions in - * pixels, so you should call rsvg_handle_set_dpi() beforehand. - * - * Note that @cr must be a Cairo context that is not in an error state, that is, - * cairo_status() must return #CAIRO_STATUS_SUCCESS for it. Cairo can set a - * context to be in an error state in various situations, for example, if it was - * passed an invalid matrix or if it was created for an invalid surface. - * - * Params: - * cr = A Cairo context - * - * Returns: %TRUE if drawing succeeded; %FALSE otherwise. - * - * Since: 2.14 - */ - public bool renderCairo(Context cr) - { - return rsvg_handle_render_cairo(rsvgHandle, (cr is null) ? null : cr.getContextStruct()) != 0; - } - - /** - * Draws a subset of a loaded SVG handle to a Cairo context. Drawing will occur with - * respect to the @cr's current transformation: for example, if the @cr has a - * rotated current transformation matrix, the whole SVG will be rotated in the - * rendered version. - * - * This function depends on the #RsvgHandle's DPI to compute dimensions in - * pixels, so you should call rsvg_handle_set_dpi() beforehand. - * - * Note that @cr must be a Cairo context that is not in an error state, that is, - * cairo_status() must return #CAIRO_STATUS_SUCCESS for it. Cairo can set a - * context to be in an error state in various situations, for example, if it was - * passed an invalid matrix or if it was created for an invalid surface. - * - * Element IDs should look like an URL fragment identifier; for example, pass - * "##foo" (hash foo) to get the geometry of the element that - * has an id="foo" attribute. - * - * Params: - * cr = A Cairo context - * id = An element's id within the SVG, starting with "##" (a single - * hash character), for example, "##layer1". This notation corresponds to a - * URL's fragment ID. Alternatively, pass %NULL to render the whole SVG. - * - * Returns: %TRUE if drawing succeeded; %FALSE otherwise. - * - * Since: 2.14 - */ - public bool renderCairoSub(Context cr, string id) - { - return rsvg_handle_render_cairo_sub(rsvgHandle, (cr is null) ? null : cr.getContextStruct(), Str.toStringz(id)) != 0; - } - - /** - * Renders the whole SVG document fitted to a viewport. - * - * The @viewport gives the position and size at which the whole SVG - * document will be rendered. - * - * The @cr must be in a #CAIRO_STATUS_SUCCESS state, or this function will not - * render anything, and instead will return an error. - * - * API ordering: This function must be called on a fully-loaded @handle. See - * the section API ordering for details. - * - * Panics: this function will panic if the @handle is not fully-loaded. - * - * Params: - * cr = A Cairo context - * viewport = Viewport size at which the whole SVG would be fitted. - * - * Since: 2.46 - * - * Throws: GException on failure. - */ - public bool renderDocument(Context cr, RsvgRectangle* viewport) - { - GError* err = null; - - auto __p = rsvg_handle_render_document(rsvgHandle, (cr is null) ? null : cr.getContextStruct(), viewport, &err) != 0; - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - return __p; - } - - /** - * Renders a single SVG element to a given viewport - * - * This function can be used to extract individual element subtrees and render them, - * scaled to a given @element_viewport. This is useful for applications which have - * reusable objects in an SVG and want to render them individually; for example, an - * SVG full of icons that are meant to be be rendered independently of each other. - * - * Element IDs should look like an URL fragment identifier; for example, pass - * "##foo" (hash foo) to get the geometry of the element that - * has an id="foo" attribute. - * - * You can pass #NULL for the @id if you want to render all - * the elements in the SVG, i.e. to render everything from the - * root element. - * - * The `element_viewport` gives the position and size at which the named element will - * be rendered. FIXME: mention proportional scaling. - * - * API ordering: This function must be called on a fully-loaded @handle. See - * the section API ordering for details. - * - * Panics: this function will panic if the @handle is not fully-loaded. - * - * Params: - * cr = A Cairo context - * id = An element's id within the SVG, starting with "##" (a single - * hash character), for example, "##layer1". This notation corresponds to a - * URL's fragment ID. Alternatively, pass %NULL to render the whole SVG document tree. - * elementViewport = Viewport size in which to fit the element - * - * Since: 2.46 - * - * Throws: GException on failure. - */ - public bool renderElement(Context cr, string id, RsvgRectangle* elementViewport) - { - GError* err = null; - - auto __p = rsvg_handle_render_element(rsvgHandle, (cr is null) ? null : cr.getContextStruct(), Str.toStringz(id), elementViewport, &err) != 0; - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - return __p; - } - - /** - * Renders a single SVG element in the same place as for a whole SVG document. - * - * This is equivalent to rsvg_handle_render_document(), but it renders only a - * single element and its children, as if they composed an individual layer in - * the SVG. The element is rendered with the same transformation matrix as it - * has within the whole SVG document. Applications can use this to re-render a - * single element and repaint it on top of a previously-rendered document, for - * example. - * - * Element IDs should look like an URL fragment identifier; for example, pass - * "##foo" (hash foo) to get the geometry of the element that - * has an id="foo" attribute. - * - * You can pass #NULL for the @id if you want to render all - * the elements in the SVG, i.e. to render everything from the - * root element. - * - * API ordering: This function must be called on a fully-loaded @handle. See - * the section API ordering for details. - * - * Panics: this function will panic if the @handle is not fully-loaded. - * - * Params: - * cr = A Cairo context - * id = An element's id within the SVG, starting with "##" (a single - * hash character), for example, "##layer1". This notation corresponds to a - * URL's fragment ID. Alternatively, pass %NULL to render the whole SVG document tree. - * viewport = Viewport size at which the whole SVG would be fitted. - * - * Since: 2.46 - * - * Throws: GException on failure. - */ - public bool renderLayer(Context cr, string id, RsvgRectangle* viewport) - { - GError* err = null; - - auto __p = rsvg_handle_render_layer(rsvgHandle, (cr is null) ? null : cr.getContextStruct(), Str.toStringz(id), viewport, &err) != 0; - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - return __p; - } - - /** - * Set the base URI for @handle from @file. - * - * Note: This function may only be called before rsvg_handle_write() or - * rsvg_handle_read_stream_sync() have been called. - * - * Params: - * baseFile = a #GFile - * - * Since: 2.32 - */ - public void setBaseGfile(FileIF baseFile) - { - rsvg_handle_set_base_gfile(rsvgHandle, (baseFile is null) ? null : baseFile.getFileStruct()); - } - - /** - * Set the base URI for this SVG. - * - * Note: This function may only be called before rsvg_handle_write() or - * rsvg_handle_read_stream_sync() have been called. - * - * Params: - * baseUri = The base uri - * - * Since: 2.9 - */ - public void setBaseUri(string baseUri) - { - rsvg_handle_set_base_uri(rsvgHandle, Str.toStringz(baseUri)); - } - - /** - * Sets the DPI at which the @handle will be rendered. Common values are - * 75, 90, and 300 DPI. - * - * Passing a number <= 0 to @dpi will reset the DPI to whatever the default - * value happens to be, but since rsvg_set_default_dpi() is deprecated, please - * do not pass values <= 0 to this function. - * - * Params: - * dpi = Dots Per Inch (i.e. as Pixels Per Inch) - * - * Since: 2.8 - */ - public void setDpi(double dpi) - { - rsvg_handle_set_dpi(rsvgHandle, dpi); - } - - /** - * Sets the DPI at which the @handle will be rendered. Common values are - * 75, 90, and 300 DPI. - * - * Passing a number <= 0 to @dpi will reset the DPI to whatever the default - * value happens to be, but since rsvg_set_default_dpi_x_y() is deprecated, - * please do not pass values <= 0 to this function. - * - * Params: - * dpiX = Dots Per Inch (i.e. Pixels Per Inch) - * dpiY = Dots Per Inch (i.e. Pixels Per Inch) - * - * Since: 2.8 - */ - public void setDpiXY(double dpiX, double dpiY) - { - rsvg_handle_set_dpi_x_y(rsvgHandle, dpiX, dpiY); - } - - /** - * Sets a CSS stylesheet to use for an SVG document. - * - * The @css_len argument is mandatory; this function will not compute the length - * of the @css string. This is because a provided stylesheet, which the calling - * program could read from a file, can have nul characters in it. - * - * During the CSS cascade, the specified stylesheet will be used with a "User" - * origin. - * - * Note that `@import` rules will not be resolved, except for `data:` URLs. - * - * Params: - * css = String with CSS data; must be valid UTF-8. - * - * Since: 2.48 - * - * Throws: GException on failure. - */ - public bool setStylesheet(ubyte[] css) - { - GError* err = null; - - auto __p = rsvg_handle_set_stylesheet(rsvgHandle, css.ptr, cast(size_t)css.length, &err) != 0; - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - return __p; - } - - /** - * Loads the next @count bytes of the image. - * - * Before calling this function for the first time, you may need to call - * rsvg_handle_set_base_uri() or rsvg_handle_set_base_gfile() to set the "base - * file" for resolving references to external resources. SVG elements like - * <image> which reference external resources will be - * resolved relative to the location you specify with those functions. - * - * Deprecated: Use rsvg_handle_read_stream_sync() or the constructor - * functions rsvg_handle_new_from_gfile_sync() or - * rsvg_handle_new_from_stream_sync(). This function is deprecated because it - * will accumulate data from the @buf in memory until rsvg_handle_close() gets - * called. To avoid a big temporary buffer, use the suggested functions, which - * take a #GFile or a #GInputStream and do not require a temporary buffer. - * - * Params: - * buf = pointer to svg data - * - * Returns: %TRUE on success, or %FALSE on error. - * - * Throws: GException on failure. - */ - public bool write(char[] buf) - { - GError* err = null; - - auto __p = rsvg_handle_write(rsvgHandle, buf.ptr, cast(size_t)buf.length, &err) != 0; - - if (err !is null) - { - throw new GException( new ErrorG(err) ); - } - - return __p; - } - - /** - * - * - * Deprecated: No-op. This function should not be called from normal programs. - * - * Since: 2.36 - */ - public static void cleanup() - { - rsvg_cleanup(); - } - - /** - * Do not use this function. Create an #RsvgHandle and call - * rsvg_handle_set_dpi() on it instead. - * - * Deprecated: This function used to set a global default DPI. However, - * it only worked if it was called before any #RsvgHandle objects had been - * created; it would not work after that. To avoid global mutable state, please - * use rsvg_handle_set_dpi() instead. - * - * Params: - * dpi = Dots Per Inch (aka Pixels Per Inch) - * - * Since: 2.8 - */ - public static void setDefaultDpi(double dpi) - { - rsvg_set_default_dpi(dpi); - } - - /** - * Do not use this function. Create an #RsvgHandle and call - * rsvg_handle_set_dpi_x_y() on it instead. - * - * Deprecated: This function used to set a global default DPI. However, - * it only worked if it was called before any #RsvgHandle objects had been - * created; it would not work after that. To avoid global mutable state, please - * use rsvg_handle_set_dpi() instead. - * - * Params: - * dpiX = Dots Per Inch (aka Pixels Per Inch) - * dpiY = Dots Per Inch (aka Pixels Per Inch) - * - * Since: 2.8 - */ - public static void setDefaultDpiXY(double dpiX, double dpiY) - { - rsvg_set_default_dpi_x_y(dpiX, dpiY); - } -} diff --git a/generated/gtkd/rsvg/c/types.d b/generated/gtkd/rsvg/c/types.d deleted file mode 100644 index dca673881..000000000 --- a/generated/gtkd/rsvg/c/types.d +++ /dev/null @@ -1,248 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage - - -module rsvg.c.types; - -public import cairo.c.types; -public import gdkpixbuf.c.types; -public import gio.c.types; -public import gobject.c.types; - - -/** - * An enumeration representing possible errors - */ -public enum RsvgError -{ - /** - * the request failed - */ - FAILED = 0, -} -alias RsvgError Error; - -public enum RsvgHandleFlags -{ - /** - * No flags are set. - */ - FLAGS_NONE = 0, - /** - * Disable safety limits in the XML parser. - * Libxml2 has several - * limits designed to keep malicious XML content from consuming too - * much memory while parsing. For security reasons, this should only be used - * for trusted input! - * Since: 2.40.3 - */ - FLAG_UNLIMITED = 1, - /** - * Use this if the Cairo surface to which you - * are rendering is a PDF, PostScript, SVG, or Win32 Printing surface. This - * will make librsvg and Cairo use the original, compressed data for images in - * the final output, instead of passing uncompressed images. This will make a - * Keeps the image data when loading images, for use by cairo when painting to - * e.g. a PDF surface. For example, this will make the a resulting PDF file - * smaller and faster. Please see the - * Cairo documentation for details. - * Since: 2.40.3 - */ - FLAG_KEEP_IMAGE_DATA = 2, -} -alias RsvgHandleFlags HandleFlags; - -/** - * Units for the #RsvgLength struct. These have the same meaning as CSS length - * units. - */ -public enum RsvgUnit -{ - /** - * percentage values; where 1.0 means 100%. - */ - PERCENT = 0, - /** - * pixels - */ - PX = 1, - /** - * em, or the current font size - */ - EM = 2, - /** - * x-height of the current font - */ - EX = 3, - /** - * inches - */ - IN = 4, - /** - * centimeters - */ - CM = 5, - /** - * millimeters - */ - MM = 6, - /** - * points, or 1/72 inch - */ - PT = 7, - /** - * picas, or 1/6 inch (12 points) - */ - PC = 8, -} -alias RsvgUnit Unit; - -/** - * Dimensions of an SVG image from rsvg_handle_get_dimensions(), or an - * individual element from rsvg_handle_get_dimensions_sub(). Please see - * the deprecation documentation for those functions. - * - * Deprecated: FIXME: point to deprecation documentation. - */ -struct RsvgDimensionData -{ - /** - * SVG's width, in pixels - */ - int width; - /** - * SVG's height, in pixels - */ - int height; - /** - * SVG's original width, unmodified by #RsvgSizeFunc - */ - double em; - /** - * SVG's original height, unmodified by #RsvgSizeFunc - */ - double ex; -} - -struct RsvgHandle -{ - GObject parent; - void*[16] AbiPadding; -} - -/** - * Class structure for #RsvgHandle. - */ -struct RsvgHandleClass -{ - /** - * parent class - */ - GObjectClass parent; - void*[15] AbiPadding; -} - -/** - * #RsvgLength values are used in rsvg_handle_get_intrinsic_dimensions(), for - * example, to return the CSS length values of the width and - * height attributes of an <svg> - * element. - * - * This is equivalent to CSS lengths. - * - * It is up to the calling application to convert lengths in non-pixel units - * (i.e. those where the @unit field is not #RSVG_UNIT_PX) into something - * meaningful to the application. For example, if your application knows the - * dots-per-inch (DPI) it is using, it can convert lengths with @unit in - * #RSVG_UNIT_IN or other physical units. - */ -struct RsvgLength -{ - /** - * numeric part of the length - */ - double length; - /** - * unit part of the length - */ - RsvgUnit unit; -} - -/** - * Position of an SVG fragment from rsvg_handle_get_position_sub(). Please - * the deprecation documentation for that function. - * - * Deprecated: FIXME: point to deprecation documentation. - */ -struct RsvgPositionData -{ - /** - * position on the x axis - */ - int x; - /** - * position on the y axis - */ - int y; -} - -/** - * A data structure for holding a rectangle. - * - * Since: 2.46 - */ -struct RsvgRectangle -{ - /** - * X coordinate of the left side of the rectangle - */ - double x; - /** - * Y coordinate of the the top side of the rectangle - */ - double y; - /** - * width of the rectangle - */ - double width; - /** - * height of the rectangle - */ - double height; -} - -enum MAJOR_VERSION = 2; -alias LIBRSVG_MAJOR_VERSION = MAJOR_VERSION; - -enum MICRO_VERSION = 7; -alias LIBRSVG_MICRO_VERSION = MICRO_VERSION; - -enum MINOR_VERSION = 50; -alias LIBRSVG_MINOR_VERSION = MINOR_VERSION; - -enum VERSION = "2.50.7"; -alias LIBRSVG_VERSION = VERSION; diff --git a/makeddox.sh b/makeddox.sh index cdd2295a1..9c60d8516 100755 --- a/makeddox.sh +++ b/makeddox.sh @@ -4,22 +4,34 @@ mkdir -p ddox/temp echo "Generating JSON file for modules" -echo "MODULES =" > modules.ddoc ;grep -h -e "^module" generated/gtkd/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc -grep -h -e "^module" generated/sourceview/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc -grep -h -e "^module" generated/vte/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc -grep -h -e "^module" generated/gstreamer/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc -grep -h -e "^module" generated/peas/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +echo "MODULES =" > modules.ddoc +grep -h -e "^module" source/linker/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/adw/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/atk/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/cairo/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/gdk/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/gdkpixbuf/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/gio/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/glib/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/graphene/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/gsk/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +#grep -h -e "^module" source/generated/gstreamer/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/gtk/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/harfbuzz/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/pango/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/rsvg/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/shumate/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/soup/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/sourceview/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc dmd -o- -D -X -Xfddox/docs.json -Ddddox/temp \ - generated/gtkd/gtk/*.d generated/gtkd/gtk/c/*.d generated/gtkd/gtkc/*.d generated/gtkd/gtkd/*.d generated/gtkd/glib/*.d generated/gtkd/glib/c/*.d generated/gtkd/gio/*.d \ - generated/gtkd/gio/c/*.d generated/gtkd/gdk/*.d generated/gtkd/gdk/c/*.d generated/gtkd/gobject/*.d generated/gtkd/gobject/c/*.d \ - generated/gtkd/gthread/*.d generated/gtkd/gthread/c/*.d generated/gtkd/atk/*.d generated/gtkd/atk/c/*.d generated/gtkd/pango/*.d generated/gtkd/pango/c/*.d \ - generated/gtkd/cairo/*.d generated/gtkd/cairo/c/*.d generated/gtkd/gdkpixbuf/*.d generated/gtkd/gdkpixbuf/c/*.d generated/gtkd/rsvg/*.d generated/gtkd/rsvg/c/*.d \ - generated/sourceview/gsv/*.d generated/sourceview/gsv/c/*.d generated/sourceview/gsvc/*.d \ - generated/vte/vtec/*.d generated/vte/vte/*.d generated/vte/vte/c/*.d \ - generated/gstreamer/gstreamer/*.d generated/gstreamer/gstreamer/c/*.d generated/gstreamer/gstinterfaces/*.d generated/gstreamer/gstinterfaces/c/*.d generated/gstreamer/gstreamerc/*.d \ - generated/gstreamer/gst/mpegts/*.d generated/gstreamer/gst/mpegts/c/*.d generated/gstreamer/gst/base/*.d generated/gstreamer/gst/base/c/*.d generated/gstreamer/gst/app/*.d generated/gstreamer/gst/app/c/*.d \ - generated/peas/peas/*.d generated/peas/peas/c/*.d generated/peas/peasc/*.d -op + source/generated/gtk/gtk/*.d source/generated/gtk/gtk/c/*.d source/generated/glib/glib/*.d source/generated/glib/glib/c/*.d source/generated/gio/gio/*.d \ + source/generated/gio/gio/c/*.d source/generated/gdk/gdk/*.d source/generated/gdk/gdk/c/*.d source/generated/glib/gobject/*.d source/generated/glib/gobject/c/*.d \ + source/generated/glib/gthread/*.d source/generated/glib/gthread/c/*.d source/generated/atk/atk/*.d source/generated/atk/atk/c/*.d source/generated/pango/pango/*.d source/generated/pango/pango/c/*.d \ + source/generated/cairo/cairo/*.d source/generated/cairo/cairo/c/*.d source/generated/gdkpixbuf/gdkpixbuf/*.d source/generated/gdkpixbuf/gdkpixbuf/c/*.d source/generated/rsvg/rsvg/*.d source/generated/rsvg/rsvg/c/*.d \ + source/generated/sourceview/sourceview/*.d source/generated/sourceview/sourceview/c/*.d source/generated/harfbuzz/harfbuzz/*.d source/generated/harfbuzz/harfbuzz/c/*.d \ + source/generated/adw/adw/*.d source/generated/adw/adw/c/*.d source/generated/soup/soup/*.d source/generated/soup/soup/c/*.d source/generated/graphene/graphene/*.d source/generated/graphene/graphene/c/*.d \ + source/generated/shumate/shumate/*.d source/generated/shumate/shumate/c/*.d source/generated/gsk/gsk/*.d source/generated/gsk/gsk/c/*.d source/linker/*.d -op # Delete all html files generated by D ddocs rm -rf ddox/temp/* diff --git a/makedocs.sh b/makedocs.sh index 2219e3755..444806d04 100755 --- a/makedocs.sh +++ b/makedocs.sh @@ -1,24 +1,36 @@ #!/bin/sh -echo "MODULES =" > modules.ddoc ;grep -h -e "^module" generated/gtkd/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc -grep -h -e "^module" generated/sourceview/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc -grep -h -e "^module" generated/gstreamer/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc -grep -h -e "^module" generated/vte/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc -grep -h -e "^module" generated/peas/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +echo "MODULES =" > modules.ddoc +grep -h -e "^module" source/linker/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/adw/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/atk/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/cairo/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/gdk/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/gdkpixbuf/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/gio/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/glib/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/graphene/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/gsk/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +#grep -h -e "^module" source/generated/gstreamer/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/gtk/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/harfbuzz/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/pango/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/rsvg/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/shumate/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/soup/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc +grep -h -e "^module" source/generated/sourceview/* -r | sort -u | sed 's/;//' | sed 's/\r//' | sed 's/module \(.*\)$/\t$(MODULE \1)/' >> modules.ddoc -cd generated +cd source/generated -dmd -o- -D -Dd../docs ../modules.ddoc ../docs/candydoc/candy.ddoc \ - gtkd/gtk/*.d gtkd/gtk/c/*.d gtkd/gtkc/*.d gtkd/gtkd/*.d gtkd/glib/*.d gtkd/glib/c/*.d gtkd/gio/*.d \ - gtkd/gio/c/*.d gtkd/gdk/*.d gtkd/gdk/c/*.d gtkd/gobject/*.d gtkd/gobject/c/*.d \ - gtkd/gthread/*.d gtkd/gthread/c/*.d gtkd/atk/*.d gtkd/atk/c/*.d gtkd/pango/*.d gtkd/pango/c/*.d \ - gtkd/cairo/*.d gtkd/cairo/c/*.d gtkd/gdkpixbuf/*.d gtkd/gdkpixbuf/c/*.d gtkd/rsvg/*.d gtkd/rsvg/c/*.d \ - sourceview/gsv/*.d sourceview/gsv/c/*.d sourceview/gsvc/*.d \ - vte/vtec/*.d vte/vte/*.d vte/vte/c/*.d \ - gstreamer/gstreamer/*.d gstreamer/gstreamer/c/*.d gstreamer/gstinterfaces/*.d gstreamer/gstinterfaces/c/*.d gstreamer/gstreamerc/*.d \ - gstreamer/gst/mpegts/*.d gstreamer/gst/mpegts/c/*.d gstreamer/gst/base/*.d gstreamer/gst/base/c/*.d gstreamer/gst/app/*.d gstreamer/gst/app/c/*.d \ - peas/peas/*.d peas/peas/c/*.d peas/peasc/*.d -op +dmd -o- -D -Dd../../docs ../../modules.ddoc ../../docs/candydoc/candy.ddoc \ + gtk/gtk/*.d gtk/gtk/c/*.d glib/glib/*.d glib/glib/c/*.d gio/gio/*.d \ + gio/gio/c/*.d gdk/gdk/*.d gdk/gdk/c/*.d glib/gobject/*.d glib/gobject/c/*.d \ + glib/gthread/*.d glib/gthread/c/*.d atk/atk/*.d atk/atk/c/*.d pango/pango/*.d pango/pango/c/*.d \ + cairo/cairo/*.d cairo/cairo/c/*.d gdkpixbuf/gdkpixbuf/*.d gdkpixbuf/gdkpixbuf/c/*.d rsvg/rsvg/*.d rsvg/rsvg/c/*.d \ + sourceview/sourceview/*.d sourceview/sourceview/c/*.d harfbuzz/harfbuzz/*.d harfbuzz/harfbuzz/c/*.d \ + adw/adw/*.d adw/adw/c/*.d soup/soup/*.d soup/soup/c/*.d graphene/graphene/*.d graphene/graphene/c/*.d \ + shumate/shumate/*.d shumate/shumate/c/*.d gsk/gsk/*.d gsk/gsk/c/*.d ../linker/*.d -op -cd ../docs +cd ../../docs echo Escaping gtk.Builder tags. for file in */*/*.html; diff --git a/src/APILookup.txt b/source/APILookup.txt similarity index 81% rename from src/APILookup.txt rename to source/APILookup.txt index 7eb2318e6..b9359ca7f 100644 --- a/src/APILookup.txt +++ b/source/APILookup.txt @@ -53,27 +53,61 @@ outputRoot: generated ### predifined: lib ########################################################### -srcDir: gtkd -copy: cairo -copy: gtkd +srcDir: glib lookup: APILookupGLib.txt lookup: APILookupGThread.txt lookup: APILookupGObject.txt -lookup: APILookupGio.txt + +srcDir: graphene +lookup: APILookupGraphene.txt + +srcDir: cairo +copy: cairo lookup: APILookupCairo.txt -lookup: APILookupRsvg.txt + +srcDir: harfbuzz lookup: APILookupHarfBuzz.txt + +srcDir: pango lookup: APILookupPango.txt -lookup: APILookupAtk.txt + +srcDir: gio +lookup: APILookupGio.txt + +srcDir: gdkpixbuf lookup: APILookupGdkPixbuf.txt + +srcDir: gdk lookup: APILookupGdk.txt + +srcDir: atk +lookup: APILookupAtk.txt + +srcDir: rsvg +lookup: APILookupRsvg.txt + +srcDir: gsk lookup: APILookupGsk.txt + +srcDir: gtk +copy: gtk/Implement.d lookup: APILookupGtk.txt -lookup: APILookupGraphene.txt -srcDir: gstreamer -lookup: APILookupGStreamer.txt -lookup: APILookupGstInterfaces.txt -lookup: APILookupGstApp.txt -lookup: APILookupGstBase.txt -lookup: APILookupGstMpegts.txt +srcDir: adw +lookup: APILookupAdw.txt + +srcDir: sourceview +lookup: APILookupSourceView.txt + +srcDir: soup +lookup: APILookupSoup.txt + +srcDir: shumate +lookup: APILookupShumate.txt + +#srcDir: gstreamer +#lookup: APILookupGStreamer.txt +#lookup: APILookupGstInterfaces.txt +#lookup: APILookupGstApp.txt +#lookup: APILookupGstBase.txt +#lookup: APILookupGstMpegts.txt diff --git a/source/APILookupAdw.txt b/source/APILookupAdw.txt new file mode 100644 index 000000000..21ad849ba --- /dev/null +++ b/source/APILookupAdw.txt @@ -0,0 +1,81 @@ +# +# This file is part of gtkD. +# +# gtkD 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 3 +# of the License, or (at your option) any later version, with +# some exceptions, please read the COPYING file. +# +# gtkD 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 gtkD; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA +# +wrap: adw +file: Adw-1.gir + +# Fix generation errors + +struct: ActionRow +noCode: activate +code: start + /** + * Activates @self. + * + * Since: 1.0 + */ + public override bool activate() + { + adw_action_row_activate(adwActionRow); + return true; + } +code: end + +struct: ApplicationWindow +code: start + /** + * You should use `setContent(Widget)` instead + */ + override void setChild(Widget child) + { + setContent(child); + } +code: end + +struct: Window +code: start + /** + * You should use `setContent(Widget)` instead + */ + override void setChild(Widget child) + { + setContent(child); + } +code: end + +struct: SplitButton +# workaround to getDirection being marked as override +# see https://github.com/gtkd-developers/gir-to-d/issues/40 +noCode: get_direction +code: start + /** + * Gets the direction in which the popup will be popped up. + * + * Returns: the direction + * + * Since: 1.0 + */ + public GtkArrowType getButtonDirection() + { + return adw_split_button_get_direction(adwSplitButton); + } +code: end + +struct: SpringParams +# conflicts with constructor +noCode: new_full \ No newline at end of file diff --git a/src/APILookupAtk.txt b/source/APILookupAtk.txt similarity index 100% rename from src/APILookupAtk.txt rename to source/APILookupAtk.txt diff --git a/src/APILookupCairo.txt b/source/APILookupCairo.txt similarity index 100% rename from src/APILookupCairo.txt rename to source/APILookupCairo.txt diff --git a/src/APILookupGLd.txt b/source/APILookupGLd.txt similarity index 100% rename from src/APILookupGLd.txt rename to source/APILookupGLd.txt diff --git a/src/APILookupGLib.txt b/source/APILookupGLib.txt similarity index 99% rename from src/APILookupGLib.txt rename to source/APILookupGLib.txt index 133267afc..0c9bde3e0 100644 --- a/src/APILookupGLib.txt +++ b/source/APILookupGLib.txt @@ -1982,9 +1982,9 @@ version: end version 2.60: move: strv_equal Str -move: string_new String -move: string_new_len String -move: string_sized_new String +move: ref_string_new String +move: ref_string_new_len String +#move: ref_string_sized_new String move: bit_lock Thread move: bit_trylock Thread diff --git a/src/APILookupGLt.txt b/source/APILookupGLt.txt similarity index 100% rename from src/APILookupGLt.txt rename to source/APILookupGLt.txt diff --git a/src/APILookupGObject.txt b/source/APILookupGObject.txt similarity index 99% rename from src/APILookupGObject.txt rename to source/APILookupGObject.txt index 26a494692..b2e167980 100644 --- a/src/APILookupGObject.txt +++ b/source/APILookupGObject.txt @@ -435,7 +435,7 @@ code: start ~this() { static if ( isPointer!(typeof(g_object_steal_data)) ) - bool libLoaded = Linker.isLoaded(LIBRARY_GOBJECT); + bool libLoaded = Linker.isLoaded(LIBRARY_GOBJECT[0]); else enum libLoaded = true; diff --git a/src/APILookupGStreamer.txt b/source/APILookupGStreamer.txt similarity index 100% rename from src/APILookupGStreamer.txt rename to source/APILookupGStreamer.txt diff --git a/src/APILookupGThread.txt b/source/APILookupGThread.txt similarity index 100% rename from src/APILookupGThread.txt rename to source/APILookupGThread.txt diff --git a/src/APILookupGdk.txt b/source/APILookupGdk.txt similarity index 53% rename from src/APILookupGdk.txt rename to source/APILookupGdk.txt index b5b588b06..778201e18 100644 --- a/src/APILookupGdk.txt +++ b/source/APILookupGdk.txt @@ -61,3 +61,51 @@ code: end struct: Surface import: cairo.Surface : CairoSurface = Surface structWrap: cairo.Surface CairoSurface + +struct: Texture +noCode: new_from_resource +noCode: new_from_filename +code: start + /** + * Creates a new texture by loading an image from a file or a resource. + * + * The file format is detected automatically. The supported formats + * are PNG and JPEG, though more formats might be available. + * + * If %NULL is returned, then @error will be set. + * + * This function is threadsafe, so that you can e.g. use GTask + * and g_task_run_in_thread() to avoid blocking the main thread + * while loading a big image. + * + * Params: + * path = the filename or resourcename to load + * resource = true if load from resource + * + * Returns: A newly-created `GdkTexture` + * + * Since: 4.6 + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string path, bool resource = false) + { + GError* err = null; GdkTexture *__p; + + if (resource) __p = gdk_texture_new_from_resource(Str.toStringz(path)); + else __p = gdk_texture_new_from_filename(Str.toStringz(path), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_" ~ (resource ? "resource" : "filename")); + } + + this(cast(GdkTexture*) __p, true); + } +code: end diff --git a/src/APILookupGdkPixbuf.txt b/source/APILookupGdkPixbuf.txt similarity index 100% rename from src/APILookupGdkPixbuf.txt rename to source/APILookupGdkPixbuf.txt diff --git a/src/APILookupGio.txt b/source/APILookupGio.txt similarity index 91% rename from src/APILookupGio.txt rename to source/APILookupGio.txt index d95acb88c..5f44b4c4e 100644 --- a/src/APILookupGio.txt +++ b/source/APILookupGio.txt @@ -417,7 +417,56 @@ version: end struct: TlsCertificate noCode: new_from_pkcs11_uris +noCode: new_from_files code: start + /** + * Creates a #GTlsCertificate from the PEM-encoded data in @cert_file + * and @key_file. The returned certificate will be the first certificate + * found in @cert_file. As of GLib 2.44, if @cert_file contains more + * certificates it will try to load a certificate chain. All + * certificates will be verified in the order found (top-level + * certificate should be the last one in the file) and the + * #GTlsCertificate:issuer property of each certificate will be set + * accordingly if the verification succeeds. If any certificate in the + * chain cannot be verified, the first certificate in the file will + * still be returned. + * + * If either file cannot be read or parsed, the function will return + * %NULL and set @error. Otherwise, this behaves like + * g_tls_certificate_new_from_pem(). + * + * Params: + * certFile = file containing one or more PEM-encoded + * certificates to import + * keyFile = file containing a PEM-encoded private key + * to import + * + * Returns: the new certificate, or %NULL on error + * + * Since: 2.28 + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public static TlsCertificate newFromFiles(string certFile, string keyFile) + { + GError* err = null; + + auto __p = g_tls_certificate_new_from_files(Str.toStringz(certFile), Str.toStringz(keyFile), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_files"); + } + + return new TlsCertificate(cast(GTlsCertificate*) __p, true); + } + /** * Creates a #GTlsCertificate from a PKCS \#11 URI. * diff --git a/src/APILookupGraphene.txt b/source/APILookupGraphene.txt similarity index 100% rename from src/APILookupGraphene.txt rename to source/APILookupGraphene.txt diff --git a/src/APILookupGsk.txt b/source/APILookupGsk.txt similarity index 100% rename from src/APILookupGsk.txt rename to source/APILookupGsk.txt diff --git a/src/APILookupGstApp.txt b/source/APILookupGstApp.txt similarity index 100% rename from src/APILookupGstApp.txt rename to source/APILookupGstApp.txt diff --git a/src/APILookupGstBase.txt b/source/APILookupGstBase.txt similarity index 100% rename from src/APILookupGstBase.txt rename to source/APILookupGstBase.txt diff --git a/src/APILookupGstInterfaces.txt b/source/APILookupGstInterfaces.txt similarity index 100% rename from src/APILookupGstInterfaces.txt rename to source/APILookupGstInterfaces.txt diff --git a/src/APILookupGstMpegts.txt b/source/APILookupGstMpegts.txt similarity index 100% rename from src/APILookupGstMpegts.txt rename to source/APILookupGstMpegts.txt diff --git a/src/APILookupGtk.txt b/source/APILookupGtk.txt similarity index 100% rename from src/APILookupGtk.txt rename to source/APILookupGtk.txt diff --git a/src/APILookupHarfBuzz.txt b/source/APILookupHarfBuzz.txt similarity index 100% rename from src/APILookupHarfBuzz.txt rename to source/APILookupHarfBuzz.txt diff --git a/src/APILookupPango.txt b/source/APILookupPango.txt similarity index 99% rename from src/APILookupPango.txt rename to source/APILookupPango.txt index fe060b338..3f91055d0 100644 --- a/src/APILookupPango.txt +++ b/source/APILookupPango.txt @@ -145,6 +145,9 @@ code: start } code: end +struct: LayoutLine +noProperty: is_paragraph_start + struct: Layout array: set_text text length @@ -163,6 +166,7 @@ noCode: create_context struct: PgMiscellaneous import: core.stdc.stdio + version Windows: start struct: Win32FontMap noCode: true diff --git a/src/APILookupRsvg.txt b/source/APILookupRsvg.txt similarity index 100% rename from src/APILookupRsvg.txt rename to source/APILookupRsvg.txt diff --git a/source/APILookupShumate.txt b/source/APILookupShumate.txt new file mode 100644 index 000000000..7549e0ec5 --- /dev/null +++ b/source/APILookupShumate.txt @@ -0,0 +1,76 @@ +# +# This file is part of gtkD. +# +# gtkD 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 3 +# of the License, or (at your option) any later version, with +# some exceptions, please read the COPYING file. +# +# gtkD 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 gtkD; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA +# +wrap: shumate +file: Shumate-1.0.gir + +struct: License +class: LicenseSh + +struct: MapSourceRegistry +import: glib.ConstructionException +noCode: new +noCode: new_with_defaults +code: start +/** + * Create a new #ShumateMapSourceRegistry. + * + * Returns: a newly created #ShumateMapSourceRegistry + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(bool defaults = false) + { + ShumateMapSourceRegistry* __p; + + if (!defaults) __p = shumate_map_source_registry_new(); + else __p = shumate_map_source_registry_new_with_defaults(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateMapSourceRegistry*) __p, true); + } +code: end + +struct: Map +import: glib.ConstructionException +noCode: new +noCode: new_simple +code:start +/** + * Creates an instance of #ShumateMap. + * + * Returns: a new #ShumateMap ready to be used as a #GtkWidget. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(bool simple = false) + { + auto __p = (simple ? shumate_map_new_simple() : shumate_map_new()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateMap*) __p); + } +code:end diff --git a/source/APILookupSoup.txt b/source/APILookupSoup.txt new file mode 100644 index 000000000..0e64228d6 --- /dev/null +++ b/source/APILookupSoup.txt @@ -0,0 +1,91 @@ +# +# This file is part of gtkD. +# +# gtkD 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 3 +# of the License, or (at your option) any later version, with +# some exceptions, please read the COPYING file. +# +# gtkD 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 gtkD; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA +# +wrap: soup +file: Soup-2.4.gir + +addConstants: start +version ( Windows ) { + public import core.sys.windows.winsock2 : sockaddr; +} +else { + public import core.sys.posix.sys.socket : sockaddr; +} +addConstants: end + +struct: Socket +class: SSocket +noCode: read_until +code: start + /** + * Like soup_socket_read(), but reads no further than the first + * occurrence of @boundary. (If the boundary is found, it will be + * included in the returned data, and *@got_boundary will be set to + * %TRUE.) Any data after the boundary will returned in future reads. + * + * soup_socket_read_until() will almost always return fewer than @len + * bytes: if the boundary is found, then it will only return the bytes + * up until the end of the boundary, and if the boundary is not found, + * then it will leave the last (boundary_len - 1) + * bytes in its internal buffer, in case they form the start of the + * boundary string. Thus, @len normally needs to be at least 1 byte + * longer than @boundary_len if you want to make any progress at all. + * + * Params: + * buffer = buffer to read + * into + * boundary = boundary to read until + * boundaryLen = length of @boundary in bytes + * nread = on return, the number of bytes read into @buffer + * gotBoundary = on return, whether or not the data in @buffer + * ends with the boundary string + * cancellable = a #GCancellable, or %NULL + * + * Returns: as for soup_socket_read() + * + * Throws: GException on failure. + */ + public SoupSocketIOStatus readUntil(ubyte[] buffer, void* boundary, size_t boundaryLen, out size_t nread, bool* gotBoundary, Cancellable cancellable) { + GError* err = null; + + auto __p = soup_socket_read_until(soupSocket, buffer.ptr, cast(size_t)buffer.length, boundary, boundaryLen, &nread, cast(int *)gotBoundary, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err); + + if (err !is null) { + throw new GException( new ErrorG(err) ); + } + + return __p; + } +code: end + +struct: Buffer +noProperty: data +import: glib.c.types +code: start + /** + * the data + */ + public @property ubyte [] data() { + return cast(ubyte [])soupBuffer.data[0..getArrayLength(cast(ubyte *)soupBuffer.data)]; + } + + /** Ditto */ + public @property void data(ubyte [] value) { + soupBuffer.data = cast(void *)value.ptr; + } +code: end diff --git a/source/APILookupSourceView.txt b/source/APILookupSourceView.txt new file mode 100644 index 000000000..0dc0febe3 --- /dev/null +++ b/source/APILookupSourceView.txt @@ -0,0 +1,29 @@ +# +# This file is part of gtkD. +# +# gtkD 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 3 +# of the License, or (at your option) any later version, with +# some exceptions, please read the COPYING file. +# +# gtkD 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 gtkD; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA +# +wrap: sourceview +file: GtkSource-5.gir + +struct: HoverDisplay +noCode: insert_after +code: start + /** */ + public override void insertAfter(Widget child, Widget sibling) { + gtk_source_hover_display_insert_after(gtkSourceHoverDisplay, (child is null) ? null : child.getWidgetStruct(), (sibling is null) ? null : sibling.getWidgetStruct()); + } +code: end diff --git a/src/cairo/Context.d b/source/cairo/Context.d similarity index 99% rename from src/cairo/Context.d rename to source/cairo/Context.d index c4d77e24c..7c2b81518 100644 --- a/src/cairo/Context.d +++ b/source/cairo/Context.d @@ -81,7 +81,7 @@ private import cairo.ScaledFont; private import cairo.Surface; private import cairo.Pattern; private import glib.Str; -private import gtkd.Loader; +private import linker.Loader; private import std.traits; @@ -134,7 +134,7 @@ public class Context ~this () { static if ( isPointer!(typeof(cairo_get_reference_count)) ) - bool libLoaded = Linker.isLoaded(LIBRARY_CAIRO); + bool libLoaded = Linker.isLoaded(LIBRARY_CAIRO[0]); else enum libLoaded = true; diff --git a/generated/gtkd/cairo/Device.d b/source/cairo/Device.d similarity index 100% rename from generated/gtkd/cairo/Device.d rename to source/cairo/Device.d diff --git a/generated/gtkd/cairo/FontFace.d b/source/cairo/FontFace.d similarity index 100% rename from generated/gtkd/cairo/FontFace.d rename to source/cairo/FontFace.d diff --git a/generated/gtkd/cairo/FontOption.d b/source/cairo/FontOption.d similarity index 100% rename from generated/gtkd/cairo/FontOption.d rename to source/cairo/FontOption.d diff --git a/generated/gtkd/cairo/ImageSurface.d b/source/cairo/ImageSurface.d similarity index 100% rename from generated/gtkd/cairo/ImageSurface.d rename to source/cairo/ImageSurface.d diff --git a/generated/gtkd/cairo/Matrix.d b/source/cairo/Matrix.d similarity index 100% rename from generated/gtkd/cairo/Matrix.d rename to source/cairo/Matrix.d diff --git a/generated/gtkd/cairo/MeshPattern.d b/source/cairo/MeshPattern.d similarity index 100% rename from generated/gtkd/cairo/MeshPattern.d rename to source/cairo/MeshPattern.d diff --git a/generated/gtkd/cairo/Pattern.d b/source/cairo/Pattern.d similarity index 100% rename from generated/gtkd/cairo/Pattern.d rename to source/cairo/Pattern.d diff --git a/generated/gtkd/cairo/PdfSurface.d b/source/cairo/PdfSurface.d similarity index 100% rename from generated/gtkd/cairo/PdfSurface.d rename to source/cairo/PdfSurface.d diff --git a/generated/gtkd/cairo/PostScriptSurface.d b/source/cairo/PostScriptSurface.d similarity index 100% rename from generated/gtkd/cairo/PostScriptSurface.d rename to source/cairo/PostScriptSurface.d diff --git a/generated/gtkd/cairo/RasterSource.d b/source/cairo/RasterSource.d similarity index 100% rename from generated/gtkd/cairo/RasterSource.d rename to source/cairo/RasterSource.d diff --git a/generated/gtkd/cairo/RecordingSurface.d b/source/cairo/RecordingSurface.d similarity index 100% rename from generated/gtkd/cairo/RecordingSurface.d rename to source/cairo/RecordingSurface.d diff --git a/generated/gtkd/cairo/Region.d b/source/cairo/Region.d similarity index 100% rename from generated/gtkd/cairo/Region.d rename to source/cairo/Region.d diff --git a/generated/gtkd/cairo/ScaledFont.d b/source/cairo/ScaledFont.d similarity index 100% rename from generated/gtkd/cairo/ScaledFont.d rename to source/cairo/ScaledFont.d diff --git a/generated/gtkd/cairo/Script.d b/source/cairo/Script.d similarity index 100% rename from generated/gtkd/cairo/Script.d rename to source/cairo/Script.d diff --git a/generated/gtkd/cairo/ScriptSurface.d b/source/cairo/ScriptSurface.d similarity index 100% rename from generated/gtkd/cairo/ScriptSurface.d rename to source/cairo/ScriptSurface.d diff --git a/generated/gtkd/cairo/Status.d b/source/cairo/Status.d similarity index 100% rename from generated/gtkd/cairo/Status.d rename to source/cairo/Status.d diff --git a/generated/gtkd/cairo/Surface.d b/source/cairo/Surface.d similarity index 100% rename from generated/gtkd/cairo/Surface.d rename to source/cairo/Surface.d diff --git a/generated/gtkd/cairo/SvgSurface.d b/source/cairo/SvgSurface.d similarity index 100% rename from generated/gtkd/cairo/SvgSurface.d rename to source/cairo/SvgSurface.d diff --git a/generated/gtkd/cairo/Types.d b/source/cairo/Types.d similarity index 100% rename from generated/gtkd/cairo/Types.d rename to source/cairo/Types.d diff --git a/generated/gtkd/cairo/UserFontFace.d b/source/cairo/UserFontFace.d similarity index 100% rename from generated/gtkd/cairo/UserFontFace.d rename to source/cairo/UserFontFace.d diff --git a/generated/gtkd/cairo/Version.d b/source/cairo/Version.d similarity index 100% rename from generated/gtkd/cairo/Version.d rename to source/cairo/Version.d diff --git a/src/cairo/c/functions-compiletime.d b/source/cairo/c/functions-compiletime.d similarity index 100% rename from src/cairo/c/functions-compiletime.d rename to source/cairo/c/functions-compiletime.d diff --git a/src/cairo/c/functions-runtime.d b/source/cairo/c/functions-runtime.d similarity index 99% rename from src/cairo/c/functions-runtime.d rename to source/cairo/c/functions-runtime.d index 22739a962..f91cb5d87 100644 --- a/src/cairo/c/functions-runtime.d +++ b/source/cairo/c/functions-runtime.d @@ -26,7 +26,7 @@ module cairo.c.functions; private import std.stdio; private import cairo.c.types; -private import gtkd.Loader; +private import linker.Loader; version (Windows) static immutable LIBRARY_CAIRO = ["libcairo-2.dll;cairo.dll"]; diff --git a/generated/gtkd/cairo/c/types.d b/source/cairo/c/types.d similarity index 100% rename from generated/gtkd/cairo/c/types.d rename to source/cairo/c/types.d diff --git a/source/generated/adw/adw/ActionRow.d b/source/generated/adw/adw/ActionRow.d new file mode 100644 index 000000000..10d1fcaa0 --- /dev/null +++ b/source/generated/adw/adw/ActionRow.d @@ -0,0 +1,340 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.ActionRow; + +private import adw.PreferencesRow; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gobject.Signals; +private import gtk.Widget; +private import std.algorithm; + + +/** + * A [class@Gtk.ListBoxRow] used to present actions. + * + * + * + * action-row + * + * + * The `AdwActionRow` widget can have a title, a subtitle and an icon. The row + * can receive additional widgets at its end, or prefix widgets at its start. + * + * It is convenient to present a preference and its related actions. + * + * `AdwActionRow` is unactivatable by default, giving it an activatable widget + * will automatically make it activatable, but unsetting it won't change the + * row's activatability. + * + * ## AdwActionRow as GtkBuildable + * + * The `AdwActionRow` implementation of the [iface@Gtk.Buildable] interface + * supports adding a child at its end by specifying “suffix” or omitting the + * “type” attribute of a element. + * + * It also supports adding a child as a prefix widget by specifying “prefix” as + * the “type” attribute of a element. + * + * ## CSS nodes + * + * `AdwActionRow` has a main CSS node with name `row`. + * + * It contains the subnode `box.header` for its main horizontal box, and + * `box.title` for the vertical box containing the title and subtitle labels. + * + * It contains subnodes `label.title` and `label.subtitle` representing + * respectively the title label and subtitle label. + * + * Since: 1.0 + */ +public class ActionRow : PreferencesRow +{ + /** the main Gtk struct */ + protected AdwActionRow* adwActionRow; + + /** Get the main Gtk struct */ + public AdwActionRow* getActionRowStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwActionRow; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwActionRow; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwActionRow* adwActionRow, bool ownedRef = false) + { + this.adwActionRow = adwActionRow; + super(cast(AdwPreferencesRow*)adwActionRow, ownedRef); + } + + /** + * Activates @self. + * + * Since: 1.0 + */ + public override bool activate() + { + adw_action_row_activate(adwActionRow); + return true; + } + + /** + */ + + /** */ + public static GType getType() + { + return adw_action_row_get_type(); + } + + /** + * Creates a new `AdwActionRow`. + * + * Returns: the newly created `AdwActionRow` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_action_row_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwActionRow*) __p); + } + + /** + * Adds a prefix widget to @self. + * + * Params: + * widget = a widget + * + * Since: 1.0 + */ + public void addPrefix(Widget widget) + { + adw_action_row_add_prefix(adwActionRow, (widget is null) ? null : widget.getWidgetStruct()); + } + + /** + * Adds a suffix widget to @self. + * + * Params: + * widget = a widget + * + * Since: 1.0 + */ + public void addSuffix(Widget widget) + { + adw_action_row_add_suffix(adwActionRow, (widget is null) ? null : widget.getWidgetStruct()); + } + + /** + * Gets the widget activated when @self is activated. + * + * Returns: the activatable widget for @self + * + * Since: 1.0 + */ + public Widget getActivatableWidget() + { + auto __p = adw_action_row_get_activatable_widget(adwActionRow); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets the icon name for @self. + * + * Returns: the icon name for @self + * + * Since: 1.0 + */ + public string getIconName() + { + return Str.toString(adw_action_row_get_icon_name(adwActionRow)); + } + + /** + * Gets the subtitle for @self. + * + * Returns: the subtitle for @self + * + * Since: 1.0 + */ + public string getSubtitle() + { + return Str.toString(adw_action_row_get_subtitle(adwActionRow)); + } + + /** + * Gets the number of lines at the end of which the subtitle label will be + * ellipsized. + * + * If the value is 0, the number of lines won't be limited. + * + * Returns: the number of lines at the end of which the subtitle label will be + * ellipsized + * + * Since: 1.0 + */ + public int getSubtitleLines() + { + return adw_action_row_get_subtitle_lines(adwActionRow); + } + + /** + * Gets the number of lines at the end of which the title label will be + * ellipsized. + * + * If the value is 0, the number of lines won't be limited. + * + * Returns: the number of lines at the end of which the title label will be + * ellipsized + * + * Since: 1.0 + */ + public int getTitleLines() + { + return adw_action_row_get_title_lines(adwActionRow); + } + + /** + * Removes a child from @self. + * + * Params: + * widget = the child to be removed + * + * Since: 1.0 + */ + public void remove(Widget widget) + { + adw_action_row_remove(adwActionRow, (widget is null) ? null : widget.getWidgetStruct()); + } + + /** + * Sets the widget to activate when @self is activated. + * + * Params: + * widget = the target widget + * + * Since: 1.0 + */ + public void setActivatableWidget(Widget widget) + { + adw_action_row_set_activatable_widget(adwActionRow, (widget is null) ? null : widget.getWidgetStruct()); + } + + /** + * Sets the icon name for @self. + * + * Params: + * iconName = the icon name + * + * Since: 1.0 + */ + public void setIconName(string iconName) + { + adw_action_row_set_icon_name(adwActionRow, Str.toStringz(iconName)); + } + + /** + * Sets the subtitle for @self. + * + * Params: + * subtitle = the subtitle + * + * Since: 1.0 + */ + public void setSubtitle(string subtitle) + { + adw_action_row_set_subtitle(adwActionRow, Str.toStringz(subtitle)); + } + + /** + * Sets the number of lines at the end of which the subtitle label will be + * ellipsized. + * + * If the value is 0, the number of lines won't be limited. + * + * Params: + * subtitleLines = the number of lines at the end of which the subtitle label will be ellipsized + * + * Since: 1.0 + */ + public void setSubtitleLines(int subtitleLines) + { + adw_action_row_set_subtitle_lines(adwActionRow, subtitleLines); + } + + /** + * Sets the number of lines at the end of which the title label will be + * ellipsized. + * + * If the value is 0, the number of lines won't be limited. + * + * Params: + * titleLines = the number of lines at the end of which the title label will be ellipsized + * + * Since: 1.0 + */ + public void setTitleLines(int titleLines) + { + adw_action_row_set_title_lines(adwActionRow, titleLines); + } + + /** + * This signal is emitted after the row has been activated. + * + * Since: 1.0 + */ + gulong addOnActivated(void delegate(ActionRow) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "activated", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/adw/adw/Animation.d b/source/generated/adw/adw/Animation.d new file mode 100644 index 000000000..d6279c530 --- /dev/null +++ b/source/generated/adw/adw/Animation.d @@ -0,0 +1,276 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.Animation; + +private import adw.AnimationTarget; +private import adw.c.functions; +public import adw.c.types; +private import gobject.ObjectG; +private import gobject.Signals; +private import gtk.Widget; +private import std.algorithm; + + +/** + * A base class for animations. + * + * `AdwAnimation` represents an animation on a widget. It has a target that + * provides a value to animate, and a state indicating whether the + * animation hasn't been started yet, is playing, paused or finished. + * + * Currently there are two concrete animation types: + * [class@TimedAnimation] and [class@SpringAnimation]. + * + * `AdwAnimation` will automatically skip the animation if + * [property@Animation:widget] is unmapped, or if + * [property@Gtk.Settings:gtk-enable-animations] is `FALSE`. + * + * The [signal@Animation::done] signal can be used to perform an action after + * the animation ends, for example hiding a widget after animating its + * [property@Gtk.Widget:opacity] to 0. + * + * `AdwAnimation` will be kept alive while the animation is playing. As such, + * it's safe to create an animation, start it and immediately unref it: + * A fire-and-forget animation: + * + * ```c + * static void + * animation_cb (double value, + * MyObject *self) + * { + * // Do something with @value + * } + * + * static void + * my_object_animate (MyObject *self) + * { + * AdwAnimationTarget *target = + * adw_callback_animation_target_new ((AdwAnimationTargetFunc) animation_cb, + * self, NULL); + * g_autoptr (AdwAnimation) animation = + * adw_timed_animation_new (widget, 0, 1, 250, target); + * + * adw_animation_play (animation); + * } + * ``` + * + * If there's a chance the previous animation for the same target hasn't yet + * finished, the previous animation should be stopped first, or the existing + * `AdwAnimation` object can be reused. + * + * Since: 1.0 + */ +public class Animation : ObjectG +{ + /** the main Gtk struct */ + protected AdwAnimation* adwAnimation; + + /** Get the main Gtk struct */ + public AdwAnimation* getAnimationStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwAnimation; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwAnimation; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwAnimation* adwAnimation, bool ownedRef = false) + { + this.adwAnimation = adwAnimation; + super(cast(GObject*)adwAnimation, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_animation_get_type(); + } + + /** + * Gets the current value of @self. + * + * The state indicates whether @self is currently playing, paused, finished or + * hasn't been started yet. + * + * Returns: the animation value + * + * Since: 1.0 + */ + public AdwAnimationState getState() + { + return adw_animation_get_state(adwAnimation); + } + + /** + * Gets the target @self animates. + * + * Returns: the animation target + * + * Since: 1.0 + */ + public AnimationTarget getTarget() + { + auto __p = adw_animation_get_target(adwAnimation); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(AnimationTarget)(cast(AdwAnimationTarget*) __p); + } + + /** + * Gets the current value of @self. + * + * Returns: the current value + * + * Since: 1.0 + */ + public double getValue() + { + return adw_animation_get_value(adwAnimation); + } + + /** + * Gets the widget @self was created for. + * + * Returns: the animation widget + * + * Since: 1.0 + */ + public Widget getWidget() + { + auto __p = adw_animation_get_widget(adwAnimation); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Pauses a playing animation for @self. + * + * Does nothing if the current state of @self isn't `ADW_ANIMATION_PLAYING`. + * + * Sets [property@Animation:state] to `ADW_ANIMATION_PAUSED`. + * + * Since: 1.0 + */ + public void pause() + { + adw_animation_pause(adwAnimation); + } + + /** + * Starts the animation for @self. + * + * If the animation is playing, paused or has been completed, restarts it from + * the beginning. This allows to easily play an animation regardless of whether + * it's already playing or not. + * + * Sets [property@Animation:state] to `ADW_ANIMATION_PLAYING`. + * + * The animation will be automatically skipped if [property@Animation:widget] is + * unmapped, or if [property@Gtk.Settings:gtk-enable-animations] is `FALSE`. + * + * As such, it's not guaranteed that the animation will actually run. For + * example, when using [func@GLib.idle_add] and starting an animation + * immediately afterwards, it's entirely possible that the idle callback will + * run after the animation has already finished, and not while it's playing. + * + * Since: 1.0 + */ + public void play() + { + adw_animation_play(adwAnimation); + } + + /** + * Resets the animation for @self. + * + * Sets [property@Animation:state] to `ADW_ANIMATION_IDLE`. + * + * Since: 1.0 + */ + public void reset() + { + adw_animation_reset(adwAnimation); + } + + /** + * Resumes a paused animation for @self. + * + * This function must only be used if the animation has been paused with + * [method@Animation.pause]. + * + * Sets [property@Animation:state] to `ADW_ANIMATION_PLAYING`. + * + * Since: 1.0 + */ + public void resume() + { + adw_animation_resume(adwAnimation); + } + + /** + * Skips the animation for @self. + * + * If the animation hasn't been started yet, is playing, or is paused, instantly + * skips the animation to the end and causes [signal@Animation::done] to be + * emitted. + * + * Sets [property@Animation:state] to `ADW_ANIMATION_FINISHED`. + * + * Since: 1.0 + */ + public void skip() + { + adw_animation_skip(adwAnimation); + } + + /** + * This signal is emitted when the animation has been completed, either on its + * own or via calling [method@Animation.skip]. + * + * Since: 1.0 + */ + gulong addOnDone(void delegate(Animation) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "done", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/generated/gstreamer/gstreamer/TracerRecord.d b/source/generated/adw/adw/AnimationTarget.d similarity index 63% rename from generated/gstreamer/gstreamer/TracerRecord.d rename to source/generated/adw/adw/AnimationTarget.d index b7cdfb6d8..afa8e6f87 100644 --- a/generated/gstreamer/gstreamer/TracerRecord.d +++ b/source/generated/adw/adw/AnimationTarget.d @@ -22,54 +22,52 @@ // implement new conversion functionalities on the wrap.utils pakage -module gstreamer.TracerRecord; +module adw.AnimationTarget; -private import glib.ConstructionException; -private import glib.Str; +private import adw.c.functions; +public import adw.c.types; private import gobject.ObjectG; -private import gstreamer.ObjectGst; -private import gstreamer.c.functions; -public import gstreamer.c.types; /** - * Tracing modules will create instances of this class to announce the data they - * will log and create a log formatter. + * Represents a value [class@Animation] can animate. + * + * Currently the only implementation is [class@CallbackAnimationTarget]. * - * Since: 1.8 + * Since: 1.0 */ -public class TracerRecord : ObjectGst +public class AnimationTarget : ObjectG { /** the main Gtk struct */ - protected GstTracerRecord* gstTracerRecord; + protected AdwAnimationTarget* adwAnimationTarget; /** Get the main Gtk struct */ - public GstTracerRecord* getTracerRecordStruct(bool transferOwnership = false) + public AdwAnimationTarget* getAnimationTargetStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gstTracerRecord; + return adwAnimationTarget; } /** the main Gtk struct as a void* */ protected override void* getStruct() { - return cast(void*)gstTracerRecord; + return cast(void*)adwAnimationTarget; } /** * Sets our main struct and passes it to the parent class. */ - public this (GstTracerRecord* gstTracerRecord, bool ownedRef = false) + public this (AdwAnimationTarget* adwAnimationTarget, bool ownedRef = false) { - this.gstTracerRecord = gstTracerRecord; - super(cast(GstObject*)gstTracerRecord, ownedRef); + this.adwAnimationTarget = adwAnimationTarget; + super(cast(GObject*)adwAnimationTarget, ownedRef); } /** */ public static GType getType() { - return gst_tracer_record_get_type(); + return adw_animation_target_get_type(); } } diff --git a/source/generated/adw/adw/Application.d b/source/generated/adw/adw/Application.d new file mode 100644 index 000000000..a8e0d91e5 --- /dev/null +++ b/source/generated/adw/adw/Application.d @@ -0,0 +1,150 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.Application; + +private import adw.StyleManager; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import gtk.Application : DGtkApplication = Application; + + +/** + * A base class for Adwaita applications. + * + * `AdwApplication` handles library initialization by calling [func@init] in the + * default [signal@Gio.Application::startup] signal handler, in turn chaining up + * as required by [class@Gtk.Application]. Therefore, any subclass of + * `AdwApplication` should always chain up its `startup` handler before using + * any Adwaita or GTK API. + * + * ## Automatic Resources + * + * `AdwApplication` will automatically load stylesheets located in the + * application's resource base path (see + * [method@Gio.Application.set_resource_base_path], if they're present. + * + * They can be used to add custom styles to the application, as follows: + * + * - `style.css` contains styles that are always present. + * + * - `style-dark.css` contains styles only used when + * [property@StyleManager:dark] is `TRUE`. + * + * - `style-hc.css` contains styles used when the system high contrast + * preference is enabled. + * + * - `style-hc-dark.css` contains styles used when the system high contrast + * preference is enabled and [property@StyleManager:dark] is `TRUE`. + * + * Since: 1.0 + */ +public class Application : DGtkApplication +{ + /** the main Gtk struct */ + protected AdwApplication* adwApplication; + + /** Get the main Gtk struct */ + public AdwApplication* getAdwApplicationStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwApplication; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwApplication; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwApplication* adwApplication, bool ownedRef = false) + { + this.adwApplication = adwApplication; + super(cast(GtkApplication*)adwApplication, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_application_get_type(); + } + + /** + * Creates a new `AdwApplication`. + * + * If `application_id` is not `NULL`, then it must be valid. See + * [func@Gio.Application.id_is_valid]. + * + * If no application ID is given then some features (most notably application + * uniqueness) will be disabled. + * + * Params: + * applicationId = The application ID + * flags = The application flags + * + * Returns: the newly created `AdwApplication` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string applicationId, GApplicationFlags flags) + { + auto __p = adw_application_new(Str.toStringz(applicationId), flags); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwApplication*) __p, true); + } + + /** + * Gets the style manager for @self. + * + * Returns: the style manager + * + * Since: 1.0 + */ + public StyleManager getStyleManager() + { + auto __p = adw_application_get_style_manager(adwApplication); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(StyleManager)(cast(AdwStyleManager*) __p); + } +} diff --git a/source/generated/adw/adw/ApplicationWindow.d b/source/generated/adw/adw/ApplicationWindow.d new file mode 100644 index 000000000..fbeca4deb --- /dev/null +++ b/source/generated/adw/adw/ApplicationWindow.d @@ -0,0 +1,170 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.ApplicationWindow; + +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.Application; +private import gtk.ApplicationWindow : DGtkApplicationWindow = ApplicationWindow; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.NativeIF; +private import gtk.NativeT; +private import gtk.RootIF; +private import gtk.RootT; +private import gtk.ShortcutManagerIF; +private import gtk.ShortcutManagerT; +private import gtk.Widget; + + +/** + * A freeform application window. + * + * + * + * application-window + * + * + * `AdwApplicationWindow` is a [class@Gtk.ApplicationWindow] subclass providing + * the same features as [class@Window]. + * + * See [class@Window] for details. + * + * Using [property@Gtk.Application:menubar] is not supported and may result in + * visual glitches. + * + * Since: 1.0 + */ +public class ApplicationWindow : DGtkApplicationWindow +{ + /** the main Gtk struct */ + protected AdwApplicationWindow* adwApplicationWindow; + + /** Get the main Gtk struct */ + public AdwApplicationWindow* getAdwApplicationWindowStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwApplicationWindow; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwApplicationWindow; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwApplicationWindow* adwApplicationWindow, bool ownedRef = false) + { + this.adwApplicationWindow = adwApplicationWindow; + super(cast(GtkApplicationWindow*)adwApplicationWindow, ownedRef); + } + + /** + * You should use `setContent(Widget)` instead + */ + override void setChild(Widget child) + { + setContent(child); + } + + /** + */ + + /** */ + public static GType getType() + { + return adw_application_window_get_type(); + } + + /** + * Creates a new `AdwApplicationWindow` for @app. + * + * Params: + * app = an application instance + * + * Returns: the newly created `AdwApplicationWindow` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Application app) + { + auto __p = adw_application_window_new((app is null) ? null : app.getGtkApplicationStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwApplicationWindow*) __p); + } + + /** + * Gets the content widget of @self. + * + * This method should always be used instead of [method@Gtk.Window.get_child]. + * + * Returns: the content widget of @self + * + * Since: 1.0 + */ + public Widget getContent() + { + auto __p = adw_application_window_get_content(adwApplicationWindow); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Sets the content widget of @self. + * + * This method should always be used instead of [method@Gtk.Window.set_child]. + * + * Params: + * content = the content widget + * + * Since: 1.0 + */ + public void setContent(Widget content) + { + adw_application_window_set_content(adwApplicationWindow, (content is null) ? null : content.getWidgetStruct()); + } +} diff --git a/source/generated/adw/adw/Avatar.d b/source/generated/adw/adw/Avatar.d new file mode 100644 index 000000000..bf67d4c50 --- /dev/null +++ b/source/generated/adw/adw/Avatar.d @@ -0,0 +1,290 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.Avatar; + +private import adw.c.functions; +public import adw.c.types; +private import gdk.PaintableIF; +private import gdk.Texture; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; + + +/** + * A widget displaying an image, with a generated fallback. + * + * + * + * avatar + * + * + * `AdwAvatar` is a widget that shows a round avatar. + * + * `AdwAvatar` generates an avatar with the initials of the + * [property@Avatar:text] on top of a colored background. + * + * The color is picked based on the hash of the [property@Avatar:text]. + * + * If [property@Avatar:show-initials] is set to `FALSE`, + * [property@Avatar:icon-name] or `avatar-default-symbolic` is shown instead of + * the initials. + * + * Use [property@Avatar:custom-image] to set a custom image. + * + * ## CSS nodes + * + * `AdwAvatar` has a single CSS node with name `avatar`. + * + * Since: 1.0 + */ +public class Avatar : Widget +{ + /** the main Gtk struct */ + protected AdwAvatar* adwAvatar; + + /** Get the main Gtk struct */ + public AdwAvatar* getAvatarStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwAvatar; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwAvatar; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwAvatar* adwAvatar, bool ownedRef = false) + { + this.adwAvatar = adwAvatar; + super(cast(GtkWidget*)adwAvatar, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_avatar_get_type(); + } + + /** + * Creates a new `AdwAvatar`. + * + * Params: + * size = The size of the avatar + * text = the text used to get the initials and color + * showInitials = whether to use initials instead of an icon as fallback + * + * Returns: the newly created `AdwAvatar` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(int size, string text, bool showInitials) + { + auto __p = adw_avatar_new(size, Str.toStringz(text), showInitials); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwAvatar*) __p); + } + + /** + * Renders @self into a [class@Gdk.Texture] at @scale_factor. + * + * This can be used to export the fallback avatar. + * + * Params: + * scaleFactor = The scale factor + * + * Returns: the texture + * + * Since: 1.0 + */ + public Texture drawToTexture(int scaleFactor) + { + auto __p = adw_avatar_draw_to_texture(adwAvatar, scaleFactor); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Texture)(cast(GdkTexture*) __p, true); + } + + /** + * Gets the custom image paintable. + * + * Returns: the custom image + * + * Since: 1.0 + */ + public PaintableIF getCustomImage() + { + auto __p = adw_avatar_get_custom_image(adwAvatar); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PaintableIF)(cast(GdkPaintable*) __p); + } + + /** + * Gets the name of an icon to use as a fallback. + * + * Returns: the icon name + * + * Since: 1.0 + */ + public string getIconName() + { + return Str.toString(adw_avatar_get_icon_name(adwAvatar)); + } + + /** + * Gets whether initials are used instead of an icon on the fallback avatar. + * + * Returns: whether initials are used instead of an icon as fallback + * + * Since: 1.0 + */ + public bool getShowInitials() + { + return adw_avatar_get_show_initials(adwAvatar) != 0; + } + + /** + * Gets the size of the avatar. + * + * Returns: the size of the avatar + * + * Since: 1.0 + */ + public int getSize() + { + return adw_avatar_get_size(adwAvatar); + } + + /** + * Gets the text used to generate the fallback initials and color. + * + * Returns: the text used to generate the fallback initials and + * color + * + * Since: 1.0 + */ + public string getText() + { + return Str.toString(adw_avatar_get_text(adwAvatar)); + } + + /** + * Sets the custom image paintable. + * + * Params: + * customImage = a custom image + * + * Since: 1.0 + */ + public void setCustomImage(PaintableIF customImage) + { + adw_avatar_set_custom_image(adwAvatar, (customImage is null) ? null : customImage.getPaintableStruct()); + } + + /** + * Sets the name of an icon to use as a fallback. + * + * If no name is set, `avatar-default-symbolic` will be used. + * + * Params: + * iconName = the icon name + * + * Since: 1.0 + */ + public void setIconName(string iconName) + { + adw_avatar_set_icon_name(adwAvatar, Str.toStringz(iconName)); + } + + /** + * Sets whether to use initials instead of an icon on the fallback avatar. + * + * Params: + * showInitials = whether to use initials instead of an icon as fallback + * + * Since: 1.0 + */ + public void setShowInitials(bool showInitials) + { + adw_avatar_set_show_initials(adwAvatar, showInitials); + } + + /** + * Sets the size of the avatar. + * + * Params: + * size = The size of the avatar + * + * Since: 1.0 + */ + public void setSize(int size) + { + adw_avatar_set_size(adwAvatar, size); + } + + /** + * Sets the text used to generate the fallback initials and color. + * + * Params: + * text = the text used to get the initials and color + * + * Since: 1.0 + */ + public void setText(string text) + { + adw_avatar_set_text(adwAvatar, Str.toStringz(text)); + } +} diff --git a/source/generated/adw/adw/Bin.d b/source/generated/adw/adw/Bin.d new file mode 100644 index 000000000..66b94b5f9 --- /dev/null +++ b/source/generated/adw/adw/Bin.d @@ -0,0 +1,143 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.Bin; + +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; + + +/** + * A widget with one child. + * + * + * + * bin + * + * + * The `AdwBin` widget has only one child, set with the [property@Bin:child] + * property. + * + * It is useful for deriving subclasses, since it provides common code needed + * for handling a single child widget. + * + * Since: 1.0 + */ +public class Bin : Widget +{ + /** the main Gtk struct */ + protected AdwBin* adwBin; + + /** Get the main Gtk struct */ + public AdwBin* getBinStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwBin; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwBin; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwBin* adwBin, bool ownedRef = false) + { + this.adwBin = adwBin; + super(cast(GtkWidget*)adwBin, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_bin_get_type(); + } + + /** + * Creates a new `AdwBin`. + * + * Returns: the new created `AdwBin` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_bin_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwBin*) __p); + } + + /** + * Gets the child widget of @self. + * + * Returns: the child widget of @self + * + * Since: 1.0 + */ + public Widget getChild() + { + auto __p = adw_bin_get_child(adwBin); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Sets the child widget of @self. + * + * Params: + * child = the child widget + * + * Since: 1.0 + */ + public void setChild(Widget child) + { + adw_bin_set_child(adwBin, (child is null) ? null : child.getWidgetStruct()); + } +} diff --git a/source/generated/adw/adw/ButtonContent.d b/source/generated/adw/adw/ButtonContent.d new file mode 100644 index 000000000..9565836be --- /dev/null +++ b/source/generated/adw/adw/ButtonContent.d @@ -0,0 +1,222 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.ButtonContent; + +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; + + +/** + * A helper widget for creating buttons. + * + * + * + * button-content + * + * + * `AdwButtonContent` is a box-like widget with an icon and a label. + * + * It's intended to be used as a direct child of [class@Gtk.Button], + * [class@Gtk.MenuButton] or [class@SplitButton], when they need to have both an + * icon and a label, as follows: + * + * ```xml + * + * + * + * document-open-symbolic + * _Open + * True + * + * + * + * ``` + * + * `AdwButtonContent` handles style classes and connecting the mnemonic to the + * button automatically. + * + * ## CSS nodes + * + * ``` + * buttoncontent + * ├── image + * ╰── label + * ``` + * + * `AdwButtonContent`'s CSS node is called `buttoncontent`. It contains the + * subnodes `image` and `label`. + * + * When inside a `GtkButton` or `AdwSplitButton`, the button will receive the + * `.image-text-button` style class. When inside a `GtkMenuButton`, the + * internal `GtkButton` will receive it instead. + * + * ## Accessibility + * + * `AdwButtonContent` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role. + * + * Since: 1.0 + */ +public class ButtonContent : Widget +{ + /** the main Gtk struct */ + protected AdwButtonContent* adwButtonContent; + + /** Get the main Gtk struct */ + public AdwButtonContent* getButtonContentStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwButtonContent; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwButtonContent; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwButtonContent* adwButtonContent, bool ownedRef = false) + { + this.adwButtonContent = adwButtonContent; + super(cast(GtkWidget*)adwButtonContent, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_button_content_get_type(); + } + + /** + * Creates a new `AdwButtonContent`. + * + * Returns: the new created `AdwButtonContent` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_button_content_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwButtonContent*) __p); + } + + /** + * Gets the name of the displayed icon. + * + * Returns: the icon name + * + * Since: 1.0 + */ + public string getIconName() + { + return Str.toString(adw_button_content_get_icon_name(adwButtonContent)); + } + + /** + * Gets the displayed label. + * + * Returns: the label + * + * Since: 1.0 + */ + public string getLabel() + { + return Str.toString(adw_button_content_get_label(adwButtonContent)); + } + + /** + * Gets whether an underline in the text indicates a mnemonic. + * + * Returns: whether an underline in the text indicates a mnemonic + * + * Since: 1.0 + */ + public bool getUseUnderline() + { + return adw_button_content_get_use_underline(adwButtonContent) != 0; + } + + /** + * Sets the name of the displayed icon. + * + * Params: + * iconName = the new icon name + * + * Since: 1.0 + */ + public void setIconName(string iconName) + { + adw_button_content_set_icon_name(adwButtonContent, Str.toStringz(iconName)); + } + + /** + * Sets the displayed label. + * + * Params: + * label = the new label + * + * Since: 1.0 + */ + public void setLabel(string label) + { + adw_button_content_set_label(adwButtonContent, Str.toStringz(label)); + } + + /** + * Sets whether an underline in the text indicates a mnemonic. + * + * Params: + * useUnderline = whether an underline in the text indicates a mnemonic + * + * Since: 1.0 + */ + public void setUseUnderline(bool useUnderline) + { + adw_button_content_set_use_underline(adwButtonContent, useUnderline); + } +} diff --git a/source/generated/adw/adw/CallbackAnimationTarget.d b/source/generated/adw/adw/CallbackAnimationTarget.d new file mode 100644 index 000000000..945749b68 --- /dev/null +++ b/source/generated/adw/adw/CallbackAnimationTarget.d @@ -0,0 +1,102 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.CallbackAnimationTarget; + +private import adw.AnimationTarget; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; + + +/** + * An [class@AnimationTarget] that calls a given callback during the + * animation. + * + * Since: 1.0 + */ +public class CallbackAnimationTarget : AnimationTarget +{ + /** the main Gtk struct */ + protected AdwCallbackAnimationTarget* adwCallbackAnimationTarget; + + /** Get the main Gtk struct */ + public AdwCallbackAnimationTarget* getCallbackAnimationTargetStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwCallbackAnimationTarget; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwCallbackAnimationTarget; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwCallbackAnimationTarget* adwCallbackAnimationTarget, bool ownedRef = false) + { + this.adwCallbackAnimationTarget = adwCallbackAnimationTarget; + super(cast(AdwAnimationTarget*)adwCallbackAnimationTarget, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_callback_animation_target_get_type(); + } + + /** + * Creates a new `AdwAnimationTarget` that calls the given @callback during + * the animation. + * + * Params: + * callback = the callback to call + * userData = the data to be passed to @callback + * destroy = the function to be called when the + * callback action is finalized + * + * Returns: the newly created callback target + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(AdwAnimationTargetFunc callback, void* userData, GDestroyNotify destroy) + { + auto __p = adw_callback_animation_target_new(callback, userData, destroy); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwCallbackAnimationTarget*) __p, true); + } +} diff --git a/source/generated/adw/adw/Carousel.d b/source/generated/adw/adw/Carousel.d new file mode 100644 index 000000000..f3617db5c --- /dev/null +++ b/source/generated/adw/adw/Carousel.d @@ -0,0 +1,463 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.Carousel; + +private import adw.SpringParams; +private import adw.SwipeableIF; +private import adw.SwipeableT; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gobject.Signals; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.OrientableIF; +private import gtk.OrientableT; +private import gtk.Widget; +private import std.algorithm; + + +/** + * A paginated scrolling widget. + * + * + * + * carousel + * + * + * The `AdwCarousel` widget can be used to display a set of pages with + * swipe-based navigation between them. + * + * [class@CarouselIndicatorDots] and [class@CarouselIndicatorLines] can be used + * to provide page indicators for `AdwCarousel`. + * + * ## CSS nodes + * + * `AdwCarousel` has a single CSS node with name `carousel`. + * + * Since: 1.0 + */ +public class Carousel : Widget, SwipeableIF, OrientableIF +{ + /** the main Gtk struct */ + protected AdwCarousel* adwCarousel; + + /** Get the main Gtk struct */ + public AdwCarousel* getCarouselStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwCarousel; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwCarousel; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwCarousel* adwCarousel, bool ownedRef = false) + { + this.adwCarousel = adwCarousel; + super(cast(GtkWidget*)adwCarousel, ownedRef); + } + + // add the Swipeable capabilities + mixin SwipeableT!(AdwCarousel); + + // add the Orientable capabilities + mixin OrientableT!(AdwCarousel); + + + /** */ + public static GType getType() + { + return adw_carousel_get_type(); + } + + /** + * Creates a new `AdwCarousel`. + * + * Returns: the newly created `AdwCarousel` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_carousel_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwCarousel*) __p); + } + + /** + * Appends @child to @self. + * + * Params: + * child = a widget to add + * + * Since: 1.0 + */ + public void append(Widget child) + { + adw_carousel_append(adwCarousel, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Gets whether to allow swiping for more than one page at a time. + * + * Returns: `TRUE` if long swipes are allowed + * + * Since: 1.0 + */ + public bool getAllowLongSwipes() + { + return adw_carousel_get_allow_long_swipes(adwCarousel) != 0; + } + + /** + * Sets whether @self can be dragged with mouse pointer. + * + * Returns: whether @self can be dragged with mouse pointer + * + * Since: 1.0 + */ + public bool getAllowMouseDrag() + { + return adw_carousel_get_allow_mouse_drag(adwCarousel) != 0; + } + + /** + * Gets whether @self will respond to scroll wheel events. + * + * Returns: `TRUE` if @self will respond to scroll wheel events + * + * Since: 1.0 + */ + public bool getAllowScrollWheel() + { + return adw_carousel_get_allow_scroll_wheel(adwCarousel) != 0; + } + + /** + * Gets whether @self can be navigated. + * + * Returns: whether @self can be navigated + * + * Since: 1.0 + */ + public bool getInteractive() + { + return adw_carousel_get_interactive(adwCarousel) != 0; + } + + /** + * Gets the number of pages in @self. + * + * Returns: the number of pages in @self + * + * Since: 1.0 + */ + public uint getNPages() + { + return adw_carousel_get_n_pages(adwCarousel); + } + + /** + * Gets the page at position @n. + * + * Params: + * n = index of the page + * + * Returns: the page + * + * Since: 1.0 + */ + public Widget getNthPage(uint n) + { + auto __p = adw_carousel_get_nth_page(adwCarousel, n); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets current scroll position in @self. + * + * It's unitless, 1 matches 1 page. + * + * Returns: the scroll position + * + * Since: 1.0 + */ + public double getPosition() + { + return adw_carousel_get_position(adwCarousel); + } + + /** + * Gets duration of the animation used when adding or removing pages. + * + * Returns: the duration + * + * Since: 1.0 + */ + public uint getRevealDuration() + { + return adw_carousel_get_reveal_duration(adwCarousel); + } + + /** + * Gets the scroll animation spring parameters for @self. + * + * Returns: the animation parameters + * + * Since: 1.0 + */ + public SpringParams getScrollParams() + { + auto __p = adw_carousel_get_scroll_params(adwCarousel); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SpringParams)(cast(AdwSpringParams*) __p, true); + } + + /** + * Gets spacing between pages in pixels. + * + * Returns: spacing between pages + * + * Since: 1.0 + */ + public uint getSpacing() + { + return adw_carousel_get_spacing(adwCarousel); + } + + /** + * Inserts @child into @self at position @position. + * + * If position is -1, or larger than the number of pages, + * @child will be appended to the end. + * + * Params: + * child = a widget to add + * position = the position to insert @child at + * + * Since: 1.0 + */ + public void insert(Widget child, int position) + { + adw_carousel_insert(adwCarousel, (child is null) ? null : child.getWidgetStruct(), position); + } + + /** + * Prepends @child to @self. + * + * Params: + * child = a widget to add + * + * Since: 1.0 + */ + public void prepend(Widget child) + { + adw_carousel_prepend(adwCarousel, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Removes @child from @self. + * + * Params: + * child = a widget to remove + * + * Since: 1.0 + */ + public void remove(Widget child) + { + adw_carousel_remove(adwCarousel, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Moves @child into position @position. + * + * If position is -1, or larger than the number of pages, @child will be moved + * at the end. + * + * Params: + * child = a widget to add + * position = the position to move @child to + * + * Since: 1.0 + */ + public void reorder(Widget child, int position) + { + adw_carousel_reorder(adwCarousel, (child is null) ? null : child.getWidgetStruct(), position); + } + + /** + * Scrolls to @widget. + * + * If @animate is `TRUE`, the transition will be animated. + * + * Params: + * widget = a child of @self + * animate = whether to animate the transition + * + * Since: 1.0 + */ + public void scrollTo(Widget widget, bool animate) + { + adw_carousel_scroll_to(adwCarousel, (widget is null) ? null : widget.getWidgetStruct(), animate); + } + + /** + * Sets whether to allow swiping for more than one page at a time. + * + * Params: + * allowLongSwipes = whether to allow long swipes + * + * Since: 1.0 + */ + public void setAllowLongSwipes(bool allowLongSwipes) + { + adw_carousel_set_allow_long_swipes(adwCarousel, allowLongSwipes); + } + + /** + * Sets whether @self can be dragged with mouse pointer. + * + * Params: + * allowMouseDrag = whether @self can be dragged with mouse pointer + * + * Since: 1.0 + */ + public void setAllowMouseDrag(bool allowMouseDrag) + { + adw_carousel_set_allow_mouse_drag(adwCarousel, allowMouseDrag); + } + + /** + * Sets whether @self will respond to scroll wheel events. + * + * Params: + * allowScrollWheel = whether @self will respond to scroll wheel events + * + * Since: 1.0 + */ + public void setAllowScrollWheel(bool allowScrollWheel) + { + adw_carousel_set_allow_scroll_wheel(adwCarousel, allowScrollWheel); + } + + /** + * Sets whether @self can be navigated. + * + * Params: + * interactive = whether @self can be navigated + * + * Since: 1.0 + */ + public void setInteractive(bool interactive) + { + adw_carousel_set_interactive(adwCarousel, interactive); + } + + /** + * Sets duration of the animation used when adding or removing pages. + * + * Params: + * revealDuration = the new reveal duration value + * + * Since: 1.0 + */ + public void setRevealDuration(uint revealDuration) + { + adw_carousel_set_reveal_duration(adwCarousel, revealDuration); + } + + /** + * Sets the scroll animation spring parameters for @self. + * + * Params: + * params = the new parameters + * + * Since: 1.0 + */ + public void setScrollParams(SpringParams params) + { + adw_carousel_set_scroll_params(adwCarousel, (params is null) ? null : params.getSpringParamsStruct()); + } + + /** + * Sets spacing between pages in pixels. + * + * Params: + * spacing = the new spacing value + * + * Since: 1.0 + */ + public void setSpacing(uint spacing) + { + adw_carousel_set_spacing(adwCarousel, spacing); + } + + /** + * This signal is emitted after a page has been changed. + * + * It can be used to implement "infinite scrolling" by amending the pages + * after every scroll. + * + * Params: + * index = current page + * + * Since: 1.0 + */ + gulong addOnPageChanged(void delegate(uint, Carousel) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "page-changed", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/adw/adw/CarouselIndicatorDots.d b/source/generated/adw/adw/CarouselIndicatorDots.d new file mode 100644 index 000000000..db4f4520d --- /dev/null +++ b/source/generated/adw/adw/CarouselIndicatorDots.d @@ -0,0 +1,155 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.CarouselIndicatorDots; + +private import adw.Carousel; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.OrientableIF; +private import gtk.OrientableT; +private import gtk.Widget; + + +/** + * A dots indicator for [class@Carousel]. + * + * + * + * carousel-indicator-dots + * + * + * The `AdwCarouselIndicatorDots` widget shows a set of dots for each page of a + * given [class@Carousel]. The dot representing the carousel's active page is + * larger and more opaque than the others, the transition to the active and + * inactive state is gradual to match the carousel's position. + * + * See also [class@CarouselIndicatorLines]. + * + * ## CSS nodes + * + * `AdwCarouselIndicatorDots` has a single CSS node with name + * `carouselindicatordots`. + * + * Since: 1.0 + */ +public class CarouselIndicatorDots : Widget, OrientableIF +{ + /** the main Gtk struct */ + protected AdwCarouselIndicatorDots* adwCarouselIndicatorDots; + + /** Get the main Gtk struct */ + public AdwCarouselIndicatorDots* getCarouselIndicatorDotsStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwCarouselIndicatorDots; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwCarouselIndicatorDots; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwCarouselIndicatorDots* adwCarouselIndicatorDots, bool ownedRef = false) + { + this.adwCarouselIndicatorDots = adwCarouselIndicatorDots; + super(cast(GtkWidget*)adwCarouselIndicatorDots, ownedRef); + } + + // add the Orientable capabilities + mixin OrientableT!(AdwCarouselIndicatorDots); + + + /** */ + public static GType getType() + { + return adw_carousel_indicator_dots_get_type(); + } + + /** + * Creates a new `AdwCarouselIndicatorDots`. + * + * Returns: the newly created `AdwCarouselIndicatorDots` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_carousel_indicator_dots_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwCarouselIndicatorDots*) __p); + } + + /** + * Gets the displayed carousel. + * + * Returns: the displayed carousel + * + * Since: 1.0 + */ + public Carousel getCarousel() + { + auto __p = adw_carousel_indicator_dots_get_carousel(adwCarouselIndicatorDots); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Carousel)(cast(AdwCarousel*) __p); + } + + /** + * Sets the displayed carousel. + * + * Params: + * carousel = a carousel + * + * Since: 1.0 + */ + public void setCarousel(Carousel carousel) + { + adw_carousel_indicator_dots_set_carousel(adwCarouselIndicatorDots, (carousel is null) ? null : carousel.getCarouselStruct()); + } +} diff --git a/source/generated/adw/adw/CarouselIndicatorLines.d b/source/generated/adw/adw/CarouselIndicatorLines.d new file mode 100644 index 000000000..08d84841d --- /dev/null +++ b/source/generated/adw/adw/CarouselIndicatorLines.d @@ -0,0 +1,154 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.CarouselIndicatorLines; + +private import adw.Carousel; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.OrientableIF; +private import gtk.OrientableT; +private import gtk.Widget; + + +/** + * A lines indicator for [class@Carousel]. + * + * + * + * carousel-indicator-lines + * + * + * The `AdwCarouselIndicatorLines` widget shows a set of lines for each page of + * a given [class@Carousel]. The carousel's active page is shown as another line + * that moves between them to match the carousel's position. + * + * See also [class@CarouselIndicatorDots]. + * + * ## CSS nodes + * + * `AdwCarouselIndicatorLines` has a single CSS node with name + * `carouselindicatorlines`. + * + * Since: 1.0 + */ +public class CarouselIndicatorLines : Widget, OrientableIF +{ + /** the main Gtk struct */ + protected AdwCarouselIndicatorLines* adwCarouselIndicatorLines; + + /** Get the main Gtk struct */ + public AdwCarouselIndicatorLines* getCarouselIndicatorLinesStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwCarouselIndicatorLines; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwCarouselIndicatorLines; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwCarouselIndicatorLines* adwCarouselIndicatorLines, bool ownedRef = false) + { + this.adwCarouselIndicatorLines = adwCarouselIndicatorLines; + super(cast(GtkWidget*)adwCarouselIndicatorLines, ownedRef); + } + + // add the Orientable capabilities + mixin OrientableT!(AdwCarouselIndicatorLines); + + + /** */ + public static GType getType() + { + return adw_carousel_indicator_lines_get_type(); + } + + /** + * Creates a new `AdwCarouselIndicatorLines`. + * + * Returns: the newly created `AdwCarouselIndicatorLines` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_carousel_indicator_lines_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwCarouselIndicatorLines*) __p); + } + + /** + * Gets the displayed carousel. + * + * Returns: the displayed carousel + * + * Since: 1.0 + */ + public Carousel getCarousel() + { + auto __p = adw_carousel_indicator_lines_get_carousel(adwCarouselIndicatorLines); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Carousel)(cast(AdwCarousel*) __p); + } + + /** + * Sets the displayed carousel. + * + * Params: + * carousel = a carousel + * + * Since: 1.0 + */ + public void setCarousel(Carousel carousel) + { + adw_carousel_indicator_lines_set_carousel(adwCarouselIndicatorLines, (carousel is null) ? null : carousel.getCarouselStruct()); + } +} diff --git a/source/generated/adw/adw/Clamp.d b/source/generated/adw/adw/Clamp.d new file mode 100644 index 000000000..33f60f295 --- /dev/null +++ b/source/generated/adw/adw/Clamp.d @@ -0,0 +1,212 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.Clamp; + +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.OrientableIF; +private import gtk.OrientableT; +private import gtk.Widget; + + +/** + * A widget constraining its child to a given size. + * + * + * + * clamp-wide + * + * + * + * clamp-narrow + * + * + * The `AdwClamp` widget constrains the size of the widget it contains to a + * given maximum size. It will constrain the width if it is horizontal, or the + * height if it is vertical. The expansion of the child from its minimum to its + * maximum size is eased out for a smooth transition. + * + * If the child requires more than the requested maximum size, it will be + * allocated the minimum size it can fit in instead. + * + * ## CSS nodes + * + * `AdwClamp` has a single CSS node with name `clamp`. + * + * Its children will receive the style classes `.large` when the child reached + * its maximum size, `.small` when the clamp allocates its full size to the + * child, `.medium` in-between, or none if it hasn't computed its size yet. + * + * Since: 1.0 + */ +public class Clamp : Widget, OrientableIF +{ + /** the main Gtk struct */ + protected AdwClamp* adwClamp; + + /** Get the main Gtk struct */ + public AdwClamp* getClampStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwClamp; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwClamp; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwClamp* adwClamp, bool ownedRef = false) + { + this.adwClamp = adwClamp; + super(cast(GtkWidget*)adwClamp, ownedRef); + } + + // add the Orientable capabilities + mixin OrientableT!(AdwClamp); + + + /** */ + public static GType getType() + { + return adw_clamp_get_type(); + } + + /** + * Creates a new `AdwClamp`. + * + * Returns: the newly created `AdwClamp` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_clamp_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwClamp*) __p); + } + + /** + * Gets the child widget of @self. + * + * Returns: the child widget of @self + * + * Since: 1.0 + */ + public Widget getChild() + { + auto __p = adw_clamp_get_child(adwClamp); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets the maximum size allocated to the child. + * + * Returns: the maximum size to allocate to the child + * + * Since: 1.0 + */ + public int getMaximumSize() + { + return adw_clamp_get_maximum_size(adwClamp); + } + + /** + * Gets the size above which the child is clamped. + * + * Returns: the size above which the child is clamped + * + * Since: 1.0 + */ + public int getTighteningThreshold() + { + return adw_clamp_get_tightening_threshold(adwClamp); + } + + /** + * Sets the child widget of @self. + * + * Params: + * child = the child widget + * + * Since: 1.0 + */ + public void setChild(Widget child) + { + adw_clamp_set_child(adwClamp, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Sets the maximum size allocated to the child. + * + * Params: + * maximumSize = the maximum size + * + * Since: 1.0 + */ + public void setMaximumSize(int maximumSize) + { + adw_clamp_set_maximum_size(adwClamp, maximumSize); + } + + /** + * Sets the size above which the child is clamped. + * + * Params: + * tighteningThreshold = the tightening threshold + * + * Since: 1.0 + */ + public void setTighteningThreshold(int tighteningThreshold) + { + adw_clamp_set_tightening_threshold(adwClamp, tighteningThreshold); + } +} diff --git a/source/generated/adw/adw/ClampLayout.d b/source/generated/adw/adw/ClampLayout.d new file mode 100644 index 000000000..a34c97ebf --- /dev/null +++ b/source/generated/adw/adw/ClampLayout.d @@ -0,0 +1,170 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.ClampLayout; + +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.LayoutManager; +private import gtk.OrientableIF; +private import gtk.OrientableT; + + +/** + * A layout manager constraining its children to a given size. + * + * + * + * clamp-wide + * + * + * + * clamp-narrow + * + * + * `AdwClampLayout` constraints the size of the widgets it contains to a given + * maximum size. It will constrain the width if it is horizontal, or the height + * if it is vertical. The expansion of the children from their minimum to their + * maximum size is eased out for a smooth transition. + * + * If a child requires more than the requested maximum size, it will be + * allocated the minimum size it can fit in instead. + * + * Each child will get the style classes .large when it reached its maximum + * size, .small when it's allocated the full size, .medium in-between, or none + * if it hasn't been allocated yet. + * + * Since: 1.0 + */ +public class ClampLayout : LayoutManager, OrientableIF +{ + /** the main Gtk struct */ + protected AdwClampLayout* adwClampLayout; + + /** Get the main Gtk struct */ + public AdwClampLayout* getClampLayoutStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwClampLayout; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwClampLayout; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwClampLayout* adwClampLayout, bool ownedRef = false) + { + this.adwClampLayout = adwClampLayout; + super(cast(GtkLayoutManager*)adwClampLayout, ownedRef); + } + + // add the Orientable capabilities + mixin OrientableT!(AdwClampLayout); + + + /** */ + public static GType getType() + { + return adw_clamp_layout_get_type(); + } + + /** + * Creates a new `AdwClampLayout`. + * + * Returns: the newly created `AdwClampLayout` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_clamp_layout_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwClampLayout*) __p, true); + } + + /** + * Gets the maximum size allocated to the children. + * + * Returns: the maximum size to allocate to the children + * + * Since: 1.0 + */ + public int getMaximumSize() + { + return adw_clamp_layout_get_maximum_size(adwClampLayout); + } + + /** + * Gets the size above which the children are clamped. + * + * Returns: the size above which the children are clamped + * + * Since: 1.0 + */ + public int getTighteningThreshold() + { + return adw_clamp_layout_get_tightening_threshold(adwClampLayout); + } + + /** + * Sets the maximum size allocated to the children. + * + * Params: + * maximumSize = the maximum size + * + * Since: 1.0 + */ + public void setMaximumSize(int maximumSize) + { + adw_clamp_layout_set_maximum_size(adwClampLayout, maximumSize); + } + + /** + * Sets the size above which the children are clamped. + * + * Params: + * tighteningThreshold = the tightening threshold + * + * Since: 1.0 + */ + public void setTighteningThreshold(int tighteningThreshold) + { + adw_clamp_layout_set_tightening_threshold(adwClampLayout, tighteningThreshold); + } +} diff --git a/source/generated/adw/adw/ClampScrollable.d b/source/generated/adw/adw/ClampScrollable.d new file mode 100644 index 000000000..fd1385123 --- /dev/null +++ b/source/generated/adw/adw/ClampScrollable.d @@ -0,0 +1,198 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.ClampScrollable; + +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.OrientableIF; +private import gtk.OrientableT; +private import gtk.ScrollableIF; +private import gtk.ScrollableT; +private import gtk.Widget; + + +/** + * A scrollable [class@Clamp]. + * + * `AdwClampScrollable` is a variant of [class@Clamp] that implements the + * [iface@Gtk.Scrollable] interface. + * + * The primary use case for `AdwClampScrollable` is clamping + * [class@Gtk.ListView]. + * + * Since: 1.0 + */ +public class ClampScrollable : Widget, OrientableIF, ScrollableIF +{ + /** the main Gtk struct */ + protected AdwClampScrollable* adwClampScrollable; + + /** Get the main Gtk struct */ + public AdwClampScrollable* getClampScrollableStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwClampScrollable; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwClampScrollable; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwClampScrollable* adwClampScrollable, bool ownedRef = false) + { + this.adwClampScrollable = adwClampScrollable; + super(cast(GtkWidget*)adwClampScrollable, ownedRef); + } + + // add the Orientable capabilities + mixin OrientableT!(AdwClampScrollable); + + // add the Scrollable capabilities + mixin ScrollableT!(AdwClampScrollable); + + + /** */ + public static GType getType() + { + return adw_clamp_scrollable_get_type(); + } + + /** + * Creates a new `AdwClampScrollable`. + * + * Returns: the newly created `AdwClampScrollable` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_clamp_scrollable_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwClampScrollable*) __p); + } + + /** + * Gets the child widget of @self. + * + * Returns: the child widget of @self + * + * Since: 1.0 + */ + public Widget getChild() + { + auto __p = adw_clamp_scrollable_get_child(adwClampScrollable); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets the maximum size allocated to the child. + * + * Returns: the maximum size to allocate to the child + * + * Since: 1.0 + */ + public int getMaximumSize() + { + return adw_clamp_scrollable_get_maximum_size(adwClampScrollable); + } + + /** + * Gets the size above which the child is clamped. + * + * Returns: the size above which the child is clamped + * + * Since: 1.0 + */ + public int getTighteningThreshold() + { + return adw_clamp_scrollable_get_tightening_threshold(adwClampScrollable); + } + + /** + * Sets the child widget of @self. + * + * Params: + * child = the child widget + * + * Since: 1.0 + */ + public void setChild(Widget child) + { + adw_clamp_scrollable_set_child(adwClampScrollable, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Sets the maximum size allocated to the child. + * + * Params: + * maximumSize = the maximum size + * + * Since: 1.0 + */ + public void setMaximumSize(int maximumSize) + { + adw_clamp_scrollable_set_maximum_size(adwClampScrollable, maximumSize); + } + + /** + * Sets the size above which the child is clamped. + * + * Params: + * tighteningThreshold = the tightening threshold + * + * Since: 1.0 + */ + public void setTighteningThreshold(int tighteningThreshold) + { + adw_clamp_scrollable_set_tightening_threshold(adwClampScrollable, tighteningThreshold); + } +} diff --git a/source/generated/adw/adw/ComboRow.d b/source/generated/adw/adw/ComboRow.d new file mode 100644 index 000000000..ae5e0d14d --- /dev/null +++ b/source/generated/adw/adw/ComboRow.d @@ -0,0 +1,325 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.ComboRow; + +private import adw.ActionRow; +private import adw.c.functions; +public import adw.c.types; +private import gio.ListModelIF; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.Expression; +private import gtk.ListItemFactory; +private import gtk.Widget; + + +/** + * A [class@Gtk.ListBoxRow] used to choose from a list of items. + * + * + * + * combo-row + * + * + * The `AdwComboRow` widget allows the user to choose from a list of valid + * choices. The row displays the selected choice. When activated, the row + * displays a popover which allows the user to make a new choice. + * + * `AdwComboRow` mirrors [class@Gtk.DropDown], see that widget for details. + * + * `AdwComboRow` is [property@Gtk.ListBoxRow:activatable] if a model is set. + * + * ## CSS nodes + * + * `AdwComboRow` has a main CSS node with name `row` and the `.combo` style + * class. + * + * Its popover has the node named `popover` with the `.menu` style class, it + * contains a [class@Gtk.ScrolledWindow], which in turn contains a + * [class@Gtk.ListView], both are accessible via their regular nodes. + * + * ## Accessibility + * + * `AdwComboRow` uses the `GTK_ACCESSIBLE_ROLE_COMBO_BOX` role. + * + * Since: 1.0 + */ +public class ComboRow : ActionRow +{ + /** the main Gtk struct */ + protected AdwComboRow* adwComboRow; + + /** Get the main Gtk struct */ + public AdwComboRow* getComboRowStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwComboRow; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwComboRow; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwComboRow* adwComboRow, bool ownedRef = false) + { + this.adwComboRow = adwComboRow; + super(cast(AdwActionRow*)adwComboRow, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_combo_row_get_type(); + } + + /** + * Creates a new `AdwComboRow`. + * + * Returns: the newly created `AdwComboRow` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_combo_row_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwComboRow*) __p); + } + + /** + * Gets the expression used to obtain strings from items. + * + * Returns: the expression used to obtain strings from items + * + * Since: 1.0 + */ + public Expression getExpression() + { + auto __p = adw_combo_row_get_expression(adwComboRow); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Expression)(cast(GtkExpression*) __p); + } + + /** + * Gets the factory that's currently used to populate list items. + * + * Returns: the factory in use + * + * Since: 1.0 + */ + public ListItemFactory getFactory() + { + auto __p = adw_combo_row_get_factory(adwComboRow); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ListItemFactory)(cast(GtkListItemFactory*) __p); + } + + /** + * Gets the factory that's currently used to populate list items in the popup. + * + * Returns: the factory in use + * + * Since: 1.0 + */ + public ListItemFactory getListFactory() + { + auto __p = adw_combo_row_get_list_factory(adwComboRow); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ListItemFactory)(cast(GtkListItemFactory*) __p); + } + + /** + * Gets the model that provides the displayed items. + * + * Returns: The model in use + * + * Since: 1.0 + */ + public ListModelIF getModel() + { + auto __p = adw_combo_row_get_model(adwComboRow); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ListModelIF)(cast(GListModel*) __p); + } + + /** + * Gets the position of the selected item. + * + * Returns: the position of the selected item, or + * [const@Gtk.INVALID_LIST_POSITION] if no item is selected + * + * Since: 1.0 + */ + public uint getSelected() + { + return adw_combo_row_get_selected(adwComboRow); + } + + /** + * Gets the selected item. + * + * Returns: the selected item + * + * Since: 1.0 + */ + public ObjectG getSelectedItem() + { + auto __p = adw_combo_row_get_selected_item(adwComboRow); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ObjectG)(cast(GObject*) __p); + } + + /** + * Gets whether to use the current value as the subtitle. + * + * Returns: whether to use the current value as the subtitle + * + * Since: 1.0 + */ + public bool getUseSubtitle() + { + return adw_combo_row_get_use_subtitle(adwComboRow) != 0; + } + + /** + * Sets the expression used to obtain strings from items. + * + * The expression must have a value type of `G_TYPE_STRING`. + * + * Params: + * expression = an expression + * + * Since: 1.0 + */ + public void setExpression(Expression expression) + { + adw_combo_row_set_expression(adwComboRow, (expression is null) ? null : expression.getExpressionStruct()); + } + + /** + * Sets the `GtkListItemFactory` to use for populating list items. + * + * Params: + * factory = the factory to use + * + * Since: 1.0 + */ + public void setFactory(ListItemFactory factory) + { + adw_combo_row_set_factory(adwComboRow, (factory is null) ? null : factory.getListItemFactoryStruct()); + } + + /** + * Sets the `GtkListItemFactory` to use for populating list items in the popup. + * + * Params: + * factory = the factory to use + * + * Since: 1.0 + */ + public void setListFactory(ListItemFactory factory) + { + adw_combo_row_set_list_factory(adwComboRow, (factory is null) ? null : factory.getListItemFactoryStruct()); + } + + /** + * Sets the [iface@Gio.ListModel] to use. + * + * Params: + * model = the model to use + * + * Since: 1.0 + */ + public void setModel(ListModelIF model) + { + adw_combo_row_set_model(adwComboRow, (model is null) ? null : model.getListModelStruct()); + } + + /** + * Selects the item at the given position. + * + * Params: + * position = the position of the item to select, or + * [const@Gtk.INVALID_LIST_POSITION] + * + * Since: 1.0 + */ + public void setSelected(uint position) + { + adw_combo_row_set_selected(adwComboRow, position); + } + + /** + * Sets whether to use the current value as the subtitle. + * + * Params: + * useSubtitle = whether to use the current value as the subtitle + * + * Since: 1.0 + */ + public void setUseSubtitle(bool useSubtitle) + { + adw_combo_row_set_use_subtitle(adwComboRow, useSubtitle); + } +} diff --git a/generated/gstreamer/gstreamer/Tracer.d b/source/generated/adw/adw/EnumListItem.d similarity index 50% rename from generated/gstreamer/gstreamer/Tracer.d rename to source/generated/adw/adw/EnumListItem.d index 4b0c774bb..b5400ab65 100644 --- a/generated/gstreamer/gstreamer/Tracer.d +++ b/source/generated/adw/adw/EnumListItem.d @@ -22,71 +22,88 @@ // implement new conversion functionalities on the wrap.utils pakage -module gstreamer.Tracer; +module adw.EnumListItem; +private import adw.c.functions; +public import adw.c.types; private import glib.Str; -private import gstreamer.ObjectGst; -private import gstreamer.Plugin; -private import gstreamer.c.functions; -public import gstreamer.c.types; +private import glib.c.functions; +private import gobject.ObjectG; /** - * Tracing modules will subclass #GstTracer and register through - * gst_tracer_register(). Modules can attach to various hook-types - see - * gst_tracing_register_hook(). When invoked they receive hook specific - * contextual data, which they must not modify. + * `AdwEnumListItem` is the type of items in a [class@EnumListModel]. * - * Since: 1.8 + * Since: 1.0 */ -public class Tracer : ObjectGst +public class EnumListItem : ObjectG { /** the main Gtk struct */ - protected GstTracer* gstTracer; + protected AdwEnumListItem* adwEnumListItem; /** Get the main Gtk struct */ - public GstTracer* getTracerStruct(bool transferOwnership = false) + public AdwEnumListItem* getEnumListItemStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gstTracer; + return adwEnumListItem; } /** the main Gtk struct as a void* */ protected override void* getStruct() { - return cast(void*)gstTracer; + return cast(void*)adwEnumListItem; } /** * Sets our main struct and passes it to the parent class. */ - public this (GstTracer* gstTracer, bool ownedRef = false) + public this (AdwEnumListItem* adwEnumListItem, bool ownedRef = false) { - this.gstTracer = gstTracer; - super(cast(GstObject*)gstTracer, ownedRef); + this.adwEnumListItem = adwEnumListItem; + super(cast(GObject*)adwEnumListItem, ownedRef); } /** */ public static GType getType() { - return gst_tracer_get_type(); + return adw_enum_list_item_get_type(); } /** - * Create a new tracer-factory capable of instantiating objects of the - * @type and add the factory to @plugin. + * Gets the enum value name. * - * Params: - * plugin = A #GstPlugin, or %NULL for a static typefind function - * name = The name for registering - * type = GType of tracer to register + * Returns: the enum value name * - * Returns: %TRUE, if the registering succeeded, %FALSE on error + * Since: 1.0 */ - public static bool register(Plugin plugin, string name, GType type) + public string getName() { - return gst_tracer_register((plugin is null) ? null : plugin.getPluginStruct(), Str.toStringz(name), type) != 0; + return Str.toString(adw_enum_list_item_get_name(adwEnumListItem)); + } + + /** + * Gets the enum value nick. + * + * Returns: the enum value nick + * + * Since: 1.0 + */ + public string getNick() + { + return Str.toString(adw_enum_list_item_get_nick(adwEnumListItem)); + } + + /** + * Gets the enum value. + * + * Returns: the enum value + * + * Since: 1.0 + */ + public int getValue() + { + return adw_enum_list_item_get_value(adwEnumListItem); } } diff --git a/source/generated/adw/adw/EnumListModel.d b/source/generated/adw/adw/EnumListModel.d new file mode 100644 index 000000000..58e40b90a --- /dev/null +++ b/source/generated/adw/adw/EnumListModel.d @@ -0,0 +1,128 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.EnumListModel; + +private import adw.c.functions; +public import adw.c.types; +private import gio.ListModelIF; +private import gio.ListModelT; +private import glib.ConstructionException; +private import gobject.ObjectG; + + +/** + * A [iface@Gio.ListModel] representing values of a given enum. + * + * `AdwEnumListModel` contains objects of type [class@EnumListItem]. + * + * Since: 1.0 + */ +public class EnumListModel : ObjectG, ListModelIF +{ + /** the main Gtk struct */ + protected AdwEnumListModel* adwEnumListModel; + + /** Get the main Gtk struct */ + public AdwEnumListModel* getEnumListModelStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwEnumListModel; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwEnumListModel; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwEnumListModel* adwEnumListModel, bool ownedRef = false) + { + this.adwEnumListModel = adwEnumListModel; + super(cast(GObject*)adwEnumListModel, ownedRef); + } + + // add the ListModel capabilities + mixin ListModelT!(AdwEnumListModel); + + + /** */ + public static GType getType() + { + return adw_enum_list_model_get_type(); + } + + /** + * Creates a new `AdwEnumListModel` for @enum_type. + * + * Params: + * enumType = the type of the enum to construct the model from + * + * Returns: the newly created `AdwEnumListModel` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(GType enumType) + { + auto __p = adw_enum_list_model_new(enumType); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwEnumListModel*) __p, true); + } + + /** + * Finds the position of a given enum value in @self. + * + * Params: + * value = an enum value + * + * Since: 1.0 + */ + public uint findPosition(int value) + { + return adw_enum_list_model_find_position(adwEnumListModel, value); + } + + /** + * Gets the type of the enum represented by @self. + * + * Returns: the enum type + * + * Since: 1.0 + */ + public GType getEnumType() + { + return adw_enum_list_model_get_enum_type(adwEnumListModel); + } +} diff --git a/source/generated/adw/adw/ExpanderRow.d b/source/generated/adw/adw/ExpanderRow.d new file mode 100644 index 000000000..0a5c5bb62 --- /dev/null +++ b/source/generated/adw/adw/ExpanderRow.d @@ -0,0 +1,296 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.ExpanderRow; + +private import adw.PreferencesRow; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.Widget; + + +/** + * A [class@Gtk.ListBoxRow] used to reveal widgets. + * + * + * + * expander-row + * + * + * The `AdwExpanderRow` widget allows the user to reveal or hide widgets below + * it. It also allows the user to enable the expansion of the row, allowing to + * disable all that the row contains. + * + * ## AdwExpanderRow as GtkBuildable + * + * The `AdwExpanderRow` implementation of the [iface@Gtk.Buildable] interface + * supports adding a child as an action widget by specifying “action” as the + * “type” attribute of a element. + * + * It also supports adding it as a prefix widget by specifying “prefix” as the + * “type” attribute of a element. + * + * ## CSS nodes + * + * `AdwExpanderRow` has a main CSS node with name `row` and the `.expander` + * style class. It has the `.empty` style class when it contains no children. + * + * It contains the subnodes `row.header` for its main embedded row, + * `list.nested` for the list it can expand, and `image.expander-row-arrow` for + * its arrow. + * + * Since: 1.0 + */ +public class ExpanderRow : PreferencesRow +{ + /** the main Gtk struct */ + protected AdwExpanderRow* adwExpanderRow; + + /** Get the main Gtk struct */ + public AdwExpanderRow* getExpanderRowStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwExpanderRow; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwExpanderRow; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwExpanderRow* adwExpanderRow, bool ownedRef = false) + { + this.adwExpanderRow = adwExpanderRow; + super(cast(AdwPreferencesRow*)adwExpanderRow, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_expander_row_get_type(); + } + + /** + * Creates a new `AdwExpanderRow`. + * + * Returns: the newly created `AdwExpanderRow` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_expander_row_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwExpanderRow*) __p); + } + + /** + * Adds an action widget to @self. + * + * Params: + * widget = a widget + * + * Since: 1.0 + */ + public void addAction(Widget widget) + { + adw_expander_row_add_action(adwExpanderRow, (widget is null) ? null : widget.getWidgetStruct()); + } + + /** + * Adds a prefix widget to @self. + * + * Params: + * widget = a widget + * + * Since: 1.0 + */ + public void addPrefix(Widget widget) + { + adw_expander_row_add_prefix(adwExpanderRow, (widget is null) ? null : widget.getWidgetStruct()); + } + + /** + * Adds a widget to @self. + * + * The widget will appear in the expanding list below @self. + * + * Params: + * child = a widget + * + * Since: 1.0 + */ + public void addRow(Widget child) + { + adw_expander_row_add_row(adwExpanderRow, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Gets whether the expansion of @self is enabled. + * + * Returns: whether the expansion of @self is enabled. + * + * Since: 1.0 + */ + public bool getEnableExpansion() + { + return adw_expander_row_get_enable_expansion(adwExpanderRow) != 0; + } + + /** + * Gets whether @self is expanded. + * + * Returns: whether @self is expanded + * + * Since: 1.0 + */ + public bool getExpanded() + { + return adw_expander_row_get_expanded(adwExpanderRow) != 0; + } + + /** + * Gets the icon name for @self. + * + * Returns: the icon name for @self + * + * Since: 1.0 + */ + public string getIconName() + { + return Str.toString(adw_expander_row_get_icon_name(adwExpanderRow)); + } + + /** + * Gets whether the switch enabling the expansion of @self is visible. + * + * Returns: whether the switch enabling the expansion is visible + * + * Since: 1.0 + */ + public bool getShowEnableSwitch() + { + return adw_expander_row_get_show_enable_switch(adwExpanderRow) != 0; + } + + /** + * Gets the subtitle for @self. + * + * Returns: the subtitle for @self + * + * Since: 1.0 + */ + public string getSubtitle() + { + return Str.toString(adw_expander_row_get_subtitle(adwExpanderRow)); + } + + /** */ + public void remove(Widget child) + { + adw_expander_row_remove(adwExpanderRow, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Sets whether the expansion of @self is enabled. + * + * Params: + * enableExpansion = whether to enable the expansion + * + * Since: 1.0 + */ + public void setEnableExpansion(bool enableExpansion) + { + adw_expander_row_set_enable_expansion(adwExpanderRow, enableExpansion); + } + + /** + * Sets whether @self is expanded. + * + * Params: + * expanded = whether to expand the row + * + * Since: 1.0 + */ + public void setExpanded(bool expanded) + { + adw_expander_row_set_expanded(adwExpanderRow, expanded); + } + + /** + * Sets the icon name for @self. + * + * Params: + * iconName = the icon name + * + * Since: 1.0 + */ + public void setIconName(string iconName) + { + adw_expander_row_set_icon_name(adwExpanderRow, Str.toStringz(iconName)); + } + + /** + * Sets whether the switch enabling the expansion of @self is visible. + * + * Params: + * showEnableSwitch = whether to show the switch enabling the expansion + * + * Since: 1.0 + */ + public void setShowEnableSwitch(bool showEnableSwitch) + { + adw_expander_row_set_show_enable_switch(adwExpanderRow, showEnableSwitch); + } + + /** + * Sets the subtitle for @self. + * + * Params: + * subtitle = the subtitle + * + * Since: 1.0 + */ + public void setSubtitle(string subtitle) + { + adw_expander_row_set_subtitle(adwExpanderRow, Str.toStringz(subtitle)); + } +} diff --git a/source/generated/adw/adw/Flap.d b/source/generated/adw/adw/Flap.d new file mode 100644 index 000000000..295a5eb41 --- /dev/null +++ b/source/generated/adw/adw/Flap.d @@ -0,0 +1,567 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.Flap; + +private import adw.SpringParams; +private import adw.SwipeableIF; +private import adw.SwipeableT; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.OrientableIF; +private import gtk.OrientableT; +private import gtk.Widget; + + +/** + * An adaptive container acting like a box or an overlay. + * + * + * + * flap-wide + * + * + * + * flap-narrow + * + * + * The `AdwFlap` widget can display its children like a [class@Gtk.Box] does or + * like a [class@Gtk.Overlay] does, according to the + * [property@Flap:fold-policy] value. + * + * `AdwFlap` has at most three children: [property@Flap:content], + * [property@Flap:flap] and [property@Flap:separator]. Content is the primary + * child, flap is displayed next to it when unfolded, or overlays it when + * folded. Flap can be shown or hidden by changing the + * [property@Flap:reveal-flap] value, as well as via swipe gestures if + * [property@Flap:swipe-to-open] and/or [property@Flap:swipe-to-close] are set + * to `TRUE`. + * + * Optionally, a separator can be provided, which would be displayed between + * the content and the flap when there's no shadow to separate them, depending + * on the transition type. + * + * [property@Flap:flap] is transparent by default; add the + * [`.background`](style-classes.html#background) style class to it if this is + * unwanted. + * + * If [property@Flap:modal] is set to `TRUE`, content becomes completely + * inaccessible when the flap is revealed while folded. + * + * The position of the flap and separator children relative to the content is + * determined by orientation, as well as the [property@Flap:flap-position] + * value. + * + * Folding the flap will automatically hide the flap widget, and unfolding it + * will automatically reveal it. If this behavior is not desired, the + * [property@Flap:locked] property can be used to override it. + * + * Common use cases include sidebars, header bars that need to be able to + * overlap the window content (for example, in fullscreen mode) and bottom + * sheets. + * + * ## AdwFlap as GtkBuildable + * + * The `AdwFlap` implementation of the [iface@Gtk.Buildable] interface supports + * setting the flap child by specifying “flap” as the “type” attribute of a + * element, and separator by specifying “separator”. Specifying + * “content” child type or omitting it results in setting the content child. + * + * ## CSS nodes + * + * `AdwFlap` has a single CSS node with name `flap`. The node will get the style + * classes `.folded` when it is folded, and `.unfolded` when it's not. + * + * Since: 1.0 + */ +public class Flap : Widget, SwipeableIF, OrientableIF +{ + /** the main Gtk struct */ + protected AdwFlap* adwFlap; + + /** Get the main Gtk struct */ + public AdwFlap* getFlapStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwFlap; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwFlap; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwFlap* adwFlap, bool ownedRef = false) + { + this.adwFlap = adwFlap; + super(cast(GtkWidget*)adwFlap, ownedRef); + } + + // add the Swipeable capabilities + mixin SwipeableT!(AdwFlap); + + // add the Orientable capabilities + mixin OrientableT!(AdwFlap); + + + /** */ + public static GType getType() + { + return adw_flap_get_type(); + } + + /** + * Creates a new `AdwFlap`. + * + * Returns: the newly created `AdwFlap` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_flap_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwFlap*) __p); + } + + /** + * Gets the content widget for @self. + * + * Returns: the content widget for @self + * + * Since: 1.0 + */ + public Widget getContent() + { + auto __p = adw_flap_get_content(adwFlap); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets the flap widget for @self. + * + * Returns: the flap widget for @self + * + * Since: 1.0 + */ + public Widget getFlap() + { + auto __p = adw_flap_get_flap(adwFlap); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets the flap position for @self. + * + * Returns: the flap position for @self + * + * Since: 1.0 + */ + public GtkPackType getFlapPosition() + { + return adw_flap_get_flap_position(adwFlap); + } + + /** + * Gets the duration that fold transitions in @self will take. + * + * Returns: the fold transition duration + * + * Since: 1.0 + */ + public uint getFoldDuration() + { + return adw_flap_get_fold_duration(adwFlap); + } + + /** + * Gets the fold policy for @self. + * + * Returns: the fold policy for @self + * + * Since: 1.0 + */ + public AdwFlapFoldPolicy getFoldPolicy() + { + return adw_flap_get_fold_policy(adwFlap); + } + + /** + * Gets the fold threshold policy for @self. + * + * Since: 1.0 + */ + public AdwFoldThresholdPolicy getFoldThresholdPolicy() + { + return adw_flap_get_fold_threshold_policy(adwFlap); + } + + /** + * Gets whether @self is currently folded. + * + * Returns: `TRUE` if @self is currently folded + * + * Since: 1.0 + */ + public bool getFolded() + { + return adw_flap_get_folded(adwFlap) != 0; + } + + /** + * Gets whether @self is locked. + * + * Returns: `TRUE` if @self is locked + * + * Since: 1.0 + */ + public bool getLocked() + { + return adw_flap_get_locked(adwFlap) != 0; + } + + /** + * Gets whether @self is modal. + * + * Returns: `TRUE` if @self is modal + * + * Since: 1.0 + */ + public bool getModal() + { + return adw_flap_get_modal(adwFlap) != 0; + } + + /** + * Gets whether the flap widget is revealed for @self. + * + * Returns: `TRUE` if the flap widget is revealed + * + * Since: 1.0 + */ + public bool getRevealFlap() + { + return adw_flap_get_reveal_flap(adwFlap) != 0; + } + + /** + * Gets the reveal animation spring parameters for @self. + * + * Returns: the reveal animation parameters + * + * Since: 1.0 + */ + public SpringParams getRevealParams() + { + auto __p = adw_flap_get_reveal_params(adwFlap); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SpringParams)(cast(AdwSpringParams*) __p, true); + } + + /** + * Gets the current reveal progress for @self. + * + * Returns: the current reveal progress for @self + * + * Since: 1.0 + */ + public double getRevealProgress() + { + return adw_flap_get_reveal_progress(adwFlap); + } + + /** + * Gets the separator widget for @self. + * + * Returns: the separator widget for @self + * + * Since: 1.0 + */ + public Widget getSeparator() + { + auto __p = adw_flap_get_separator(adwFlap); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets whether @self can be closed with a swipe gesture. + * + * Returns: `TRUE` if @self can be closed with a swipe gesture + * + * Since: 1.0 + */ + public bool getSwipeToClose() + { + return adw_flap_get_swipe_to_close(adwFlap) != 0; + } + + /** + * Gets whether @self can be opened with a swipe gesture. + * + * Returns: `TRUE` if @self can be opened with a swipe gesture + * + * Since: 1.0 + */ + public bool getSwipeToOpen() + { + return adw_flap_get_swipe_to_open(adwFlap) != 0; + } + + /** + * Gets the type of animation used for reveal and fold transitions in @self. + * + * Returns: the current transition type of @self + * + * Since: 1.0 + */ + public AdwFlapTransitionType getTransitionType() + { + return adw_flap_get_transition_type(adwFlap); + } + + /** + * Sets the content widget for @self. + * + * Params: + * content = the content widget + * + * Since: 1.0 + */ + public void setContent(Widget content) + { + adw_flap_set_content(adwFlap, (content is null) ? null : content.getWidgetStruct()); + } + + /** + * Sets the flap widget for @self. + * + * Params: + * flap = the flap widget + * + * Since: 1.0 + */ + public void setFlap(Widget flap) + { + adw_flap_set_flap(adwFlap, (flap is null) ? null : flap.getWidgetStruct()); + } + + /** + * Sets the flap position for @self. + * + * Params: + * position = the new value + * + * Since: 1.0 + */ + public void setFlapPosition(GtkPackType position) + { + adw_flap_set_flap_position(adwFlap, position); + } + + /** + * Sets the duration that fold transitions in @self will take. + * + * Params: + * duration = the new duration, in milliseconds + * + * Since: 1.0 + */ + public void setFoldDuration(uint duration) + { + adw_flap_set_fold_duration(adwFlap, duration); + } + + /** + * Sets the fold policy for @self. + * + * Params: + * policy = the fold policy + * + * Since: 1.0 + */ + public void setFoldPolicy(AdwFlapFoldPolicy policy) + { + adw_flap_set_fold_policy(adwFlap, policy); + } + + /** + * Sets the fold threshold policy for @self. + * + * Params: + * policy = the policy to use + * + * Since: 1.0 + */ + public void setFoldThresholdPolicy(AdwFoldThresholdPolicy policy) + { + adw_flap_set_fold_threshold_policy(adwFlap, policy); + } + + /** + * Sets whether @self is locked. + * + * Params: + * locked = the new value + * + * Since: 1.0 + */ + public void setLocked(bool locked) + { + adw_flap_set_locked(adwFlap, locked); + } + + /** + * Sets whether @self is modal. + * + * Params: + * modal = whether @self is modal + * + * Since: 1.0 + */ + public void setModal(bool modal) + { + adw_flap_set_modal(adwFlap, modal); + } + + /** + * Sets whether the flap widget is revealed for @self. + * + * Params: + * revealFlap = whether to reveal the flap widget + * + * Since: 1.0 + */ + public void setRevealFlap(bool revealFlap) + { + adw_flap_set_reveal_flap(adwFlap, revealFlap); + } + + /** + * Sets the reveal animation spring parameters for @self. + * + * Params: + * params = the new parameters + * + * Since: 1.0 + */ + public void setRevealParams(SpringParams params) + { + adw_flap_set_reveal_params(adwFlap, (params is null) ? null : params.getSpringParamsStruct()); + } + + /** + * Sets the separator widget for @self. + * + * Params: + * separator = the separator widget + * + * Since: 1.0 + */ + public void setSeparator(Widget separator) + { + adw_flap_set_separator(adwFlap, (separator is null) ? null : separator.getWidgetStruct()); + } + + /** + * Sets whether @self can be closed with a swipe gesture. + * + * Params: + * swipeToClose = whether @self can be closed with a swipe gesture + * + * Since: 1.0 + */ + public void setSwipeToClose(bool swipeToClose) + { + adw_flap_set_swipe_to_close(adwFlap, swipeToClose); + } + + /** + * Sets whether @self can be opened with a swipe gesture. + * + * Params: + * swipeToOpen = whether @self can be opened with a swipe gesture + * + * Since: 1.0 + */ + public void setSwipeToOpen(bool swipeToOpen) + { + adw_flap_set_swipe_to_open(adwFlap, swipeToOpen); + } + + /** + * Sets the type of animation used for reveal and fold transitions in @self. + * + * Params: + * transitionType = the new transition type + * + * Since: 1.0 + */ + public void setTransitionType(AdwFlapTransitionType transitionType) + { + adw_flap_set_transition_type(adwFlap, transitionType); + } +} diff --git a/source/generated/adw/adw/HeaderBar.d b/source/generated/adw/adw/HeaderBar.d new file mode 100644 index 000000000..043bcf124 --- /dev/null +++ b/source/generated/adw/adw/HeaderBar.d @@ -0,0 +1,359 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.HeaderBar; + +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; + + +/** + * A title bar widget. + * + * + * + * header-bar + * + * + * `AdwHeaderBar` is similar to [class@Gtk.HeaderBar], but provides additional + * features compared to it. Refer to `GtkHeaderBar` for details. + * + * [property@HeaderBar:centering-policy] allows to enforce strict centering of + * the title widget, this is useful for [class@ViewSwitcherTitle]. + * + * [property@HeaderBar:show-start-title-buttons] and + * [property@HeaderBar:show-end-title-buttons] allow to easily create split + * header bar layouts using [class@Leaflet], as follows: + * + * ```xml + * + * + * + * vertical + * + * + * + * leaflet + * + * + * + * + * + * + * + * + * + * vertical + * True + * + * + * + * leaflet + * + * + * + * + * + * + * + * ``` + * + * + * + * header-bar-split + * + * + * ## CSS nodes + * + * ``` + * headerbar + * ╰── windowhandle + * ╰── box + * ├── widget + * │ ╰── box.start + * │ ├── windowcontrols.start + * │ ╰── [other children] + * ├── [Title Widget] + * ╰── widget + * ╰── box.end + * ├── [other children] + * ╰── windowcontrols.end + * ``` + * + * `AdwHeaderBar`'s CSS node is called `headerbar`. It contains a `windowhandle` + * subnode, which contains a `box` subnode, which contains two `widget` subnodes + * at the start and end of the header bar, each of which contains a `box` + * subnode with the `.start` and `.end` style classes respectively, as well as a + * center node that represents the title. + * + * Each of the boxes contains a `windowcontrols` subnode, see + * [class@Gtk.WindowControls] for details, as well as other children. + * + * ## Accessibility + * + * `AdwHeaderBar` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role. + * + * Since: 1.0 + */ +public class HeaderBar : Widget +{ + /** the main Gtk struct */ + protected AdwHeaderBar* adwHeaderBar; + + /** Get the main Gtk struct */ + public AdwHeaderBar* getHeaderBarStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwHeaderBar; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwHeaderBar; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwHeaderBar* adwHeaderBar, bool ownedRef = false) + { + this.adwHeaderBar = adwHeaderBar; + super(cast(GtkWidget*)adwHeaderBar, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_header_bar_get_type(); + } + + /** + * Creates a new `AdwHeaderBar`. + * + * Returns: the newly created `AdwHeaderBar`. + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_header_bar_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwHeaderBar*) __p); + } + + /** + * Gets the policy for aligning the center widget. + * + * Returns: the centering policy + * + * Since: 1.0 + */ + public AdwCenteringPolicy getCenteringPolicy() + { + return adw_header_bar_get_centering_policy(adwHeaderBar); + } + + /** + * Gets the decoration layout for @self. + * + * Returns: the decoration layout + * + * Since: 1.0 + */ + public string getDecorationLayout() + { + return Str.toString(adw_header_bar_get_decoration_layout(adwHeaderBar)); + } + + /** + * Gets whether to show title buttons at the end of @self. + * + * Returns: `TRUE` if title buttons at the end are shown + * + * Since: 1.0 + */ + public bool getShowEndTitleButtons() + { + return adw_header_bar_get_show_end_title_buttons(adwHeaderBar) != 0; + } + + /** + * Gets whether to show title buttons at the start of @self. + * + * Returns: `TRUE` if title buttons at the start are shown + * + * Since: 1.0 + */ + public bool getShowStartTitleButtons() + { + return adw_header_bar_get_show_start_title_buttons(adwHeaderBar) != 0; + } + + /** + * Gets the title widget widget of @self. + * + * Returns: the title widget + * + * Since: 1.0 + */ + public Widget getTitleWidget() + { + auto __p = adw_header_bar_get_title_widget(adwHeaderBar); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Adds @child to @self, packed with reference to the end of @self. + * + * Params: + * child = the widget to be added to @self + * + * Since: 1.0 + */ + public void packEnd(Widget child) + { + adw_header_bar_pack_end(adwHeaderBar, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Adds @child to @self, packed with reference to the start of the @self. + * + * Params: + * child = the widget to be added to @self + * + * Since: 1.0 + */ + public void packStart(Widget child) + { + adw_header_bar_pack_start(adwHeaderBar, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Removes a child from @self. + * + * The child must have been added with [method@HeaderBar.pack_start], + * [method@HeaderBar.pack_end] or [property@HeaderBar:title-widget]. + * + * Params: + * child = the child to remove + * + * Since: 1.0 + */ + public void remove(Widget child) + { + adw_header_bar_remove(adwHeaderBar, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Sets the policy for aligning the center widget. + * + * Params: + * centeringPolicy = the centering policy + * + * Since: 1.0 + */ + public void setCenteringPolicy(AdwCenteringPolicy centeringPolicy) + { + adw_header_bar_set_centering_policy(adwHeaderBar, centeringPolicy); + } + + /** + * Sets the decoration layout for @self. + * + * Params: + * layout = a decoration layout + * + * Since: 1.0 + */ + public void setDecorationLayout(string layout) + { + adw_header_bar_set_decoration_layout(adwHeaderBar, Str.toStringz(layout)); + } + + /** + * Sets whether to show title buttons at the end of @self. + * + * Params: + * setting = `TRUE` to show standard title buttons + * + * Since: 1.0 + */ + public void setShowEndTitleButtons(bool setting) + { + adw_header_bar_set_show_end_title_buttons(adwHeaderBar, setting); + } + + /** + * Sets whether to show title buttons at the start of @self. + * + * Params: + * setting = `TRUE` to show standard title buttons + * + * Since: 1.0 + */ + public void setShowStartTitleButtons(bool setting) + { + adw_header_bar_set_show_start_title_buttons(adwHeaderBar, setting); + } + + /** + * Sets the title widget for @self. + * + * Params: + * titleWidget = a widget to use for a title + * + * Since: 1.0 + */ + public void setTitleWidget(Widget titleWidget) + { + adw_header_bar_set_title_widget(adwHeaderBar, (titleWidget is null) ? null : titleWidget.getWidgetStruct()); + } +} diff --git a/source/generated/adw/adw/Leaflet.d b/source/generated/adw/adw/Leaflet.d new file mode 100644 index 000000000..44b58836d --- /dev/null +++ b/source/generated/adw/adw/Leaflet.d @@ -0,0 +1,655 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.Leaflet; + +private import adw.LeafletPage; +private import adw.SpringParams; +private import adw.SwipeableIF; +private import adw.SwipeableT; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.OrientableIF; +private import gtk.OrientableT; +private import gtk.SelectionModelIF; +private import gtk.Widget; + + +/** + * An adaptive container acting like a box or a stack. + * + * + * + * leaflet-wide + * + * + * + * leaflet-narrow + * + * + * The `AdwLeaflet` widget can display its children like a [class@Gtk.Box] does + * or like a [class@Gtk.Stack] does, adapting to size changes by switching + * between the two modes. + * + * When there is enough space the children are displayed side by side, otherwise + * only one is displayed and the leaflet is said to be “folded”. + * The threshold is dictated by the preferred minimum sizes of the children. + * When a leaflet is folded, the children can be navigated using swipe gestures. + * + * The “over” and “under” transition types stack the children one on top of the + * other, while the “slide” transition puts the children side by side. While + * navigating to a child on the side or below can be performed by swiping the + * current child away, navigating to an upper child requires dragging it from + * the edge where it resides. This doesn't affect non-dragging swipes. + * + * ## CSS nodes + * + * `AdwLeaflet` has a single CSS node with name `leaflet`. The node will get the + * style classes `.folded` when it is folded, `.unfolded` when it's not, or none + * if it hasn't computed its fold yet. + * + * Since: 1.0 + */ +public class Leaflet : Widget, SwipeableIF, OrientableIF +{ + /** the main Gtk struct */ + protected AdwLeaflet* adwLeaflet; + + /** Get the main Gtk struct */ + public AdwLeaflet* getLeafletStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwLeaflet; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwLeaflet; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwLeaflet* adwLeaflet, bool ownedRef = false) + { + this.adwLeaflet = adwLeaflet; + super(cast(GtkWidget*)adwLeaflet, ownedRef); + } + + // add the Swipeable capabilities + mixin SwipeableT!(AdwLeaflet); + + // add the Orientable capabilities + mixin OrientableT!(AdwLeaflet); + + + /** */ + public static GType getType() + { + return adw_leaflet_get_type(); + } + + /** + * Creates a new `AdwLeaflet`. + * + * Returns: the new created `AdwLeaflet` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_leaflet_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwLeaflet*) __p); + } + + /** + * Adds a child to @self. + * + * Params: + * child = the widget to add + * + * Returns: the [class@LeafletPage] for @child + * + * Since: 1.0 + */ + public LeafletPage append(Widget child) + { + auto __p = adw_leaflet_append(adwLeaflet, (child is null) ? null : child.getWidgetStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(LeafletPage)(cast(AdwLeafletPage*) __p); + } + + /** + * Finds the previous or next navigatable child. + * + * This will be the same child [method@Leaflet.navigate] or swipe gestures will + * navigate to. + * + * If there's no child to navigate to, `NULL` will be returned instead. + * + * See [property@LeafletPage:navigatable]. + * + * Params: + * direction = the direction + * + * Returns: the previous or next child + * + * Since: 1.0 + */ + public Widget getAdjacentChild(AdwNavigationDirection direction) + { + auto __p = adw_leaflet_get_adjacent_child(adwLeaflet, direction); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets whether gestures and shortcuts for navigating backward are enabled. + * + * Returns: Whether gestures and shortcuts are enabled. + * + * Since: 1.0 + */ + public bool getCanNavigateBack() + { + return adw_leaflet_get_can_navigate_back(adwLeaflet) != 0; + } + + /** + * Gets whether gestures and shortcuts for navigating forward are enabled. + * + * Returns: Whether gestures and shortcuts are enabled. + * + * Since: 1.0 + */ + public bool getCanNavigateForward() + { + return adw_leaflet_get_can_navigate_forward(adwLeaflet) != 0; + } + + /** + * Gets whether @self can unfold. + * + * Returns: whether @self can unfold + * + * Since: 1.0 + */ + public bool getCanUnfold() + { + return adw_leaflet_get_can_unfold(adwLeaflet) != 0; + } + + /** + * Finds the child of @self with @name. + * + * Returns `NULL` if there is no child with this name. + * + * See [property@LeafletPage:name]. + * + * Params: + * name = the name of the child to find + * + * Returns: the requested child of @self + * + * Since: 1.0 + */ + public Widget getChildByName(string name) + { + auto __p = adw_leaflet_get_child_by_name(adwLeaflet, Str.toStringz(name)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets the child transition spring parameters for @self. + * + * Returns: the child transition parameters + * + * Since: 1.0 + */ + public SpringParams getChildTransitionParams() + { + auto __p = adw_leaflet_get_child_transition_params(adwLeaflet); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SpringParams)(cast(AdwSpringParams*) __p, true); + } + + /** + * Gets whether a child transition is currently running for @self. + * + * Returns: whether a transition is currently running + * + * Since: 1.0 + */ + public bool getChildTransitionRunning() + { + return adw_leaflet_get_child_transition_running(adwLeaflet) != 0; + } + + /** + * Gets the fold threshold policy for @self. + * + * Since: 1.0 + */ + public AdwFoldThresholdPolicy getFoldThresholdPolicy() + { + return adw_leaflet_get_fold_threshold_policy(adwLeaflet); + } + + /** + * Gets whether @self is folded. + * + * Returns: whether @self is folded. + * + * Since: 1.0 + */ + public bool getFolded() + { + return adw_leaflet_get_folded(adwLeaflet) != 0; + } + + /** + * Gets whether @self is homogeneous. + * + * Returns: whether @self is homogeneous + * + * Since: 1.0 + */ + public bool getHomogeneous() + { + return adw_leaflet_get_homogeneous(adwLeaflet) != 0; + } + + /** + * Gets the mode transition animation duration for @self. + * + * Returns: the mode transition duration, in milliseconds. + * + * Since: 1.0 + */ + public uint getModeTransitionDuration() + { + return adw_leaflet_get_mode_transition_duration(adwLeaflet); + } + + /** + * Returns the [class@LeafletPage] object for @child. + * + * Params: + * child = a child of @self + * + * Returns: the page object for @child + * + * Since: 1.0 + */ + public LeafletPage getPage(Widget child) + { + auto __p = adw_leaflet_get_page(adwLeaflet, (child is null) ? null : child.getWidgetStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(LeafletPage)(cast(AdwLeafletPage*) __p); + } + + /** + * Returns a [iface@Gio.ListModel] that contains the pages of the leaflet. + * + * This can be used to keep an up-to-date view. The model also implements + * [iface@Gtk.SelectionModel] and can be used to track and change the visible + * page. + * + * Returns: a `GtkSelectionModel` for the leaflet's children + * + * Since: 1.0 + */ + public SelectionModelIF getPages() + { + auto __p = adw_leaflet_get_pages(adwLeaflet); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SelectionModelIF)(cast(GtkSelectionModel*) __p, true); + } + + /** + * Gets the type of animation used for transitions between modes and children. + * + * Returns: the current transition type of @self + * + * Since: 1.0 + */ + public AdwLeafletTransitionType getTransitionType() + { + return adw_leaflet_get_transition_type(adwLeaflet); + } + + /** + * Gets the widget currently visible when the leaflet is folded. + * + * Returns: the visible child + * + * Since: 1.0 + */ + public Widget getVisibleChild() + { + auto __p = adw_leaflet_get_visible_child(adwLeaflet); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets the name of the currently visible child widget. + * + * Returns: the name of the visible child + * + * Since: 1.0 + */ + public string getVisibleChildName() + { + return Str.toString(adw_leaflet_get_visible_child_name(adwLeaflet)); + } + + /** + * Inserts @child in the position after @sibling in the list of children. + * + * If @sibling is `NULL`, inserts @child at the first position. + * + * Params: + * child = the widget to insert + * sibling = the sibling after which to insert @child + * + * Returns: the [class@LeafletPage] for @child + * + * Since: 1.0 + */ + public LeafletPage insertChildAfter(Widget child, Widget sibling) + { + auto __p = adw_leaflet_insert_child_after(adwLeaflet, (child is null) ? null : child.getWidgetStruct(), (sibling is null) ? null : sibling.getWidgetStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(LeafletPage)(cast(AdwLeafletPage*) __p); + } + + /** + * Navigates to the previous or next child. + * + * The child must have the [property@LeafletPage:navigatable] property set to + * `TRUE`, otherwise it will be skipped. + * + * This will be the same child as returned by + * [method@Leaflet.get_adjacent_child] or navigated to via swipe gestures. + * + * Params: + * direction = the direction + * + * Returns: whether the visible child was changed + * + * Since: 1.0 + */ + public bool navigate(AdwNavigationDirection direction) + { + return adw_leaflet_navigate(adwLeaflet, direction) != 0; + } + + /** + * Inserts @child at the first position in @self. + * + * Params: + * child = the widget to prepend + * + * Returns: the [class@LeafletPage] for @child + * + * Since: 1.0 + */ + public LeafletPage prepend(Widget child) + { + auto __p = adw_leaflet_prepend(adwLeaflet, (child is null) ? null : child.getWidgetStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(LeafletPage)(cast(AdwLeafletPage*) __p); + } + + /** + * Removes a child widget from @self. + * + * Params: + * child = the child to remove + * + * Since: 1.0 + */ + public void remove(Widget child) + { + adw_leaflet_remove(adwLeaflet, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Moves @child to the position after @sibling in the list of children. + * + * If @sibling is `NULL`, moves @child to the first position. + * + * Params: + * child = the widget to move, must be a child of @self + * sibling = the sibling to move @child after + * + * Since: 1.0 + */ + public void reorderChildAfter(Widget child, Widget sibling) + { + adw_leaflet_reorder_child_after(adwLeaflet, (child is null) ? null : child.getWidgetStruct(), (sibling is null) ? null : sibling.getWidgetStruct()); + } + + /** + * Sets whether gestures and shortcuts for navigating backward are enabled. + * + * Params: + * canNavigateBack = the new value + * + * Since: 1.0 + */ + public void setCanNavigateBack(bool canNavigateBack) + { + adw_leaflet_set_can_navigate_back(adwLeaflet, canNavigateBack); + } + + /** + * Sets whether gestures and shortcuts for navigating forward are enabled. + * + * Params: + * canNavigateForward = the new value + * + * Since: 1.0 + */ + public void setCanNavigateForward(bool canNavigateForward) + { + adw_leaflet_set_can_navigate_forward(adwLeaflet, canNavigateForward); + } + + /** + * Sets whether @self can unfold. + * + * Params: + * canUnfold = whether @self can unfold + * + * Since: 1.0 + */ + public void setCanUnfold(bool canUnfold) + { + adw_leaflet_set_can_unfold(adwLeaflet, canUnfold); + } + + /** + * Sets the child transition spring parameters for @self. + * + * Params: + * params = the new parameters + * + * Since: 1.0 + */ + public void setChildTransitionParams(SpringParams params) + { + adw_leaflet_set_child_transition_params(adwLeaflet, (params is null) ? null : params.getSpringParamsStruct()); + } + + /** + * Sets the fold threshold policy for @self. + * + * Params: + * policy = the policy to use + * + * Since: 1.0 + */ + public void setFoldThresholdPolicy(AdwFoldThresholdPolicy policy) + { + adw_leaflet_set_fold_threshold_policy(adwLeaflet, policy); + } + + /** + * Sets @self to be homogeneous or not. + * + * If set to `FALSE`, different children can have different size along the + * opposite orientation. + * + * Params: + * homogeneous = whether to make @self homogeneous + * + * Since: 1.0 + */ + public void setHomogeneous(bool homogeneous) + { + adw_leaflet_set_homogeneous(adwLeaflet, homogeneous); + } + + /** + * Sets the mode transition animation duration for @self. + * + * Params: + * duration = the new duration, in milliseconds + * + * Since: 1.0 + */ + public void setModeTransitionDuration(uint duration) + { + adw_leaflet_set_mode_transition_duration(adwLeaflet, duration); + } + + /** + * Sets the type of animation used for transitions between modes and children. + * + * Params: + * transition = the new transition type + * + * Since: 1.0 + */ + public void setTransitionType(AdwLeafletTransitionType transition) + { + adw_leaflet_set_transition_type(adwLeaflet, transition); + } + + /** + * Sets the widget currently visible when the leaflet is folded. + * + * Params: + * visibleChild = the new child + * + * Since: 1.0 + */ + public void setVisibleChild(Widget visibleChild) + { + adw_leaflet_set_visible_child(adwLeaflet, (visibleChild is null) ? null : visibleChild.getWidgetStruct()); + } + + /** + * Makes the child with the name @name visible. + * + * See adw_leaflet_set_visible_child() for more details. + * + * Params: + * name = the name of a child + * + * Since: 1.0 + */ + public void setVisibleChildName(string name) + { + adw_leaflet_set_visible_child_name(adwLeaflet, Str.toStringz(name)); + } +} diff --git a/source/generated/adw/adw/LeafletPage.d b/source/generated/adw/adw/LeafletPage.d new file mode 100644 index 000000000..209732dcd --- /dev/null +++ b/source/generated/adw/adw/LeafletPage.d @@ -0,0 +1,141 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.LeafletPage; + +private import adw.c.functions; +public import adw.c.types; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.Widget; + + +/** + * An auxiliary class used by [class@Leaflet]. + */ +public class LeafletPage : ObjectG +{ + /** the main Gtk struct */ + protected AdwLeafletPage* adwLeafletPage; + + /** Get the main Gtk struct */ + public AdwLeafletPage* getLeafletPageStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwLeafletPage; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwLeafletPage; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwLeafletPage* adwLeafletPage, bool ownedRef = false) + { + this.adwLeafletPage = adwLeafletPage; + super(cast(GObject*)adwLeafletPage, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_leaflet_page_get_type(); + } + + /** + * Gets the leaflet child th which @self belongs. + * + * Returns: the child to which @self belongs + * + * Since: 1.0 + */ + public Widget getChild() + { + auto __p = adw_leaflet_page_get_child(adwLeafletPage); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets the name of @self. + * + * Returns: the name of @self. + * + * Since: 1.0 + */ + public string getName() + { + return Str.toString(adw_leaflet_page_get_name(adwLeafletPage)); + } + + /** + * Gets whether the child can be navigated to when folded. + * + * Returns: whether @self can be navigated to when folded + * + * Since: 1.0 + */ + public bool getNavigatable() + { + return adw_leaflet_page_get_navigatable(adwLeafletPage) != 0; + } + + /** + * Sets the name of the @self. + * + * Params: + * name = the new value to set + * + * Since: 1.0 + */ + public void setName(string name) + { + adw_leaflet_page_set_name(adwLeafletPage, Str.toStringz(name)); + } + + /** + * Sets whether @self can be navigated to when folded. + * + * Params: + * navigatable = whether @self can be navigated to when folded + * + * Since: 1.0 + */ + public void setNavigatable(bool navigatable) + { + adw_leaflet_page_set_navigatable(adwLeafletPage, navigatable); + } +} diff --git a/source/generated/adw/adw/PreferencesGroup.d b/source/generated/adw/adw/PreferencesGroup.d new file mode 100644 index 000000000..028768f89 --- /dev/null +++ b/source/generated/adw/adw/PreferencesGroup.d @@ -0,0 +1,240 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.PreferencesGroup; + +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; + + +/** + * A group of preference rows. + * + * + * + * preferences-group + * + * + * An `AdwPreferencesGroup` represents a group or tightly related preferences, + * which in turn are represented by [class@PreferencesRow]. + * + * To summarize the role of the preferences it gathers, a group can have both a + * title and a description. The title will be used by [class@PreferencesWindow] + * to let the user look for a preference. + * + * ## AdwPreferencesGroup as GtkBuildable + * + * The `AdwPreferencesGroup` implementation of the [iface@Gtk.Buildable] interface + * supports adding [class@PreferencesRow]s to the list by omitting "type". If "type" + * is omitted and the widget isn't a [class@PreferencesRow] the child is added to + * a box below the list. + * + * When the "type" attribute of a child is `header-suffix`, the child + * is set as the suffix on the end of the title and description. + * + * ## CSS nodes + * + * `AdwPreferencesGroup` has a single CSS node with name `preferencesgroup`. + * + * ## Accessibility + * + * `AdwPreferencesGroup` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role. + * + * Since: 1.0 + */ +public class PreferencesGroup : Widget +{ + /** the main Gtk struct */ + protected AdwPreferencesGroup* adwPreferencesGroup; + + /** Get the main Gtk struct */ + public AdwPreferencesGroup* getPreferencesGroupStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwPreferencesGroup; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwPreferencesGroup; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwPreferencesGroup* adwPreferencesGroup, bool ownedRef = false) + { + this.adwPreferencesGroup = adwPreferencesGroup; + super(cast(GtkWidget*)adwPreferencesGroup, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_preferences_group_get_type(); + } + + /** + * Creates a new `AdwPreferencesGroup`. + * + * Returns: the newly created `AdwPreferencesGroup` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_preferences_group_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwPreferencesGroup*) __p); + } + + /** + * Adds a child to @self. + * + * Params: + * child = the widget to add + * + * Since: 1.0 + */ + public void add(Widget child) + { + adw_preferences_group_add(adwPreferencesGroup, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Gets the description of @self. + * + * Returns: the description of @self + * + * Since: 1.0 + */ + public string getDescription() + { + return Str.toString(adw_preferences_group_get_description(adwPreferencesGroup)); + } + + /** + * Gets the suffix for @self's header. + * + * Returns: the suffix for @self's header. + * + * Since: 1.1 + */ + public Widget getHeaderSuffix() + { + auto __p = adw_preferences_group_get_header_suffix(adwPreferencesGroup); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets the title of @self. + * + * Returns: the title of @self + * + * Since: 1.0 + */ + public string getTitle() + { + return Str.toString(adw_preferences_group_get_title(adwPreferencesGroup)); + } + + /** + * Removes a child from @self. + * + * Params: + * child = the child to remove + * + * Since: 1.0 + */ + public void remove(Widget child) + { + adw_preferences_group_remove(adwPreferencesGroup, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Sets the description for @self. + * + * Params: + * description = the description + * + * Since: 1.0 + */ + public void setDescription(string description) + { + adw_preferences_group_set_description(adwPreferencesGroup, Str.toStringz(description)); + } + + /** + * Sets the suffix for @self's header. + * + * Params: + * suffix = the suffix to set + * + * Since: 1.1 + */ + public void setHeaderSuffix(Widget suffix) + { + adw_preferences_group_set_header_suffix(adwPreferencesGroup, (suffix is null) ? null : suffix.getWidgetStruct()); + } + + /** + * Sets the title for @self. + * + * Params: + * title = the title + * + * Since: 1.0 + */ + public void setTitle(string title) + { + adw_preferences_group_set_title(adwPreferencesGroup, Str.toStringz(title)); + } +} diff --git a/source/generated/adw/adw/PreferencesPage.d b/source/generated/adw/adw/PreferencesPage.d new file mode 100644 index 000000000..19d31833a --- /dev/null +++ b/source/generated/adw/adw/PreferencesPage.d @@ -0,0 +1,245 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.PreferencesPage; + +private import adw.PreferencesGroup; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; + + +/** + * A page from [class@PreferencesWindow]. + * + * + * + * preferences-page + * + * + * The `AdwPreferencesPage` widget gathers preferences groups into a single page + * of a preferences window. + * + * ## CSS nodes + * + * `AdwPreferencesPage` has a single CSS node with name `preferencespage`. + * + * ## Accessibility + * + * `AdwPreferencesPage` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role. + * + * Since: 1.0 + */ +public class PreferencesPage : Widget +{ + /** the main Gtk struct */ + protected AdwPreferencesPage* adwPreferencesPage; + + /** Get the main Gtk struct */ + public AdwPreferencesPage* getPreferencesPageStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwPreferencesPage; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwPreferencesPage; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwPreferencesPage* adwPreferencesPage, bool ownedRef = false) + { + this.adwPreferencesPage = adwPreferencesPage; + super(cast(GtkWidget*)adwPreferencesPage, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_preferences_page_get_type(); + } + + /** + * Creates a new `AdwPreferencesPage`. + * + * Returns: the newly created `AdwPreferencesPage` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_preferences_page_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwPreferencesPage*) __p); + } + + /** + * Adds a preferences group to @self. + * + * Params: + * group = the group to add + * + * Since: 1.0 + */ + public void add(PreferencesGroup group) + { + adw_preferences_page_add(adwPreferencesPage, (group is null) ? null : group.getPreferencesGroupStruct()); + } + + /** + * Gets the icon name for @self. + * + * Returns: the icon name for @self + * + * Since: 1.0 + */ + public string getIconName() + { + return Str.toString(adw_preferences_page_get_icon_name(adwPreferencesPage)); + } + + /** + * Gets the name of @self. + * + * Returns: the name of @self + * + * Since: 1.0 + */ + public override string getName() + { + return Str.toString(adw_preferences_page_get_name(adwPreferencesPage)); + } + + /** + * Gets the title of @self. + * + * Returns: the title of @self. + * + * Since: 1.0 + */ + public string getTitle() + { + return Str.toString(adw_preferences_page_get_title(adwPreferencesPage)); + } + + /** + * Gets whether an embedded underline in the title indicates a mnemonic. + * + * Returns: whether an embedded underline in the title indicates a mnemonic + * + * Since: 1.0 + */ + public bool getUseUnderline() + { + return adw_preferences_page_get_use_underline(adwPreferencesPage) != 0; + } + + /** + * Removes a group from @self. + * + * Params: + * group = the group to remove + * + * Since: 1.0 + */ + public void remove(PreferencesGroup group) + { + adw_preferences_page_remove(adwPreferencesPage, (group is null) ? null : group.getPreferencesGroupStruct()); + } + + /** + * Sets the icon name for @self. + * + * Params: + * iconName = the icon name + * + * Since: 1.0 + */ + public void setIconName(string iconName) + { + adw_preferences_page_set_icon_name(adwPreferencesPage, Str.toStringz(iconName)); + } + + /** + * Sets the name of @self. + * + * Params: + * name = the name + * + * Since: 1.0 + */ + public override void setName(string name) + { + adw_preferences_page_set_name(adwPreferencesPage, Str.toStringz(name)); + } + + /** + * Sets the title of @self. + * + * Params: + * title = the title + * + * Since: 1.0 + */ + public void setTitle(string title) + { + adw_preferences_page_set_title(adwPreferencesPage, Str.toStringz(title)); + } + + /** + * Sets whether an embedded underline in the title indicates a mnemonic. + * + * Params: + * useUnderline = `TRUE` if underlines in the text indicate mnemonics + * + * Since: 1.0 + */ + public void setUseUnderline(bool useUnderline) + { + adw_preferences_page_set_use_underline(adwPreferencesPage, useUnderline); + } +} diff --git a/source/generated/adw/adw/PreferencesRow.d b/source/generated/adw/adw/PreferencesRow.d new file mode 100644 index 000000000..d05fb520b --- /dev/null +++ b/source/generated/adw/adw/PreferencesRow.d @@ -0,0 +1,188 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.PreferencesRow; + +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.ActionableIF; +private import gtk.ActionableT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.ListBoxRow; +private import gtk.Widget; + + +/** + * A [class@Gtk.ListBoxRow] used to present preferences. + * + * The `AdwPreferencesRow` widget has a title that [class@PreferencesWindow] + * will use to let the user look for a preference. It doesn't present the title + * in any way and lets you present the preference as you please. + * + * [class@ActionRow] and its derivatives are convenient to use as preference + * rows as they take care of presenting the preference's title while letting you + * compose the inputs of the preference around it. + * + * Since: 1.0 + */ +public class PreferencesRow : ListBoxRow +{ + /** the main Gtk struct */ + protected AdwPreferencesRow* adwPreferencesRow; + + /** Get the main Gtk struct */ + public AdwPreferencesRow* getPreferencesRowStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwPreferencesRow; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwPreferencesRow; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwPreferencesRow* adwPreferencesRow, bool ownedRef = false) + { + this.adwPreferencesRow = adwPreferencesRow; + super(cast(GtkListBoxRow*)adwPreferencesRow, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_preferences_row_get_type(); + } + + /** + * Creates a new `AdwPreferencesRow`. + * + * Returns: the newly created `AdwPreferencesRow` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_preferences_row_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwPreferencesRow*) __p); + } + + /** + * Gets the title of the preference represented by @self. + * + * Returns: the title + * + * Since: 1.0 + */ + public string getTitle() + { + return Str.toString(adw_preferences_row_get_title(adwPreferencesRow)); + } + + /** + * Gets whether the user can copy the title from the label + * + * Returns: whether the user can copy the title from the label + * + * Since: 1.1 + */ + public bool getTitleSelectable() + { + return adw_preferences_row_get_title_selectable(adwPreferencesRow) != 0; + } + + /** + * Gets whether an embedded underline in the title indicates a mnemonic. + * + * Returns: whether an embedded underline in the title indicates a mnemonic + * + * Since: 1.0 + */ + public bool getUseUnderline() + { + return adw_preferences_row_get_use_underline(adwPreferencesRow) != 0; + } + + /** + * Sets the title of the preference represented by @self. + * + * Params: + * title = the title + * + * Since: 1.0 + */ + public void setTitle(string title) + { + adw_preferences_row_set_title(adwPreferencesRow, Str.toStringz(title)); + } + + /** + * Sets whether the user can copy the title from the label + * + * Params: + * titleSelectable = `TRUE` if the user can copy the title from the label + * + * Since: 1.1 + */ + public void setTitleSelectable(bool titleSelectable) + { + adw_preferences_row_set_title_selectable(adwPreferencesRow, titleSelectable); + } + + /** + * Sets whether an embedded underline in the title indicates a mnemonic. + * + * Params: + * useUnderline = `TRUE` if underlines in the text indicate mnemonics + * + * Since: 1.0 + */ + public void setUseUnderline(bool useUnderline) + { + adw_preferences_row_set_use_underline(adwPreferencesRow, useUnderline); + } +} diff --git a/source/generated/adw/adw/PreferencesWindow.d b/source/generated/adw/adw/PreferencesWindow.d new file mode 100644 index 000000000..d780079ed --- /dev/null +++ b/source/generated/adw/adw/PreferencesWindow.d @@ -0,0 +1,288 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.PreferencesWindow; + +private import adw.PreferencesPage; +private import adw.Toast; +private import adw.Window; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.Widget; + + +/** + * A window to present an application's preferences. + * + * + * + * preferences-window + * + * + * The `AdwPreferencesWindow` widget presents an application's preferences + * gathered into pages and groups. The preferences are searchable by the user. + * + * ## CSS nodes + * + * `AdwPreferencesWindow` has a main CSS node with the name `window` and the + * style class `.preferences`. + * + * Since: 1.0 + */ +public class PreferencesWindow : Window +{ + /** the main Gtk struct */ + protected AdwPreferencesWindow* adwPreferencesWindow; + + /** Get the main Gtk struct */ + public AdwPreferencesWindow* getPreferencesWindowStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwPreferencesWindow; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwPreferencesWindow; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwPreferencesWindow* adwPreferencesWindow, bool ownedRef = false) + { + this.adwPreferencesWindow = adwPreferencesWindow; + super(cast(AdwWindow*)adwPreferencesWindow, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_preferences_window_get_type(); + } + + /** + * Creates a new `AdwPreferencesWindow`. + * + * Returns: the newly created `AdwPreferencesWindow` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_preferences_window_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwPreferencesWindow*) __p); + } + + /** + * Adds a preferences page to @self. + * + * Params: + * page = the page to add + * + * Since: 1.0 + */ + public void add(PreferencesPage page) + { + adw_preferences_window_add(adwPreferencesWindow, (page is null) ? null : page.getPreferencesPageStruct()); + } + + /** + * Displays @toast. + * + * See [method@ToastOverlay.add_toast]. + * + * Params: + * toast = a toast + * + * Since: 1.0 + */ + public void addToast(Toast toast) + { + adw_preferences_window_add_toast(adwPreferencesWindow, (toast is null) ? null : toast.getToastStruct()); + } + + /** + * Closes the current subpage. + * + * If there is no presented subpage, this does nothing. + * + * Since: 1.0 + */ + public void closeSubpage() + { + adw_preferences_window_close_subpage(adwPreferencesWindow); + } + + /** + * Gets whether gestures and shortcuts for closing subpages are enabled. + * + * Returns: whether gestures and shortcuts are enabled. + * + * Since: 1.0 + */ + public bool getCanNavigateBack() + { + return adw_preferences_window_get_can_navigate_back(adwPreferencesWindow) != 0; + } + + /** + * Gets whether search is enabled for @self. + * + * Returns: whether search is enabled for @self. + * + * Since: 1.0 + */ + public bool getSearchEnabled() + { + return adw_preferences_window_get_search_enabled(adwPreferencesWindow) != 0; + } + + /** + * Gets the currently visible page of @self. + * + * Returns: the visible page + * + * Since: 1.0 + */ + public PreferencesPage getVisiblePage() + { + auto __p = adw_preferences_window_get_visible_page(adwPreferencesWindow); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PreferencesPage)(cast(AdwPreferencesPage*) __p); + } + + /** + * Gets the name of currently visible page of @self. + * + * Returns: the name of the visible page + * + * Since: 1.0 + */ + public string getVisiblePageName() + { + return Str.toString(adw_preferences_window_get_visible_page_name(adwPreferencesWindow)); + } + + /** + * Sets @subpage as the window's subpage and opens it. + * + * The transition can be cancelled by the user, in which case visible child will + * change back to the previously visible child. + * + * Params: + * subpage = the subpage + * + * Since: 1.0 + */ + public void presentSubpage(Widget subpage) + { + adw_preferences_window_present_subpage(adwPreferencesWindow, (subpage is null) ? null : subpage.getWidgetStruct()); + } + + /** + * Removes a page from @self. + * + * Params: + * page = the page to remove + * + * Since: 1.0 + */ + public void remove(PreferencesPage page) + { + adw_preferences_window_remove(adwPreferencesWindow, (page is null) ? null : page.getPreferencesPageStruct()); + } + + /** + * Sets whether gestures and shortcuts for closing subpages are enabled. + * + * Params: + * canNavigateBack = the new value + * + * Since: 1.0 + */ + public void setCanNavigateBack(bool canNavigateBack) + { + adw_preferences_window_set_can_navigate_back(adwPreferencesWindow, canNavigateBack); + } + + /** + * Sets whether search is enabled for @self. + * + * Params: + * searchEnabled = whether search is enabled + * + * Since: 1.0 + */ + public void setSearchEnabled(bool searchEnabled) + { + adw_preferences_window_set_search_enabled(adwPreferencesWindow, searchEnabled); + } + + /** + * Makes @page the visible page of @self. + * + * Params: + * page = a page of @self + * + * Since: 1.0 + */ + public void setVisiblePage(PreferencesPage page) + { + adw_preferences_window_set_visible_page(adwPreferencesWindow, (page is null) ? null : page.getPreferencesPageStruct()); + } + + /** + * Makes the page with the given name visible. + * + * Params: + * name = the name of the page to make visible + * + * Since: 1.0 + */ + public void setVisiblePageName(string name) + { + adw_preferences_window_set_visible_page_name(adwPreferencesWindow, Str.toStringz(name)); + } +} diff --git a/source/generated/adw/adw/SplitButton.d b/source/generated/adw/adw/SplitButton.d new file mode 100644 index 000000000..c2da3c6a2 --- /dev/null +++ b/source/generated/adw/adw/SplitButton.d @@ -0,0 +1,390 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.SplitButton; + +private import adw.c.functions; +public import adw.c.types; +private import gio.MenuModel; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gobject.Signals; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.ActionableIF; +private import gtk.ActionableT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Popover; +private import gtk.Widget; +private import std.algorithm; + + +/** + * A combined button and dropdown widget. + * + * + * + * split-button + * + * + * `AdwSplitButton` is typically used to present a set of actions in a menu, + * but allow access to one of them with a single click. + * + * The API is very similar to [class@Gtk.Button] and [class@Gtk.MenuButton], see + * their documentation for details. + * + * ## CSS nodes + * + * ``` + * splitbutton[.image-button][.text-button] + * ├── button + * │ ╰── + * ├── separator + * ╰── menubutton + * ╰── button.toggle + * ╰── arrow + * ``` + * + * `AdwSplitButton`'s CSS node is called `splitbutton`. It contains the css + * nodes: `button`, `separator`, `menubutton`. See [class@Gtk.MenuButton] + * documentation for the `menubutton` contents. + * + * The main CSS node will contain the `.image-button` or `.text-button` style + * classes matching the button contents. The nested button nodes will never + * contain them. + * + * ## Accessibility + * + * `AdwSplitButton` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role. + * + * Since: 1.0 + */ +public class SplitButton : Widget, ActionableIF +{ + /** the main Gtk struct */ + protected AdwSplitButton* adwSplitButton; + + /** Get the main Gtk struct */ + public AdwSplitButton* getSplitButtonStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwSplitButton; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwSplitButton; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwSplitButton* adwSplitButton, bool ownedRef = false) + { + this.adwSplitButton = adwSplitButton; + super(cast(GtkWidget*)adwSplitButton, ownedRef); + } + + // add the Actionable capabilities + mixin ActionableT!(AdwSplitButton); + + /** + * Gets the direction in which the popup will be popped up. + * + * Returns: the direction + * + * Since: 1.0 + */ + public GtkArrowType getButtonDirection() + { + return adw_split_button_get_direction(adwSplitButton); + } + + /** + */ + + /** */ + public static GType getType() + { + return adw_split_button_get_type(); + } + + /** + * Creates a new `AdwSplitButton`. + * + * Returns: the newly created `AdwSplitButton` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_split_button_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwSplitButton*) __p); + } + + /** + * Gets the child widget. + * + * Returns: the child widget + * + * Since: 1.0 + */ + public Widget getChild() + { + auto __p = adw_split_button_get_child(adwSplitButton); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets the name of the icon used to automatically populate the button. + * + * If the icon name has not been set with [method@SplitButton.set_icon_name] + * the return value will be `NULL`. + * + * Returns: the icon name + * + * Since: 1.0 + */ + public string getIconName() + { + return Str.toString(adw_split_button_get_icon_name(adwSplitButton)); + } + + /** + * Gets the label for @self. + * + * Returns: the label for @self + * + * Since: 1.0 + */ + public string getLabel() + { + return Str.toString(adw_split_button_get_label(adwSplitButton)); + } + + /** + * Gets the menu model from which the popup will be created. + * + * Returns: the menu model + * + * Since: 1.0 + */ + public MenuModel getMenuModel() + { + auto __p = adw_split_button_get_menu_model(adwSplitButton); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(MenuModel)(cast(GMenuModel*) __p); + } + + /** + * Gets the popover that will be popped up when the dropdown is clicked. + * + * Returns: the popover + * + * Since: 1.0 + */ + public Popover getPopover() + { + auto __p = adw_split_button_get_popover(adwSplitButton); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Popover)(cast(GtkPopover*) __p); + } + + /** + * Gets whether an underline in the text indicates a mnemonic. + * + * Returns: whether an underline in the text indicates a mnemonic + * + * Since: 1.0 + */ + public bool getUseUnderline() + { + return adw_split_button_get_use_underline(adwSplitButton) != 0; + } + + /** + * Dismisses the menu. + * + * Since: 1.0 + */ + public void popdown() + { + adw_split_button_popdown(adwSplitButton); + } + + /** + * Pops up the menu. + * + * Since: 1.0 + */ + public void popup() + { + adw_split_button_popup(adwSplitButton); + } + + /** + * Sets the child widget. + * + * Params: + * child = the new child widget + * + * Since: 1.0 + */ + public void setChild(Widget child) + { + adw_split_button_set_child(adwSplitButton, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Sets the direction in which the popup will be popped up. + * + * Params: + * direction = the direction + * + * Since: 1.0 + */ + public void setDirection(GtkArrowType direction) + { + adw_split_button_set_direction(adwSplitButton, direction); + } + + /** + * Sets the name of the icon used to automatically populate the button. + * + * Params: + * iconName = the icon name to set + * + * Since: 1.0 + */ + public void setIconName(string iconName) + { + adw_split_button_set_icon_name(adwSplitButton, Str.toStringz(iconName)); + } + + /** + * Sets the label for @self. + * + * Params: + * label = the label to set + * + * Since: 1.0 + */ + public void setLabel(string label) + { + adw_split_button_set_label(adwSplitButton, Str.toStringz(label)); + } + + /** + * Sets the menu model from which the popup will be created. + * + * Params: + * menuModel = the menu model + * + * Since: 1.0 + */ + public void setMenuModel(MenuModel menuModel) + { + adw_split_button_set_menu_model(adwSplitButton, (menuModel is null) ? null : menuModel.getMenuModelStruct()); + } + + /** + * Sets the popover that will be popped up when the dropdown is clicked. + * + * Params: + * popover = the popover + * + * Since: 1.0 + */ + public void setPopover(Popover popover) + { + adw_split_button_set_popover(adwSplitButton, (popover is null) ? null : popover.getPopoverStruct()); + } + + /** + * Sets whether an underline in the text indicates a mnemonic. + * + * Params: + * useUnderline = whether an underline in the text indicates a mnemonic + * + * Since: 1.0 + */ + public void setUseUnderline(bool useUnderline) + { + adw_split_button_set_use_underline(adwSplitButton, useUnderline); + } + + /** + * Emitted to animate press then release. + * + * This is an action signal. Applications should never connect to this signal, + * but use the [signal@SplitButton::clicked] signal. + * + * Since: 1.0 + */ + gulong addOnActivate(void delegate(SplitButton) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "activate", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when the button has been activated (pressed and released). + * + * Since: 1.0 + */ + gulong addOnClicked(void delegate(SplitButton) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "clicked", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/adw/adw/SpringAnimation.d b/source/generated/adw/adw/SpringAnimation.d new file mode 100644 index 000000000..f215149c8 --- /dev/null +++ b/source/generated/adw/adw/SpringAnimation.d @@ -0,0 +1,318 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.SpringAnimation; + +private import adw.Animation; +private import adw.AnimationTarget; +private import adw.SpringParams; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.Widget; + + +/** + * A spring-based [class@Animation]. + * + * `AdwSpringAnimation` implements an animation driven by a physical model of a + * spring described by [struct@SpringParams], with a resting position in + * [property@SpringAnimation:value-to], stretched to + * [property@SpringAnimation:value-from]. + * + * Since the animation is physically simulated, spring animations don't have a + * fixed duration. The animation will stop when the simulated spring comes to a + * rest - when the amplitude of the oscillations becomes smaller than + * [property@SpringAnimation:epsilon], or immediately when it reaches + * [property@SpringAnimation:value-to] if + * [property@SpringAnimation:clamp] is set to `TRUE`. The estimated duration can + * be obtained with [property@SpringAnimation:estimated-duration]. + * + * Due to the nature of spring-driven motion the animation can overshoot + * [property@SpringAnimation:value-to] before coming to a rest. Whether the + * animation will overshoot or not depends on the damping ratio of the spring. + * See [struct@SpringParams] for more information about specific damping ratio + * values. + * + * If [property@SpringAnimation:clamp] is `TRUE`, the animation will abruptly + * end as soon as it reaches the final value, preventing overshooting. + * + * Animations can have an initial velocity value, set via + * [property@SpringAnimation:initial-velocity], which adjusts the curve without + * changing the duration. This makes spring animations useful for deceleration + * at the end of gestures. + * + * If the initial and final values are equal, and the initial velocity is not 0, + * the animation value will bounce and return to its resting position. + * + * Since: 1.0 + */ +public class SpringAnimation : Animation +{ + /** the main Gtk struct */ + protected AdwSpringAnimation* adwSpringAnimation; + + /** Get the main Gtk struct */ + public AdwSpringAnimation* getSpringAnimationStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwSpringAnimation; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwSpringAnimation; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwSpringAnimation* adwSpringAnimation, bool ownedRef = false) + { + this.adwSpringAnimation = adwSpringAnimation; + super(cast(AdwAnimation*)adwSpringAnimation, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_spring_animation_get_type(); + } + + /** + * Creates a new `AdwSpringAnimation` on @widget. + * + * The animation will animate @target from @from to @to with the dynamics of a + * spring described by @spring_params. + * + * Params: + * widget = a widget to create animation on + * from = a value to animate from + * to = a value to animate to + * springParams = physical parameters of the spring + * target = a target value to animate + * + * Returns: the newly created animation + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Widget widget, double from, double to, SpringParams springParams, AnimationTarget target) + { + auto __p = adw_spring_animation_new((widget is null) ? null : widget.getWidgetStruct(), from, to, (springParams is null) ? null : springParams.getSpringParamsStruct(true), (target is null) ? null : target.getAnimationTargetStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwSpringAnimation*) __p); + } + + /** + * Gets whether @self should be clamped. + * + * Returns: whether @self is clamped + * + * Since: 1.0 + */ + public bool getClamp() + { + return adw_spring_animation_get_clamp(adwSpringAnimation) != 0; + } + + /** + * Gets the precision used to determine the duration of @self. + * + * Returns: the epsilon value + * + * Since: 1.0 + */ + public double getEpsilon() + { + return adw_spring_animation_get_epsilon(adwSpringAnimation); + } + + /** + * Gets the estimated duration of @self. + * + * Returns: the estimated duration + * + * Since: 1.0 + */ + public uint getEstimatedDuration() + { + return adw_spring_animation_get_estimated_duration(adwSpringAnimation); + } + + /** + * Gets the initial velocity of @self. + * + * Returns: the initial velocity + * + * Since: 1.0 + */ + public double getInitialVelocity() + { + return adw_spring_animation_get_initial_velocity(adwSpringAnimation); + } + + /** + * Gets the physical parameters of the spring of @self. + * + * Returns: the spring parameters + * + * Since: 1.0 + */ + public SpringParams getSpringParams() + { + auto __p = adw_spring_animation_get_spring_params(adwSpringAnimation); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SpringParams)(cast(AdwSpringParams*) __p); + } + + /** + * Gets the value @self will animate from. + * + * Returns: the value to animate from + * + * Since: 1.0 + */ + public double getValueFrom() + { + return adw_spring_animation_get_value_from(adwSpringAnimation); + } + + /** + * Gets the value @self will animate to. + * + * Returns: the value to animate to + * + * Since: 1.0 + */ + public double getValueTo() + { + return adw_spring_animation_get_value_to(adwSpringAnimation); + } + + /** + * Gets the current velocity of @self. + * + * Returns: the current velocity + * + * Since: 1.0 + */ + public double getVelocity() + { + return adw_spring_animation_get_velocity(adwSpringAnimation); + } + + /** + * Sets whether @self should be clamped. + * + * Params: + * clamp = the new value + * + * Since: 1.0 + */ + public void setClamp(bool clamp) + { + adw_spring_animation_set_clamp(adwSpringAnimation, clamp); + } + + /** + * Sets the precision used to determine the duration of @self. + * + * Params: + * epsilon = the new value + * + * Since: 1.0 + */ + public void setEpsilon(double epsilon) + { + adw_spring_animation_set_epsilon(adwSpringAnimation, epsilon); + } + + /** + * Sets the initial velocity of @self. + * + * Params: + * velocity = the initial velocity + * + * Since: 1.0 + */ + public void setInitialVelocity(double velocity) + { + adw_spring_animation_set_initial_velocity(adwSpringAnimation, velocity); + } + + /** + * Sets the physical parameters of the spring of @self. + * + * Params: + * springParams = the new spring parameters + * + * Since: 1.0 + */ + public void setSpringParams(SpringParams springParams) + { + adw_spring_animation_set_spring_params(adwSpringAnimation, (springParams is null) ? null : springParams.getSpringParamsStruct()); + } + + /** + * Sets the value @self will animate from. + * + * Params: + * value = the value to animate from + * + * Since: 1.0 + */ + public void setValueFrom(double value) + { + adw_spring_animation_set_value_from(adwSpringAnimation, value); + } + + /** + * Sets the value @self will animate to. + * + * Params: + * value = the value to animate to + * + * Since: 1.0 + */ + public void setValueTo(double value) + { + adw_spring_animation_set_value_to(adwSpringAnimation, value); + } +} diff --git a/source/generated/adw/adw/SpringParams.d b/source/generated/adw/adw/SpringParams.d new file mode 100644 index 000000000..702399b63 --- /dev/null +++ b/source/generated/adw/adw/SpringParams.d @@ -0,0 +1,229 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.SpringParams; + +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import linker.Loader; + + +/** + * Physical parameters of a spring for [class@SpringAnimation]. + * + * Any spring can be described by three parameters: mass, stiffness and damping. + * + * An undamped spring will produce an oscillatory motion which will go on + * forever. + * + * The frequency and amplitude of the oscillations will be determined by the + * stiffness (how "strong" the spring is) and its mass (how much "inertia" it + * has). + * + * If damping is larger than 0, the amplitude of that oscillating motion will + * exponientally decrease over time. If that damping is strong enough that the + * spring can't complete a full oscillation, it's called an overdamped spring. + * + * If we the spring can oscillate, it's called an underdamped spring. + * + * The value between these two behaviors is called critical damping; a + * critically damped spring will comes to rest in the minimum possible time + * without producing oscillations. + * + * The damping can be replaced by damping ratio, which produces the following + * springs: + * + * * 0: an undamped spring. + * * Between 0 and 1: an underdamped spring. + * * 1: a critically damped spring. + * * Larger than 1: an overdamped spring. + * + * As such + * + * Since: 1.0 + */ +public class SpringParams +{ + /** the main Gtk struct */ + protected AdwSpringParams* adwSpringParams; + protected bool ownedRef; + + /** Get the main Gtk struct */ + public AdwSpringParams* getSpringParamsStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwSpringParams; + } + + /** the main Gtk struct as a void* */ + protected void* getStruct() + { + return cast(void*)adwSpringParams; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwSpringParams* adwSpringParams, bool ownedRef = false) + { + this.adwSpringParams = adwSpringParams; + this.ownedRef = ownedRef; + } + + ~this () + { + if ( Linker.isLoaded(LIBRARY_ADW[0]) && ownedRef ) + adw_spring_params_unref(adwSpringParams); + } + + + /** */ + public static GType getType() + { + return adw_spring_params_get_type(); + } + + /** + * Creates a new `AdwSpringParams` from @mass, @stiffness and @damping_ratio. + * + * The damping value is calculated from @damping_ratio and the other two + * parameters. + * + * * If @damping_ratio is 0, the spring will not be damped and will oscillate + * endlessly. + * * If @damping_ratio is between 0 and 1, the spring is underdamped and will + * always overshoot. + * * If @damping_ratio is 1, the spring is critically damped and will reach its + * resting position the quickest way possible. + * * If @damping_ratio is larger than 1, the spring is overdamped and will reach + * its resting position faster than it can complete an oscillation. + * + * [ctor@SpringParams.new_full] allows to pass a raw damping value instead. + * + * Params: + * dampingRatio = the damping ratio of the spring + * mass = the mass of the spring + * stiffness = the stiffness of the spring + * + * Returns: the newly created spring parameters + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(double dampingRatio, double mass, double stiffness) + { + auto __p = adw_spring_params_new(dampingRatio, mass, stiffness); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwSpringParams*) __p); + } + + /** + * Gets the damping of @self. + * + * Returns: the damping + * + * Since: 1.0 + */ + public double getDamping() + { + return adw_spring_params_get_damping(adwSpringParams); + } + + /** + * Gets the damping ratio of @self. + * + * Returns: the damping ratio + * + * Since: 1.0 + */ + public double getDampingRatio() + { + return adw_spring_params_get_damping_ratio(adwSpringParams); + } + + /** + * Gets the mass of @self. + * + * Returns: the mass + * + * Since: 1.0 + */ + public double getMass() + { + return adw_spring_params_get_mass(adwSpringParams); + } + + /** + * Gets the stiffness of @self. + * + * Returns: the stiffness + * + * Since: 1.0 + */ + public double getStiffness() + { + return adw_spring_params_get_stiffness(adwSpringParams); + } + + alias doref = ref_; + /** + * Increases the reference count of @self. + * + * Returns: @self + * + * Since: 1.0 + */ + public SpringParams ref_() + { + auto __p = adw_spring_params_ref(adwSpringParams); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SpringParams)(cast(AdwSpringParams*) __p, true); + } + + /** + * Decreases the reference count of @self. + * + * If the last reference is dropped, the structure is freed. + * + * Since: 1.0 + */ + public void unref() + { + adw_spring_params_unref(adwSpringParams); + } +} diff --git a/source/generated/adw/adw/Squeezer.d b/source/generated/adw/adw/Squeezer.d new file mode 100644 index 000000000..a965fcfce --- /dev/null +++ b/source/generated/adw/adw/Squeezer.d @@ -0,0 +1,436 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.Squeezer; + +private import adw.SqueezerPage; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.OrientableIF; +private import gtk.OrientableT; +private import gtk.SelectionModelIF; +private import gtk.Widget; + + +/** + * A best fit container. + * + * + * + * squeezer-wide + * + * + * + * squeezer-narrow + * + * + * The `AdwSqueezer` widget is a container which only shows the first of its + * children that fits in the available size. It is convenient to offer different + * widgets to represent the same data with different levels of detail, making + * the widget seem to squeeze itself to fit in the available space. + * + * Transitions between children can be animated as fades. This can be controlled + * with [property@Squeezer:transition-type]. + * + * ## CSS nodes + * + * `AdwSqueezer` has a single CSS node with name `squeezer`. + * + * Since: 1.0 + */ +public class Squeezer : Widget, OrientableIF +{ + /** the main Gtk struct */ + protected AdwSqueezer* adwSqueezer; + + /** Get the main Gtk struct */ + public AdwSqueezer* getSqueezerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwSqueezer; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwSqueezer; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwSqueezer* adwSqueezer, bool ownedRef = false) + { + this.adwSqueezer = adwSqueezer; + super(cast(GtkWidget*)adwSqueezer, ownedRef); + } + + // add the Orientable capabilities + mixin OrientableT!(AdwSqueezer); + + + /** */ + public static GType getType() + { + return adw_squeezer_get_type(); + } + + /** + * Creates a new `AdwSqueezer`. + * + * Returns: the newly created `AdwSqueezer` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_squeezer_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwSqueezer*) __p); + } + + /** + * Adds a child to @self. + * + * Params: + * child = the widget to add + * + * Returns: the [class@SqueezerPage] for @child + * + * Since: 1.0 + */ + public SqueezerPage add(Widget child) + { + auto __p = adw_squeezer_add(adwSqueezer, (child is null) ? null : child.getWidgetStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SqueezerPage)(cast(AdwSqueezerPage*) __p); + } + + /** + * Gets whether to allow squeezing beyond the last child's minimum size. + * + * Returns: whether @self allows squeezing beyond the last child + * + * Since: 1.0 + */ + public bool getAllowNone() + { + return adw_squeezer_get_allow_none(adwSqueezer) != 0; + } + + /** + * Gets whether all children have the same size for the opposite orientation. + * + * Returns: whether @self is homogeneous + * + * Since: 1.0 + */ + public bool getHomogeneous() + { + return adw_squeezer_get_homogeneous(adwSqueezer) != 0; + } + + /** + * Gets whether @self interpolates its size when changing the visible child. + * + * Returns: whether the size is interpolated + * + * Since: 1.0 + */ + public bool getInterpolateSize() + { + return adw_squeezer_get_interpolate_size(adwSqueezer) != 0; + } + + /** + * Returns the [class@SqueezerPage] object for @child. + * + * Params: + * child = a child of @self + * + * Returns: the page object for @child + * + * Since: 1.0 + */ + public SqueezerPage getPage(Widget child) + { + auto __p = adw_squeezer_get_page(adwSqueezer, (child is null) ? null : child.getWidgetStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SqueezerPage)(cast(AdwSqueezerPage*) __p); + } + + /** + * Returns a [iface@Gio.ListModel] that contains the pages of @self. + * + * This can be used to keep an up-to-date view. The model also implements + * [iface@Gtk.SelectionModel] and can be used to track the visible page. + * + * Returns: a `GtkSelectionModel` for the squeezer's children + * + * Since: 1.0 + */ + public SelectionModelIF getPages() + { + auto __p = adw_squeezer_get_pages(adwSqueezer); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SelectionModelIF)(cast(GtkSelectionModel*) __p, true); + } + + /** + * Gets the fold threshold policy for @self. + * + * Since: 1.0 + */ + public AdwFoldThresholdPolicy getSwitchThresholdPolicy() + { + return adw_squeezer_get_switch_threshold_policy(adwSqueezer); + } + + /** + * Gets the transition animation duration for @self. + * + * Returns: the transition duration, in milliseconds + * + * Since: 1.0 + */ + public uint getTransitionDuration() + { + return adw_squeezer_get_transition_duration(adwSqueezer); + } + + /** + * Gets whether a transition is currently running for @self. + * + * Returns: whether a transition is currently running + * + * Since: 1.0 + */ + public bool getTransitionRunning() + { + return adw_squeezer_get_transition_running(adwSqueezer) != 0; + } + + /** + * Gets the type of animation used for transitions between children in @self. + * + * Returns: the current transition type of @self + * + * Since: 1.0 + */ + public AdwSqueezerTransitionType getTransitionType() + { + return adw_squeezer_get_transition_type(adwSqueezer); + } + + /** + * Gets the currently visible child of @self. + * + * Returns: the visible child + * + * Since: 1.0 + */ + public Widget getVisibleChild() + { + auto __p = adw_squeezer_get_visible_child(adwSqueezer); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets the horizontal alignment, from 0 (start) to 1 (end). + * + * Returns: the alignment value + * + * Since: 1.0 + */ + public float getXalign() + { + return adw_squeezer_get_xalign(adwSqueezer); + } + + /** + * Gets the vertical alignment, from 0 (top) to 1 (bottom). + * + * Returns: the alignment value + * + * Since: 1.0 + */ + public float getYalign() + { + return adw_squeezer_get_yalign(adwSqueezer); + } + + /** + * Removes a child widget from @self. + * + * Params: + * child = the child to remove + * + * Since: 1.0 + */ + public void remove(Widget child) + { + adw_squeezer_remove(adwSqueezer, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Sets whether to allow squeezing beyond the last child's minimum size. + * + * Params: + * allowNone = whether @self allows squeezing beyond the last child + * + * Since: 1.0 + */ + public void setAllowNone(bool allowNone) + { + adw_squeezer_set_allow_none(adwSqueezer, allowNone); + } + + /** + * Sets whether all children have the same size for the opposite orientation. + * + * Params: + * homogeneous = whether @self is homogeneous + * + * Since: 1.0 + */ + public void setHomogeneous(bool homogeneous) + { + adw_squeezer_set_homogeneous(adwSqueezer, homogeneous); + } + + /** + * Sets whether @self interpolates its size when changing the visible child. + * + * Params: + * interpolateSize = whether to interpolate the size + * + * Since: 1.0 + */ + public void setInterpolateSize(bool interpolateSize) + { + adw_squeezer_set_interpolate_size(adwSqueezer, interpolateSize); + } + + /** + * Sets the fold threshold policy for @self. + * + * Params: + * policy = the policy to use + * + * Since: 1.0 + */ + public void setSwitchThresholdPolicy(AdwFoldThresholdPolicy policy) + { + adw_squeezer_set_switch_threshold_policy(adwSqueezer, policy); + } + + /** + * Sets the transition animation duration for @self. + * + * Params: + * duration = the new duration, in milliseconds + * + * Since: 1.0 + */ + public void setTransitionDuration(uint duration) + { + adw_squeezer_set_transition_duration(adwSqueezer, duration); + } + + /** + * Sets the type of animation used for transitions between children in @self. + * + * Params: + * transition = the new transition type + * + * Since: 1.0 + */ + public void setTransitionType(AdwSqueezerTransitionType transition) + { + adw_squeezer_set_transition_type(adwSqueezer, transition); + } + + /** + * Sets the horizontal alignment, from 0 (start) to 1 (end). + * + * Params: + * xalign = the new alignment value + * + * Since: 1.0 + */ + public void setXalign(float xalign) + { + adw_squeezer_set_xalign(adwSqueezer, xalign); + } + + /** + * Sets the vertical alignment, from 0 (top) to 1 (bottom). + * + * Params: + * yalign = the new alignment value + * + * Since: 1.0 + */ + public void setYalign(float yalign) + { + adw_squeezer_set_yalign(adwSqueezer, yalign); + } +} diff --git a/generated/gstreamer/gstreamer/AllocationParams.d b/source/generated/adw/adw/SqueezerPage.d similarity index 50% rename from generated/gstreamer/gstreamer/AllocationParams.d rename to source/generated/adw/adw/SqueezerPage.d index d63f06f2d..83e4e1cb6 100644 --- a/generated/gstreamer/gstreamer/AllocationParams.d +++ b/source/generated/adw/adw/SqueezerPage.d @@ -22,93 +22,93 @@ // implement new conversion functionalities on the wrap.utils pakage -module gstreamer.AllocationParams; +module adw.SqueezerPage; +private import adw.c.functions; +public import adw.c.types; private import gobject.ObjectG; -private import gstreamer.c.functions; -public import gstreamer.c.types; -private import gtkd.Loader; +private import gtk.Widget; /** - * Parameters to control the allocation of memory + * An auxiliary class used by [class@Squeezer]. */ -public class AllocationParams +public class SqueezerPage : ObjectG { /** the main Gtk struct */ - protected GstAllocationParams* gstAllocationParams; - protected bool ownedRef; + protected AdwSqueezerPage* adwSqueezerPage; /** Get the main Gtk struct */ - public GstAllocationParams* getAllocationParamsStruct(bool transferOwnership = false) + public AdwSqueezerPage* getSqueezerPageStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gstAllocationParams; + return adwSqueezerPage; } /** the main Gtk struct as a void* */ - protected void* getStruct() + protected override void* getStruct() { - return cast(void*)gstAllocationParams; + return cast(void*)adwSqueezerPage; } /** * Sets our main struct and passes it to the parent class. */ - public this (GstAllocationParams* gstAllocationParams, bool ownedRef = false) + public this (AdwSqueezerPage* adwSqueezerPage, bool ownedRef = false) { - this.gstAllocationParams = gstAllocationParams; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTREAMER) && ownedRef ) - gst_allocation_params_free(gstAllocationParams); + this.adwSqueezerPage = adwSqueezerPage; + super(cast(GObject*)adwSqueezerPage, ownedRef); } /** */ public static GType getType() { - return gst_allocation_params_get_type(); + return adw_squeezer_page_get_type(); } /** - * Create a copy of @params. + * Returns the squeezer child to which @self belongs. * - * Free-function: gst_allocation_params_free + * Returns: the child to which @self belongs * - * Returns: a new ##GstAllocationParams, free with - * gst_allocation_params_free(). + * Since: 1.0 */ - public AllocationParams copy() + public Widget getChild() { - auto __p = gst_allocation_params_copy(gstAllocationParams); + auto __p = adw_squeezer_page_get_child(adwSqueezerPage); if(__p is null) { return null; } - return ObjectG.getDObject!(AllocationParams)(cast(GstAllocationParams*) __p, true); + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); } /** - * Free @params + * Gets whether @self is enabled. + * + * Returns: whether @self is enabled + * + * Since: 1.0 */ - public void free() + public bool getEnabled() { - gst_allocation_params_free(gstAllocationParams); - ownedRef = false; + return adw_squeezer_page_get_enabled(adwSqueezerPage) != 0; } /** - * Initialize @params to its default values + * Sets whether @self is enabled. + * + * Params: + * enabled = whether @self is enabled + * + * Since: 1.0 */ - public void init() + public void setEnabled(bool enabled) { - gst_allocation_params_init(gstAllocationParams); + adw_squeezer_page_set_enabled(adwSqueezerPage, enabled); } } diff --git a/source/generated/adw/adw/StatusPage.d b/source/generated/adw/adw/StatusPage.d new file mode 100644 index 000000000..35a13b1d1 --- /dev/null +++ b/source/generated/adw/adw/StatusPage.d @@ -0,0 +1,258 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.StatusPage; + +private import adw.c.functions; +public import adw.c.types; +private import gdk.PaintableIF; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; + + +/** + * A page used for empty/error states and similar use-cases. + * + * + * + * status-page + * + * + * The `AdwStatusPage` widget can have an icon, a title, a description and a + * custom widget which is displayed below them. + * + * ## CSS nodes + * + * `AdwStatusPage` has a main CSS node with name `statuspage`. + * + * `AdwStatusPage` can use the + * [`.compact`](style-classes.html#compact-status-page) style class for when it + * needs to fit into a small space such a sidebar or a popover. + * + * Since: 1.0 + */ +public class StatusPage : Widget +{ + /** the main Gtk struct */ + protected AdwStatusPage* adwStatusPage; + + /** Get the main Gtk struct */ + public AdwStatusPage* getStatusPageStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwStatusPage; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwStatusPage; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwStatusPage* adwStatusPage, bool ownedRef = false) + { + this.adwStatusPage = adwStatusPage; + super(cast(GtkWidget*)adwStatusPage, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_status_page_get_type(); + } + + /** + * Creates a new `AdwStatusPage`. + * + * Returns: the newly created `AdwStatusPage` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_status_page_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwStatusPage*) __p); + } + + /** + * Gets the child widget of @self. + * + * Returns: the child widget of @self + * + * Since: 1.0 + */ + public Widget getChild() + { + auto __p = adw_status_page_get_child(adwStatusPage); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets the description for @self. + * + * Returns: the description + * + * Since: 1.0 + */ + public string getDescription() + { + return Str.toString(adw_status_page_get_description(adwStatusPage)); + } + + /** + * Gets the icon name for @self. + * + * Returns: the icon name + * + * Since: 1.0 + */ + public string getIconName() + { + return Str.toString(adw_status_page_get_icon_name(adwStatusPage)); + } + + /** + * Gets the paintable for @self. + * + * Returns: the paintable + * + * Since: 1.0 + */ + public PaintableIF getPaintable() + { + auto __p = adw_status_page_get_paintable(adwStatusPage); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PaintableIF)(cast(GdkPaintable*) __p); + } + + /** + * Gets the title for @self. + * + * Returns: the title + * + * Since: 1.0 + */ + public string getTitle() + { + return Str.toString(adw_status_page_get_title(adwStatusPage)); + } + + /** + * Sets the child widget of @self. + * + * Params: + * child = the child widget + * + * Since: 1.0 + */ + public void setChild(Widget child) + { + adw_status_page_set_child(adwStatusPage, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Sets the description for @self. + * + * Params: + * description = the description + * + * Since: 1.0 + */ + public void setDescription(string description) + { + adw_status_page_set_description(adwStatusPage, Str.toStringz(description)); + } + + /** + * Sets the icon name for @self. + * + * Params: + * iconName = the icon name + * + * Since: 1.0 + */ + public void setIconName(string iconName) + { + adw_status_page_set_icon_name(adwStatusPage, Str.toStringz(iconName)); + } + + /** + * Sets the paintable for @self. + * + * Params: + * paintable = the paintable + * + * Since: 1.0 + */ + public void setPaintable(PaintableIF paintable) + { + adw_status_page_set_paintable(adwStatusPage, (paintable is null) ? null : paintable.getPaintableStruct()); + } + + /** + * Sets the title for @self. + * + * Params: + * title = the title + * + * Since: 1.0 + */ + public void setTitle(string title) + { + adw_status_page_set_title(adwStatusPage, Str.toStringz(title)); + } +} diff --git a/source/generated/adw/adw/StyleManager.d b/source/generated/adw/adw/StyleManager.d new file mode 100644 index 000000000..8219e41ee --- /dev/null +++ b/source/generated/adw/adw/StyleManager.d @@ -0,0 +1,218 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.StyleManager; + +private import adw.c.functions; +public import adw.c.types; +private import gdk.Display; +private import gobject.ObjectG; + + +/** + * A class for managing application-wide styling. + * + * `AdwStyleManager` provides a way to query and influence the application + * styles, such as whether to use dark or high contrast appearance. + * + * It allows to set the color scheme via the + * [property@StyleManager:color-scheme] property, and to query the current + * appearance, as well as whether a system-wide color scheme preference exists. + * + * Since: 1.0 + */ +public class StyleManager : ObjectG +{ + /** the main Gtk struct */ + protected AdwStyleManager* adwStyleManager; + + /** Get the main Gtk struct */ + public AdwStyleManager* getStyleManagerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwStyleManager; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwStyleManager; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwStyleManager* adwStyleManager, bool ownedRef = false) + { + this.adwStyleManager = adwStyleManager; + super(cast(GObject*)adwStyleManager, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_style_manager_get_type(); + } + + /** + * Gets the default `AdwStyleManager` instance. + * + * It manages all [class@Gdk.Display] instances unless the style manager for + * that display has an override. + * + * See [func@StyleManager.get_for_display]. + * + * Returns: the default style manager + * + * Since: 1.0 + */ + public static StyleManager getDefault() + { + auto __p = adw_style_manager_get_default(); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(StyleManager)(cast(AdwStyleManager*) __p); + } + + /** + * Gets the `AdwStyleManager` instance managing @display. + * + * It can be used to override styles for that specific display instead of the + * whole application. + * + * Most applications should use [func@StyleManager.get_default] instead. + * + * Params: + * display = a `GdkDisplay` + * + * Returns: the style manager for @display + * + * Since: 1.0 + */ + public static StyleManager getForDisplay(Display display) + { + auto __p = adw_style_manager_get_for_display((display is null) ? null : display.getDisplayStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(StyleManager)(cast(AdwStyleManager*) __p); + } + + /** + * Gets the requested application color scheme. + * + * Returns: the color scheme + * + * Since: 1.0 + */ + public AdwColorScheme getColorScheme() + { + return adw_style_manager_get_color_scheme(adwStyleManager); + } + + /** + * Gets whether the application is using dark appearance. + * + * Returns: whether the application is using dark appearance + * + * Since: 1.0 + */ + public bool getDark() + { + return adw_style_manager_get_dark(adwStyleManager) != 0; + } + + /** + * Gets the display the style manager is associated with. + * + * The display will be `NULL` for the style manager returned by + * [func@StyleManager.get_default]. + * + * Returns: (nullable): the display + * + * Since: 1.0 + */ + public Display getDisplay() + { + auto __p = adw_style_manager_get_display(adwStyleManager); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Display)(cast(GdkDisplay*) __p); + } + + /** + * Gets whether the application is using high contrast appearance. + * + * Returns: whether the application is using high contrast appearance + * + * Since: 1.0 + */ + public bool getHighContrast() + { + return adw_style_manager_get_high_contrast(adwStyleManager) != 0; + } + + /** + * Gets whether the system supports color schemes. + * + * Returns: whether the system supports color schemes + * + * Since: 1.0 + */ + public bool getSystemSupportsColorSchemes() + { + return adw_style_manager_get_system_supports_color_schemes(adwStyleManager) != 0; + } + + /** + * Sets the requested application color scheme. + * + * The effective appearance will be decided based on the application color + * scheme and the system preferred color scheme. The + * [property@StyleManager:dark] property can be used to query the current + * effective appearance. + * + * Params: + * colorScheme = the color scheme + * + * Since: 1.0 + */ + public void setColorScheme(AdwColorScheme colorScheme) + { + adw_style_manager_set_color_scheme(adwStyleManager, colorScheme); + } +} diff --git a/source/generated/adw/adw/SwipeTracker.d b/source/generated/adw/adw/SwipeTracker.d new file mode 100644 index 000000000..33ae6c4fd --- /dev/null +++ b/source/generated/adw/adw/SwipeTracker.d @@ -0,0 +1,307 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.SwipeTracker; + +private import adw.SwipeableIF; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gobject.Signals; +private import gtk.OrientableIF; +private import gtk.OrientableT; +private import std.algorithm; + + +/** + * A swipe tracker used in [class@Carousel], [class@Flap] and [class@Leaflet]. + * + * The `AdwSwipeTracker` object can be used for implementing widgets with swipe + * gestures. It supports touch-based swipes, pointer dragging, and touchpad + * scrolling. + * + * The widgets will probably want to expose the [property@SwipeTracker:enabled] + * property. If they expect to use horizontal orientation, + * [property@SwipeTracker:reversed] can be used for supporting RTL text + * direction. + * + * Since: 1.0 + */ +public class SwipeTracker : ObjectG, OrientableIF +{ + /** the main Gtk struct */ + protected AdwSwipeTracker* adwSwipeTracker; + + /** Get the main Gtk struct */ + public AdwSwipeTracker* getSwipeTrackerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwSwipeTracker; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwSwipeTracker; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwSwipeTracker* adwSwipeTracker, bool ownedRef = false) + { + this.adwSwipeTracker = adwSwipeTracker; + super(cast(GObject*)adwSwipeTracker, ownedRef); + } + + // add the Orientable capabilities + mixin OrientableT!(AdwSwipeTracker); + + + /** */ + public static GType getType() + { + return adw_swipe_tracker_get_type(); + } + + /** + * Creates a new `AdwSwipeTracker` for @widget. + * + * Params: + * swipeable = a widget to add the tracker on + * + * Returns: the newly created `AdwSwipeTracker` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(SwipeableIF swipeable) + { + auto __p = adw_swipe_tracker_new((swipeable is null) ? null : swipeable.getSwipeableStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwSwipeTracker*) __p, true); + } + + /** + * Gets whether to allow swiping for more than one snap point at a time. + * + * Returns: whether long swipes are allowed + * + * Since: 1.0 + */ + public bool getAllowLongSwipes() + { + return adw_swipe_tracker_get_allow_long_swipes(adwSwipeTracker) != 0; + } + + /** + * Gets whether @self can be dragged with mouse pointer. + * + * Returns: whether mouse dragging is allowed + * + * Since: 1.0 + */ + public bool getAllowMouseDrag() + { + return adw_swipe_tracker_get_allow_mouse_drag(adwSwipeTracker) != 0; + } + + /** + * Gets whether @self is enabled. + * + * Returns: whether @self is enabled + * + * Since: 1.0 + */ + public bool getEnabled() + { + return adw_swipe_tracker_get_enabled(adwSwipeTracker) != 0; + } + + /** + * Gets whether @self is reversing the swipe direction. + * + * Returns: whether the direction is reversed + * + * Since: 1.0 + */ + public bool getReversed() + { + return adw_swipe_tracker_get_reversed(adwSwipeTracker) != 0; + } + + /** + * Get the widget @self is attached to. + * + * Returns: the swipeable widget + * + * Since: 1.0 + */ + public SwipeableIF getSwipeable() + { + auto __p = adw_swipe_tracker_get_swipeable(adwSwipeTracker); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SwipeableIF)(cast(AdwSwipeable*) __p); + } + + /** + * Sets whether to allow swiping for more than one snap point at a time. + * + * Params: + * allowLongSwipes = whether to allow long swipes + * + * Since: 1.0 + */ + public void setAllowLongSwipes(bool allowLongSwipes) + { + adw_swipe_tracker_set_allow_long_swipes(adwSwipeTracker, allowLongSwipes); + } + + /** + * Sets whether @self can be dragged with mouse pointer. + * + * Params: + * allowMouseDrag = whether to allow mouse dragging + * + * Since: 1.0 + */ + public void setAllowMouseDrag(bool allowMouseDrag) + { + adw_swipe_tracker_set_allow_mouse_drag(adwSwipeTracker, allowMouseDrag); + } + + /** + * Sets whether @self is enabled. + * + * Params: + * enabled = whether @self is enabled + * + * Since: 1.0 + */ + public void setEnabled(bool enabled) + { + adw_swipe_tracker_set_enabled(adwSwipeTracker, enabled); + } + + /** + * Sets whether to reverse the swipe direction. + * + * Params: + * reversed = whether to reverse the swipe direction + * + * Since: 1.0 + */ + public void setReversed(bool reversed) + { + adw_swipe_tracker_set_reversed(adwSwipeTracker, reversed); + } + + /** + * Moves the current progress value by @delta. + * + * This can be used to adjust the current position if snap points move during + * the gesture. + * + * Params: + * delta = the position delta + * + * Since: 1.0 + */ + public void shiftPosition(double delta) + { + adw_swipe_tracker_shift_position(adwSwipeTracker, delta); + } + + /** + * This signal is emitted right before a swipe will be started, after the + * drag threshold has been passed. + * + * Since: 1.0 + */ + gulong addOnBeginSwipe(void delegate(SwipeTracker) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "begin-swipe", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * This signal is emitted as soon as the gesture has stopped. + * + * The user is expected to animate the deceleration from the current progress + * value to @to with an animation using @velocity as the initial velocity, + * provided in pixels per second. [class@SpringAnimation] is usually a good + * fit for this. + * + * Params: + * velocity = the velocity of the swipe + * to = the progress value to animate to + * + * Since: 1.0 + */ + gulong addOnEndSwipe(void delegate(double, double, SwipeTracker) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "end-swipe", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * This signal is emitted when a possible swipe is detected. + * + * The @direction value can be used to restrict the swipe to a certain + * direction. + * + * Params: + * direction = the direction of the swipe + * + * Since: 1.0 + */ + gulong addOnPrepare(void delegate(AdwNavigationDirection, SwipeTracker) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "prepare", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * This signal is emitted every time the progress value changes. + * + * Params: + * progress = the current animation progress value + * + * Since: 1.0 + */ + gulong addOnUpdateSwipe(void delegate(double, SwipeTracker) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "update-swipe", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/adw/adw/SwipeableIF.d b/source/generated/adw/adw/SwipeableIF.d new file mode 100644 index 000000000..938e6fe09 --- /dev/null +++ b/source/generated/adw/adw/SwipeableIF.d @@ -0,0 +1,114 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.SwipeableIF; + +private import adw.c.functions; +public import adw.c.types; + + +/** + * An interface for swipeable widgets. + * + * The `AdwSwipeable` interface is implemented by all swipeable widgets. + * + * See [class@SwipeTracker] for details about implementing it. + * + * Since: 1.0 + */ +public interface SwipeableIF{ + /** Get the main Gtk struct */ + public AdwSwipeable* getSwipeableStruct(bool transferOwnership = false); + + /** the main Gtk struct as a void* */ + protected void* getStruct(); + + + /** */ + public static GType getType() + { + return adw_swipeable_get_type(); + } + + /** + * Gets the progress @self will snap back to after the gesture is canceled. + * + * Returns: the cancel progress, unitless + * + * Since: 1.0 + */ + public double getCancelProgress(); + + /** + * Gets the swipe distance of @self. + * + * This corresponds to how many pixels 1 unit represents. + * + * Returns: the swipe distance in pixels + * + * Since: 1.0 + */ + public double getDistance(); + + /** + * Gets the current progress of @self. + * + * Returns: the current progress, unitless + * + * Since: 1.0 + */ + public double getProgress(); + + /** + * Gets the snap points of @self. + * + * Each snap point represents a progress value that is considered acceptable to + * end the swipe on. + * + * Returns: the snap points + * + * Since: 1.0 + */ + public double[] getSnapPoints(); + + /** + * Gets the area @self can start a swipe from for the given direction and + * gesture type. + * + * This can be used to restrict swipes to only be possible from a certain area, + * for example, to only allow edge swipes, or to have a draggable element and + * ignore swipes elsewhere. + * + * If not implemented, the default implementation returns the allocation of + * @self, allowing swipes from anywhere. + * + * Params: + * navigationDirection = the direction of the swipe + * isDrag = whether the swipe is caused by a dragging gesture + * rect = a pointer to a rectangle to store the swipe area + * + * Since: 1.0 + */ + public void getSwipeArea(AdwNavigationDirection navigationDirection, bool isDrag, out GdkRectangle rect); +} diff --git a/source/generated/adw/adw/SwipeableT.d b/source/generated/adw/adw/SwipeableT.d new file mode 100644 index 000000000..dbd75fb59 --- /dev/null +++ b/source/generated/adw/adw/SwipeableT.d @@ -0,0 +1,130 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.SwipeableT; + +public import adw.c.functions; +public import adw.c.types; + + +/** + * An interface for swipeable widgets. + * + * The `AdwSwipeable` interface is implemented by all swipeable widgets. + * + * See [class@SwipeTracker] for details about implementing it. + * + * Since: 1.0 + */ +public template SwipeableT(TStruct) +{ + /** Get the main Gtk struct */ + public AdwSwipeable* getSwipeableStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return cast(AdwSwipeable*)getStruct(); + } + + + /** + * Gets the progress @self will snap back to after the gesture is canceled. + * + * Returns: the cancel progress, unitless + * + * Since: 1.0 + */ + public double getCancelProgress() + { + return adw_swipeable_get_cancel_progress(getSwipeableStruct()); + } + + /** + * Gets the swipe distance of @self. + * + * This corresponds to how many pixels 1 unit represents. + * + * Returns: the swipe distance in pixels + * + * Since: 1.0 + */ + public double getDistance() + { + return adw_swipeable_get_distance(getSwipeableStruct()); + } + + /** + * Gets the current progress of @self. + * + * Returns: the current progress, unitless + * + * Since: 1.0 + */ + public double getProgress() + { + return adw_swipeable_get_progress(getSwipeableStruct()); + } + + /** + * Gets the snap points of @self. + * + * Each snap point represents a progress value that is considered acceptable to + * end the swipe on. + * + * Returns: the snap points + * + * Since: 1.0 + */ + public double[] getSnapPoints() + { + int nSnapPoints; + + auto __p = adw_swipeable_get_snap_points(getSwipeableStruct(), &nSnapPoints); + + return __p[0 .. nSnapPoints]; + } + + /** + * Gets the area @self can start a swipe from for the given direction and + * gesture type. + * + * This can be used to restrict swipes to only be possible from a certain area, + * for example, to only allow edge swipes, or to have a draggable element and + * ignore swipes elsewhere. + * + * If not implemented, the default implementation returns the allocation of + * @self, allowing swipes from anywhere. + * + * Params: + * navigationDirection = the direction of the swipe + * isDrag = whether the swipe is caused by a dragging gesture + * rect = a pointer to a rectangle to store the swipe area + * + * Since: 1.0 + */ + public void getSwipeArea(AdwNavigationDirection navigationDirection, bool isDrag, out GdkRectangle rect) + { + adw_swipeable_get_swipe_area(getSwipeableStruct(), navigationDirection, isDrag, &rect); + } +} diff --git a/source/generated/adw/adw/TabBar.d b/source/generated/adw/adw/TabBar.d new file mode 100644 index 000000000..18155f01e --- /dev/null +++ b/source/generated/adw/adw/TabBar.d @@ -0,0 +1,364 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.TabBar; + +private import adw.TabPage; +private import adw.TabView; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gobject.Signals; +private import gobject.Value; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import std.algorithm; + + +/** + * A tab bar for [class@TabView]. + * + * + * + * tab-bar + * + * + * The `AdwTabBar` widget is a tab bar that can be used with conjunction with + * `AdwTabView`. + * + * `AdwTabBar` can autohide and can optionally contain action widgets on both + * sides of the tabs. + * + * When there's not enough space to show all the tabs, `AdwTabBar` will scroll + * them. Pinned tabs always stay visible and aren't a part of the scrollable + * area. + * + * ## CSS nodes + * + * `AdwTabBar` has a single CSS node with name `tabbar`. + * + * Since: 1.0 + */ +public class TabBar : Widget +{ + /** the main Gtk struct */ + protected AdwTabBar* adwTabBar; + + /** Get the main Gtk struct */ + public AdwTabBar* getTabBarStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwTabBar; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwTabBar; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwTabBar* adwTabBar, bool ownedRef = false) + { + this.adwTabBar = adwTabBar; + super(cast(GtkWidget*)adwTabBar, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_tab_bar_get_type(); + } + + /** + * Creates a new `AdwTabBar`. + * + * Returns: the newly created `AdwTabBar` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_tab_bar_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwTabBar*) __p); + } + + /** + * Gets whether the tabs automatically hide. + * + * Returns: whether the tabs automatically hide + * + * Since: 1.0 + */ + public bool getAutohide() + { + return adw_tab_bar_get_autohide(adwTabBar) != 0; + } + + /** + * Gets the widget shown after the tabs. + * + * Returns: the widget shown after the tabs + * + * Since: 1.0 + */ + public Widget getEndActionWidget() + { + auto __p = adw_tab_bar_get_end_action_widget(adwTabBar); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets whether tabs expand to full width. + * + * Returns: whether tabs expand to full width. + * + * Since: 1.0 + */ + public bool getExpandTabs() + { + return adw_tab_bar_get_expand_tabs(adwTabBar) != 0; + } + + /** + * Gets whether tabs use inverted layout. + * + * Returns: whether tabs use inverted layout + * + * Since: 1.0 + */ + public bool getInverted() + { + return adw_tab_bar_get_inverted(adwTabBar) != 0; + } + + /** + * Gets whether @self is overflowing. + * + * Returns: whether @self is overflowing + * + * Since: 1.0 + */ + public bool getIsOverflowing() + { + return adw_tab_bar_get_is_overflowing(adwTabBar) != 0; + } + + /** + * Gets the widget shown before the tabs. + * + * Returns: the widget shown before the tabs + * + * Since: 1.0 + */ + public Widget getStartActionWidget() + { + auto __p = adw_tab_bar_get_start_action_widget(adwTabBar); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets whether the tabs are currently revealed. + * + * Returns: whether the tabs are currently revealed + * + * Since: 1.0 + */ + public bool getTabsRevealed() + { + return adw_tab_bar_get_tabs_revealed(adwTabBar) != 0; + } + + /** + * Gets the tab view @self controls. + * + * Returns: the view @self controls + * + * Since: 1.0 + */ + public TabView getView() + { + auto __p = adw_tab_bar_get_view(adwTabBar); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TabView)(cast(AdwTabView*) __p); + } + + /** + * Sets whether the tabs automatically hide. + * + * Params: + * autohide = whether the tabs automatically hide + * + * Since: 1.0 + */ + public void setAutohide(bool autohide) + { + adw_tab_bar_set_autohide(adwTabBar, autohide); + } + + /** + * Sets the widget to show after the tabs. + * + * Params: + * widget = the widget to show after the tabs + * + * Since: 1.0 + */ + public void setEndActionWidget(Widget widget) + { + adw_tab_bar_set_end_action_widget(adwTabBar, (widget is null) ? null : widget.getWidgetStruct()); + } + + /** + * Sets whether tabs expand to full width. + * + * Params: + * expandTabs = whether to expand tabs + * + * Since: 1.0 + */ + public void setExpandTabs(bool expandTabs) + { + adw_tab_bar_set_expand_tabs(adwTabBar, expandTabs); + } + + /** + * Sets whether tabs tabs use inverted layout. + * + * Params: + * inverted = whether tabs use inverted layout + * + * Since: 1.0 + */ + public void setInverted(bool inverted) + { + adw_tab_bar_set_inverted(adwTabBar, inverted); + } + + /** + * Sets the widget to show before the tabs. + * + * Params: + * widget = the widget to show before the tabs + * + * Since: 1.0 + */ + public void setStartActionWidget(Widget widget) + { + adw_tab_bar_set_start_action_widget(adwTabBar, (widget is null) ? null : widget.getWidgetStruct()); + } + + /** + * Sets the tab view @self controls. + * + * Params: + * view = a tab view + * + * Since: 1.0 + */ + public void setView(TabView view) + { + adw_tab_bar_set_view(adwTabBar, (view is null) ? null : view.getTabViewStruct()); + } + + /** + * Sets the supported types for this drop target. + * + * Sets up an extra drop target on tabs. + * + * This allows to drag arbitrary content onto tabs, for example URLs in a web + * browser. + * + * If a tab is hovered for a certain period of time while dragging the content, + * it will be automatically selected. + * + * The [signal@TabBar::extra-drag-drop] signal can be used to handle the drop. + * + * Params: + * actions = the supported actions + * types = all supported `GType`s that can be dropped + * + * Since: 1.0 + */ + public void setupExtraDropTarget(GdkDragAction actions, GType[] types) + { + adw_tab_bar_setup_extra_drop_target(adwTabBar, actions, types.ptr, cast(size_t)types.length); + } + + /** + * This signal is emitted when content is dropped onto a tab. + * + * The content must be of one of the types set up via + * [method@TabBar.setup_extra_drop_target]. + * + * See [signal@Gtk.DropTarget::drop]. + * + * Params: + * page = the page matching the tab the content was dropped onto + * value = the `GValue` being dropped + * + * Returns: whether the drop was accepted for @page + * + * Since: 1.0 + */ + gulong addOnExtraDragDrop(bool delegate(TabPage, Value, TabBar) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "extra-drag-drop", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/adw/adw/TabPage.d b/source/generated/adw/adw/TabPage.d new file mode 100644 index 000000000..b15277142 --- /dev/null +++ b/source/generated/adw/adw/TabPage.d @@ -0,0 +1,324 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.TabPage; + +private import adw.c.functions; +public import adw.c.types; +private import gio.IconIF; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.Widget; + + +/** + * An auxiliary class used by [class@TabView]. + */ +public class TabPage : ObjectG +{ + /** the main Gtk struct */ + protected AdwTabPage* adwTabPage; + + /** Get the main Gtk struct */ + public AdwTabPage* getTabPageStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwTabPage; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwTabPage; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwTabPage* adwTabPage, bool ownedRef = false) + { + this.adwTabPage = adwTabPage; + super(cast(GObject*)adwTabPage, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_tab_page_get_type(); + } + + /** + * Gets the child of @self. + * + * Returns: the child of @self + * + * Since: 1.0 + */ + public Widget getChild() + { + auto __p = adw_tab_page_get_child(adwTabPage); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets the icon of @self. + * + * Returns: the icon of @self + * + * Since: 1.0 + */ + public IconIF getIcon() + { + auto __p = adw_tab_page_get_icon(adwTabPage); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(IconIF)(cast(GIcon*) __p); + } + + /** + * Gets whether the indicator of @self is activatable. + * + * Returns: whether the indicator is activatable + * + * Since: 1.0 + */ + public bool getIndicatorActivatable() + { + return adw_tab_page_get_indicator_activatable(adwTabPage) != 0; + } + + /** + * Gets the indicator icon of @self. + * + * Returns: the indicator icon of @self + * + * Since: 1.0 + */ + public IconIF getIndicatorIcon() + { + auto __p = adw_tab_page_get_indicator_icon(adwTabPage); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(IconIF)(cast(GIcon*) __p); + } + + /** + * Gets whether @self is loading. + * + * Returns: whether @self is loading + * + * Since: 1.0 + */ + public bool getLoading() + { + return adw_tab_page_get_loading(adwTabPage) != 0; + } + + /** + * Gets whether @self needs attention. + * + * Returns: whether @self needs attention + * + * Since: 1.0 + */ + public bool getNeedsAttention() + { + return adw_tab_page_get_needs_attention(adwTabPage) != 0; + } + + /** + * Gets the parent page of @self. + * + * Returns: the parent page + * + * Since: 1.0 + */ + public TabPage getParent() + { + auto __p = adw_tab_page_get_parent(adwTabPage); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TabPage)(cast(AdwTabPage*) __p); + } + + /** + * Gets whether @self is pinned. + * + * Returns: whether @self is pinned + * + * Since: 1.0 + */ + public bool getPinned() + { + return adw_tab_page_get_pinned(adwTabPage) != 0; + } + + /** + * Gets whether @self is selected. + * + * Returns: whether @self is selected + * + * Since: 1.0 + */ + public bool getSelected() + { + return adw_tab_page_get_selected(adwTabPage) != 0; + } + + /** + * Gets the title of @self. + * + * Returns: the title of @self + * + * Since: 1.0 + */ + public string getTitle() + { + return Str.toString(adw_tab_page_get_title(adwTabPage)); + } + + /** + * Gets the tooltip of @self. + * + * Returns: the tooltip of @self + * + * Since: 1.0 + */ + public string getTooltip() + { + return Str.toString(adw_tab_page_get_tooltip(adwTabPage)); + } + + /** + * Sets the icon of @self. + * + * Params: + * icon = the icon of @self + * + * Since: 1.0 + */ + public void setIcon(IconIF icon) + { + adw_tab_page_set_icon(adwTabPage, (icon is null) ? null : icon.getIconStruct()); + } + + /** + * Sets whether the indicator of @self is activatable. + * + * Params: + * activatable = whether the indicator is activatable + * + * Since: 1.0 + */ + public void setIndicatorActivatable(bool activatable) + { + adw_tab_page_set_indicator_activatable(adwTabPage, activatable); + } + + /** + * Sets the indicator icon of @self. + * + * Params: + * indicatorIcon = the indicator icon of @self + * + * Since: 1.0 + */ + public void setIndicatorIcon(IconIF indicatorIcon) + { + adw_tab_page_set_indicator_icon(adwTabPage, (indicatorIcon is null) ? null : indicatorIcon.getIconStruct()); + } + + /** + * Sets wether @self is loading. + * + * Params: + * loading = whether @self is loading + * + * Since: 1.0 + */ + public void setLoading(bool loading) + { + adw_tab_page_set_loading(adwTabPage, loading); + } + + /** + * Sets whether @self needs attention. + * + * Params: + * needsAttention = whether @self needs attention + * + * Since: 1.0 + */ + public void setNeedsAttention(bool needsAttention) + { + adw_tab_page_set_needs_attention(adwTabPage, needsAttention); + } + + /** + * Sets the title of @self. + * + * Params: + * title = the title of @self + * + * Since: 1.0 + */ + public void setTitle(string title) + { + adw_tab_page_set_title(adwTabPage, Str.toStringz(title)); + } + + /** + * Sets the tooltip of @self. + * + * Params: + * tooltip = the tooltip of @self + * + * Since: 1.0 + */ + public void setTooltip(string tooltip) + { + adw_tab_page_set_tooltip(adwTabPage, Str.toStringz(tooltip)); + } +} diff --git a/source/generated/adw/adw/TabView.d b/source/generated/adw/adw/TabView.d new file mode 100644 index 000000000..9ba811a65 --- /dev/null +++ b/source/generated/adw/adw/TabView.d @@ -0,0 +1,931 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.TabView; + +private import adw.TabPage; +private import adw.c.functions; +public import adw.c.types; +private import gio.IconIF; +private import gio.MenuModel; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gobject.Signals; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.SelectionModelIF; +private import gtk.Widget; +private import std.algorithm; + + +/** + * A dynamic tabbed container. + * + * `AdwTabView` is a container which shows one child at a time. While it + * provides keyboard shortcuts for switching between pages, it does not provide + * a visible tab bar and relies on external widgets for that, such as + * [class@TabBar]. + * + * `AdwTabView` maintains a [class@TabPage] object for each page, which holds + * additional per-page properties. You can obtain the `AdwTabPage` for a page + * with [method@TabView.get_page], and as the return value for + * [method@TabView.append] and other functions for adding children. + * + * `AdwTabView` only aims to be useful for dynamic tabs in multi-window + * document-based applications, such as web browsers, file managers, text + * editors or terminals. It does not aim to replace [class@Gtk.Notebook] for use + * cases such as tabbed dialogs. + * + * As such, it does not support disabling page reordering or detaching. + * + * `AdwTabView` adds the following shortcuts in the managed scope: + * + * * Ctrl+Page Up - switch to the previous page + * * Ctrl+Page Down - switch to the next page + * * Ctrl+Home - switch to the first page + * * Ctrl+End - switch to the last page + * * Ctrl+Shift+Page Up - move the current page + * backward + * * Ctrl+Shift+Page Down - move the current + * page forward + * * Ctrl+Shift+Home - move the current page at + * the start + * * Ctrl+Shift+End - move the current page at + * the end + * * Ctrl+Tab - switch to the next page, with looping + * * Ctrl+Shift+Tab - switch to the previous + * page, with looping + * * Alt+19 - switch to pages 1-9 + * * Alt+0 - switch to page 10 + * + * ## CSS nodes + * + * `AdwTabView` has a main CSS node with the name `tabview`. + * + * Since: 1.0 + */ +public class TabView : Widget +{ + /** the main Gtk struct */ + protected AdwTabView* adwTabView; + + /** Get the main Gtk struct */ + public AdwTabView* getTabViewStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwTabView; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwTabView; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwTabView* adwTabView, bool ownedRef = false) + { + this.adwTabView = adwTabView; + super(cast(GtkWidget*)adwTabView, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_tab_view_get_type(); + } + + /** + * Creates a new `AdwTabView`. + * + * Returns: the newly created `AdwTabView` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_tab_view_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwTabView*) __p); + } + + /** + * Adds @child to @self with @parent as the parent. + * + * This function can be used to automatically position new pages, and to select + * the correct page when this page is closed while being selected (see + * [method@TabView.close_page]). + * + * If @parent is `NULL`, this function is equivalent to [method@TabView.append]. + * + * Params: + * child = a widget to add + * parent = a parent page for @child + * + * Returns: the page object representing @child + * + * Since: 1.0 + */ + public TabPage addPage(Widget child, TabPage parent) + { + auto __p = adw_tab_view_add_page(adwTabView, (child is null) ? null : child.getWidgetStruct(), (parent is null) ? null : parent.getTabPageStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TabPage)(cast(AdwTabPage*) __p); + } + + /** + * Inserts @child as the last non-pinned page. + * + * Params: + * child = a widget to add + * + * Returns: the page object representing @child + * + * Since: 1.0 + */ + public TabPage append(Widget child) + { + auto __p = adw_tab_view_append(adwTabView, (child is null) ? null : child.getWidgetStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TabPage)(cast(AdwTabPage*) __p); + } + + /** + * Inserts @child as the last pinned page. + * + * Params: + * child = a widget to add + * + * Returns: the page object representing @child + * + * Since: 1.0 + */ + public TabPage appendPinned(Widget child) + { + auto __p = adw_tab_view_append_pinned(adwTabView, (child is null) ? null : child.getWidgetStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TabPage)(cast(AdwTabPage*) __p); + } + + /** + * Requests to close all pages other than @page. + * + * Params: + * page = a page of @self + * + * Since: 1.0 + */ + public void closeOtherPages(TabPage page) + { + adw_tab_view_close_other_pages(adwTabView, (page is null) ? null : page.getTabPageStruct()); + } + + /** + * Requests to close @page. + * + * Calling this function will result in the [signal@TabView::close-page] signal + * being emitted for @page. Closing the page can then be confirmed or + * denied via [method@TabView.close_page_finish]. + * + * If the page is waiting for a [method@TabView.close_page_finish] call, this + * function will do nothing. + * + * The default handler for [signal@TabView::close-page] will immediately confirm + * closing the page if it's non-pinned, or reject it if it's pinned. This + * behavior can be changed by registering your own handler for that signal. + * + * If @page was selected, another page will be selected instead: + * + * If the [property@TabPage:parent] value is `NULL`, the next page will be + * selected when possible, or if the page was already last, the previous page + * will be selected instead. + * + * If it's not `NULL`, the previous page will be selected if it's a descendant + * (possibly indirect) of the parent. If both the previous page and the parent + * are pinned, the parent will be selected instead. + * + * Params: + * page = a page of @self + * + * Since: 1.0 + */ + public void closePage(TabPage page) + { + adw_tab_view_close_page(adwTabView, (page is null) ? null : page.getTabPageStruct()); + } + + /** + * Completes a [method@TabView.close_page] call for @page. + * + * If @confirm is `TRUE`, @page will be closed. If it's `FALSE`, it will be + * reverted to its previous state and [method@TabView.close_page] can be called + * for it again. + * + * This function should not be called unless a custom handler for + * [signal@TabView::close-page] is used. + * + * Params: + * page = a page of @self + * confirm = whether to confirm or deny closing @page + * + * Since: 1.0 + */ + public void closePageFinish(TabPage page, bool confirm) + { + adw_tab_view_close_page_finish(adwTabView, (page is null) ? null : page.getTabPageStruct(), confirm); + } + + /** + * Requests to close all pages after @page. + * + * Params: + * page = a page of @self + * + * Since: 1.0 + */ + public void closePagesAfter(TabPage page) + { + adw_tab_view_close_pages_after(adwTabView, (page is null) ? null : page.getTabPageStruct()); + } + + /** + * Requests to close all pages before @page. + * + * Params: + * page = a page of @self + * + * Since: 1.0 + */ + public void closePagesBefore(TabPage page) + { + adw_tab_view_close_pages_before(adwTabView, (page is null) ? null : page.getTabPageStruct()); + } + + /** + * Gets the default icon of @self. + * + * Returns: the default icon of @self. + * + * Since: 1.0 + */ + public IconIF getDefaultIcon() + { + auto __p = adw_tab_view_get_default_icon(adwTabView); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(IconIF)(cast(GIcon*) __p); + } + + /** + * Whether a page is being transferred. + * + * Returns: whether a page is being transferred + * + * Since: 1.0 + */ + public bool getIsTransferringPage() + { + return adw_tab_view_get_is_transferring_page(adwTabView) != 0; + } + + /** + * Gets the tab context menu model for @self. + * + * Returns: the tab context menu model for @self + * + * Since: 1.0 + */ + public MenuModel getMenuModel() + { + auto __p = adw_tab_view_get_menu_model(adwTabView); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(MenuModel)(cast(GMenuModel*) __p); + } + + /** + * Gets the number of pages in @self. + * + * Returns: the number of pages in @self + * + * Since: 1.0 + */ + public int getNPages() + { + return adw_tab_view_get_n_pages(adwTabView); + } + + /** + * Gets the number of pinned pages in @self. + * + * Returns: the number of pinned pages in @self + * + * Since: 1.0 + */ + public int getNPinnedPages() + { + return adw_tab_view_get_n_pinned_pages(adwTabView); + } + + /** + * Gets the [class@TabPage] representing the child at @position. + * + * Params: + * position = the index of the page in @self, starting from 0 + * + * Returns: the page object at @position + * + * Since: 1.0 + */ + public TabPage getNthPage(int position) + { + auto __p = adw_tab_view_get_nth_page(adwTabView, position); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TabPage)(cast(AdwTabPage*) __p); + } + + /** + * Gets the [class@TabPage] object representing @child. + * + * Params: + * child = a child in @self + * + * Returns: the page object for @child + * + * Since: 1.0 + */ + public TabPage getPage(Widget child) + { + auto __p = adw_tab_view_get_page(adwTabView, (child is null) ? null : child.getWidgetStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TabPage)(cast(AdwTabPage*) __p); + } + + /** + * Finds the position of @page in @self, starting from 0. + * + * Params: + * page = a page of @self + * + * Returns: the position of @page in @self + * + * Since: 1.0 + */ + public int getPagePosition(TabPage page) + { + return adw_tab_view_get_page_position(adwTabView, (page is null) ? null : page.getTabPageStruct()); + } + + /** + * Returns a [iface@Gio.ListModel] that contains the pages of @self. + * + * This can be used to keep an up-to-date view. The model also implements + * [iface@Gtk.SelectionModel] and can be used to track and change the selected + * page. + * + * Returns: a `GtkSelectionModel` for the pages of @self + * + * Since: 1.0 + */ + public SelectionModelIF getPages() + { + auto __p = adw_tab_view_get_pages(adwTabView); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SelectionModelIF)(cast(GtkSelectionModel*) __p, true); + } + + /** + * Gets the currently selected page in @self. + * + * Returns: the selected page + * + * Since: 1.0 + */ + public TabPage getSelectedPage() + { + auto __p = adw_tab_view_get_selected_page(adwTabView); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TabPage)(cast(AdwTabPage*) __p); + } + + /** + * Inserts a non-pinned page at @position. + * + * It's an error to try to insert a page before a pinned page, in that case + * [method@TabView.insert_pinned] should be used instead. + * + * Params: + * child = a widget to add + * position = the position to add @child at, starting from 0 + * + * Returns: the page object representing @child + * + * Since: 1.0 + */ + public TabPage insert(Widget child, int position) + { + auto __p = adw_tab_view_insert(adwTabView, (child is null) ? null : child.getWidgetStruct(), position); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TabPage)(cast(AdwTabPage*) __p); + } + + /** + * Inserts a pinned page at @position. + * + * It's an error to try to insert a pinned page after a non-pinned page, in + * that case [method@TabView.insert] should be used instead. + * + * Params: + * child = a widget to add + * position = the position to add @child at, starting from 0 + * + * Returns: the page object representing @child + * + * Since: 1.0 + */ + public TabPage insertPinned(Widget child, int position) + { + auto __p = adw_tab_view_insert_pinned(adwTabView, (child is null) ? null : child.getWidgetStruct(), position); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TabPage)(cast(AdwTabPage*) __p); + } + + /** + * Inserts @child as the first non-pinned page. + * + * Params: + * child = a widget to add + * + * Returns: the page object representing @child + * + * Since: 1.0 + */ + public TabPage prepend(Widget child) + { + auto __p = adw_tab_view_prepend(adwTabView, (child is null) ? null : child.getWidgetStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TabPage)(cast(AdwTabPage*) __p); + } + + /** + * Inserts @child as the first pinned page. + * + * Params: + * child = a widget to add + * + * Returns: the page object representing @child + * + * Since: 1.0 + */ + public TabPage prependPinned(Widget child) + { + auto __p = adw_tab_view_prepend_pinned(adwTabView, (child is null) ? null : child.getWidgetStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TabPage)(cast(AdwTabPage*) __p); + } + + /** + * Reorders @page to before its previous page if possible. + * + * Params: + * page = a page of @self + * + * Returns: whether @page was moved + * + * Since: 1.0 + */ + public bool reorderBackward(TabPage page) + { + return adw_tab_view_reorder_backward(adwTabView, (page is null) ? null : page.getTabPageStruct()) != 0; + } + + /** + * Reorders @page to the first possible position. + * + * Params: + * page = a page of @self + * + * Returns: whether @page was moved + * + * Since: 1.0 + */ + public bool reorderFirst(TabPage page) + { + return adw_tab_view_reorder_first(adwTabView, (page is null) ? null : page.getTabPageStruct()) != 0; + } + + /** + * Reorders @page to after its next page if possible. + * + * Params: + * page = a page of @self + * + * Returns: whether @page was moved + * + * Since: 1.0 + */ + public bool reorderForward(TabPage page) + { + return adw_tab_view_reorder_forward(adwTabView, (page is null) ? null : page.getTabPageStruct()) != 0; + } + + /** + * Reorders @page to the last possible position. + * + * Params: + * page = a page of @self + * + * Returns: whether @page was moved + * + * Since: 1.0 + */ + public bool reorderLast(TabPage page) + { + return adw_tab_view_reorder_last(adwTabView, (page is null) ? null : page.getTabPageStruct()) != 0; + } + + /** + * Reorders @page to @position. + * + * It's a programmer error to try to reorder a pinned page after a non-pinned + * one, or a non-pinned page before a pinned one. + * + * Params: + * page = a page of @self + * position = the position to insert the page at, starting at 0 + * + * Returns: whether @page was moved + * + * Since: 1.0 + */ + public bool reorderPage(TabPage page, int position) + { + return adw_tab_view_reorder_page(adwTabView, (page is null) ? null : page.getTabPageStruct(), position) != 0; + } + + /** + * Selects the page after the currently selected page. + * + * If the last page was already selected, this function does nothing. + * + * Returns: whether the selected page was changed + * + * Since: 1.0 + */ + public bool selectNextPage() + { + return adw_tab_view_select_next_page(adwTabView) != 0; + } + + /** + * Selects the page before the currently selected page. + * + * If the first page was already selected, this function does nothing. + * + * Returns: whether the selected page was changed + * + * Since: 1.0 + */ + public bool selectPreviousPage() + { + return adw_tab_view_select_previous_page(adwTabView) != 0; + } + + /** + * Sets the default page icon for @self. + * + * Params: + * defaultIcon = the default icon + * + * Since: 1.0 + */ + public void setDefaultIcon(IconIF defaultIcon) + { + adw_tab_view_set_default_icon(adwTabView, (defaultIcon is null) ? null : defaultIcon.getIconStruct()); + } + + /** + * Sets the tab context menu model for @self. + * + * Params: + * menuModel = a menu model + * + * Since: 1.0 + */ + public void setMenuModel(MenuModel menuModel) + { + adw_tab_view_set_menu_model(adwTabView, (menuModel is null) ? null : menuModel.getMenuModelStruct()); + } + + /** + * Pins or unpins @page. + * + * Pinned pages are guaranteed to be placed before all non-pinned pages; at any + * given moment the first [property@TabView:n-pinned-pages] pages in @self are + * guaranteed to be pinned. + * + * When a page is pinned or unpinned, it's automatically reordered: pinning a + * page moves it after other pinned pages; unpinning a page moves it before + * other non-pinned pages. + * + * Pinned pages can still be reordered between each other. + * + * [class@TabBar] will display pinned pages in a compact form, never showing the + * title or close button, and only showing a single icon, selected in the + * following order: + * + * 1. [property@TabPage:indicator-icon] + * 2. A spinner if [property@TabPage:loading] is `TRUE` + * 3. [property@TabPage:icon] + * 4. [property@TabView:default-icon] + * + * Pinned pages cannot be closed by default, see [signal@TabView::close-page] + * for how to override that behavior. + * + * Changes the value of the [property@TabPage:pinned] property. + * + * Params: + * page = a page of @self + * pinned = whether @page should be pinned + * + * Since: 1.0 + */ + public void setPagePinned(TabPage page, bool pinned) + { + adw_tab_view_set_page_pinned(adwTabView, (page is null) ? null : page.getTabPageStruct(), pinned); + } + + /** + * Sets the currently selected page in @self. + * + * Params: + * selectedPage = a page in @self + * + * Since: 1.0 + */ + public void setSelectedPage(TabPage selectedPage) + { + adw_tab_view_set_selected_page(adwTabView, (selectedPage is null) ? null : selectedPage.getTabPageStruct()); + } + + /** + * Transfers @page from @self to @other_view. + * + * The @page object will be reused. + * + * It's a programmer error to try to insert a pinned page after a non-pinned + * one, or a non-pinned page before a pinned one. + * + * Params: + * page = a page of @self + * otherView = the tab view to transfer the page to + * position = the position to insert the page at, starting at 0 + * + * Since: 1.0 + */ + public void transferPage(TabPage page, TabView otherView, int position) + { + adw_tab_view_transfer_page(adwTabView, (page is null) ? null : page.getTabPageStruct(), (otherView is null) ? null : otherView.getTabViewStruct(), position); + } + + /** + * Emitted after [method@TabView.close_page] has been called for @page. + * + * The handler is expected to call [method@TabView.close_page_finish] to + * confirm or reject the closing. + * + * The default handler will immediately confirm closing for non-pinned pages, + * or reject it for pinned pages, equivalent to the following example: + * + * ```c + * static gboolean + * close_page_cb (AdwTabView *view, + * AdwTabPage *page, + * gpointer user_data) + * { + * adw_tab_view_close_page_finish (view, page, !adw_tab_page_get_pinned (page)); + * + * return GDK_EVENT_STOP; + * } + * ``` + * + * The [method@TabView.close_page_finish] call doesn't have to happen inside + * the handler, so can be used to do asynchronous checks before confirming the + * closing. + * + * A typical reason to connect to this signal is to show a confirmation dialog + * for closing a tab. + * + * Params: + * page = a page of @self + * + * Since: 1.0 + */ + gulong addOnClosePage(bool delegate(TabPage, TabView) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "close-page", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when a tab should be transferred into a new window. + * + * This can happen after a tab has been dropped on desktop. + * + * The signal handler is expected to create a new window, position it as + * needed and return its `AdwTabView` that the page will be transferred into. + * + * Returns: the `AdwTabView` from the new window + * + * Since: 1.0 + */ + gulong addOnCreateWindow(TabView delegate(TabView) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "create-window", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted after the indicator icon on @page has been activated. + * + * See [property@TabPage:indicator-icon] and + * [property@TabPage:indicator-activatable]. + * + * Params: + * page = a page of @self + * + * Since: 1.0 + */ + gulong addOnIndicatorActivated(void delegate(TabPage, TabView) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "indicator-activated", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when a page has been created or transferred to @self. + * + * A typical reason to connect to this signal would be to connect to page + * signals for things such as updating window title. + * + * Params: + * page = a page of @self + * position = the position of the page, starting from 0 + * + * Since: 1.0 + */ + gulong addOnPageAttached(void delegate(TabPage, int, TabView) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "page-attached", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when a page has been removed or transferred to another view. + * + * A typical reason to connect to this signal would be to disconnect signal + * handlers connected in the [signal@TabView::page-attached] handler. + * + * It is important not to try and destroy the page child in the handler of + * this function as the child might merely be moved to another window; use + * child dispose handler for that or do it in sync with your + * [method@TabView.close_page_finish] calls. + * + * Params: + * page = a page of @self + * position = the position of the removed page, starting from 0 + * + * Since: 1.0 + */ + gulong addOnPageDetached(void delegate(TabPage, int, TabView) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "page-detached", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted after @page has been reordered to @position. + * + * Params: + * page = a page of @self + * position = the position @page was moved to, starting at 0 + * + * Since: 1.0 + */ + gulong addOnPageReordered(void delegate(TabPage, int, TabView) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "page-reordered", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when a context menu is opened or closed for @page. + * + * If the menu has been closed, @page will be set to `NULL`. + * + * It can be used to set up menu actions before showing the menu, for example + * disable actions not applicable to @page. + * + * Params: + * page = a page of @self + * + * Since: 1.0 + */ + gulong addOnSetupMenu(void delegate(TabPage, TabView) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "setup-menu", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/adw/adw/TimedAnimation.d b/source/generated/adw/adw/TimedAnimation.d new file mode 100644 index 000000000..1468f8511 --- /dev/null +++ b/source/generated/adw/adw/TimedAnimation.d @@ -0,0 +1,300 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.TimedAnimation; + +private import adw.Animation; +private import adw.AnimationTarget; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.Widget; + + +/** + * A time-based [class@Animation]. + * + * `AdwTimedAnimation` implements a simple animation interpolating the given + * value from [property@TimedAnimation:value-from] to + * [property@TimedAnimation:value-to] over + * [property@TimedAnimation:duration] milliseconds using the curve described by + * [property@TimedAnimation:easing]. + * + * If [property@TimedAnimation:reverse] is set to `TRUE`, `AdwTimedAnimation` + * will instead animate from [property@TimedAnimation:value-to] to + * [property@TimedAnimation:value-from], and the easing curve will be inverted. + * + * The animation can repeat a certain amount of times, or endlessly, depending + * on the [property@TimedAnimation:repeat-count] value. If + * [property@TimedAnimation:alternate] is set to `TRUE`, it will also change the + * direction every other iteration. + * + * Since: 1.0 + */ +public class TimedAnimation : Animation +{ + /** the main Gtk struct */ + protected AdwTimedAnimation* adwTimedAnimation; + + /** Get the main Gtk struct */ + public AdwTimedAnimation* getTimedAnimationStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwTimedAnimation; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwTimedAnimation; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwTimedAnimation* adwTimedAnimation, bool ownedRef = false) + { + this.adwTimedAnimation = adwTimedAnimation; + super(cast(AdwAnimation*)adwTimedAnimation, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_timed_animation_get_type(); + } + + /** + * Creates a new `AdwTimedAnimation` on @widget to animate @target from @from + * to @to. + * + * Params: + * widget = a widget to create animation on + * from = a value to animate from + * to = a value to animate to + * duration = a duration for the animation + * target = a target value to animate + * + * Returns: the newly created animation + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Widget widget, double from, double to, uint duration, AnimationTarget target) + { + auto __p = adw_timed_animation_new((widget is null) ? null : widget.getWidgetStruct(), from, to, duration, (target is null) ? null : target.getAnimationTargetStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwTimedAnimation*) __p); + } + + /** + * Gets whether @self changes direction on every iteration. + * + * Returns: whether @self alternates + * + * Since: 1.0 + */ + public bool getAlternate() + { + return adw_timed_animation_get_alternate(adwTimedAnimation) != 0; + } + + /** + * Gets the duration of @self. + * + * Returns: the duration of @self, in milliseconds + * + * Since: 1.0 + */ + public uint getDuration() + { + return adw_timed_animation_get_duration(adwTimedAnimation); + } + + /** + * Gets the easing function @self uses. + * + * Returns: the easing function @self uses + * + * Since: 1.0 + */ + public AdwEasing getEasing() + { + return adw_timed_animation_get_easing(adwTimedAnimation); + } + + /** + * Gets the number of times @self will play. + * + * Returns: the number of times @self will play + * + * Since: 1.0 + */ + public uint getRepeatCount() + { + return adw_timed_animation_get_repeat_count(adwTimedAnimation); + } + + /** + * Gets whether @self plays backwards. + * + * Returns: whether @self plays backwards + * + * Since: 1.0 + */ + public bool getReverse() + { + return adw_timed_animation_get_reverse(adwTimedAnimation) != 0; + } + + /** + * Gets the value @self will animate from. + * + * Returns: the value to animate from + * + * Since: 1.0 + */ + public double getValueFrom() + { + return adw_timed_animation_get_value_from(adwTimedAnimation); + } + + /** + * Gets the value @self will animate to. + * + * Returns: the value to animate to + * + * Since: 1.0 + */ + public double getValueTo() + { + return adw_timed_animation_get_value_to(adwTimedAnimation); + } + + /** + * Sets whether @self changes direction on every iteration. + * + * Params: + * alternate = whether @self alternates + * + * Since: 1.0 + */ + public void setAlternate(bool alternate) + { + adw_timed_animation_set_alternate(adwTimedAnimation, alternate); + } + + /** + * Sets the duration of @self. + * + * If the animation repeats more than once, sets the duration of one iteration. + * + * Params: + * duration = the duration to use, in milliseconds + * + * Since: 1.0 + */ + public void setDuration(uint duration) + { + adw_timed_animation_set_duration(adwTimedAnimation, duration); + } + + /** + * Sets the easing function @self will use. + * + * See [enum@Easing] for the description of specific easing functions. + * + * Params: + * easing = the easing function to use + * + * Since: 1.0 + */ + public void setEasing(AdwEasing easing) + { + adw_timed_animation_set_easing(adwTimedAnimation, easing); + } + + /** + * Sets the number of times @self will play. + * + * If set to 0, @self will repeat endlessly. + * + * Params: + * repeatCount = the number of times @self will play + * + * Since: 1.0 + */ + public void setRepeatCount(uint repeatCount) + { + adw_timed_animation_set_repeat_count(adwTimedAnimation, repeatCount); + } + + /** + * Sets whether @self plays backwards. + * + * Params: + * reverse = whether @self plays backwards + * + * Since: 1.0 + */ + public void setReverse(bool reverse) + { + adw_timed_animation_set_reverse(adwTimedAnimation, reverse); + } + + /** + * Sets the value @self will animate from. + * + * Params: + * value = the value to animate from + * + * Since: 1.0 + */ + public void setValueFrom(double value) + { + adw_timed_animation_set_value_from(adwTimedAnimation, value); + } + + /** + * Sets the value @self will animate to. + * + * Params: + * value = the value to animate to + * + * Since: 1.0 + */ + public void setValueTo(double value) + { + adw_timed_animation_set_value_to(adwTimedAnimation, value); + } +} diff --git a/source/generated/adw/adw/Toast.d b/source/generated/adw/adw/Toast.d new file mode 100644 index 000000000..b4971927a --- /dev/null +++ b/source/generated/adw/adw/Toast.d @@ -0,0 +1,430 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.Toast; + +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import glib.Str; +private import glib.Variant; +private import glib.c.functions; +private import gobject.ObjectG; +private import gobject.Signals; +private import std.algorithm; + + +/** + * A helper object for [class@ToastOverlay]. + * + * Toasts are meant to be passed into [method@ToastOverlay.add_toast] as + * follows: + * + * ```c + * adw_toast_overlay_add_toast (overlay, adw_toast_new (_("Simple Toast")); + * ``` + * + * + * + * toast-simple + * + * + * Toasts always have a close button. They emit the [signal@Toast::dismissed] + * signal when disappearing. + * + * [property@Toast:timeout] determines how long the toast stays on screen, while + * [property@Toast:priority] determines how it behaves if another toast is + * already being displayed. + * + * ## Actions + * + * Toasts can have one button on them, with a label and an attached + * [iface@Gio.Action]. + * + * ```c + * AdwToast *toast = adw_toast_new (_("Toast with Action")); + * + * adw_toast_set_button_label (toast, _("_Example")); + * adw_toast_set_action_name (toast, "win.example"); + * + * adw_toast_overlay_add_toast (overlay, toast); + * ``` + * + * + * + * toast-action + * + * + * ## Modifying toasts + * + * Toasts can be modified after they have been shown. For this, an `AdwToast` + * reference must be kept around while the toast is visible. + * + * A common use case for this is using toasts as undo prompts that stack with + * each other, allowing to batch undo the last deleted items: + * + * ```c + * + * static void + * toast_undo_cb (GtkWidget *sender, + * const char *action, + * GVariant *param) + * { + * // Undo the deletion + * } + * + * static void + * dismissed_cb (MyWindow *self) + * { + * self->undo_toast = NULL; + * + * // Permanently delete the items + * } + * + * static void + * delete_item (MyWindow *self, + * MyItem *item) + * { + * g_autofree char *title = NULL; + * int n_items; + * + * // Mark the item as waiting for deletion + * n_items = ... // The number of waiting items + * + * if (!self->undo_toast) { + * title = g_strdup_printf (_("‘%s’ deleted"), ...); + * + * self->undo_toast = adw_toast_new (title); + * + * adw_toast_set_priority (self->undo_toast, ADW_TOAST_PRIORITY_HIGH); + * adw_toast_set_button_label (self->undo_toast, _("_Undo")); + * adw_toast_set_action_name (self->undo_toast, "toast.undo"); + * + * g_signal_connect_swapped (self->undo_toast, "dismissed", + * G_CALLBACK (dismissed_cb), self); + * + * adw_toast_overlay_add_toast (self->toast_overlay, self->undo_toast); + * + * return; + * } + * + * title = + * g_strdup_printf (ngettext ("%d item deleted", + * "%d items deleted", + * n_items), n_items); + * + * adw_toast_set_title (self->undo_toast, title); + * } + * + * static void + * my_window_class_init (MyWindowClass *klass) + * { + * GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + * + * gtk_widget_class_install_action (widget_class, "toast.undo", NULL, toast_undo_cb); + * } + * ``` + * + * + * + * toast-undo + * + * + * Since: 1.0 + */ +public class Toast : ObjectG +{ + /** the main Gtk struct */ + protected AdwToast* adwToast; + + /** Get the main Gtk struct */ + public AdwToast* getToastStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwToast; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwToast; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwToast* adwToast, bool ownedRef = false) + { + this.adwToast = adwToast; + super(cast(GObject*)adwToast, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_toast_get_type(); + } + + /** + * Creates a new `AdwToast`. + * + * The toast will use @title as its title. + * + * @title can be marked up with the Pango text markup language. + * + * Params: + * title = the title to be displayed + * + * Returns: the new created `AdwToast` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string title) + { + auto __p = adw_toast_new(Str.toStringz(title)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwToast*) __p, true); + } + + /** + * Dismisses @self. + * + * Since: 1.0 + */ + public void dismiss() + { + adw_toast_dismiss(adwToast); + } + + /** + * Gets the name of the associated action. + * + * Returns: the action name + * + * Since: 1.0 + */ + public string getActionName() + { + return Str.toString(adw_toast_get_action_name(adwToast)); + } + + /** + * Gets the parameter for action invocations. + * + * Returns: the action target + * + * Since: 1.0 + */ + public Variant getActionTargetValue() + { + auto __p = adw_toast_get_action_target_value(adwToast); + + if(__p is null) + { + return null; + } + + return new Variant(cast(GVariant*) __p); + } + + /** + * Gets the label to show on the button. + * + * Returns: the button label + * + * Since: 1.0 + */ + public string getButtonLabel() + { + return Str.toString(adw_toast_get_button_label(adwToast)); + } + + /** + * Gets priority for @self. + * + * Returns: the priority + * + * Since: 1.0 + */ + public AdwToastPriority getPriority() + { + return adw_toast_get_priority(adwToast); + } + + /** + * Gets timeout for @self. + * + * Returns: the timeout + * + * Since: 1.0 + */ + public uint getTimeout() + { + return adw_toast_get_timeout(adwToast); + } + + /** + * Gets the title that will be displayed on the toast. + * + * Returns: the title + * + * Since: 1.0 + */ + public string getTitle() + { + return Str.toString(adw_toast_get_title(adwToast)); + } + + /** + * Sets the name of the associated action. + * + * Params: + * actionName = the action name + * + * Since: 1.0 + */ + public void setActionName(string actionName) + { + adw_toast_set_action_name(adwToast, Str.toStringz(actionName)); + } + + /** + * Sets the parameter for action invocations. + * + * If the @action_target variant has a floating reference this function + * will sink it. + * + * Params: + * actionTarget = the action target + * + * Since: 1.0 + */ + public void setActionTargetValue(Variant actionTarget) + { + adw_toast_set_action_target_value(adwToast, (actionTarget is null) ? null : actionTarget.getVariantStruct()); + } + + /** + * Sets the label to show on the button. + * + * It set to `NULL`, the button won't be shown. + * + * Params: + * buttonLabel = a button label + * + * Since: 1.0 + */ + public void setButtonLabel(string buttonLabel) + { + adw_toast_set_button_label(adwToast, Str.toStringz(buttonLabel)); + } + + /** + * Sets the action name and its parameter. + * + * @detailed_action_name is a string in the format accepted by + * [func@Gio.Action.parse_detailed_name]. + * + * Params: + * detailedActionName = the detailed action name + * + * Since: 1.0 + */ + public void setDetailedActionName(string detailedActionName) + { + adw_toast_set_detailed_action_name(adwToast, Str.toStringz(detailedActionName)); + } + + /** + * Sets priority for @self. + * + * Priority controls how the toast behaves when another toast is already + * being displayed. + * + * If @priority is `ADW_TOAST_PRIORITY_NORMAL`, the toast will be queued. + * + * If @priority is `ADW_TOAST_PRIORITY_HIGH`, the toast will be displayed immediately, + * pushing the previous toast into the queue instead. + * + * Params: + * priority = the priority + * + * Since: 1.0 + */ + public void setPriority(AdwToastPriority priority) + { + adw_toast_set_priority(adwToast, priority); + } + + /** + * Sets timeout for @self. + * + * If @timeout is 0, the toast is displayed indefinitely until manually + * dismissed. + * + * Toasts cannot disappear while being hovered, pressed (on touchscreen), or + * have keyboard focus inside them. + * + * Params: + * timeout = the timeout + * + * Since: 1.0 + */ + public void setTimeout(uint timeout) + { + adw_toast_set_timeout(adwToast, timeout); + } + + /** + * Sets the title that will be displayed on the toast. + * + * Params: + * title = a title + * + * Since: 1.0 + */ + public void setTitle(string title) + { + adw_toast_set_title(adwToast, Str.toStringz(title)); + } + + /** + * Emitted when the toast has been dismissed. + * + * Since: 1.0 + */ + gulong addOnDismissed(void delegate(Toast) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "dismissed", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/adw/adw/ToastOverlay.d b/source/generated/adw/adw/ToastOverlay.d new file mode 100644 index 000000000..93ad478fc --- /dev/null +++ b/source/generated/adw/adw/ToastOverlay.d @@ -0,0 +1,181 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.ToastOverlay; + +private import adw.Toast; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; + + +/** + * A widget showing toasts above its content. + * + * + * + * toast-overlay + * + * + * Toasts can be shown with [method@ToastOverlay.add_toast]. + * + * See [class@Toast] for details. + * + * ## CSS nodes + * + * ``` + * toastoverlay + * ├── [child] + * ├── toast + * ┊ ├── label.heading + * ├── [button] + * ╰── button.circular.flat + * ``` + * + * `AdwToastOverlay`'s CSS node is called `toastoverlay`. It contains the child, + * as well as zero or more `toast` subnodes. + * + * Each of the `toast` nodes contains a `label` subnode with the `.heading` + * style class, optionally a `button` subnode, and another `button` subnode with + * `.circular` and `.flat` style classes. + * + * ## Accessibility + * + * `AdwToastOverlay` uses the `GTK_ACCESSIBLE_ROLE_TAB_GROUP` role. + * + * Since: 1.0 + */ +public class ToastOverlay : Widget +{ + /** the main Gtk struct */ + protected AdwToastOverlay* adwToastOverlay; + + /** Get the main Gtk struct */ + public AdwToastOverlay* getToastOverlayStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwToastOverlay; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwToastOverlay; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwToastOverlay* adwToastOverlay, bool ownedRef = false) + { + this.adwToastOverlay = adwToastOverlay; + super(cast(GtkWidget*)adwToastOverlay, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_toast_overlay_get_type(); + } + + /** + * Creates a new `AdwToastOverlay`. + * + * Returns: the new created `AdwToastOverlay` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_toast_overlay_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwToastOverlay*) __p); + } + + /** + * Displays @toast. + * + * Only one toast can be shown at a time; if a toast is already being displayed, + * either @toast or the original toast will be placed in a queue, depending on + * the priority of @toast. See [property@Toast:priority]. + * + * Params: + * toast = a toast + * + * Since: 1.0 + */ + public void addToast(Toast toast) + { + adw_toast_overlay_add_toast(adwToastOverlay, (toast is null) ? null : toast.getToastStruct()); + } + + /** + * Gets the child widget of @self. + * + * Returns: the child widget of @self + * + * Since: 1.0 + */ + public Widget getChild() + { + auto __p = adw_toast_overlay_get_child(adwToastOverlay); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Sets the child widget of @self. + * + * Params: + * child = the child widget + * + * Since: 1.0 + */ + public void setChild(Widget child) + { + adw_toast_overlay_set_child(adwToastOverlay, (child is null) ? null : child.getWidgetStruct()); + } +} diff --git a/source/generated/adw/adw/ViewStack.d b/source/generated/adw/adw/ViewStack.d new file mode 100644 index 000000000..7dc33980b --- /dev/null +++ b/source/generated/adw/adw/ViewStack.d @@ -0,0 +1,413 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.ViewStack; + +private import adw.ViewStackPage; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.SelectionModelIF; +private import gtk.Widget; + + +/** + * A view container for [class@ViewSwitcher]. + * + * `AdwViewStack` is a container which only shows one page at a time. + * It is typically used to hold an application's main views. + * + * It doesn't provide a way to transition between pages. + * Instead, a separate widget such as [class@ViewSwitcher] can be used with + * `AdwViewStack` to provide this functionality. + * + * `AdwViewStack` pages can have a title, an icon, an attention request, and a + * numbered badge that [class@ViewSwitcher] will use to let users identify which + * page is which. Set them using the [property@ViewStackPage:title], + * [property@ViewStackPage:icon-name], + * [property@ViewStackPage:needs-attention], and + * [property@ViewStackPage:badge-number] properties. + * + * Unlike [class@Gtk.Stack], transitions between views are not animated. + * + * `AdwViewStack` maintains a [class@ViewStackPage] object for each added child, + * which holds additional per-child properties. You obtain the + * [class@ViewStackPage] for a child with [method@ViewStack.get_page] and you + * can obtain a [iface@Gtk.SelectionModel] containing all the pages with + * [method@ViewStack.get_pages]. + * + * ## AdwViewStack as GtkBuildable + * + * To set child-specific properties in a .ui file, create + * [class@ViewStackPage] objects explicitly, and set the child widget as a + * property on it: + * + * ```xml + * + * + * + * overview + * Overview + * + * + * Welcome! + * + * + * + * + * + * ``` + * + * ## CSS nodes + * + * `AdwViewStack` has a single CSS node named `stack`. + * + * Since: 1.0 + */ +public class ViewStack : Widget +{ + /** the main Gtk struct */ + protected AdwViewStack* adwViewStack; + + /** Get the main Gtk struct */ + public AdwViewStack* getViewStackStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwViewStack; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwViewStack; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwViewStack* adwViewStack, bool ownedRef = false) + { + this.adwViewStack = adwViewStack; + super(cast(GtkWidget*)adwViewStack, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_view_stack_get_type(); + } + + /** + * Creates a new `AdwViewStack`. + * + * Returns: the newly created `AdwViewStack` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_view_stack_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwViewStack*) __p); + } + + /** + * Adds a child to @self. + * + * Params: + * child = the widget to add + * + * Returns: the [class@ViewStackPage] for @child + * + * Since: 1.0 + */ + public ViewStackPage add(Widget child) + { + auto __p = adw_view_stack_add(adwViewStack, (child is null) ? null : child.getWidgetStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ViewStackPage)(cast(AdwViewStackPage*) __p); + } + + /** + * Adds a child to @self. + * + * The child is identified by the @name. + * + * Params: + * child = the widget to add + * name = the name for @child + * + * Returns: the `AdwViewStackPage` for @child + * + * Since: 1.0 + */ + public ViewStackPage addNamed(Widget child, string name) + { + auto __p = adw_view_stack_add_named(adwViewStack, (child is null) ? null : child.getWidgetStruct(), Str.toStringz(name)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ViewStackPage)(cast(AdwViewStackPage*) __p); + } + + /** + * Adds a child to @self. + * + * The child is identified by the @name. The @title will be used by + * [class@ViewSwitcher] to represent @child, so it should be short. + * + * Params: + * child = the widget to add + * name = the name for @child + * title = a human-readable title for @child + * + * Returns: the `AdwViewStackPage` for @child + * + * Since: 1.0 + */ + public ViewStackPage addTitled(Widget child, string name, string title) + { + auto __p = adw_view_stack_add_titled(adwViewStack, (child is null) ? null : child.getWidgetStruct(), Str.toStringz(name), Str.toStringz(title)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ViewStackPage)(cast(AdwViewStackPage*) __p); + } + + /** + * Finds the child with @name in @self. + * + * Params: + * name = the name of the child to find + * + * Returns: the requested child + * + * Since: 1.0 + */ + public Widget getChildByName(string name) + { + auto __p = adw_view_stack_get_child_by_name(adwViewStack, Str.toStringz(name)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets whether @self is horizontally homogeneous. + * + * Returns: whether @self is horizontally homogeneous + * + * Since: 1.0 + */ + public bool getHhomogeneous() + { + return adw_view_stack_get_hhomogeneous(adwViewStack) != 0; + } + + /** + * Gets the [class@ViewStackPage] object for @child. + * + * Params: + * child = a child of @self + * + * Returns: the page object for @child + * + * Since: 1.0 + */ + public ViewStackPage getPage(Widget child) + { + auto __p = adw_view_stack_get_page(adwViewStack, (child is null) ? null : child.getWidgetStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ViewStackPage)(cast(AdwViewStackPage*) __p); + } + + /** + * Returns a [iface@Gio.ListModel] that contains the pages of the stack. + * + * This can be used to keep an up-to-date view. The model also implements + * [iface@Gtk.SelectionModel] and can be used to track and change the visible + * page. + * + * Returns: a `GtkSelectionModel` for the stack's children + * + * Since: 1.0 + */ + public SelectionModelIF getPages() + { + auto __p = adw_view_stack_get_pages(adwViewStack); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SelectionModelIF)(cast(GtkSelectionModel*) __p, true); + } + + /** + * Gets whether @self is vertically homogeneous. + * + * Returns: whether @self is vertically homogeneous + * + * Since: 1.0 + */ + public bool getVhomogeneous() + { + return adw_view_stack_get_vhomogeneous(adwViewStack) != 0; + } + + /** + * Gets the currently visible child of @self, . + * + * Returns: the visible child + * + * Since: 1.0 + */ + public Widget getVisibleChild() + { + auto __p = adw_view_stack_get_visible_child(adwViewStack); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Returns the name of the currently visible child of @self. + * + * Returns: the name of the visible child + * + * Since: 1.0 + */ + public string getVisibleChildName() + { + return Str.toString(adw_view_stack_get_visible_child_name(adwViewStack)); + } + + /** + * Removes a child widget from @self. + * + * Params: + * child = the child to remove + * + * Since: 1.0 + */ + public void remove(Widget child) + { + adw_view_stack_remove(adwViewStack, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Sets @self to be horizontally homogeneous or not. + * + * Params: + * hhomogeneous = whether to make @self horizontally homogeneous + * + * Since: 1.0 + */ + public void setHhomogeneous(bool hhomogeneous) + { + adw_view_stack_set_hhomogeneous(adwViewStack, hhomogeneous); + } + + /** + * Sets @self to be vertically homogeneous or not. + * + * Params: + * vhomogeneous = whether to make @self vertically homogeneous + * + * Since: 1.0 + */ + public void setVhomogeneous(bool vhomogeneous) + { + adw_view_stack_set_vhomogeneous(adwViewStack, vhomogeneous); + } + + /** + * Makes @child the visible child of @self. + * + * Params: + * child = a child of @self + * + * Since: 1.0 + */ + public void setVisibleChild(Widget child) + { + adw_view_stack_set_visible_child(adwViewStack, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Makes the child with @name visible. + * + * Params: + * name = the name of the child + * + * Since: 1.0 + */ + public void setVisibleChildName(string name) + { + adw_view_stack_set_visible_child_name(adwViewStack, Str.toStringz(name)); + } +} diff --git a/source/generated/adw/adw/ViewStackPage.d b/source/generated/adw/adw/ViewStackPage.d new file mode 100644 index 000000000..fa52084d2 --- /dev/null +++ b/source/generated/adw/adw/ViewStackPage.d @@ -0,0 +1,271 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.ViewStackPage; + +private import adw.c.functions; +public import adw.c.types; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.Widget; + + +/** + * An auxiliary class used by [class@ViewStack]. + * + * Since: 1.0 + */ +public class ViewStackPage : ObjectG +{ + /** the main Gtk struct */ + protected AdwViewStackPage* adwViewStackPage; + + /** Get the main Gtk struct */ + public AdwViewStackPage* getViewStackPageStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwViewStackPage; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwViewStackPage; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwViewStackPage* adwViewStackPage, bool ownedRef = false) + { + this.adwViewStackPage = adwViewStackPage; + super(cast(GObject*)adwViewStackPage, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_view_stack_page_get_type(); + } + + /** + * Gets the badge number for this page. + * + * Returns: the badge number for this page + * + * Since: 1.0 + */ + public uint getBadgeNumber() + { + return adw_view_stack_page_get_badge_number(adwViewStackPage); + } + + /** + * Gets the stack child to which @self belongs. + * + * Returns: the child to which @self belongs + * + * Since: 1.0 + */ + public Widget getChild() + { + auto __p = adw_view_stack_page_get_child(adwViewStackPage); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Gets the icon name of the page. + * + * Returns: the icon name of the page + * + * Since: 1.0 + */ + public string getIconName() + { + return Str.toString(adw_view_stack_page_get_icon_name(adwViewStackPage)); + } + + /** + * Gets the name of the page. + * + * Returns: the name of the page + * + * Since: 1.0 + */ + public string getName() + { + return Str.toString(adw_view_stack_page_get_name(adwViewStackPage)); + } + + /** + * Gets whether the page is marked as “needs attention”. + * + * Returns: whether the page needs attention + * + * Since: 1.0 + */ + public bool getNeedsAttention() + { + return adw_view_stack_page_get_needs_attention(adwViewStackPage) != 0; + } + + /** + * Gets the page title. + * + * Returns: the page title + * + * Since: 1.0 + */ + public string getTitle() + { + return Str.toString(adw_view_stack_page_get_title(adwViewStackPage)); + } + + /** + * Gets whether underlines in the page title indicate mnemonics. + * + * Returns: whether underlines in the page title indicate mnemonics + * + * Since: 1.0 + */ + public bool getUseUnderline() + { + return adw_view_stack_page_get_use_underline(adwViewStackPage) != 0; + } + + /** + * Gets whether @self is visible in its `AdwViewStack`. + * + * This is independent from the [property@Gtk.Widget:visible] + * property of its widget. + * + * Returns: whether @self is visible + * + * Since: 1.0 + */ + public bool getVisible() + { + return adw_view_stack_page_get_visible(adwViewStackPage) != 0; + } + + /** + * Sets the badge number for this page. + * + * Params: + * badgeNumber = the new value to set + * + * Since: 1.0 + */ + public void setBadgeNumber(uint badgeNumber) + { + adw_view_stack_page_set_badge_number(adwViewStackPage, badgeNumber); + } + + /** + * Sets the icon name of the page. + * + * Params: + * iconName = the icon name + * + * Since: 1.0 + */ + public void setIconName(string iconName) + { + adw_view_stack_page_set_icon_name(adwViewStackPage, Str.toStringz(iconName)); + } + + /** + * Sets the name of the page. + * + * Params: + * name = the page name + * + * Since: 1.0 + */ + public void setName(string name) + { + adw_view_stack_page_set_name(adwViewStackPage, Str.toStringz(name)); + } + + /** + * Sets whether the page is marked as “needs attention”. + * + * Params: + * needsAttention = the new value to set + * + * Since: 1.0 + */ + public void setNeedsAttention(bool needsAttention) + { + adw_view_stack_page_set_needs_attention(adwViewStackPage, needsAttention); + } + + /** + * Sets the page title. + * + * Params: + * title = the page title + * + * Since: 1.0 + */ + public void setTitle(string title) + { + adw_view_stack_page_set_title(adwViewStackPage, Str.toStringz(title)); + } + + /** + * Sets whether underlines in the page title indicate mnemonics. + * + * Params: + * useUnderline = the new value to set + * + * Since: 1.0 + */ + public void setUseUnderline(bool useUnderline) + { + adw_view_stack_page_set_use_underline(adwViewStackPage, useUnderline); + } + + /** + * Sets whether @page is visible in its `AdwViewStack`. + * + * Params: + * visible = whether @self is visible + * + * Since: 1.0 + */ + public void setVisible(bool visible) + { + adw_view_stack_page_set_visible(adwViewStackPage, visible); + } +} diff --git a/source/generated/adw/adw/ViewSwitcher.d b/source/generated/adw/adw/ViewSwitcher.d new file mode 100644 index 000000000..573be724e --- /dev/null +++ b/source/generated/adw/adw/ViewSwitcher.d @@ -0,0 +1,184 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.ViewSwitcher; + +private import adw.ViewStack; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; + + +/** + * An adaptive view switcher. + * + * + * + * view-switcher + * + * + * An adaptive view switcher designed to switch between multiple views + * contained in a [class@ViewStack] in a similar fashion to + * [class@Gtk.StackSwitcher]. + * + * `AdwViewSwitcher` buttons always have an icon and a label. They can be + * displayed side by side, or icon on top of the label. This can be controlled + * via the [property@ViewSwitcher:policy] property. + * + * Most applications should be using [class@ViewSwitcherBar] and + * [class@ViewSwitcherTitle]. + * + * ## CSS nodes + * + * `AdwViewSwitcher` has a single CSS node with name `viewswitcher`. It can have + * the style classes `.wide` and `.narrow`, matching its policy. + * + * ## Accessibility + * + * `AdwViewSwitcher` uses the `GTK_ACCESSIBLE_ROLE_TAB_LIST` role and uses the + * `GTK_ACCESSIBLE_ROLE_TAB` for its buttons. + * + * Since: 1.0 + */ +public class ViewSwitcher : Widget +{ + /** the main Gtk struct */ + protected AdwViewSwitcher* adwViewSwitcher; + + /** Get the main Gtk struct */ + public AdwViewSwitcher* getViewSwitcherStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwViewSwitcher; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwViewSwitcher; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwViewSwitcher* adwViewSwitcher, bool ownedRef = false) + { + this.adwViewSwitcher = adwViewSwitcher; + super(cast(GtkWidget*)adwViewSwitcher, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_view_switcher_get_type(); + } + + /** + * Creates a new `AdwViewSwitcher`. + * + * Returns: the newly created `AdwViewSwitcher` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_view_switcher_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwViewSwitcher*) __p); + } + + /** + * Gets the policy of @self. + * + * Returns: the policy of @self + * + * Since: 1.0 + */ + public AdwViewSwitcherPolicy getPolicy() + { + return adw_view_switcher_get_policy(adwViewSwitcher); + } + + /** + * Gets the stack controlled by @self. + * + * Returns: the stack + * + * Since: 1.0 + */ + public ViewStack getStack() + { + auto __p = adw_view_switcher_get_stack(adwViewSwitcher); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ViewStack)(cast(AdwViewStack*) __p); + } + + /** + * Sets the policy of @self. + * + * Params: + * policy = the new policy + * + * Since: 1.0 + */ + public void setPolicy(AdwViewSwitcherPolicy policy) + { + adw_view_switcher_set_policy(adwViewSwitcher, policy); + } + + /** + * Sets the stack controlled by @self. + * + * Params: + * stack = a stack + * + * Since: 1.0 + */ + public void setStack(ViewStack stack) + { + adw_view_switcher_set_stack(adwViewSwitcher, (stack is null) ? null : stack.getViewStackStruct()); + } +} diff --git a/source/generated/adw/adw/ViewSwitcherBar.d b/source/generated/adw/adw/ViewSwitcherBar.d new file mode 100644 index 000000000..420748242 --- /dev/null +++ b/source/generated/adw/adw/ViewSwitcherBar.d @@ -0,0 +1,211 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.ViewSwitcherBar; + +private import adw.ViewStack; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; + + +/** + * A view switcher action bar. + * + * + * + * view-switcher-bar + * + * + * An action bar letting you switch between multiple views contained in a + * [class@ViewStack], via an [class@ViewSwitcher]. It is designed to be put at + * the bottom of a window and to be revealed only on really narrow windows, e.g. + * on mobile phones. It can't be revealed if there are less than two pages. + * + * `AdwViewSwitcherBar` is intended to be used together with + * [class@ViewSwitcherTitle]. + * + * A common use case is to bind the [property@ViewSwitcherBar:reveal] property + * to [property@ViewSwitcherTitle:title-visible] to automatically reveal the + * view switcher bar when the title label is displayed in place of the view + * switcher, as follows: + * + * ```xml + * + * + * + * strict + * + * + * stack + * + * + * + * + * + * + * vertical + * + * + * + * + * + * stack + * + * title + * + * + * + * + * + * + * ``` + * + * ## CSS nodes + * + * `AdwViewSwitcherBar` has a single CSS node with name` viewswitcherbar`. + * + * Since: 1.0 + */ +public class ViewSwitcherBar : Widget +{ + /** the main Gtk struct */ + protected AdwViewSwitcherBar* adwViewSwitcherBar; + + /** Get the main Gtk struct */ + public AdwViewSwitcherBar* getViewSwitcherBarStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwViewSwitcherBar; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwViewSwitcherBar; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwViewSwitcherBar* adwViewSwitcherBar, bool ownedRef = false) + { + this.adwViewSwitcherBar = adwViewSwitcherBar; + super(cast(GtkWidget*)adwViewSwitcherBar, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_view_switcher_bar_get_type(); + } + + /** + * Creates a new `AdwViewSwitcherBar`. + * + * Returns: the newly created `AdwViewSwitcherBar` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_view_switcher_bar_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwViewSwitcherBar*) __p); + } + + /** + * Gets whether @self should be revealed or hidden. + * + * Returns: whether @self is revealed + * + * Since: 1.0 + */ + public bool getReveal() + { + return adw_view_switcher_bar_get_reveal(adwViewSwitcherBar) != 0; + } + + /** + * Gets the stack controlled by @self. + * + * Returns: the stack + * + * Since: 1.0 + */ + public ViewStack getStack() + { + auto __p = adw_view_switcher_bar_get_stack(adwViewSwitcherBar); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ViewStack)(cast(AdwViewStack*) __p); + } + + /** + * Sets whether @self should be revealed or hidden. + * + * Params: + * reveal = whether to reveal @self + * + * Since: 1.0 + */ + public void setReveal(bool reveal) + { + adw_view_switcher_bar_set_reveal(adwViewSwitcherBar, reveal); + } + + /** + * Sets the stack controlled by @self. + * + * Params: + * stack = a stack + * + * Since: 1.0 + */ + public void setStack(ViewStack stack) + { + adw_view_switcher_bar_set_stack(adwViewSwitcherBar, (stack is null) ? null : stack.getViewStackStruct()); + } +} diff --git a/source/generated/adw/adw/ViewSwitcherTitle.d b/source/generated/adw/adw/ViewSwitcherTitle.d new file mode 100644 index 000000000..14c1e3b91 --- /dev/null +++ b/source/generated/adw/adw/ViewSwitcherTitle.d @@ -0,0 +1,281 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.ViewSwitcherTitle; + +private import adw.ViewStack; +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; + + +/** + * A view switcher title. + * + * + * + * view-switcher-title + * + * + * A widget letting you switch between multiple views contained by a + * [class@ViewStack] via an [class@ViewSwitcher]. + * + * It is designed to be used as the title widget of a [class@HeaderBar], and + * will display the window's title when the window is too narrow to fit the view + * switcher e.g. on mobile phones, or if there are less than two views. + * + * In order to center the title in narrow windows, the header bar should have + * [property@HeaderBar:centering-policy] set to + * `ADW_CENTERING_POLICY_STRICT`. + * + * `AdwViewSwitcherTitle` is intended to be used together with + * [class@ViewSwitcherBar]. + * + * A common use case is to bind the [property@ViewSwitcherBar:reveal] property + * to [property@ViewSwitcherTitle:title-visible] to automatically reveal the + * view switcher bar when the title label is displayed in place of the view + * switcher, as follows: + * + * ```xml + * + * + * + * strict + * + * + * stack + * + * + * + * + * + * + * vertical + * + * + * + * + * + * stack + * + * title + * + * + * + * + * + * + * ``` + * + * ## CSS nodes + * + * `AdwViewSwitcherTitle` has a single CSS node with name `viewswitchertitle`. + * + * Since: 1.0 + */ +public class ViewSwitcherTitle : Widget +{ + /** the main Gtk struct */ + protected AdwViewSwitcherTitle* adwViewSwitcherTitle; + + /** Get the main Gtk struct */ + public AdwViewSwitcherTitle* getViewSwitcherTitleStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwViewSwitcherTitle; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwViewSwitcherTitle; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwViewSwitcherTitle* adwViewSwitcherTitle, bool ownedRef = false) + { + this.adwViewSwitcherTitle = adwViewSwitcherTitle; + super(cast(GtkWidget*)adwViewSwitcherTitle, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_view_switcher_title_get_type(); + } + + /** + * Creates a new `AdwViewSwitcherTitle`. + * + * Returns: the newly created `AdwViewSwitcherTitle` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_view_switcher_title_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwViewSwitcherTitle*) __p); + } + + /** + * Gets the stack controlled by @self. + * + * Returns: the stack + * + * Since: 1.0 + */ + public ViewStack getStack() + { + auto __p = adw_view_switcher_title_get_stack(adwViewSwitcherTitle); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ViewStack)(cast(AdwViewStack*) __p); + } + + /** + * Gets the subtitle of @self. + * + * Returns: the subtitle + * + * Since: 1.0 + */ + public string getSubtitle() + { + return Str.toString(adw_view_switcher_title_get_subtitle(adwViewSwitcherTitle)); + } + + /** + * Gets the title of @self. + * + * Returns: the title + * + * Since: 1.0 + */ + public string getTitle() + { + return Str.toString(adw_view_switcher_title_get_title(adwViewSwitcherTitle)); + } + + /** + * Gets whether the title of @self is currently visible. + * + * Returns: whether the title of @self is currently visible + * + * Since: 1.0 + */ + public bool getTitleVisible() + { + return adw_view_switcher_title_get_title_visible(adwViewSwitcherTitle) != 0; + } + + /** + * Gets whether @self's view switcher is enabled. + * + * Returns: whether the view switcher is enabled + * + * Since: 1.0 + */ + public bool getViewSwitcherEnabled() + { + return adw_view_switcher_title_get_view_switcher_enabled(adwViewSwitcherTitle) != 0; + } + + /** + * Sets the stack controlled by @self. + * + * Params: + * stack = a stack + * + * Since: 1.0 + */ + public void setStack(ViewStack stack) + { + adw_view_switcher_title_set_stack(adwViewSwitcherTitle, (stack is null) ? null : stack.getViewStackStruct()); + } + + /** + * Sets the subtitle of @self. + * + * Params: + * subtitle = a subtitle + * + * Since: 1.0 + */ + public void setSubtitle(string subtitle) + { + adw_view_switcher_title_set_subtitle(adwViewSwitcherTitle, Str.toStringz(subtitle)); + } + + /** + * Sets the title of @self. + * + * Params: + * title = a title + * + * Since: 1.0 + */ + public void setTitle(string title) + { + adw_view_switcher_title_set_title(adwViewSwitcherTitle, Str.toStringz(title)); + } + + /** + * Sets whether @self's view switcher is enabled. + * + * Params: + * enabled = whether the view switcher is enabled + * + * Since: 1.0 + */ + public void setViewSwitcherEnabled(bool enabled) + { + adw_view_switcher_title_set_view_switcher_enabled(adwViewSwitcherTitle, enabled); + } +} diff --git a/source/generated/adw/adw/Window.d b/source/generated/adw/adw/Window.d new file mode 100644 index 000000000..411056b23 --- /dev/null +++ b/source/generated/adw/adw/Window.d @@ -0,0 +1,180 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.Window; + +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.NativeIF; +private import gtk.NativeT; +private import gtk.RootIF; +private import gtk.RootT; +private import gtk.ShortcutManagerIF; +private import gtk.ShortcutManagerT; +private import gtk.Widget; +private import gtk.Window : DGtkWindow = Window; + + +/** + * A freeform window. + * + * + * + * window + * + * + * The `AdwWindow` widget is a subclass of [class@Gtk.Window] which has no + * titlebar area. It means [class@Gtk.HeaderBar] can be used as follows: + * + * ```xml + * + * + * + * vertical + * + * + * + * + * + * + * + * + * + * ``` + * + * Using [method@Gtk.Window.get_titlebar] and [method@Gtk.Window.set_titlebar] + * is not supported and will result in a crash. + * + * Since: 1.0 + */ +public class Window : DGtkWindow +{ + /** the main Gtk struct */ + protected AdwWindow* adwWindow; + + /** Get the main Gtk struct */ + public AdwWindow* getAdwWindowStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwWindow; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwWindow; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwWindow* adwWindow, bool ownedRef = false) + { + this.adwWindow = adwWindow; + super(cast(GtkWindow*)adwWindow, ownedRef); + } + + /** + * You should use `setContent(Widget)` instead + */ + override void setChild(Widget child) + { + setContent(child); + } + + /** + */ + + /** */ + public static GType getType() + { + return adw_window_get_type(); + } + + /** + * Creates a new `AdwWindow`. + * + * Returns: the newly created `AdwWindow` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = adw_window_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwWindow*) __p); + } + + /** + * Gets the content widget of @self. + * + * This method should always be used instead of [method@Gtk.Window.get_child]. + * + * Returns: the content widget of @self + * + * Since: 1.0 + */ + public Widget getContent() + { + auto __p = adw_window_get_content(adwWindow); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Sets the content widget of @self. + * + * This method should always be used instead of [method@Gtk.Window.set_child]. + * + * Params: + * content = the content widget + * + * Since: 1.0 + */ + public void setContent(Widget content) + { + adw_window_set_content(adwWindow, (content is null) ? null : content.getWidgetStruct()); + } +} diff --git a/source/generated/adw/adw/WindowTitle.d b/source/generated/adw/adw/WindowTitle.d new file mode 100644 index 000000000..410a3c06a --- /dev/null +++ b/source/generated/adw/adw/WindowTitle.d @@ -0,0 +1,168 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.WindowTitle; + +private import adw.c.functions; +public import adw.c.types; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; + + +/** + * A helper widget for setting a window's title and subtitle. + * + * + * + * window-title + * + * + * `AdwWindowTitle` shows a title and subtitle. It's intended to be used as the + * title child of [class@Gtk.HeaderBar] or [class@HeaderBar]. + * + * ## CSS nodes + * + * `AdwWindowTitle` has a single CSS node with name `windowtitle`. + * + * Since: 1.0 + */ +public class WindowTitle : Widget +{ + /** the main Gtk struct */ + protected AdwWindowTitle* adwWindowTitle; + + /** Get the main Gtk struct */ + public AdwWindowTitle* getWindowTitleStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return adwWindowTitle; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)adwWindowTitle; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (AdwWindowTitle* adwWindowTitle, bool ownedRef = false) + { + this.adwWindowTitle = adwWindowTitle; + super(cast(GtkWidget*)adwWindowTitle, ownedRef); + } + + + /** */ + public static GType getType() + { + return adw_window_title_get_type(); + } + + /** + * Creates a new `AdwWindowTitle`. + * + * Params: + * title = a title + * subtitle = a subtitle + * + * Returns: the newly created `AdwWindowTitle` + * + * Since: 1.0 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string title, string subtitle) + { + auto __p = adw_window_title_new(Str.toStringz(title), Str.toStringz(subtitle)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(AdwWindowTitle*) __p); + } + + /** + * Gets the subtitle of @self. + * + * Returns: the subtitle + * + * Since: 1.0 + */ + public string getSubtitle() + { + return Str.toString(adw_window_title_get_subtitle(adwWindowTitle)); + } + + /** + * Gets the title of @self. + * + * Returns: the title + * + * Since: 1.0 + */ + public string getTitle() + { + return Str.toString(adw_window_title_get_title(adwWindowTitle)); + } + + /** + * Sets the subtitle of @self. + * + * Params: + * subtitle = a subtitle + * + * Since: 1.0 + */ + public void setSubtitle(string subtitle) + { + adw_window_title_set_subtitle(adwWindowTitle, Str.toStringz(subtitle)); + } + + /** + * Sets the title of @self. + * + * Params: + * title = a title + * + * Since: 1.0 + */ + public void setTitle(string title) + { + adw_window_title_set_title(adwWindowTitle, Str.toStringz(title)); + } +} diff --git a/source/generated/adw/adw/c/functions.d b/source/generated/adw/adw/c/functions.d new file mode 100644 index 000000000..981a5bccd --- /dev/null +++ b/source/generated/adw/adw/c/functions.d @@ -0,0 +1,2204 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.c.functions; + +import std.stdio; +import adw.c.types; +import linker.Loader; + +version (Windows) + static immutable LIBRARY_ADW = ["libadwaita-1-0.dll;adwaita-1-1.0.dll;adwaita-1.dll"]; +else version (OSX) + static immutable LIBRARY_ADW = ["libadwaita-1.0.dylib"]; +else + static immutable LIBRARY_ADW = ["libadwaita-1.so.0"]; + +shared static this() +{ + // adw.ActionRow + + Linker.link(adw_action_row_get_type, "adw_action_row_get_type", LIBRARY_ADW); + Linker.link(adw_action_row_new, "adw_action_row_new", LIBRARY_ADW); + Linker.link(adw_action_row_activate, "adw_action_row_activate", LIBRARY_ADW); + Linker.link(adw_action_row_add_prefix, "adw_action_row_add_prefix", LIBRARY_ADW); + Linker.link(adw_action_row_add_suffix, "adw_action_row_add_suffix", LIBRARY_ADW); + Linker.link(adw_action_row_get_activatable_widget, "adw_action_row_get_activatable_widget", LIBRARY_ADW); + Linker.link(adw_action_row_get_icon_name, "adw_action_row_get_icon_name", LIBRARY_ADW); + Linker.link(adw_action_row_get_subtitle, "adw_action_row_get_subtitle", LIBRARY_ADW); + Linker.link(adw_action_row_get_subtitle_lines, "adw_action_row_get_subtitle_lines", LIBRARY_ADW); + Linker.link(adw_action_row_get_title_lines, "adw_action_row_get_title_lines", LIBRARY_ADW); + Linker.link(adw_action_row_remove, "adw_action_row_remove", LIBRARY_ADW); + Linker.link(adw_action_row_set_activatable_widget, "adw_action_row_set_activatable_widget", LIBRARY_ADW); + Linker.link(adw_action_row_set_icon_name, "adw_action_row_set_icon_name", LIBRARY_ADW); + Linker.link(adw_action_row_set_subtitle, "adw_action_row_set_subtitle", LIBRARY_ADW); + Linker.link(adw_action_row_set_subtitle_lines, "adw_action_row_set_subtitle_lines", LIBRARY_ADW); + Linker.link(adw_action_row_set_title_lines, "adw_action_row_set_title_lines", LIBRARY_ADW); + + // adw.Animation + + Linker.link(adw_animation_get_type, "adw_animation_get_type", LIBRARY_ADW); + Linker.link(adw_animation_get_state, "adw_animation_get_state", LIBRARY_ADW); + Linker.link(adw_animation_get_target, "adw_animation_get_target", LIBRARY_ADW); + Linker.link(adw_animation_get_value, "adw_animation_get_value", LIBRARY_ADW); + Linker.link(adw_animation_get_widget, "adw_animation_get_widget", LIBRARY_ADW); + Linker.link(adw_animation_pause, "adw_animation_pause", LIBRARY_ADW); + Linker.link(adw_animation_play, "adw_animation_play", LIBRARY_ADW); + Linker.link(adw_animation_reset, "adw_animation_reset", LIBRARY_ADW); + Linker.link(adw_animation_resume, "adw_animation_resume", LIBRARY_ADW); + Linker.link(adw_animation_skip, "adw_animation_skip", LIBRARY_ADW); + + // adw.AnimationTarget + + Linker.link(adw_animation_target_get_type, "adw_animation_target_get_type", LIBRARY_ADW); + + // adw.Application + + Linker.link(adw_application_get_type, "adw_application_get_type", LIBRARY_ADW); + Linker.link(adw_application_new, "adw_application_new", LIBRARY_ADW); + Linker.link(adw_application_get_style_manager, "adw_application_get_style_manager", LIBRARY_ADW); + + // adw.ApplicationWindow + + Linker.link(adw_application_window_get_type, "adw_application_window_get_type", LIBRARY_ADW); + Linker.link(adw_application_window_new, "adw_application_window_new", LIBRARY_ADW); + Linker.link(adw_application_window_get_content, "adw_application_window_get_content", LIBRARY_ADW); + Linker.link(adw_application_window_set_content, "adw_application_window_set_content", LIBRARY_ADW); + + // adw.Avatar + + Linker.link(adw_avatar_get_type, "adw_avatar_get_type", LIBRARY_ADW); + Linker.link(adw_avatar_new, "adw_avatar_new", LIBRARY_ADW); + Linker.link(adw_avatar_draw_to_texture, "adw_avatar_draw_to_texture", LIBRARY_ADW); + Linker.link(adw_avatar_get_custom_image, "adw_avatar_get_custom_image", LIBRARY_ADW); + Linker.link(adw_avatar_get_icon_name, "adw_avatar_get_icon_name", LIBRARY_ADW); + Linker.link(adw_avatar_get_show_initials, "adw_avatar_get_show_initials", LIBRARY_ADW); + Linker.link(adw_avatar_get_size, "adw_avatar_get_size", LIBRARY_ADW); + Linker.link(adw_avatar_get_text, "adw_avatar_get_text", LIBRARY_ADW); + Linker.link(adw_avatar_set_custom_image, "adw_avatar_set_custom_image", LIBRARY_ADW); + Linker.link(adw_avatar_set_icon_name, "adw_avatar_set_icon_name", LIBRARY_ADW); + Linker.link(adw_avatar_set_show_initials, "adw_avatar_set_show_initials", LIBRARY_ADW); + Linker.link(adw_avatar_set_size, "adw_avatar_set_size", LIBRARY_ADW); + Linker.link(adw_avatar_set_text, "adw_avatar_set_text", LIBRARY_ADW); + + // adw.Bin + + Linker.link(adw_bin_get_type, "adw_bin_get_type", LIBRARY_ADW); + Linker.link(adw_bin_new, "adw_bin_new", LIBRARY_ADW); + Linker.link(adw_bin_get_child, "adw_bin_get_child", LIBRARY_ADW); + Linker.link(adw_bin_set_child, "adw_bin_set_child", LIBRARY_ADW); + + // adw.ButtonContent + + Linker.link(adw_button_content_get_type, "adw_button_content_get_type", LIBRARY_ADW); + Linker.link(adw_button_content_new, "adw_button_content_new", LIBRARY_ADW); + Linker.link(adw_button_content_get_icon_name, "adw_button_content_get_icon_name", LIBRARY_ADW); + Linker.link(adw_button_content_get_label, "adw_button_content_get_label", LIBRARY_ADW); + Linker.link(adw_button_content_get_use_underline, "adw_button_content_get_use_underline", LIBRARY_ADW); + Linker.link(adw_button_content_set_icon_name, "adw_button_content_set_icon_name", LIBRARY_ADW); + Linker.link(adw_button_content_set_label, "adw_button_content_set_label", LIBRARY_ADW); + Linker.link(adw_button_content_set_use_underline, "adw_button_content_set_use_underline", LIBRARY_ADW); + + // adw.CallbackAnimationTarget + + Linker.link(adw_callback_animation_target_get_type, "adw_callback_animation_target_get_type", LIBRARY_ADW); + Linker.link(adw_callback_animation_target_new, "adw_callback_animation_target_new", LIBRARY_ADW); + + // adw.Carousel + + Linker.link(adw_carousel_get_type, "adw_carousel_get_type", LIBRARY_ADW); + Linker.link(adw_carousel_new, "adw_carousel_new", LIBRARY_ADW); + Linker.link(adw_carousel_append, "adw_carousel_append", LIBRARY_ADW); + Linker.link(adw_carousel_get_allow_long_swipes, "adw_carousel_get_allow_long_swipes", LIBRARY_ADW); + Linker.link(adw_carousel_get_allow_mouse_drag, "adw_carousel_get_allow_mouse_drag", LIBRARY_ADW); + Linker.link(adw_carousel_get_allow_scroll_wheel, "adw_carousel_get_allow_scroll_wheel", LIBRARY_ADW); + Linker.link(adw_carousel_get_interactive, "adw_carousel_get_interactive", LIBRARY_ADW); + Linker.link(adw_carousel_get_n_pages, "adw_carousel_get_n_pages", LIBRARY_ADW); + Linker.link(adw_carousel_get_nth_page, "adw_carousel_get_nth_page", LIBRARY_ADW); + Linker.link(adw_carousel_get_position, "adw_carousel_get_position", LIBRARY_ADW); + Linker.link(adw_carousel_get_reveal_duration, "adw_carousel_get_reveal_duration", LIBRARY_ADW); + Linker.link(adw_carousel_get_scroll_params, "adw_carousel_get_scroll_params", LIBRARY_ADW); + Linker.link(adw_carousel_get_spacing, "adw_carousel_get_spacing", LIBRARY_ADW); + Linker.link(adw_carousel_insert, "adw_carousel_insert", LIBRARY_ADW); + Linker.link(adw_carousel_prepend, "adw_carousel_prepend", LIBRARY_ADW); + Linker.link(adw_carousel_remove, "adw_carousel_remove", LIBRARY_ADW); + Linker.link(adw_carousel_reorder, "adw_carousel_reorder", LIBRARY_ADW); + Linker.link(adw_carousel_scroll_to, "adw_carousel_scroll_to", LIBRARY_ADW); + Linker.link(adw_carousel_set_allow_long_swipes, "adw_carousel_set_allow_long_swipes", LIBRARY_ADW); + Linker.link(adw_carousel_set_allow_mouse_drag, "adw_carousel_set_allow_mouse_drag", LIBRARY_ADW); + Linker.link(adw_carousel_set_allow_scroll_wheel, "adw_carousel_set_allow_scroll_wheel", LIBRARY_ADW); + Linker.link(adw_carousel_set_interactive, "adw_carousel_set_interactive", LIBRARY_ADW); + Linker.link(adw_carousel_set_reveal_duration, "adw_carousel_set_reveal_duration", LIBRARY_ADW); + Linker.link(adw_carousel_set_scroll_params, "adw_carousel_set_scroll_params", LIBRARY_ADW); + Linker.link(adw_carousel_set_spacing, "adw_carousel_set_spacing", LIBRARY_ADW); + + // adw.CarouselIndicatorDots + + Linker.link(adw_carousel_indicator_dots_get_type, "adw_carousel_indicator_dots_get_type", LIBRARY_ADW); + Linker.link(adw_carousel_indicator_dots_new, "adw_carousel_indicator_dots_new", LIBRARY_ADW); + Linker.link(adw_carousel_indicator_dots_get_carousel, "adw_carousel_indicator_dots_get_carousel", LIBRARY_ADW); + Linker.link(adw_carousel_indicator_dots_set_carousel, "adw_carousel_indicator_dots_set_carousel", LIBRARY_ADW); + + // adw.CarouselIndicatorLines + + Linker.link(adw_carousel_indicator_lines_get_type, "adw_carousel_indicator_lines_get_type", LIBRARY_ADW); + Linker.link(adw_carousel_indicator_lines_new, "adw_carousel_indicator_lines_new", LIBRARY_ADW); + Linker.link(adw_carousel_indicator_lines_get_carousel, "adw_carousel_indicator_lines_get_carousel", LIBRARY_ADW); + Linker.link(adw_carousel_indicator_lines_set_carousel, "adw_carousel_indicator_lines_set_carousel", LIBRARY_ADW); + + // adw.Clamp + + Linker.link(adw_clamp_get_type, "adw_clamp_get_type", LIBRARY_ADW); + Linker.link(adw_clamp_new, "adw_clamp_new", LIBRARY_ADW); + Linker.link(adw_clamp_get_child, "adw_clamp_get_child", LIBRARY_ADW); + Linker.link(adw_clamp_get_maximum_size, "adw_clamp_get_maximum_size", LIBRARY_ADW); + Linker.link(adw_clamp_get_tightening_threshold, "adw_clamp_get_tightening_threshold", LIBRARY_ADW); + Linker.link(adw_clamp_set_child, "adw_clamp_set_child", LIBRARY_ADW); + Linker.link(adw_clamp_set_maximum_size, "adw_clamp_set_maximum_size", LIBRARY_ADW); + Linker.link(adw_clamp_set_tightening_threshold, "adw_clamp_set_tightening_threshold", LIBRARY_ADW); + + // adw.ClampLayout + + Linker.link(adw_clamp_layout_get_type, "adw_clamp_layout_get_type", LIBRARY_ADW); + Linker.link(adw_clamp_layout_new, "adw_clamp_layout_new", LIBRARY_ADW); + Linker.link(adw_clamp_layout_get_maximum_size, "adw_clamp_layout_get_maximum_size", LIBRARY_ADW); + Linker.link(adw_clamp_layout_get_tightening_threshold, "adw_clamp_layout_get_tightening_threshold", LIBRARY_ADW); + Linker.link(adw_clamp_layout_set_maximum_size, "adw_clamp_layout_set_maximum_size", LIBRARY_ADW); + Linker.link(adw_clamp_layout_set_tightening_threshold, "adw_clamp_layout_set_tightening_threshold", LIBRARY_ADW); + + // adw.ClampScrollable + + Linker.link(adw_clamp_scrollable_get_type, "adw_clamp_scrollable_get_type", LIBRARY_ADW); + Linker.link(adw_clamp_scrollable_new, "adw_clamp_scrollable_new", LIBRARY_ADW); + Linker.link(adw_clamp_scrollable_get_child, "adw_clamp_scrollable_get_child", LIBRARY_ADW); + Linker.link(adw_clamp_scrollable_get_maximum_size, "adw_clamp_scrollable_get_maximum_size", LIBRARY_ADW); + Linker.link(adw_clamp_scrollable_get_tightening_threshold, "adw_clamp_scrollable_get_tightening_threshold", LIBRARY_ADW); + Linker.link(adw_clamp_scrollable_set_child, "adw_clamp_scrollable_set_child", LIBRARY_ADW); + Linker.link(adw_clamp_scrollable_set_maximum_size, "adw_clamp_scrollable_set_maximum_size", LIBRARY_ADW); + Linker.link(adw_clamp_scrollable_set_tightening_threshold, "adw_clamp_scrollable_set_tightening_threshold", LIBRARY_ADW); + + // adw.ComboRow + + Linker.link(adw_combo_row_get_type, "adw_combo_row_get_type", LIBRARY_ADW); + Linker.link(adw_combo_row_new, "adw_combo_row_new", LIBRARY_ADW); + Linker.link(adw_combo_row_get_expression, "adw_combo_row_get_expression", LIBRARY_ADW); + Linker.link(adw_combo_row_get_factory, "adw_combo_row_get_factory", LIBRARY_ADW); + Linker.link(adw_combo_row_get_list_factory, "adw_combo_row_get_list_factory", LIBRARY_ADW); + Linker.link(adw_combo_row_get_model, "adw_combo_row_get_model", LIBRARY_ADW); + Linker.link(adw_combo_row_get_selected, "adw_combo_row_get_selected", LIBRARY_ADW); + Linker.link(adw_combo_row_get_selected_item, "adw_combo_row_get_selected_item", LIBRARY_ADW); + Linker.link(adw_combo_row_get_use_subtitle, "adw_combo_row_get_use_subtitle", LIBRARY_ADW); + Linker.link(adw_combo_row_set_expression, "adw_combo_row_set_expression", LIBRARY_ADW); + Linker.link(adw_combo_row_set_factory, "adw_combo_row_set_factory", LIBRARY_ADW); + Linker.link(adw_combo_row_set_list_factory, "adw_combo_row_set_list_factory", LIBRARY_ADW); + Linker.link(adw_combo_row_set_model, "adw_combo_row_set_model", LIBRARY_ADW); + Linker.link(adw_combo_row_set_selected, "adw_combo_row_set_selected", LIBRARY_ADW); + Linker.link(adw_combo_row_set_use_subtitle, "adw_combo_row_set_use_subtitle", LIBRARY_ADW); + + // adw.EnumListItem + + Linker.link(adw_enum_list_item_get_type, "adw_enum_list_item_get_type", LIBRARY_ADW); + Linker.link(adw_enum_list_item_get_name, "adw_enum_list_item_get_name", LIBRARY_ADW); + Linker.link(adw_enum_list_item_get_nick, "adw_enum_list_item_get_nick", LIBRARY_ADW); + Linker.link(adw_enum_list_item_get_value, "adw_enum_list_item_get_value", LIBRARY_ADW); + + // adw.EnumListModel + + Linker.link(adw_enum_list_model_get_type, "adw_enum_list_model_get_type", LIBRARY_ADW); + Linker.link(adw_enum_list_model_new, "adw_enum_list_model_new", LIBRARY_ADW); + Linker.link(adw_enum_list_model_find_position, "adw_enum_list_model_find_position", LIBRARY_ADW); + Linker.link(adw_enum_list_model_get_enum_type, "adw_enum_list_model_get_enum_type", LIBRARY_ADW); + + // adw.ExpanderRow + + Linker.link(adw_expander_row_get_type, "adw_expander_row_get_type", LIBRARY_ADW); + Linker.link(adw_expander_row_new, "adw_expander_row_new", LIBRARY_ADW); + Linker.link(adw_expander_row_add_action, "adw_expander_row_add_action", LIBRARY_ADW); + Linker.link(adw_expander_row_add_prefix, "adw_expander_row_add_prefix", LIBRARY_ADW); + Linker.link(adw_expander_row_add_row, "adw_expander_row_add_row", LIBRARY_ADW); + Linker.link(adw_expander_row_get_enable_expansion, "adw_expander_row_get_enable_expansion", LIBRARY_ADW); + Linker.link(adw_expander_row_get_expanded, "adw_expander_row_get_expanded", LIBRARY_ADW); + Linker.link(adw_expander_row_get_icon_name, "adw_expander_row_get_icon_name", LIBRARY_ADW); + Linker.link(adw_expander_row_get_show_enable_switch, "adw_expander_row_get_show_enable_switch", LIBRARY_ADW); + Linker.link(adw_expander_row_get_subtitle, "adw_expander_row_get_subtitle", LIBRARY_ADW); + Linker.link(adw_expander_row_remove, "adw_expander_row_remove", LIBRARY_ADW); + Linker.link(adw_expander_row_set_enable_expansion, "adw_expander_row_set_enable_expansion", LIBRARY_ADW); + Linker.link(adw_expander_row_set_expanded, "adw_expander_row_set_expanded", LIBRARY_ADW); + Linker.link(adw_expander_row_set_icon_name, "adw_expander_row_set_icon_name", LIBRARY_ADW); + Linker.link(adw_expander_row_set_show_enable_switch, "adw_expander_row_set_show_enable_switch", LIBRARY_ADW); + Linker.link(adw_expander_row_set_subtitle, "adw_expander_row_set_subtitle", LIBRARY_ADW); + + // adw.Flap + + Linker.link(adw_flap_get_type, "adw_flap_get_type", LIBRARY_ADW); + Linker.link(adw_flap_new, "adw_flap_new", LIBRARY_ADW); + Linker.link(adw_flap_get_content, "adw_flap_get_content", LIBRARY_ADW); + Linker.link(adw_flap_get_flap, "adw_flap_get_flap", LIBRARY_ADW); + Linker.link(adw_flap_get_flap_position, "adw_flap_get_flap_position", LIBRARY_ADW); + Linker.link(adw_flap_get_fold_duration, "adw_flap_get_fold_duration", LIBRARY_ADW); + Linker.link(adw_flap_get_fold_policy, "adw_flap_get_fold_policy", LIBRARY_ADW); + Linker.link(adw_flap_get_fold_threshold_policy, "adw_flap_get_fold_threshold_policy", LIBRARY_ADW); + Linker.link(adw_flap_get_folded, "adw_flap_get_folded", LIBRARY_ADW); + Linker.link(adw_flap_get_locked, "adw_flap_get_locked", LIBRARY_ADW); + Linker.link(adw_flap_get_modal, "adw_flap_get_modal", LIBRARY_ADW); + Linker.link(adw_flap_get_reveal_flap, "adw_flap_get_reveal_flap", LIBRARY_ADW); + Linker.link(adw_flap_get_reveal_params, "adw_flap_get_reveal_params", LIBRARY_ADW); + Linker.link(adw_flap_get_reveal_progress, "adw_flap_get_reveal_progress", LIBRARY_ADW); + Linker.link(adw_flap_get_separator, "adw_flap_get_separator", LIBRARY_ADW); + Linker.link(adw_flap_get_swipe_to_close, "adw_flap_get_swipe_to_close", LIBRARY_ADW); + Linker.link(adw_flap_get_swipe_to_open, "adw_flap_get_swipe_to_open", LIBRARY_ADW); + Linker.link(adw_flap_get_transition_type, "adw_flap_get_transition_type", LIBRARY_ADW); + Linker.link(adw_flap_set_content, "adw_flap_set_content", LIBRARY_ADW); + Linker.link(adw_flap_set_flap, "adw_flap_set_flap", LIBRARY_ADW); + Linker.link(adw_flap_set_flap_position, "adw_flap_set_flap_position", LIBRARY_ADW); + Linker.link(adw_flap_set_fold_duration, "adw_flap_set_fold_duration", LIBRARY_ADW); + Linker.link(adw_flap_set_fold_policy, "adw_flap_set_fold_policy", LIBRARY_ADW); + Linker.link(adw_flap_set_fold_threshold_policy, "adw_flap_set_fold_threshold_policy", LIBRARY_ADW); + Linker.link(adw_flap_set_locked, "adw_flap_set_locked", LIBRARY_ADW); + Linker.link(adw_flap_set_modal, "adw_flap_set_modal", LIBRARY_ADW); + Linker.link(adw_flap_set_reveal_flap, "adw_flap_set_reveal_flap", LIBRARY_ADW); + Linker.link(adw_flap_set_reveal_params, "adw_flap_set_reveal_params", LIBRARY_ADW); + Linker.link(adw_flap_set_separator, "adw_flap_set_separator", LIBRARY_ADW); + Linker.link(adw_flap_set_swipe_to_close, "adw_flap_set_swipe_to_close", LIBRARY_ADW); + Linker.link(adw_flap_set_swipe_to_open, "adw_flap_set_swipe_to_open", LIBRARY_ADW); + Linker.link(adw_flap_set_transition_type, "adw_flap_set_transition_type", LIBRARY_ADW); + + // adw.HeaderBar + + Linker.link(adw_header_bar_get_type, "adw_header_bar_get_type", LIBRARY_ADW); + Linker.link(adw_header_bar_new, "adw_header_bar_new", LIBRARY_ADW); + Linker.link(adw_header_bar_get_centering_policy, "adw_header_bar_get_centering_policy", LIBRARY_ADW); + Linker.link(adw_header_bar_get_decoration_layout, "adw_header_bar_get_decoration_layout", LIBRARY_ADW); + Linker.link(adw_header_bar_get_show_end_title_buttons, "adw_header_bar_get_show_end_title_buttons", LIBRARY_ADW); + Linker.link(adw_header_bar_get_show_start_title_buttons, "adw_header_bar_get_show_start_title_buttons", LIBRARY_ADW); + Linker.link(adw_header_bar_get_title_widget, "adw_header_bar_get_title_widget", LIBRARY_ADW); + Linker.link(adw_header_bar_pack_end, "adw_header_bar_pack_end", LIBRARY_ADW); + Linker.link(adw_header_bar_pack_start, "adw_header_bar_pack_start", LIBRARY_ADW); + Linker.link(adw_header_bar_remove, "adw_header_bar_remove", LIBRARY_ADW); + Linker.link(adw_header_bar_set_centering_policy, "adw_header_bar_set_centering_policy", LIBRARY_ADW); + Linker.link(adw_header_bar_set_decoration_layout, "adw_header_bar_set_decoration_layout", LIBRARY_ADW); + Linker.link(adw_header_bar_set_show_end_title_buttons, "adw_header_bar_set_show_end_title_buttons", LIBRARY_ADW); + Linker.link(adw_header_bar_set_show_start_title_buttons, "adw_header_bar_set_show_start_title_buttons", LIBRARY_ADW); + Linker.link(adw_header_bar_set_title_widget, "adw_header_bar_set_title_widget", LIBRARY_ADW); + + // adw.Leaflet + + Linker.link(adw_leaflet_get_type, "adw_leaflet_get_type", LIBRARY_ADW); + Linker.link(adw_leaflet_new, "adw_leaflet_new", LIBRARY_ADW); + Linker.link(adw_leaflet_append, "adw_leaflet_append", LIBRARY_ADW); + Linker.link(adw_leaflet_get_adjacent_child, "adw_leaflet_get_adjacent_child", LIBRARY_ADW); + Linker.link(adw_leaflet_get_can_navigate_back, "adw_leaflet_get_can_navigate_back", LIBRARY_ADW); + Linker.link(adw_leaflet_get_can_navigate_forward, "adw_leaflet_get_can_navigate_forward", LIBRARY_ADW); + Linker.link(adw_leaflet_get_can_unfold, "adw_leaflet_get_can_unfold", LIBRARY_ADW); + Linker.link(adw_leaflet_get_child_by_name, "adw_leaflet_get_child_by_name", LIBRARY_ADW); + Linker.link(adw_leaflet_get_child_transition_params, "adw_leaflet_get_child_transition_params", LIBRARY_ADW); + Linker.link(adw_leaflet_get_child_transition_running, "adw_leaflet_get_child_transition_running", LIBRARY_ADW); + Linker.link(adw_leaflet_get_fold_threshold_policy, "adw_leaflet_get_fold_threshold_policy", LIBRARY_ADW); + Linker.link(adw_leaflet_get_folded, "adw_leaflet_get_folded", LIBRARY_ADW); + Linker.link(adw_leaflet_get_homogeneous, "adw_leaflet_get_homogeneous", LIBRARY_ADW); + Linker.link(adw_leaflet_get_mode_transition_duration, "adw_leaflet_get_mode_transition_duration", LIBRARY_ADW); + Linker.link(adw_leaflet_get_page, "adw_leaflet_get_page", LIBRARY_ADW); + Linker.link(adw_leaflet_get_pages, "adw_leaflet_get_pages", LIBRARY_ADW); + Linker.link(adw_leaflet_get_transition_type, "adw_leaflet_get_transition_type", LIBRARY_ADW); + Linker.link(adw_leaflet_get_visible_child, "adw_leaflet_get_visible_child", LIBRARY_ADW); + Linker.link(adw_leaflet_get_visible_child_name, "adw_leaflet_get_visible_child_name", LIBRARY_ADW); + Linker.link(adw_leaflet_insert_child_after, "adw_leaflet_insert_child_after", LIBRARY_ADW); + Linker.link(adw_leaflet_navigate, "adw_leaflet_navigate", LIBRARY_ADW); + Linker.link(adw_leaflet_prepend, "adw_leaflet_prepend", LIBRARY_ADW); + Linker.link(adw_leaflet_remove, "adw_leaflet_remove", LIBRARY_ADW); + Linker.link(adw_leaflet_reorder_child_after, "adw_leaflet_reorder_child_after", LIBRARY_ADW); + Linker.link(adw_leaflet_set_can_navigate_back, "adw_leaflet_set_can_navigate_back", LIBRARY_ADW); + Linker.link(adw_leaflet_set_can_navigate_forward, "adw_leaflet_set_can_navigate_forward", LIBRARY_ADW); + Linker.link(adw_leaflet_set_can_unfold, "adw_leaflet_set_can_unfold", LIBRARY_ADW); + Linker.link(adw_leaflet_set_child_transition_params, "adw_leaflet_set_child_transition_params", LIBRARY_ADW); + Linker.link(adw_leaflet_set_fold_threshold_policy, "adw_leaflet_set_fold_threshold_policy", LIBRARY_ADW); + Linker.link(adw_leaflet_set_homogeneous, "adw_leaflet_set_homogeneous", LIBRARY_ADW); + Linker.link(adw_leaflet_set_mode_transition_duration, "adw_leaflet_set_mode_transition_duration", LIBRARY_ADW); + Linker.link(adw_leaflet_set_transition_type, "adw_leaflet_set_transition_type", LIBRARY_ADW); + Linker.link(adw_leaflet_set_visible_child, "adw_leaflet_set_visible_child", LIBRARY_ADW); + Linker.link(adw_leaflet_set_visible_child_name, "adw_leaflet_set_visible_child_name", LIBRARY_ADW); + + // adw.LeafletPage + + Linker.link(adw_leaflet_page_get_type, "adw_leaflet_page_get_type", LIBRARY_ADW); + Linker.link(adw_leaflet_page_get_child, "adw_leaflet_page_get_child", LIBRARY_ADW); + Linker.link(adw_leaflet_page_get_name, "adw_leaflet_page_get_name", LIBRARY_ADW); + Linker.link(adw_leaflet_page_get_navigatable, "adw_leaflet_page_get_navigatable", LIBRARY_ADW); + Linker.link(adw_leaflet_page_set_name, "adw_leaflet_page_set_name", LIBRARY_ADW); + Linker.link(adw_leaflet_page_set_navigatable, "adw_leaflet_page_set_navigatable", LIBRARY_ADW); + + // adw.PreferencesGroup + + Linker.link(adw_preferences_group_get_type, "adw_preferences_group_get_type", LIBRARY_ADW); + Linker.link(adw_preferences_group_new, "adw_preferences_group_new", LIBRARY_ADW); + Linker.link(adw_preferences_group_add, "adw_preferences_group_add", LIBRARY_ADW); + Linker.link(adw_preferences_group_get_description, "adw_preferences_group_get_description", LIBRARY_ADW); + Linker.link(adw_preferences_group_get_header_suffix, "adw_preferences_group_get_header_suffix", LIBRARY_ADW); + Linker.link(adw_preferences_group_get_title, "adw_preferences_group_get_title", LIBRARY_ADW); + Linker.link(adw_preferences_group_remove, "adw_preferences_group_remove", LIBRARY_ADW); + Linker.link(adw_preferences_group_set_description, "adw_preferences_group_set_description", LIBRARY_ADW); + Linker.link(adw_preferences_group_set_header_suffix, "adw_preferences_group_set_header_suffix", LIBRARY_ADW); + Linker.link(adw_preferences_group_set_title, "adw_preferences_group_set_title", LIBRARY_ADW); + + // adw.PreferencesPage + + Linker.link(adw_preferences_page_get_type, "adw_preferences_page_get_type", LIBRARY_ADW); + Linker.link(adw_preferences_page_new, "adw_preferences_page_new", LIBRARY_ADW); + Linker.link(adw_preferences_page_add, "adw_preferences_page_add", LIBRARY_ADW); + Linker.link(adw_preferences_page_get_icon_name, "adw_preferences_page_get_icon_name", LIBRARY_ADW); + Linker.link(adw_preferences_page_get_name, "adw_preferences_page_get_name", LIBRARY_ADW); + Linker.link(adw_preferences_page_get_title, "adw_preferences_page_get_title", LIBRARY_ADW); + Linker.link(adw_preferences_page_get_use_underline, "adw_preferences_page_get_use_underline", LIBRARY_ADW); + Linker.link(adw_preferences_page_remove, "adw_preferences_page_remove", LIBRARY_ADW); + Linker.link(adw_preferences_page_set_icon_name, "adw_preferences_page_set_icon_name", LIBRARY_ADW); + Linker.link(adw_preferences_page_set_name, "adw_preferences_page_set_name", LIBRARY_ADW); + Linker.link(adw_preferences_page_set_title, "adw_preferences_page_set_title", LIBRARY_ADW); + Linker.link(adw_preferences_page_set_use_underline, "adw_preferences_page_set_use_underline", LIBRARY_ADW); + + // adw.PreferencesRow + + Linker.link(adw_preferences_row_get_type, "adw_preferences_row_get_type", LIBRARY_ADW); + Linker.link(adw_preferences_row_new, "adw_preferences_row_new", LIBRARY_ADW); + Linker.link(adw_preferences_row_get_title, "adw_preferences_row_get_title", LIBRARY_ADW); + Linker.link(adw_preferences_row_get_title_selectable, "adw_preferences_row_get_title_selectable", LIBRARY_ADW); + Linker.link(adw_preferences_row_get_use_underline, "adw_preferences_row_get_use_underline", LIBRARY_ADW); + Linker.link(adw_preferences_row_set_title, "adw_preferences_row_set_title", LIBRARY_ADW); + Linker.link(adw_preferences_row_set_title_selectable, "adw_preferences_row_set_title_selectable", LIBRARY_ADW); + Linker.link(adw_preferences_row_set_use_underline, "adw_preferences_row_set_use_underline", LIBRARY_ADW); + + // adw.PreferencesWindow + + Linker.link(adw_preferences_window_get_type, "adw_preferences_window_get_type", LIBRARY_ADW); + Linker.link(adw_preferences_window_new, "adw_preferences_window_new", LIBRARY_ADW); + Linker.link(adw_preferences_window_add, "adw_preferences_window_add", LIBRARY_ADW); + Linker.link(adw_preferences_window_add_toast, "adw_preferences_window_add_toast", LIBRARY_ADW); + Linker.link(adw_preferences_window_close_subpage, "adw_preferences_window_close_subpage", LIBRARY_ADW); + Linker.link(adw_preferences_window_get_can_navigate_back, "adw_preferences_window_get_can_navigate_back", LIBRARY_ADW); + Linker.link(adw_preferences_window_get_search_enabled, "adw_preferences_window_get_search_enabled", LIBRARY_ADW); + Linker.link(adw_preferences_window_get_visible_page, "adw_preferences_window_get_visible_page", LIBRARY_ADW); + Linker.link(adw_preferences_window_get_visible_page_name, "adw_preferences_window_get_visible_page_name", LIBRARY_ADW); + Linker.link(adw_preferences_window_present_subpage, "adw_preferences_window_present_subpage", LIBRARY_ADW); + Linker.link(adw_preferences_window_remove, "adw_preferences_window_remove", LIBRARY_ADW); + Linker.link(adw_preferences_window_set_can_navigate_back, "adw_preferences_window_set_can_navigate_back", LIBRARY_ADW); + Linker.link(adw_preferences_window_set_search_enabled, "adw_preferences_window_set_search_enabled", LIBRARY_ADW); + Linker.link(adw_preferences_window_set_visible_page, "adw_preferences_window_set_visible_page", LIBRARY_ADW); + Linker.link(adw_preferences_window_set_visible_page_name, "adw_preferences_window_set_visible_page_name", LIBRARY_ADW); + + // adw.SplitButton + + Linker.link(adw_split_button_get_type, "adw_split_button_get_type", LIBRARY_ADW); + Linker.link(adw_split_button_new, "adw_split_button_new", LIBRARY_ADW); + Linker.link(adw_split_button_get_child, "adw_split_button_get_child", LIBRARY_ADW); + Linker.link(adw_split_button_get_direction, "adw_split_button_get_direction", LIBRARY_ADW); + Linker.link(adw_split_button_get_icon_name, "adw_split_button_get_icon_name", LIBRARY_ADW); + Linker.link(adw_split_button_get_label, "adw_split_button_get_label", LIBRARY_ADW); + Linker.link(adw_split_button_get_menu_model, "adw_split_button_get_menu_model", LIBRARY_ADW); + Linker.link(adw_split_button_get_popover, "adw_split_button_get_popover", LIBRARY_ADW); + Linker.link(adw_split_button_get_use_underline, "adw_split_button_get_use_underline", LIBRARY_ADW); + Linker.link(adw_split_button_popdown, "adw_split_button_popdown", LIBRARY_ADW); + Linker.link(adw_split_button_popup, "adw_split_button_popup", LIBRARY_ADW); + Linker.link(adw_split_button_set_child, "adw_split_button_set_child", LIBRARY_ADW); + Linker.link(adw_split_button_set_direction, "adw_split_button_set_direction", LIBRARY_ADW); + Linker.link(adw_split_button_set_icon_name, "adw_split_button_set_icon_name", LIBRARY_ADW); + Linker.link(adw_split_button_set_label, "adw_split_button_set_label", LIBRARY_ADW); + Linker.link(adw_split_button_set_menu_model, "adw_split_button_set_menu_model", LIBRARY_ADW); + Linker.link(adw_split_button_set_popover, "adw_split_button_set_popover", LIBRARY_ADW); + Linker.link(adw_split_button_set_use_underline, "adw_split_button_set_use_underline", LIBRARY_ADW); + + // adw.SpringAnimation + + Linker.link(adw_spring_animation_get_type, "adw_spring_animation_get_type", LIBRARY_ADW); + Linker.link(adw_spring_animation_new, "adw_spring_animation_new", LIBRARY_ADW); + Linker.link(adw_spring_animation_get_clamp, "adw_spring_animation_get_clamp", LIBRARY_ADW); + Linker.link(adw_spring_animation_get_epsilon, "adw_spring_animation_get_epsilon", LIBRARY_ADW); + Linker.link(adw_spring_animation_get_estimated_duration, "adw_spring_animation_get_estimated_duration", LIBRARY_ADW); + Linker.link(adw_spring_animation_get_initial_velocity, "adw_spring_animation_get_initial_velocity", LIBRARY_ADW); + Linker.link(adw_spring_animation_get_spring_params, "adw_spring_animation_get_spring_params", LIBRARY_ADW); + Linker.link(adw_spring_animation_get_value_from, "adw_spring_animation_get_value_from", LIBRARY_ADW); + Linker.link(adw_spring_animation_get_value_to, "adw_spring_animation_get_value_to", LIBRARY_ADW); + Linker.link(adw_spring_animation_get_velocity, "adw_spring_animation_get_velocity", LIBRARY_ADW); + Linker.link(adw_spring_animation_set_clamp, "adw_spring_animation_set_clamp", LIBRARY_ADW); + Linker.link(adw_spring_animation_set_epsilon, "adw_spring_animation_set_epsilon", LIBRARY_ADW); + Linker.link(adw_spring_animation_set_initial_velocity, "adw_spring_animation_set_initial_velocity", LIBRARY_ADW); + Linker.link(adw_spring_animation_set_spring_params, "adw_spring_animation_set_spring_params", LIBRARY_ADW); + Linker.link(adw_spring_animation_set_value_from, "adw_spring_animation_set_value_from", LIBRARY_ADW); + Linker.link(adw_spring_animation_set_value_to, "adw_spring_animation_set_value_to", LIBRARY_ADW); + + // adw.SpringParams + + Linker.link(adw_spring_params_get_type, "adw_spring_params_get_type", LIBRARY_ADW); + Linker.link(adw_spring_params_new, "adw_spring_params_new", LIBRARY_ADW); + Linker.link(adw_spring_params_new_full, "adw_spring_params_new_full", LIBRARY_ADW); + Linker.link(adw_spring_params_get_damping, "adw_spring_params_get_damping", LIBRARY_ADW); + Linker.link(adw_spring_params_get_damping_ratio, "adw_spring_params_get_damping_ratio", LIBRARY_ADW); + Linker.link(adw_spring_params_get_mass, "adw_spring_params_get_mass", LIBRARY_ADW); + Linker.link(adw_spring_params_get_stiffness, "adw_spring_params_get_stiffness", LIBRARY_ADW); + Linker.link(adw_spring_params_ref, "adw_spring_params_ref", LIBRARY_ADW); + Linker.link(adw_spring_params_unref, "adw_spring_params_unref", LIBRARY_ADW); + + // adw.Squeezer + + Linker.link(adw_squeezer_get_type, "adw_squeezer_get_type", LIBRARY_ADW); + Linker.link(adw_squeezer_new, "adw_squeezer_new", LIBRARY_ADW); + Linker.link(adw_squeezer_add, "adw_squeezer_add", LIBRARY_ADW); + Linker.link(adw_squeezer_get_allow_none, "adw_squeezer_get_allow_none", LIBRARY_ADW); + Linker.link(adw_squeezer_get_homogeneous, "adw_squeezer_get_homogeneous", LIBRARY_ADW); + Linker.link(adw_squeezer_get_interpolate_size, "adw_squeezer_get_interpolate_size", LIBRARY_ADW); + Linker.link(adw_squeezer_get_page, "adw_squeezer_get_page", LIBRARY_ADW); + Linker.link(adw_squeezer_get_pages, "adw_squeezer_get_pages", LIBRARY_ADW); + Linker.link(adw_squeezer_get_switch_threshold_policy, "adw_squeezer_get_switch_threshold_policy", LIBRARY_ADW); + Linker.link(adw_squeezer_get_transition_duration, "adw_squeezer_get_transition_duration", LIBRARY_ADW); + Linker.link(adw_squeezer_get_transition_running, "adw_squeezer_get_transition_running", LIBRARY_ADW); + Linker.link(adw_squeezer_get_transition_type, "adw_squeezer_get_transition_type", LIBRARY_ADW); + Linker.link(adw_squeezer_get_visible_child, "adw_squeezer_get_visible_child", LIBRARY_ADW); + Linker.link(adw_squeezer_get_xalign, "adw_squeezer_get_xalign", LIBRARY_ADW); + Linker.link(adw_squeezer_get_yalign, "adw_squeezer_get_yalign", LIBRARY_ADW); + Linker.link(adw_squeezer_remove, "adw_squeezer_remove", LIBRARY_ADW); + Linker.link(adw_squeezer_set_allow_none, "adw_squeezer_set_allow_none", LIBRARY_ADW); + Linker.link(adw_squeezer_set_homogeneous, "adw_squeezer_set_homogeneous", LIBRARY_ADW); + Linker.link(adw_squeezer_set_interpolate_size, "adw_squeezer_set_interpolate_size", LIBRARY_ADW); + Linker.link(adw_squeezer_set_switch_threshold_policy, "adw_squeezer_set_switch_threshold_policy", LIBRARY_ADW); + Linker.link(adw_squeezer_set_transition_duration, "adw_squeezer_set_transition_duration", LIBRARY_ADW); + Linker.link(adw_squeezer_set_transition_type, "adw_squeezer_set_transition_type", LIBRARY_ADW); + Linker.link(adw_squeezer_set_xalign, "adw_squeezer_set_xalign", LIBRARY_ADW); + Linker.link(adw_squeezer_set_yalign, "adw_squeezer_set_yalign", LIBRARY_ADW); + + // adw.SqueezerPage + + Linker.link(adw_squeezer_page_get_type, "adw_squeezer_page_get_type", LIBRARY_ADW); + Linker.link(adw_squeezer_page_get_child, "adw_squeezer_page_get_child", LIBRARY_ADW); + Linker.link(adw_squeezer_page_get_enabled, "adw_squeezer_page_get_enabled", LIBRARY_ADW); + Linker.link(adw_squeezer_page_set_enabled, "adw_squeezer_page_set_enabled", LIBRARY_ADW); + + // adw.StatusPage + + Linker.link(adw_status_page_get_type, "adw_status_page_get_type", LIBRARY_ADW); + Linker.link(adw_status_page_new, "adw_status_page_new", LIBRARY_ADW); + Linker.link(adw_status_page_get_child, "adw_status_page_get_child", LIBRARY_ADW); + Linker.link(adw_status_page_get_description, "adw_status_page_get_description", LIBRARY_ADW); + Linker.link(adw_status_page_get_icon_name, "adw_status_page_get_icon_name", LIBRARY_ADW); + Linker.link(adw_status_page_get_paintable, "adw_status_page_get_paintable", LIBRARY_ADW); + Linker.link(adw_status_page_get_title, "adw_status_page_get_title", LIBRARY_ADW); + Linker.link(adw_status_page_set_child, "adw_status_page_set_child", LIBRARY_ADW); + Linker.link(adw_status_page_set_description, "adw_status_page_set_description", LIBRARY_ADW); + Linker.link(adw_status_page_set_icon_name, "adw_status_page_set_icon_name", LIBRARY_ADW); + Linker.link(adw_status_page_set_paintable, "adw_status_page_set_paintable", LIBRARY_ADW); + Linker.link(adw_status_page_set_title, "adw_status_page_set_title", LIBRARY_ADW); + + // adw.StyleManager + + Linker.link(adw_style_manager_get_type, "adw_style_manager_get_type", LIBRARY_ADW); + Linker.link(adw_style_manager_get_default, "adw_style_manager_get_default", LIBRARY_ADW); + Linker.link(adw_style_manager_get_for_display, "adw_style_manager_get_for_display", LIBRARY_ADW); + Linker.link(adw_style_manager_get_color_scheme, "adw_style_manager_get_color_scheme", LIBRARY_ADW); + Linker.link(adw_style_manager_get_dark, "adw_style_manager_get_dark", LIBRARY_ADW); + Linker.link(adw_style_manager_get_display, "adw_style_manager_get_display", LIBRARY_ADW); + Linker.link(adw_style_manager_get_high_contrast, "adw_style_manager_get_high_contrast", LIBRARY_ADW); + Linker.link(adw_style_manager_get_system_supports_color_schemes, "adw_style_manager_get_system_supports_color_schemes", LIBRARY_ADW); + Linker.link(adw_style_manager_set_color_scheme, "adw_style_manager_set_color_scheme", LIBRARY_ADW); + + // adw.SwipeTracker + + Linker.link(adw_swipe_tracker_get_type, "adw_swipe_tracker_get_type", LIBRARY_ADW); + Linker.link(adw_swipe_tracker_new, "adw_swipe_tracker_new", LIBRARY_ADW); + Linker.link(adw_swipe_tracker_get_allow_long_swipes, "adw_swipe_tracker_get_allow_long_swipes", LIBRARY_ADW); + Linker.link(adw_swipe_tracker_get_allow_mouse_drag, "adw_swipe_tracker_get_allow_mouse_drag", LIBRARY_ADW); + Linker.link(adw_swipe_tracker_get_enabled, "adw_swipe_tracker_get_enabled", LIBRARY_ADW); + Linker.link(adw_swipe_tracker_get_reversed, "adw_swipe_tracker_get_reversed", LIBRARY_ADW); + Linker.link(adw_swipe_tracker_get_swipeable, "adw_swipe_tracker_get_swipeable", LIBRARY_ADW); + Linker.link(adw_swipe_tracker_set_allow_long_swipes, "adw_swipe_tracker_set_allow_long_swipes", LIBRARY_ADW); + Linker.link(adw_swipe_tracker_set_allow_mouse_drag, "adw_swipe_tracker_set_allow_mouse_drag", LIBRARY_ADW); + Linker.link(adw_swipe_tracker_set_enabled, "adw_swipe_tracker_set_enabled", LIBRARY_ADW); + Linker.link(adw_swipe_tracker_set_reversed, "adw_swipe_tracker_set_reversed", LIBRARY_ADW); + Linker.link(adw_swipe_tracker_shift_position, "adw_swipe_tracker_shift_position", LIBRARY_ADW); + + // adw.Swipeable + + Linker.link(adw_swipeable_get_type, "adw_swipeable_get_type", LIBRARY_ADW); + Linker.link(adw_swipeable_get_cancel_progress, "adw_swipeable_get_cancel_progress", LIBRARY_ADW); + Linker.link(adw_swipeable_get_distance, "adw_swipeable_get_distance", LIBRARY_ADW); + Linker.link(adw_swipeable_get_progress, "adw_swipeable_get_progress", LIBRARY_ADW); + Linker.link(adw_swipeable_get_snap_points, "adw_swipeable_get_snap_points", LIBRARY_ADW); + Linker.link(adw_swipeable_get_swipe_area, "adw_swipeable_get_swipe_area", LIBRARY_ADW); + + // adw.TabBar + + Linker.link(adw_tab_bar_get_type, "adw_tab_bar_get_type", LIBRARY_ADW); + Linker.link(adw_tab_bar_new, "adw_tab_bar_new", LIBRARY_ADW); + Linker.link(adw_tab_bar_get_autohide, "adw_tab_bar_get_autohide", LIBRARY_ADW); + Linker.link(adw_tab_bar_get_end_action_widget, "adw_tab_bar_get_end_action_widget", LIBRARY_ADW); + Linker.link(adw_tab_bar_get_expand_tabs, "adw_tab_bar_get_expand_tabs", LIBRARY_ADW); + Linker.link(adw_tab_bar_get_inverted, "adw_tab_bar_get_inverted", LIBRARY_ADW); + Linker.link(adw_tab_bar_get_is_overflowing, "adw_tab_bar_get_is_overflowing", LIBRARY_ADW); + Linker.link(adw_tab_bar_get_start_action_widget, "adw_tab_bar_get_start_action_widget", LIBRARY_ADW); + Linker.link(adw_tab_bar_get_tabs_revealed, "adw_tab_bar_get_tabs_revealed", LIBRARY_ADW); + Linker.link(adw_tab_bar_get_view, "adw_tab_bar_get_view", LIBRARY_ADW); + Linker.link(adw_tab_bar_set_autohide, "adw_tab_bar_set_autohide", LIBRARY_ADW); + Linker.link(adw_tab_bar_set_end_action_widget, "adw_tab_bar_set_end_action_widget", LIBRARY_ADW); + Linker.link(adw_tab_bar_set_expand_tabs, "adw_tab_bar_set_expand_tabs", LIBRARY_ADW); + Linker.link(adw_tab_bar_set_inverted, "adw_tab_bar_set_inverted", LIBRARY_ADW); + Linker.link(adw_tab_bar_set_start_action_widget, "adw_tab_bar_set_start_action_widget", LIBRARY_ADW); + Linker.link(adw_tab_bar_set_view, "adw_tab_bar_set_view", LIBRARY_ADW); + Linker.link(adw_tab_bar_setup_extra_drop_target, "adw_tab_bar_setup_extra_drop_target", LIBRARY_ADW); + + // adw.TabPage + + Linker.link(adw_tab_page_get_type, "adw_tab_page_get_type", LIBRARY_ADW); + Linker.link(adw_tab_page_get_child, "adw_tab_page_get_child", LIBRARY_ADW); + Linker.link(adw_tab_page_get_icon, "adw_tab_page_get_icon", LIBRARY_ADW); + Linker.link(adw_tab_page_get_indicator_activatable, "adw_tab_page_get_indicator_activatable", LIBRARY_ADW); + Linker.link(adw_tab_page_get_indicator_icon, "adw_tab_page_get_indicator_icon", LIBRARY_ADW); + Linker.link(adw_tab_page_get_loading, "adw_tab_page_get_loading", LIBRARY_ADW); + Linker.link(adw_tab_page_get_needs_attention, "adw_tab_page_get_needs_attention", LIBRARY_ADW); + Linker.link(adw_tab_page_get_parent, "adw_tab_page_get_parent", LIBRARY_ADW); + Linker.link(adw_tab_page_get_pinned, "adw_tab_page_get_pinned", LIBRARY_ADW); + Linker.link(adw_tab_page_get_selected, "adw_tab_page_get_selected", LIBRARY_ADW); + Linker.link(adw_tab_page_get_title, "adw_tab_page_get_title", LIBRARY_ADW); + Linker.link(adw_tab_page_get_tooltip, "adw_tab_page_get_tooltip", LIBRARY_ADW); + Linker.link(adw_tab_page_set_icon, "adw_tab_page_set_icon", LIBRARY_ADW); + Linker.link(adw_tab_page_set_indicator_activatable, "adw_tab_page_set_indicator_activatable", LIBRARY_ADW); + Linker.link(adw_tab_page_set_indicator_icon, "adw_tab_page_set_indicator_icon", LIBRARY_ADW); + Linker.link(adw_tab_page_set_loading, "adw_tab_page_set_loading", LIBRARY_ADW); + Linker.link(adw_tab_page_set_needs_attention, "adw_tab_page_set_needs_attention", LIBRARY_ADW); + Linker.link(adw_tab_page_set_title, "adw_tab_page_set_title", LIBRARY_ADW); + Linker.link(adw_tab_page_set_tooltip, "adw_tab_page_set_tooltip", LIBRARY_ADW); + + // adw.TabView + + Linker.link(adw_tab_view_get_type, "adw_tab_view_get_type", LIBRARY_ADW); + Linker.link(adw_tab_view_new, "adw_tab_view_new", LIBRARY_ADW); + Linker.link(adw_tab_view_add_page, "adw_tab_view_add_page", LIBRARY_ADW); + Linker.link(adw_tab_view_append, "adw_tab_view_append", LIBRARY_ADW); + Linker.link(adw_tab_view_append_pinned, "adw_tab_view_append_pinned", LIBRARY_ADW); + Linker.link(adw_tab_view_close_other_pages, "adw_tab_view_close_other_pages", LIBRARY_ADW); + Linker.link(adw_tab_view_close_page, "adw_tab_view_close_page", LIBRARY_ADW); + Linker.link(adw_tab_view_close_page_finish, "adw_tab_view_close_page_finish", LIBRARY_ADW); + Linker.link(adw_tab_view_close_pages_after, "adw_tab_view_close_pages_after", LIBRARY_ADW); + Linker.link(adw_tab_view_close_pages_before, "adw_tab_view_close_pages_before", LIBRARY_ADW); + Linker.link(adw_tab_view_get_default_icon, "adw_tab_view_get_default_icon", LIBRARY_ADW); + Linker.link(adw_tab_view_get_is_transferring_page, "adw_tab_view_get_is_transferring_page", LIBRARY_ADW); + Linker.link(adw_tab_view_get_menu_model, "adw_tab_view_get_menu_model", LIBRARY_ADW); + Linker.link(adw_tab_view_get_n_pages, "adw_tab_view_get_n_pages", LIBRARY_ADW); + Linker.link(adw_tab_view_get_n_pinned_pages, "adw_tab_view_get_n_pinned_pages", LIBRARY_ADW); + Linker.link(adw_tab_view_get_nth_page, "adw_tab_view_get_nth_page", LIBRARY_ADW); + Linker.link(adw_tab_view_get_page, "adw_tab_view_get_page", LIBRARY_ADW); + Linker.link(adw_tab_view_get_page_position, "adw_tab_view_get_page_position", LIBRARY_ADW); + Linker.link(adw_tab_view_get_pages, "adw_tab_view_get_pages", LIBRARY_ADW); + Linker.link(adw_tab_view_get_selected_page, "adw_tab_view_get_selected_page", LIBRARY_ADW); + Linker.link(adw_tab_view_insert, "adw_tab_view_insert", LIBRARY_ADW); + Linker.link(adw_tab_view_insert_pinned, "adw_tab_view_insert_pinned", LIBRARY_ADW); + Linker.link(adw_tab_view_prepend, "adw_tab_view_prepend", LIBRARY_ADW); + Linker.link(adw_tab_view_prepend_pinned, "adw_tab_view_prepend_pinned", LIBRARY_ADW); + Linker.link(adw_tab_view_reorder_backward, "adw_tab_view_reorder_backward", LIBRARY_ADW); + Linker.link(adw_tab_view_reorder_first, "adw_tab_view_reorder_first", LIBRARY_ADW); + Linker.link(adw_tab_view_reorder_forward, "adw_tab_view_reorder_forward", LIBRARY_ADW); + Linker.link(adw_tab_view_reorder_last, "adw_tab_view_reorder_last", LIBRARY_ADW); + Linker.link(adw_tab_view_reorder_page, "adw_tab_view_reorder_page", LIBRARY_ADW); + Linker.link(adw_tab_view_select_next_page, "adw_tab_view_select_next_page", LIBRARY_ADW); + Linker.link(adw_tab_view_select_previous_page, "adw_tab_view_select_previous_page", LIBRARY_ADW); + Linker.link(adw_tab_view_set_default_icon, "adw_tab_view_set_default_icon", LIBRARY_ADW); + Linker.link(adw_tab_view_set_menu_model, "adw_tab_view_set_menu_model", LIBRARY_ADW); + Linker.link(adw_tab_view_set_page_pinned, "adw_tab_view_set_page_pinned", LIBRARY_ADW); + Linker.link(adw_tab_view_set_selected_page, "adw_tab_view_set_selected_page", LIBRARY_ADW); + Linker.link(adw_tab_view_transfer_page, "adw_tab_view_transfer_page", LIBRARY_ADW); + + // adw.TimedAnimation + + Linker.link(adw_timed_animation_get_type, "adw_timed_animation_get_type", LIBRARY_ADW); + Linker.link(adw_timed_animation_new, "adw_timed_animation_new", LIBRARY_ADW); + Linker.link(adw_timed_animation_get_alternate, "adw_timed_animation_get_alternate", LIBRARY_ADW); + Linker.link(adw_timed_animation_get_duration, "adw_timed_animation_get_duration", LIBRARY_ADW); + Linker.link(adw_timed_animation_get_easing, "adw_timed_animation_get_easing", LIBRARY_ADW); + Linker.link(adw_timed_animation_get_repeat_count, "adw_timed_animation_get_repeat_count", LIBRARY_ADW); + Linker.link(adw_timed_animation_get_reverse, "adw_timed_animation_get_reverse", LIBRARY_ADW); + Linker.link(adw_timed_animation_get_value_from, "adw_timed_animation_get_value_from", LIBRARY_ADW); + Linker.link(adw_timed_animation_get_value_to, "adw_timed_animation_get_value_to", LIBRARY_ADW); + Linker.link(adw_timed_animation_set_alternate, "adw_timed_animation_set_alternate", LIBRARY_ADW); + Linker.link(adw_timed_animation_set_duration, "adw_timed_animation_set_duration", LIBRARY_ADW); + Linker.link(adw_timed_animation_set_easing, "adw_timed_animation_set_easing", LIBRARY_ADW); + Linker.link(adw_timed_animation_set_repeat_count, "adw_timed_animation_set_repeat_count", LIBRARY_ADW); + Linker.link(adw_timed_animation_set_reverse, "adw_timed_animation_set_reverse", LIBRARY_ADW); + Linker.link(adw_timed_animation_set_value_from, "adw_timed_animation_set_value_from", LIBRARY_ADW); + Linker.link(adw_timed_animation_set_value_to, "adw_timed_animation_set_value_to", LIBRARY_ADW); + + // adw.Toast + + Linker.link(adw_toast_get_type, "adw_toast_get_type", LIBRARY_ADW); + Linker.link(adw_toast_new, "adw_toast_new", LIBRARY_ADW); + Linker.link(adw_toast_dismiss, "adw_toast_dismiss", LIBRARY_ADW); + Linker.link(adw_toast_get_action_name, "adw_toast_get_action_name", LIBRARY_ADW); + Linker.link(adw_toast_get_action_target_value, "adw_toast_get_action_target_value", LIBRARY_ADW); + Linker.link(adw_toast_get_button_label, "adw_toast_get_button_label", LIBRARY_ADW); + Linker.link(adw_toast_get_priority, "adw_toast_get_priority", LIBRARY_ADW); + Linker.link(adw_toast_get_timeout, "adw_toast_get_timeout", LIBRARY_ADW); + Linker.link(adw_toast_get_title, "adw_toast_get_title", LIBRARY_ADW); + Linker.link(adw_toast_set_action_name, "adw_toast_set_action_name", LIBRARY_ADW); + Linker.link(adw_toast_set_action_target, "adw_toast_set_action_target", LIBRARY_ADW); + Linker.link(adw_toast_set_action_target_value, "adw_toast_set_action_target_value", LIBRARY_ADW); + Linker.link(adw_toast_set_button_label, "adw_toast_set_button_label", LIBRARY_ADW); + Linker.link(adw_toast_set_detailed_action_name, "adw_toast_set_detailed_action_name", LIBRARY_ADW); + Linker.link(adw_toast_set_priority, "adw_toast_set_priority", LIBRARY_ADW); + Linker.link(adw_toast_set_timeout, "adw_toast_set_timeout", LIBRARY_ADW); + Linker.link(adw_toast_set_title, "adw_toast_set_title", LIBRARY_ADW); + + // adw.ToastOverlay + + Linker.link(adw_toast_overlay_get_type, "adw_toast_overlay_get_type", LIBRARY_ADW); + Linker.link(adw_toast_overlay_new, "adw_toast_overlay_new", LIBRARY_ADW); + Linker.link(adw_toast_overlay_add_toast, "adw_toast_overlay_add_toast", LIBRARY_ADW); + Linker.link(adw_toast_overlay_get_child, "adw_toast_overlay_get_child", LIBRARY_ADW); + Linker.link(adw_toast_overlay_set_child, "adw_toast_overlay_set_child", LIBRARY_ADW); + + // adw.ViewStack + + Linker.link(adw_view_stack_get_type, "adw_view_stack_get_type", LIBRARY_ADW); + Linker.link(adw_view_stack_new, "adw_view_stack_new", LIBRARY_ADW); + Linker.link(adw_view_stack_add, "adw_view_stack_add", LIBRARY_ADW); + Linker.link(adw_view_stack_add_named, "adw_view_stack_add_named", LIBRARY_ADW); + Linker.link(adw_view_stack_add_titled, "adw_view_stack_add_titled", LIBRARY_ADW); + Linker.link(adw_view_stack_get_child_by_name, "adw_view_stack_get_child_by_name", LIBRARY_ADW); + Linker.link(adw_view_stack_get_hhomogeneous, "adw_view_stack_get_hhomogeneous", LIBRARY_ADW); + Linker.link(adw_view_stack_get_page, "adw_view_stack_get_page", LIBRARY_ADW); + Linker.link(adw_view_stack_get_pages, "adw_view_stack_get_pages", LIBRARY_ADW); + Linker.link(adw_view_stack_get_vhomogeneous, "adw_view_stack_get_vhomogeneous", LIBRARY_ADW); + Linker.link(adw_view_stack_get_visible_child, "adw_view_stack_get_visible_child", LIBRARY_ADW); + Linker.link(adw_view_stack_get_visible_child_name, "adw_view_stack_get_visible_child_name", LIBRARY_ADW); + Linker.link(adw_view_stack_remove, "adw_view_stack_remove", LIBRARY_ADW); + Linker.link(adw_view_stack_set_hhomogeneous, "adw_view_stack_set_hhomogeneous", LIBRARY_ADW); + Linker.link(adw_view_stack_set_vhomogeneous, "adw_view_stack_set_vhomogeneous", LIBRARY_ADW); + Linker.link(adw_view_stack_set_visible_child, "adw_view_stack_set_visible_child", LIBRARY_ADW); + Linker.link(adw_view_stack_set_visible_child_name, "adw_view_stack_set_visible_child_name", LIBRARY_ADW); + + // adw.ViewStackPage + + Linker.link(adw_view_stack_page_get_type, "adw_view_stack_page_get_type", LIBRARY_ADW); + Linker.link(adw_view_stack_page_get_badge_number, "adw_view_stack_page_get_badge_number", LIBRARY_ADW); + Linker.link(adw_view_stack_page_get_child, "adw_view_stack_page_get_child", LIBRARY_ADW); + Linker.link(adw_view_stack_page_get_icon_name, "adw_view_stack_page_get_icon_name", LIBRARY_ADW); + Linker.link(adw_view_stack_page_get_name, "adw_view_stack_page_get_name", LIBRARY_ADW); + Linker.link(adw_view_stack_page_get_needs_attention, "adw_view_stack_page_get_needs_attention", LIBRARY_ADW); + Linker.link(adw_view_stack_page_get_title, "adw_view_stack_page_get_title", LIBRARY_ADW); + Linker.link(adw_view_stack_page_get_use_underline, "adw_view_stack_page_get_use_underline", LIBRARY_ADW); + Linker.link(adw_view_stack_page_get_visible, "adw_view_stack_page_get_visible", LIBRARY_ADW); + Linker.link(adw_view_stack_page_set_badge_number, "adw_view_stack_page_set_badge_number", LIBRARY_ADW); + Linker.link(adw_view_stack_page_set_icon_name, "adw_view_stack_page_set_icon_name", LIBRARY_ADW); + Linker.link(adw_view_stack_page_set_name, "adw_view_stack_page_set_name", LIBRARY_ADW); + Linker.link(adw_view_stack_page_set_needs_attention, "adw_view_stack_page_set_needs_attention", LIBRARY_ADW); + Linker.link(adw_view_stack_page_set_title, "adw_view_stack_page_set_title", LIBRARY_ADW); + Linker.link(adw_view_stack_page_set_use_underline, "adw_view_stack_page_set_use_underline", LIBRARY_ADW); + Linker.link(adw_view_stack_page_set_visible, "adw_view_stack_page_set_visible", LIBRARY_ADW); + + // adw.ViewSwitcher + + Linker.link(adw_view_switcher_get_type, "adw_view_switcher_get_type", LIBRARY_ADW); + Linker.link(adw_view_switcher_new, "adw_view_switcher_new", LIBRARY_ADW); + Linker.link(adw_view_switcher_get_policy, "adw_view_switcher_get_policy", LIBRARY_ADW); + Linker.link(adw_view_switcher_get_stack, "adw_view_switcher_get_stack", LIBRARY_ADW); + Linker.link(adw_view_switcher_set_policy, "adw_view_switcher_set_policy", LIBRARY_ADW); + Linker.link(adw_view_switcher_set_stack, "adw_view_switcher_set_stack", LIBRARY_ADW); + + // adw.ViewSwitcherBar + + Linker.link(adw_view_switcher_bar_get_type, "adw_view_switcher_bar_get_type", LIBRARY_ADW); + Linker.link(adw_view_switcher_bar_new, "adw_view_switcher_bar_new", LIBRARY_ADW); + Linker.link(adw_view_switcher_bar_get_reveal, "adw_view_switcher_bar_get_reveal", LIBRARY_ADW); + Linker.link(adw_view_switcher_bar_get_stack, "adw_view_switcher_bar_get_stack", LIBRARY_ADW); + Linker.link(adw_view_switcher_bar_set_reveal, "adw_view_switcher_bar_set_reveal", LIBRARY_ADW); + Linker.link(adw_view_switcher_bar_set_stack, "adw_view_switcher_bar_set_stack", LIBRARY_ADW); + + // adw.ViewSwitcherTitle + + Linker.link(adw_view_switcher_title_get_type, "adw_view_switcher_title_get_type", LIBRARY_ADW); + Linker.link(adw_view_switcher_title_new, "adw_view_switcher_title_new", LIBRARY_ADW); + Linker.link(adw_view_switcher_title_get_stack, "adw_view_switcher_title_get_stack", LIBRARY_ADW); + Linker.link(adw_view_switcher_title_get_subtitle, "adw_view_switcher_title_get_subtitle", LIBRARY_ADW); + Linker.link(adw_view_switcher_title_get_title, "adw_view_switcher_title_get_title", LIBRARY_ADW); + Linker.link(adw_view_switcher_title_get_title_visible, "adw_view_switcher_title_get_title_visible", LIBRARY_ADW); + Linker.link(adw_view_switcher_title_get_view_switcher_enabled, "adw_view_switcher_title_get_view_switcher_enabled", LIBRARY_ADW); + Linker.link(adw_view_switcher_title_set_stack, "adw_view_switcher_title_set_stack", LIBRARY_ADW); + Linker.link(adw_view_switcher_title_set_subtitle, "adw_view_switcher_title_set_subtitle", LIBRARY_ADW); + Linker.link(adw_view_switcher_title_set_title, "adw_view_switcher_title_set_title", LIBRARY_ADW); + Linker.link(adw_view_switcher_title_set_view_switcher_enabled, "adw_view_switcher_title_set_view_switcher_enabled", LIBRARY_ADW); + + // adw.Window + + Linker.link(adw_window_get_type, "adw_window_get_type", LIBRARY_ADW); + Linker.link(adw_window_new, "adw_window_new", LIBRARY_ADW); + Linker.link(adw_window_get_content, "adw_window_get_content", LIBRARY_ADW); + Linker.link(adw_window_set_content, "adw_window_set_content", LIBRARY_ADW); + + // adw.WindowTitle + + Linker.link(adw_window_title_get_type, "adw_window_title_get_type", LIBRARY_ADW); + Linker.link(adw_window_title_new, "adw_window_title_new", LIBRARY_ADW); + Linker.link(adw_window_title_get_subtitle, "adw_window_title_get_subtitle", LIBRARY_ADW); + Linker.link(adw_window_title_get_title, "adw_window_title_get_title", LIBRARY_ADW); + Linker.link(adw_window_title_set_subtitle, "adw_window_title_set_subtitle", LIBRARY_ADW); + Linker.link(adw_window_title_set_title, "adw_window_title_set_title", LIBRARY_ADW); +} + +__gshared extern(C) +{ + + // adw.ActionRow + + GType function() c_adw_action_row_get_type; + GtkWidget* function() c_adw_action_row_new; + void function(AdwActionRow* self) c_adw_action_row_activate; + void function(AdwActionRow* self, GtkWidget* widget) c_adw_action_row_add_prefix; + void function(AdwActionRow* self, GtkWidget* widget) c_adw_action_row_add_suffix; + GtkWidget* function(AdwActionRow* self) c_adw_action_row_get_activatable_widget; + const(char)* function(AdwActionRow* self) c_adw_action_row_get_icon_name; + const(char)* function(AdwActionRow* self) c_adw_action_row_get_subtitle; + int function(AdwActionRow* self) c_adw_action_row_get_subtitle_lines; + int function(AdwActionRow* self) c_adw_action_row_get_title_lines; + void function(AdwActionRow* self, GtkWidget* widget) c_adw_action_row_remove; + void function(AdwActionRow* self, GtkWidget* widget) c_adw_action_row_set_activatable_widget; + void function(AdwActionRow* self, const(char)* iconName) c_adw_action_row_set_icon_name; + void function(AdwActionRow* self, const(char)* subtitle) c_adw_action_row_set_subtitle; + void function(AdwActionRow* self, int subtitleLines) c_adw_action_row_set_subtitle_lines; + void function(AdwActionRow* self, int titleLines) c_adw_action_row_set_title_lines; + + // adw.Animation + + GType function() c_adw_animation_get_type; + AdwAnimationState function(AdwAnimation* self) c_adw_animation_get_state; + AdwAnimationTarget* function(AdwAnimation* self) c_adw_animation_get_target; + double function(AdwAnimation* self) c_adw_animation_get_value; + GtkWidget* function(AdwAnimation* self) c_adw_animation_get_widget; + void function(AdwAnimation* self) c_adw_animation_pause; + void function(AdwAnimation* self) c_adw_animation_play; + void function(AdwAnimation* self) c_adw_animation_reset; + void function(AdwAnimation* self) c_adw_animation_resume; + void function(AdwAnimation* self) c_adw_animation_skip; + + // adw.AnimationTarget + + GType function() c_adw_animation_target_get_type; + + // adw.Application + + GType function() c_adw_application_get_type; + AdwApplication* function(const(char)* applicationId, GApplicationFlags flags) c_adw_application_new; + AdwStyleManager* function(AdwApplication* self) c_adw_application_get_style_manager; + + // adw.ApplicationWindow + + GType function() c_adw_application_window_get_type; + GtkWidget* function(GtkApplication* app) c_adw_application_window_new; + GtkWidget* function(AdwApplicationWindow* self) c_adw_application_window_get_content; + void function(AdwApplicationWindow* self, GtkWidget* content) c_adw_application_window_set_content; + + // adw.Avatar + + GType function() c_adw_avatar_get_type; + GtkWidget* function(int size, const(char)* text, int showInitials) c_adw_avatar_new; + GdkTexture* function(AdwAvatar* self, int scaleFactor) c_adw_avatar_draw_to_texture; + GdkPaintable* function(AdwAvatar* self) c_adw_avatar_get_custom_image; + const(char)* function(AdwAvatar* self) c_adw_avatar_get_icon_name; + int function(AdwAvatar* self) c_adw_avatar_get_show_initials; + int function(AdwAvatar* self) c_adw_avatar_get_size; + const(char)* function(AdwAvatar* self) c_adw_avatar_get_text; + void function(AdwAvatar* self, GdkPaintable* customImage) c_adw_avatar_set_custom_image; + void function(AdwAvatar* self, const(char)* iconName) c_adw_avatar_set_icon_name; + void function(AdwAvatar* self, int showInitials) c_adw_avatar_set_show_initials; + void function(AdwAvatar* self, int size) c_adw_avatar_set_size; + void function(AdwAvatar* self, const(char)* text) c_adw_avatar_set_text; + + // adw.Bin + + GType function() c_adw_bin_get_type; + GtkWidget* function() c_adw_bin_new; + GtkWidget* function(AdwBin* self) c_adw_bin_get_child; + void function(AdwBin* self, GtkWidget* child) c_adw_bin_set_child; + + // adw.ButtonContent + + GType function() c_adw_button_content_get_type; + GtkWidget* function() c_adw_button_content_new; + const(char)* function(AdwButtonContent* self) c_adw_button_content_get_icon_name; + const(char)* function(AdwButtonContent* self) c_adw_button_content_get_label; + int function(AdwButtonContent* self) c_adw_button_content_get_use_underline; + void function(AdwButtonContent* self, const(char)* iconName) c_adw_button_content_set_icon_name; + void function(AdwButtonContent* self, const(char)* label) c_adw_button_content_set_label; + void function(AdwButtonContent* self, int useUnderline) c_adw_button_content_set_use_underline; + + // adw.CallbackAnimationTarget + + GType function() c_adw_callback_animation_target_get_type; + AdwAnimationTarget* function(AdwAnimationTargetFunc callback, void* userData, GDestroyNotify destroy) c_adw_callback_animation_target_new; + + // adw.Carousel + + GType function() c_adw_carousel_get_type; + GtkWidget* function() c_adw_carousel_new; + void function(AdwCarousel* self, GtkWidget* child) c_adw_carousel_append; + int function(AdwCarousel* self) c_adw_carousel_get_allow_long_swipes; + int function(AdwCarousel* self) c_adw_carousel_get_allow_mouse_drag; + int function(AdwCarousel* self) c_adw_carousel_get_allow_scroll_wheel; + int function(AdwCarousel* self) c_adw_carousel_get_interactive; + uint function(AdwCarousel* self) c_adw_carousel_get_n_pages; + GtkWidget* function(AdwCarousel* self, uint n) c_adw_carousel_get_nth_page; + double function(AdwCarousel* self) c_adw_carousel_get_position; + uint function(AdwCarousel* self) c_adw_carousel_get_reveal_duration; + AdwSpringParams* function(AdwCarousel* self) c_adw_carousel_get_scroll_params; + uint function(AdwCarousel* self) c_adw_carousel_get_spacing; + void function(AdwCarousel* self, GtkWidget* child, int position) c_adw_carousel_insert; + void function(AdwCarousel* self, GtkWidget* child) c_adw_carousel_prepend; + void function(AdwCarousel* self, GtkWidget* child) c_adw_carousel_remove; + void function(AdwCarousel* self, GtkWidget* child, int position) c_adw_carousel_reorder; + void function(AdwCarousel* self, GtkWidget* widget, int animate) c_adw_carousel_scroll_to; + void function(AdwCarousel* self, int allowLongSwipes) c_adw_carousel_set_allow_long_swipes; + void function(AdwCarousel* self, int allowMouseDrag) c_adw_carousel_set_allow_mouse_drag; + void function(AdwCarousel* self, int allowScrollWheel) c_adw_carousel_set_allow_scroll_wheel; + void function(AdwCarousel* self, int interactive) c_adw_carousel_set_interactive; + void function(AdwCarousel* self, uint revealDuration) c_adw_carousel_set_reveal_duration; + void function(AdwCarousel* self, AdwSpringParams* params) c_adw_carousel_set_scroll_params; + void function(AdwCarousel* self, uint spacing) c_adw_carousel_set_spacing; + + // adw.CarouselIndicatorDots + + GType function() c_adw_carousel_indicator_dots_get_type; + GtkWidget* function() c_adw_carousel_indicator_dots_new; + AdwCarousel* function(AdwCarouselIndicatorDots* self) c_adw_carousel_indicator_dots_get_carousel; + void function(AdwCarouselIndicatorDots* self, AdwCarousel* carousel) c_adw_carousel_indicator_dots_set_carousel; + + // adw.CarouselIndicatorLines + + GType function() c_adw_carousel_indicator_lines_get_type; + GtkWidget* function() c_adw_carousel_indicator_lines_new; + AdwCarousel* function(AdwCarouselIndicatorLines* self) c_adw_carousel_indicator_lines_get_carousel; + void function(AdwCarouselIndicatorLines* self, AdwCarousel* carousel) c_adw_carousel_indicator_lines_set_carousel; + + // adw.Clamp + + GType function() c_adw_clamp_get_type; + GtkWidget* function() c_adw_clamp_new; + GtkWidget* function(AdwClamp* self) c_adw_clamp_get_child; + int function(AdwClamp* self) c_adw_clamp_get_maximum_size; + int function(AdwClamp* self) c_adw_clamp_get_tightening_threshold; + void function(AdwClamp* self, GtkWidget* child) c_adw_clamp_set_child; + void function(AdwClamp* self, int maximumSize) c_adw_clamp_set_maximum_size; + void function(AdwClamp* self, int tighteningThreshold) c_adw_clamp_set_tightening_threshold; + + // adw.ClampLayout + + GType function() c_adw_clamp_layout_get_type; + GtkLayoutManager* function() c_adw_clamp_layout_new; + int function(AdwClampLayout* self) c_adw_clamp_layout_get_maximum_size; + int function(AdwClampLayout* self) c_adw_clamp_layout_get_tightening_threshold; + void function(AdwClampLayout* self, int maximumSize) c_adw_clamp_layout_set_maximum_size; + void function(AdwClampLayout* self, int tighteningThreshold) c_adw_clamp_layout_set_tightening_threshold; + + // adw.ClampScrollable + + GType function() c_adw_clamp_scrollable_get_type; + GtkWidget* function() c_adw_clamp_scrollable_new; + GtkWidget* function(AdwClampScrollable* self) c_adw_clamp_scrollable_get_child; + int function(AdwClampScrollable* self) c_adw_clamp_scrollable_get_maximum_size; + int function(AdwClampScrollable* self) c_adw_clamp_scrollable_get_tightening_threshold; + void function(AdwClampScrollable* self, GtkWidget* child) c_adw_clamp_scrollable_set_child; + void function(AdwClampScrollable* self, int maximumSize) c_adw_clamp_scrollable_set_maximum_size; + void function(AdwClampScrollable* self, int tighteningThreshold) c_adw_clamp_scrollable_set_tightening_threshold; + + // adw.ComboRow + + GType function() c_adw_combo_row_get_type; + GtkWidget* function() c_adw_combo_row_new; + GtkExpression* function(AdwComboRow* self) c_adw_combo_row_get_expression; + GtkListItemFactory* function(AdwComboRow* self) c_adw_combo_row_get_factory; + GtkListItemFactory* function(AdwComboRow* self) c_adw_combo_row_get_list_factory; + GListModel* function(AdwComboRow* self) c_adw_combo_row_get_model; + uint function(AdwComboRow* self) c_adw_combo_row_get_selected; + void* function(AdwComboRow* self) c_adw_combo_row_get_selected_item; + int function(AdwComboRow* self) c_adw_combo_row_get_use_subtitle; + void function(AdwComboRow* self, GtkExpression* expression) c_adw_combo_row_set_expression; + void function(AdwComboRow* self, GtkListItemFactory* factory) c_adw_combo_row_set_factory; + void function(AdwComboRow* self, GtkListItemFactory* factory) c_adw_combo_row_set_list_factory; + void function(AdwComboRow* self, GListModel* model) c_adw_combo_row_set_model; + void function(AdwComboRow* self, uint position) c_adw_combo_row_set_selected; + void function(AdwComboRow* self, int useSubtitle) c_adw_combo_row_set_use_subtitle; + + // adw.EnumListItem + + GType function() c_adw_enum_list_item_get_type; + const(char)* function(AdwEnumListItem* self) c_adw_enum_list_item_get_name; + const(char)* function(AdwEnumListItem* self) c_adw_enum_list_item_get_nick; + int function(AdwEnumListItem* self) c_adw_enum_list_item_get_value; + + // adw.EnumListModel + + GType function() c_adw_enum_list_model_get_type; + AdwEnumListModel* function(GType enumType) c_adw_enum_list_model_new; + uint function(AdwEnumListModel* self, int value) c_adw_enum_list_model_find_position; + GType function(AdwEnumListModel* self) c_adw_enum_list_model_get_enum_type; + + // adw.ExpanderRow + + GType function() c_adw_expander_row_get_type; + GtkWidget* function() c_adw_expander_row_new; + void function(AdwExpanderRow* self, GtkWidget* widget) c_adw_expander_row_add_action; + void function(AdwExpanderRow* self, GtkWidget* widget) c_adw_expander_row_add_prefix; + void function(AdwExpanderRow* self, GtkWidget* child) c_adw_expander_row_add_row; + int function(AdwExpanderRow* self) c_adw_expander_row_get_enable_expansion; + int function(AdwExpanderRow* self) c_adw_expander_row_get_expanded; + const(char)* function(AdwExpanderRow* self) c_adw_expander_row_get_icon_name; + int function(AdwExpanderRow* self) c_adw_expander_row_get_show_enable_switch; + const(char)* function(AdwExpanderRow* self) c_adw_expander_row_get_subtitle; + void function(AdwExpanderRow* self, GtkWidget* child) c_adw_expander_row_remove; + void function(AdwExpanderRow* self, int enableExpansion) c_adw_expander_row_set_enable_expansion; + void function(AdwExpanderRow* self, int expanded) c_adw_expander_row_set_expanded; + void function(AdwExpanderRow* self, const(char)* iconName) c_adw_expander_row_set_icon_name; + void function(AdwExpanderRow* self, int showEnableSwitch) c_adw_expander_row_set_show_enable_switch; + void function(AdwExpanderRow* self, const(char)* subtitle) c_adw_expander_row_set_subtitle; + + // adw.Flap + + GType function() c_adw_flap_get_type; + GtkWidget* function() c_adw_flap_new; + GtkWidget* function(AdwFlap* self) c_adw_flap_get_content; + GtkWidget* function(AdwFlap* self) c_adw_flap_get_flap; + GtkPackType function(AdwFlap* self) c_adw_flap_get_flap_position; + uint function(AdwFlap* self) c_adw_flap_get_fold_duration; + AdwFlapFoldPolicy function(AdwFlap* self) c_adw_flap_get_fold_policy; + AdwFoldThresholdPolicy function(AdwFlap* self) c_adw_flap_get_fold_threshold_policy; + int function(AdwFlap* self) c_adw_flap_get_folded; + int function(AdwFlap* self) c_adw_flap_get_locked; + int function(AdwFlap* self) c_adw_flap_get_modal; + int function(AdwFlap* self) c_adw_flap_get_reveal_flap; + AdwSpringParams* function(AdwFlap* self) c_adw_flap_get_reveal_params; + double function(AdwFlap* self) c_adw_flap_get_reveal_progress; + GtkWidget* function(AdwFlap* self) c_adw_flap_get_separator; + int function(AdwFlap* self) c_adw_flap_get_swipe_to_close; + int function(AdwFlap* self) c_adw_flap_get_swipe_to_open; + AdwFlapTransitionType function(AdwFlap* self) c_adw_flap_get_transition_type; + void function(AdwFlap* self, GtkWidget* content) c_adw_flap_set_content; + void function(AdwFlap* self, GtkWidget* flap) c_adw_flap_set_flap; + void function(AdwFlap* self, GtkPackType position) c_adw_flap_set_flap_position; + void function(AdwFlap* self, uint duration) c_adw_flap_set_fold_duration; + void function(AdwFlap* self, AdwFlapFoldPolicy policy) c_adw_flap_set_fold_policy; + void function(AdwFlap* self, AdwFoldThresholdPolicy policy) c_adw_flap_set_fold_threshold_policy; + void function(AdwFlap* self, int locked) c_adw_flap_set_locked; + void function(AdwFlap* self, int modal) c_adw_flap_set_modal; + void function(AdwFlap* self, int revealFlap) c_adw_flap_set_reveal_flap; + void function(AdwFlap* self, AdwSpringParams* params) c_adw_flap_set_reveal_params; + void function(AdwFlap* self, GtkWidget* separator) c_adw_flap_set_separator; + void function(AdwFlap* self, int swipeToClose) c_adw_flap_set_swipe_to_close; + void function(AdwFlap* self, int swipeToOpen) c_adw_flap_set_swipe_to_open; + void function(AdwFlap* self, AdwFlapTransitionType transitionType) c_adw_flap_set_transition_type; + + // adw.HeaderBar + + GType function() c_adw_header_bar_get_type; + GtkWidget* function() c_adw_header_bar_new; + AdwCenteringPolicy function(AdwHeaderBar* self) c_adw_header_bar_get_centering_policy; + const(char)* function(AdwHeaderBar* self) c_adw_header_bar_get_decoration_layout; + int function(AdwHeaderBar* self) c_adw_header_bar_get_show_end_title_buttons; + int function(AdwHeaderBar* self) c_adw_header_bar_get_show_start_title_buttons; + GtkWidget* function(AdwHeaderBar* self) c_adw_header_bar_get_title_widget; + void function(AdwHeaderBar* self, GtkWidget* child) c_adw_header_bar_pack_end; + void function(AdwHeaderBar* self, GtkWidget* child) c_adw_header_bar_pack_start; + void function(AdwHeaderBar* self, GtkWidget* child) c_adw_header_bar_remove; + void function(AdwHeaderBar* self, AdwCenteringPolicy centeringPolicy) c_adw_header_bar_set_centering_policy; + void function(AdwHeaderBar* self, const(char)* layout) c_adw_header_bar_set_decoration_layout; + void function(AdwHeaderBar* self, int setting) c_adw_header_bar_set_show_end_title_buttons; + void function(AdwHeaderBar* self, int setting) c_adw_header_bar_set_show_start_title_buttons; + void function(AdwHeaderBar* self, GtkWidget* titleWidget) c_adw_header_bar_set_title_widget; + + // adw.Leaflet + + GType function() c_adw_leaflet_get_type; + GtkWidget* function() c_adw_leaflet_new; + AdwLeafletPage* function(AdwLeaflet* self, GtkWidget* child) c_adw_leaflet_append; + GtkWidget* function(AdwLeaflet* self, AdwNavigationDirection direction) c_adw_leaflet_get_adjacent_child; + int function(AdwLeaflet* self) c_adw_leaflet_get_can_navigate_back; + int function(AdwLeaflet* self) c_adw_leaflet_get_can_navigate_forward; + int function(AdwLeaflet* self) c_adw_leaflet_get_can_unfold; + GtkWidget* function(AdwLeaflet* self, const(char)* name) c_adw_leaflet_get_child_by_name; + AdwSpringParams* function(AdwLeaflet* self) c_adw_leaflet_get_child_transition_params; + int function(AdwLeaflet* self) c_adw_leaflet_get_child_transition_running; + AdwFoldThresholdPolicy function(AdwLeaflet* self) c_adw_leaflet_get_fold_threshold_policy; + int function(AdwLeaflet* self) c_adw_leaflet_get_folded; + int function(AdwLeaflet* self) c_adw_leaflet_get_homogeneous; + uint function(AdwLeaflet* self) c_adw_leaflet_get_mode_transition_duration; + AdwLeafletPage* function(AdwLeaflet* self, GtkWidget* child) c_adw_leaflet_get_page; + GtkSelectionModel* function(AdwLeaflet* self) c_adw_leaflet_get_pages; + AdwLeafletTransitionType function(AdwLeaflet* self) c_adw_leaflet_get_transition_type; + GtkWidget* function(AdwLeaflet* self) c_adw_leaflet_get_visible_child; + const(char)* function(AdwLeaflet* self) c_adw_leaflet_get_visible_child_name; + AdwLeafletPage* function(AdwLeaflet* self, GtkWidget* child, GtkWidget* sibling) c_adw_leaflet_insert_child_after; + int function(AdwLeaflet* self, AdwNavigationDirection direction) c_adw_leaflet_navigate; + AdwLeafletPage* function(AdwLeaflet* self, GtkWidget* child) c_adw_leaflet_prepend; + void function(AdwLeaflet* self, GtkWidget* child) c_adw_leaflet_remove; + void function(AdwLeaflet* self, GtkWidget* child, GtkWidget* sibling) c_adw_leaflet_reorder_child_after; + void function(AdwLeaflet* self, int canNavigateBack) c_adw_leaflet_set_can_navigate_back; + void function(AdwLeaflet* self, int canNavigateForward) c_adw_leaflet_set_can_navigate_forward; + void function(AdwLeaflet* self, int canUnfold) c_adw_leaflet_set_can_unfold; + void function(AdwLeaflet* self, AdwSpringParams* params) c_adw_leaflet_set_child_transition_params; + void function(AdwLeaflet* self, AdwFoldThresholdPolicy policy) c_adw_leaflet_set_fold_threshold_policy; + void function(AdwLeaflet* self, int homogeneous) c_adw_leaflet_set_homogeneous; + void function(AdwLeaflet* self, uint duration) c_adw_leaflet_set_mode_transition_duration; + void function(AdwLeaflet* self, AdwLeafletTransitionType transition) c_adw_leaflet_set_transition_type; + void function(AdwLeaflet* self, GtkWidget* visibleChild) c_adw_leaflet_set_visible_child; + void function(AdwLeaflet* self, const(char)* name) c_adw_leaflet_set_visible_child_name; + + // adw.LeafletPage + + GType function() c_adw_leaflet_page_get_type; + GtkWidget* function(AdwLeafletPage* self) c_adw_leaflet_page_get_child; + const(char)* function(AdwLeafletPage* self) c_adw_leaflet_page_get_name; + int function(AdwLeafletPage* self) c_adw_leaflet_page_get_navigatable; + void function(AdwLeafletPage* self, const(char)* name) c_adw_leaflet_page_set_name; + void function(AdwLeafletPage* self, int navigatable) c_adw_leaflet_page_set_navigatable; + + // adw.PreferencesGroup + + GType function() c_adw_preferences_group_get_type; + GtkWidget* function() c_adw_preferences_group_new; + void function(AdwPreferencesGroup* self, GtkWidget* child) c_adw_preferences_group_add; + const(char)* function(AdwPreferencesGroup* self) c_adw_preferences_group_get_description; + GtkWidget* function(AdwPreferencesGroup* self) c_adw_preferences_group_get_header_suffix; + const(char)* function(AdwPreferencesGroup* self) c_adw_preferences_group_get_title; + void function(AdwPreferencesGroup* self, GtkWidget* child) c_adw_preferences_group_remove; + void function(AdwPreferencesGroup* self, const(char)* description) c_adw_preferences_group_set_description; + void function(AdwPreferencesGroup* self, GtkWidget* suffix) c_adw_preferences_group_set_header_suffix; + void function(AdwPreferencesGroup* self, const(char)* title) c_adw_preferences_group_set_title; + + // adw.PreferencesPage + + GType function() c_adw_preferences_page_get_type; + GtkWidget* function() c_adw_preferences_page_new; + void function(AdwPreferencesPage* self, AdwPreferencesGroup* group) c_adw_preferences_page_add; + const(char)* function(AdwPreferencesPage* self) c_adw_preferences_page_get_icon_name; + const(char)* function(AdwPreferencesPage* self) c_adw_preferences_page_get_name; + const(char)* function(AdwPreferencesPage* self) c_adw_preferences_page_get_title; + int function(AdwPreferencesPage* self) c_adw_preferences_page_get_use_underline; + void function(AdwPreferencesPage* self, AdwPreferencesGroup* group) c_adw_preferences_page_remove; + void function(AdwPreferencesPage* self, const(char)* iconName) c_adw_preferences_page_set_icon_name; + void function(AdwPreferencesPage* self, const(char)* name) c_adw_preferences_page_set_name; + void function(AdwPreferencesPage* self, const(char)* title) c_adw_preferences_page_set_title; + void function(AdwPreferencesPage* self, int useUnderline) c_adw_preferences_page_set_use_underline; + + // adw.PreferencesRow + + GType function() c_adw_preferences_row_get_type; + GtkWidget* function() c_adw_preferences_row_new; + const(char)* function(AdwPreferencesRow* self) c_adw_preferences_row_get_title; + int function(AdwPreferencesRow* self) c_adw_preferences_row_get_title_selectable; + int function(AdwPreferencesRow* self) c_adw_preferences_row_get_use_underline; + void function(AdwPreferencesRow* self, const(char)* title) c_adw_preferences_row_set_title; + void function(AdwPreferencesRow* self, int titleSelectable) c_adw_preferences_row_set_title_selectable; + void function(AdwPreferencesRow* self, int useUnderline) c_adw_preferences_row_set_use_underline; + + // adw.PreferencesWindow + + GType function() c_adw_preferences_window_get_type; + GtkWidget* function() c_adw_preferences_window_new; + void function(AdwPreferencesWindow* self, AdwPreferencesPage* page) c_adw_preferences_window_add; + void function(AdwPreferencesWindow* self, AdwToast* toast) c_adw_preferences_window_add_toast; + void function(AdwPreferencesWindow* self) c_adw_preferences_window_close_subpage; + int function(AdwPreferencesWindow* self) c_adw_preferences_window_get_can_navigate_back; + int function(AdwPreferencesWindow* self) c_adw_preferences_window_get_search_enabled; + AdwPreferencesPage* function(AdwPreferencesWindow* self) c_adw_preferences_window_get_visible_page; + const(char)* function(AdwPreferencesWindow* self) c_adw_preferences_window_get_visible_page_name; + void function(AdwPreferencesWindow* self, GtkWidget* subpage) c_adw_preferences_window_present_subpage; + void function(AdwPreferencesWindow* self, AdwPreferencesPage* page) c_adw_preferences_window_remove; + void function(AdwPreferencesWindow* self, int canNavigateBack) c_adw_preferences_window_set_can_navigate_back; + void function(AdwPreferencesWindow* self, int searchEnabled) c_adw_preferences_window_set_search_enabled; + void function(AdwPreferencesWindow* self, AdwPreferencesPage* page) c_adw_preferences_window_set_visible_page; + void function(AdwPreferencesWindow* self, const(char)* name) c_adw_preferences_window_set_visible_page_name; + + // adw.SplitButton + + GType function() c_adw_split_button_get_type; + GtkWidget* function() c_adw_split_button_new; + GtkWidget* function(AdwSplitButton* self) c_adw_split_button_get_child; + GtkArrowType function(AdwSplitButton* self) c_adw_split_button_get_direction; + const(char)* function(AdwSplitButton* self) c_adw_split_button_get_icon_name; + const(char)* function(AdwSplitButton* self) c_adw_split_button_get_label; + GMenuModel* function(AdwSplitButton* self) c_adw_split_button_get_menu_model; + GtkPopover* function(AdwSplitButton* self) c_adw_split_button_get_popover; + int function(AdwSplitButton* self) c_adw_split_button_get_use_underline; + void function(AdwSplitButton* self) c_adw_split_button_popdown; + void function(AdwSplitButton* self) c_adw_split_button_popup; + void function(AdwSplitButton* self, GtkWidget* child) c_adw_split_button_set_child; + void function(AdwSplitButton* self, GtkArrowType direction) c_adw_split_button_set_direction; + void function(AdwSplitButton* self, const(char)* iconName) c_adw_split_button_set_icon_name; + void function(AdwSplitButton* self, const(char)* label) c_adw_split_button_set_label; + void function(AdwSplitButton* self, GMenuModel* menuModel) c_adw_split_button_set_menu_model; + void function(AdwSplitButton* self, GtkPopover* popover) c_adw_split_button_set_popover; + void function(AdwSplitButton* self, int useUnderline) c_adw_split_button_set_use_underline; + + // adw.SpringAnimation + + GType function() c_adw_spring_animation_get_type; + AdwAnimation* function(GtkWidget* widget, double from, double to, AdwSpringParams* springParams, AdwAnimationTarget* target) c_adw_spring_animation_new; + int function(AdwSpringAnimation* self) c_adw_spring_animation_get_clamp; + double function(AdwSpringAnimation* self) c_adw_spring_animation_get_epsilon; + uint function(AdwSpringAnimation* self) c_adw_spring_animation_get_estimated_duration; + double function(AdwSpringAnimation* self) c_adw_spring_animation_get_initial_velocity; + AdwSpringParams* function(AdwSpringAnimation* self) c_adw_spring_animation_get_spring_params; + double function(AdwSpringAnimation* self) c_adw_spring_animation_get_value_from; + double function(AdwSpringAnimation* self) c_adw_spring_animation_get_value_to; + double function(AdwSpringAnimation* self) c_adw_spring_animation_get_velocity; + void function(AdwSpringAnimation* self, int clamp) c_adw_spring_animation_set_clamp; + void function(AdwSpringAnimation* self, double epsilon) c_adw_spring_animation_set_epsilon; + void function(AdwSpringAnimation* self, double velocity) c_adw_spring_animation_set_initial_velocity; + void function(AdwSpringAnimation* self, AdwSpringParams* springParams) c_adw_spring_animation_set_spring_params; + void function(AdwSpringAnimation* self, double value) c_adw_spring_animation_set_value_from; + void function(AdwSpringAnimation* self, double value) c_adw_spring_animation_set_value_to; + + // adw.SpringParams + + GType function() c_adw_spring_params_get_type; + AdwSpringParams* function(double dampingRatio, double mass, double stiffness) c_adw_spring_params_new; + AdwSpringParams* function(double damping, double mass, double stiffness) c_adw_spring_params_new_full; + double function(AdwSpringParams* self) c_adw_spring_params_get_damping; + double function(AdwSpringParams* self) c_adw_spring_params_get_damping_ratio; + double function(AdwSpringParams* self) c_adw_spring_params_get_mass; + double function(AdwSpringParams* self) c_adw_spring_params_get_stiffness; + AdwSpringParams* function(AdwSpringParams* self) c_adw_spring_params_ref; + void function(AdwSpringParams* self) c_adw_spring_params_unref; + + // adw.Squeezer + + GType function() c_adw_squeezer_get_type; + GtkWidget* function() c_adw_squeezer_new; + AdwSqueezerPage* function(AdwSqueezer* self, GtkWidget* child) c_adw_squeezer_add; + int function(AdwSqueezer* self) c_adw_squeezer_get_allow_none; + int function(AdwSqueezer* self) c_adw_squeezer_get_homogeneous; + int function(AdwSqueezer* self) c_adw_squeezer_get_interpolate_size; + AdwSqueezerPage* function(AdwSqueezer* self, GtkWidget* child) c_adw_squeezer_get_page; + GtkSelectionModel* function(AdwSqueezer* self) c_adw_squeezer_get_pages; + AdwFoldThresholdPolicy function(AdwSqueezer* self) c_adw_squeezer_get_switch_threshold_policy; + uint function(AdwSqueezer* self) c_adw_squeezer_get_transition_duration; + int function(AdwSqueezer* self) c_adw_squeezer_get_transition_running; + AdwSqueezerTransitionType function(AdwSqueezer* self) c_adw_squeezer_get_transition_type; + GtkWidget* function(AdwSqueezer* self) c_adw_squeezer_get_visible_child; + float function(AdwSqueezer* self) c_adw_squeezer_get_xalign; + float function(AdwSqueezer* self) c_adw_squeezer_get_yalign; + void function(AdwSqueezer* self, GtkWidget* child) c_adw_squeezer_remove; + void function(AdwSqueezer* self, int allowNone) c_adw_squeezer_set_allow_none; + void function(AdwSqueezer* self, int homogeneous) c_adw_squeezer_set_homogeneous; + void function(AdwSqueezer* self, int interpolateSize) c_adw_squeezer_set_interpolate_size; + void function(AdwSqueezer* self, AdwFoldThresholdPolicy policy) c_adw_squeezer_set_switch_threshold_policy; + void function(AdwSqueezer* self, uint duration) c_adw_squeezer_set_transition_duration; + void function(AdwSqueezer* self, AdwSqueezerTransitionType transition) c_adw_squeezer_set_transition_type; + void function(AdwSqueezer* self, float xalign) c_adw_squeezer_set_xalign; + void function(AdwSqueezer* self, float yalign) c_adw_squeezer_set_yalign; + + // adw.SqueezerPage + + GType function() c_adw_squeezer_page_get_type; + GtkWidget* function(AdwSqueezerPage* self) c_adw_squeezer_page_get_child; + int function(AdwSqueezerPage* self) c_adw_squeezer_page_get_enabled; + void function(AdwSqueezerPage* self, int enabled) c_adw_squeezer_page_set_enabled; + + // adw.StatusPage + + GType function() c_adw_status_page_get_type; + GtkWidget* function() c_adw_status_page_new; + GtkWidget* function(AdwStatusPage* self) c_adw_status_page_get_child; + const(char)* function(AdwStatusPage* self) c_adw_status_page_get_description; + const(char)* function(AdwStatusPage* self) c_adw_status_page_get_icon_name; + GdkPaintable* function(AdwStatusPage* self) c_adw_status_page_get_paintable; + const(char)* function(AdwStatusPage* self) c_adw_status_page_get_title; + void function(AdwStatusPage* self, GtkWidget* child) c_adw_status_page_set_child; + void function(AdwStatusPage* self, const(char)* description) c_adw_status_page_set_description; + void function(AdwStatusPage* self, const(char)* iconName) c_adw_status_page_set_icon_name; + void function(AdwStatusPage* self, GdkPaintable* paintable) c_adw_status_page_set_paintable; + void function(AdwStatusPage* self, const(char)* title) c_adw_status_page_set_title; + + // adw.StyleManager + + GType function() c_adw_style_manager_get_type; + AdwStyleManager* function() c_adw_style_manager_get_default; + AdwStyleManager* function(GdkDisplay* display) c_adw_style_manager_get_for_display; + AdwColorScheme function(AdwStyleManager* self) c_adw_style_manager_get_color_scheme; + int function(AdwStyleManager* self) c_adw_style_manager_get_dark; + GdkDisplay* function(AdwStyleManager* self) c_adw_style_manager_get_display; + int function(AdwStyleManager* self) c_adw_style_manager_get_high_contrast; + int function(AdwStyleManager* self) c_adw_style_manager_get_system_supports_color_schemes; + void function(AdwStyleManager* self, AdwColorScheme colorScheme) c_adw_style_manager_set_color_scheme; + + // adw.SwipeTracker + + GType function() c_adw_swipe_tracker_get_type; + AdwSwipeTracker* function(AdwSwipeable* swipeable) c_adw_swipe_tracker_new; + int function(AdwSwipeTracker* self) c_adw_swipe_tracker_get_allow_long_swipes; + int function(AdwSwipeTracker* self) c_adw_swipe_tracker_get_allow_mouse_drag; + int function(AdwSwipeTracker* self) c_adw_swipe_tracker_get_enabled; + int function(AdwSwipeTracker* self) c_adw_swipe_tracker_get_reversed; + AdwSwipeable* function(AdwSwipeTracker* self) c_adw_swipe_tracker_get_swipeable; + void function(AdwSwipeTracker* self, int allowLongSwipes) c_adw_swipe_tracker_set_allow_long_swipes; + void function(AdwSwipeTracker* self, int allowMouseDrag) c_adw_swipe_tracker_set_allow_mouse_drag; + void function(AdwSwipeTracker* self, int enabled) c_adw_swipe_tracker_set_enabled; + void function(AdwSwipeTracker* self, int reversed) c_adw_swipe_tracker_set_reversed; + void function(AdwSwipeTracker* self, double delta) c_adw_swipe_tracker_shift_position; + + // adw.Swipeable + + GType function() c_adw_swipeable_get_type; + double function(AdwSwipeable* self) c_adw_swipeable_get_cancel_progress; + double function(AdwSwipeable* self) c_adw_swipeable_get_distance; + double function(AdwSwipeable* self) c_adw_swipeable_get_progress; + double* function(AdwSwipeable* self, int* nSnapPoints) c_adw_swipeable_get_snap_points; + void function(AdwSwipeable* self, AdwNavigationDirection navigationDirection, int isDrag, GdkRectangle* rect) c_adw_swipeable_get_swipe_area; + + // adw.TabBar + + GType function() c_adw_tab_bar_get_type; + AdwTabBar* function() c_adw_tab_bar_new; + int function(AdwTabBar* self) c_adw_tab_bar_get_autohide; + GtkWidget* function(AdwTabBar* self) c_adw_tab_bar_get_end_action_widget; + int function(AdwTabBar* self) c_adw_tab_bar_get_expand_tabs; + int function(AdwTabBar* self) c_adw_tab_bar_get_inverted; + int function(AdwTabBar* self) c_adw_tab_bar_get_is_overflowing; + GtkWidget* function(AdwTabBar* self) c_adw_tab_bar_get_start_action_widget; + int function(AdwTabBar* self) c_adw_tab_bar_get_tabs_revealed; + AdwTabView* function(AdwTabBar* self) c_adw_tab_bar_get_view; + void function(AdwTabBar* self, int autohide) c_adw_tab_bar_set_autohide; + void function(AdwTabBar* self, GtkWidget* widget) c_adw_tab_bar_set_end_action_widget; + void function(AdwTabBar* self, int expandTabs) c_adw_tab_bar_set_expand_tabs; + void function(AdwTabBar* self, int inverted) c_adw_tab_bar_set_inverted; + void function(AdwTabBar* self, GtkWidget* widget) c_adw_tab_bar_set_start_action_widget; + void function(AdwTabBar* self, AdwTabView* view) c_adw_tab_bar_set_view; + void function(AdwTabBar* self, GdkDragAction actions, GType* types, size_t nTypes) c_adw_tab_bar_setup_extra_drop_target; + + // adw.TabPage + + GType function() c_adw_tab_page_get_type; + GtkWidget* function(AdwTabPage* self) c_adw_tab_page_get_child; + GIcon* function(AdwTabPage* self) c_adw_tab_page_get_icon; + int function(AdwTabPage* self) c_adw_tab_page_get_indicator_activatable; + GIcon* function(AdwTabPage* self) c_adw_tab_page_get_indicator_icon; + int function(AdwTabPage* self) c_adw_tab_page_get_loading; + int function(AdwTabPage* self) c_adw_tab_page_get_needs_attention; + AdwTabPage* function(AdwTabPage* self) c_adw_tab_page_get_parent; + int function(AdwTabPage* self) c_adw_tab_page_get_pinned; + int function(AdwTabPage* self) c_adw_tab_page_get_selected; + const(char)* function(AdwTabPage* self) c_adw_tab_page_get_title; + const(char)* function(AdwTabPage* self) c_adw_tab_page_get_tooltip; + void function(AdwTabPage* self, GIcon* icon) c_adw_tab_page_set_icon; + void function(AdwTabPage* self, int activatable) c_adw_tab_page_set_indicator_activatable; + void function(AdwTabPage* self, GIcon* indicatorIcon) c_adw_tab_page_set_indicator_icon; + void function(AdwTabPage* self, int loading) c_adw_tab_page_set_loading; + void function(AdwTabPage* self, int needsAttention) c_adw_tab_page_set_needs_attention; + void function(AdwTabPage* self, const(char)* title) c_adw_tab_page_set_title; + void function(AdwTabPage* self, const(char)* tooltip) c_adw_tab_page_set_tooltip; + + // adw.TabView + + GType function() c_adw_tab_view_get_type; + AdwTabView* function() c_adw_tab_view_new; + AdwTabPage* function(AdwTabView* self, GtkWidget* child, AdwTabPage* parent) c_adw_tab_view_add_page; + AdwTabPage* function(AdwTabView* self, GtkWidget* child) c_adw_tab_view_append; + AdwTabPage* function(AdwTabView* self, GtkWidget* child) c_adw_tab_view_append_pinned; + void function(AdwTabView* self, AdwTabPage* page) c_adw_tab_view_close_other_pages; + void function(AdwTabView* self, AdwTabPage* page) c_adw_tab_view_close_page; + void function(AdwTabView* self, AdwTabPage* page, int confirm) c_adw_tab_view_close_page_finish; + void function(AdwTabView* self, AdwTabPage* page) c_adw_tab_view_close_pages_after; + void function(AdwTabView* self, AdwTabPage* page) c_adw_tab_view_close_pages_before; + GIcon* function(AdwTabView* self) c_adw_tab_view_get_default_icon; + int function(AdwTabView* self) c_adw_tab_view_get_is_transferring_page; + GMenuModel* function(AdwTabView* self) c_adw_tab_view_get_menu_model; + int function(AdwTabView* self) c_adw_tab_view_get_n_pages; + int function(AdwTabView* self) c_adw_tab_view_get_n_pinned_pages; + AdwTabPage* function(AdwTabView* self, int position) c_adw_tab_view_get_nth_page; + AdwTabPage* function(AdwTabView* self, GtkWidget* child) c_adw_tab_view_get_page; + int function(AdwTabView* self, AdwTabPage* page) c_adw_tab_view_get_page_position; + GtkSelectionModel* function(AdwTabView* self) c_adw_tab_view_get_pages; + AdwTabPage* function(AdwTabView* self) c_adw_tab_view_get_selected_page; + AdwTabPage* function(AdwTabView* self, GtkWidget* child, int position) c_adw_tab_view_insert; + AdwTabPage* function(AdwTabView* self, GtkWidget* child, int position) c_adw_tab_view_insert_pinned; + AdwTabPage* function(AdwTabView* self, GtkWidget* child) c_adw_tab_view_prepend; + AdwTabPage* function(AdwTabView* self, GtkWidget* child) c_adw_tab_view_prepend_pinned; + int function(AdwTabView* self, AdwTabPage* page) c_adw_tab_view_reorder_backward; + int function(AdwTabView* self, AdwTabPage* page) c_adw_tab_view_reorder_first; + int function(AdwTabView* self, AdwTabPage* page) c_adw_tab_view_reorder_forward; + int function(AdwTabView* self, AdwTabPage* page) c_adw_tab_view_reorder_last; + int function(AdwTabView* self, AdwTabPage* page, int position) c_adw_tab_view_reorder_page; + int function(AdwTabView* self) c_adw_tab_view_select_next_page; + int function(AdwTabView* self) c_adw_tab_view_select_previous_page; + void function(AdwTabView* self, GIcon* defaultIcon) c_adw_tab_view_set_default_icon; + void function(AdwTabView* self, GMenuModel* menuModel) c_adw_tab_view_set_menu_model; + void function(AdwTabView* self, AdwTabPage* page, int pinned) c_adw_tab_view_set_page_pinned; + void function(AdwTabView* self, AdwTabPage* selectedPage) c_adw_tab_view_set_selected_page; + void function(AdwTabView* self, AdwTabPage* page, AdwTabView* otherView, int position) c_adw_tab_view_transfer_page; + + // adw.TimedAnimation + + GType function() c_adw_timed_animation_get_type; + AdwAnimation* function(GtkWidget* widget, double from, double to, uint duration, AdwAnimationTarget* target) c_adw_timed_animation_new; + int function(AdwTimedAnimation* self) c_adw_timed_animation_get_alternate; + uint function(AdwTimedAnimation* self) c_adw_timed_animation_get_duration; + AdwEasing function(AdwTimedAnimation* self) c_adw_timed_animation_get_easing; + uint function(AdwTimedAnimation* self) c_adw_timed_animation_get_repeat_count; + int function(AdwTimedAnimation* self) c_adw_timed_animation_get_reverse; + double function(AdwTimedAnimation* self) c_adw_timed_animation_get_value_from; + double function(AdwTimedAnimation* self) c_adw_timed_animation_get_value_to; + void function(AdwTimedAnimation* self, int alternate) c_adw_timed_animation_set_alternate; + void function(AdwTimedAnimation* self, uint duration) c_adw_timed_animation_set_duration; + void function(AdwTimedAnimation* self, AdwEasing easing) c_adw_timed_animation_set_easing; + void function(AdwTimedAnimation* self, uint repeatCount) c_adw_timed_animation_set_repeat_count; + void function(AdwTimedAnimation* self, int reverse) c_adw_timed_animation_set_reverse; + void function(AdwTimedAnimation* self, double value) c_adw_timed_animation_set_value_from; + void function(AdwTimedAnimation* self, double value) c_adw_timed_animation_set_value_to; + + // adw.Toast + + GType function() c_adw_toast_get_type; + AdwToast* function(const(char)* title) c_adw_toast_new; + void function(AdwToast* self) c_adw_toast_dismiss; + const(char)* function(AdwToast* self) c_adw_toast_get_action_name; + GVariant* function(AdwToast* self) c_adw_toast_get_action_target_value; + const(char)* function(AdwToast* self) c_adw_toast_get_button_label; + AdwToastPriority function(AdwToast* self) c_adw_toast_get_priority; + uint function(AdwToast* self) c_adw_toast_get_timeout; + const(char)* function(AdwToast* self) c_adw_toast_get_title; + void function(AdwToast* self, const(char)* actionName) c_adw_toast_set_action_name; + void function(AdwToast* self, const(char)* formatString, ... ) c_adw_toast_set_action_target; + void function(AdwToast* self, GVariant* actionTarget) c_adw_toast_set_action_target_value; + void function(AdwToast* self, const(char)* buttonLabel) c_adw_toast_set_button_label; + void function(AdwToast* self, const(char)* detailedActionName) c_adw_toast_set_detailed_action_name; + void function(AdwToast* self, AdwToastPriority priority) c_adw_toast_set_priority; + void function(AdwToast* self, uint timeout) c_adw_toast_set_timeout; + void function(AdwToast* self, const(char)* title) c_adw_toast_set_title; + + // adw.ToastOverlay + + GType function() c_adw_toast_overlay_get_type; + GtkWidget* function() c_adw_toast_overlay_new; + void function(AdwToastOverlay* self, AdwToast* toast) c_adw_toast_overlay_add_toast; + GtkWidget* function(AdwToastOverlay* self) c_adw_toast_overlay_get_child; + void function(AdwToastOverlay* self, GtkWidget* child) c_adw_toast_overlay_set_child; + + // adw.ViewStack + + GType function() c_adw_view_stack_get_type; + GtkWidget* function() c_adw_view_stack_new; + AdwViewStackPage* function(AdwViewStack* self, GtkWidget* child) c_adw_view_stack_add; + AdwViewStackPage* function(AdwViewStack* self, GtkWidget* child, const(char)* name) c_adw_view_stack_add_named; + AdwViewStackPage* function(AdwViewStack* self, GtkWidget* child, const(char)* name, const(char)* title) c_adw_view_stack_add_titled; + GtkWidget* function(AdwViewStack* self, const(char)* name) c_adw_view_stack_get_child_by_name; + int function(AdwViewStack* self) c_adw_view_stack_get_hhomogeneous; + AdwViewStackPage* function(AdwViewStack* self, GtkWidget* child) c_adw_view_stack_get_page; + GtkSelectionModel* function(AdwViewStack* self) c_adw_view_stack_get_pages; + int function(AdwViewStack* self) c_adw_view_stack_get_vhomogeneous; + GtkWidget* function(AdwViewStack* self) c_adw_view_stack_get_visible_child; + const(char)* function(AdwViewStack* self) c_adw_view_stack_get_visible_child_name; + void function(AdwViewStack* self, GtkWidget* child) c_adw_view_stack_remove; + void function(AdwViewStack* self, int hhomogeneous) c_adw_view_stack_set_hhomogeneous; + void function(AdwViewStack* self, int vhomogeneous) c_adw_view_stack_set_vhomogeneous; + void function(AdwViewStack* self, GtkWidget* child) c_adw_view_stack_set_visible_child; + void function(AdwViewStack* self, const(char)* name) c_adw_view_stack_set_visible_child_name; + + // adw.ViewStackPage + + GType function() c_adw_view_stack_page_get_type; + uint function(AdwViewStackPage* self) c_adw_view_stack_page_get_badge_number; + GtkWidget* function(AdwViewStackPage* self) c_adw_view_stack_page_get_child; + const(char)* function(AdwViewStackPage* self) c_adw_view_stack_page_get_icon_name; + const(char)* function(AdwViewStackPage* self) c_adw_view_stack_page_get_name; + int function(AdwViewStackPage* self) c_adw_view_stack_page_get_needs_attention; + const(char)* function(AdwViewStackPage* self) c_adw_view_stack_page_get_title; + int function(AdwViewStackPage* self) c_adw_view_stack_page_get_use_underline; + int function(AdwViewStackPage* self) c_adw_view_stack_page_get_visible; + void function(AdwViewStackPage* self, uint badgeNumber) c_adw_view_stack_page_set_badge_number; + void function(AdwViewStackPage* self, const(char)* iconName) c_adw_view_stack_page_set_icon_name; + void function(AdwViewStackPage* self, const(char)* name) c_adw_view_stack_page_set_name; + void function(AdwViewStackPage* self, int needsAttention) c_adw_view_stack_page_set_needs_attention; + void function(AdwViewStackPage* self, const(char)* title) c_adw_view_stack_page_set_title; + void function(AdwViewStackPage* self, int useUnderline) c_adw_view_stack_page_set_use_underline; + void function(AdwViewStackPage* self, int visible) c_adw_view_stack_page_set_visible; + + // adw.ViewSwitcher + + GType function() c_adw_view_switcher_get_type; + GtkWidget* function() c_adw_view_switcher_new; + AdwViewSwitcherPolicy function(AdwViewSwitcher* self) c_adw_view_switcher_get_policy; + AdwViewStack* function(AdwViewSwitcher* self) c_adw_view_switcher_get_stack; + void function(AdwViewSwitcher* self, AdwViewSwitcherPolicy policy) c_adw_view_switcher_set_policy; + void function(AdwViewSwitcher* self, AdwViewStack* stack) c_adw_view_switcher_set_stack; + + // adw.ViewSwitcherBar + + GType function() c_adw_view_switcher_bar_get_type; + GtkWidget* function() c_adw_view_switcher_bar_new; + int function(AdwViewSwitcherBar* self) c_adw_view_switcher_bar_get_reveal; + AdwViewStack* function(AdwViewSwitcherBar* self) c_adw_view_switcher_bar_get_stack; + void function(AdwViewSwitcherBar* self, int reveal) c_adw_view_switcher_bar_set_reveal; + void function(AdwViewSwitcherBar* self, AdwViewStack* stack) c_adw_view_switcher_bar_set_stack; + + // adw.ViewSwitcherTitle + + GType function() c_adw_view_switcher_title_get_type; + GtkWidget* function() c_adw_view_switcher_title_new; + AdwViewStack* function(AdwViewSwitcherTitle* self) c_adw_view_switcher_title_get_stack; + const(char)* function(AdwViewSwitcherTitle* self) c_adw_view_switcher_title_get_subtitle; + const(char)* function(AdwViewSwitcherTitle* self) c_adw_view_switcher_title_get_title; + int function(AdwViewSwitcherTitle* self) c_adw_view_switcher_title_get_title_visible; + int function(AdwViewSwitcherTitle* self) c_adw_view_switcher_title_get_view_switcher_enabled; + void function(AdwViewSwitcherTitle* self, AdwViewStack* stack) c_adw_view_switcher_title_set_stack; + void function(AdwViewSwitcherTitle* self, const(char)* subtitle) c_adw_view_switcher_title_set_subtitle; + void function(AdwViewSwitcherTitle* self, const(char)* title) c_adw_view_switcher_title_set_title; + void function(AdwViewSwitcherTitle* self, int enabled) c_adw_view_switcher_title_set_view_switcher_enabled; + + // adw.Window + + GType function() c_adw_window_get_type; + GtkWidget* function() c_adw_window_new; + GtkWidget* function(AdwWindow* self) c_adw_window_get_content; + void function(AdwWindow* self, GtkWidget* content) c_adw_window_set_content; + + // adw.WindowTitle + + GType function() c_adw_window_title_get_type; + GtkWidget* function(const(char)* title, const(char)* subtitle) c_adw_window_title_new; + const(char)* function(AdwWindowTitle* self) c_adw_window_title_get_subtitle; + const(char)* function(AdwWindowTitle* self) c_adw_window_title_get_title; + void function(AdwWindowTitle* self, const(char)* subtitle) c_adw_window_title_set_subtitle; + void function(AdwWindowTitle* self, const(char)* title) c_adw_window_title_set_title; +} + + +// adw.ActionRow + +alias c_adw_action_row_get_type adw_action_row_get_type; +alias c_adw_action_row_new adw_action_row_new; +alias c_adw_action_row_activate adw_action_row_activate; +alias c_adw_action_row_add_prefix adw_action_row_add_prefix; +alias c_adw_action_row_add_suffix adw_action_row_add_suffix; +alias c_adw_action_row_get_activatable_widget adw_action_row_get_activatable_widget; +alias c_adw_action_row_get_icon_name adw_action_row_get_icon_name; +alias c_adw_action_row_get_subtitle adw_action_row_get_subtitle; +alias c_adw_action_row_get_subtitle_lines adw_action_row_get_subtitle_lines; +alias c_adw_action_row_get_title_lines adw_action_row_get_title_lines; +alias c_adw_action_row_remove adw_action_row_remove; +alias c_adw_action_row_set_activatable_widget adw_action_row_set_activatable_widget; +alias c_adw_action_row_set_icon_name adw_action_row_set_icon_name; +alias c_adw_action_row_set_subtitle adw_action_row_set_subtitle; +alias c_adw_action_row_set_subtitle_lines adw_action_row_set_subtitle_lines; +alias c_adw_action_row_set_title_lines adw_action_row_set_title_lines; + +// adw.Animation + +alias c_adw_animation_get_type adw_animation_get_type; +alias c_adw_animation_get_state adw_animation_get_state; +alias c_adw_animation_get_target adw_animation_get_target; +alias c_adw_animation_get_value adw_animation_get_value; +alias c_adw_animation_get_widget adw_animation_get_widget; +alias c_adw_animation_pause adw_animation_pause; +alias c_adw_animation_play adw_animation_play; +alias c_adw_animation_reset adw_animation_reset; +alias c_adw_animation_resume adw_animation_resume; +alias c_adw_animation_skip adw_animation_skip; + +// adw.AnimationTarget + +alias c_adw_animation_target_get_type adw_animation_target_get_type; + +// adw.Application + +alias c_adw_application_get_type adw_application_get_type; +alias c_adw_application_new adw_application_new; +alias c_adw_application_get_style_manager adw_application_get_style_manager; + +// adw.ApplicationWindow + +alias c_adw_application_window_get_type adw_application_window_get_type; +alias c_adw_application_window_new adw_application_window_new; +alias c_adw_application_window_get_content adw_application_window_get_content; +alias c_adw_application_window_set_content adw_application_window_set_content; + +// adw.Avatar + +alias c_adw_avatar_get_type adw_avatar_get_type; +alias c_adw_avatar_new adw_avatar_new; +alias c_adw_avatar_draw_to_texture adw_avatar_draw_to_texture; +alias c_adw_avatar_get_custom_image adw_avatar_get_custom_image; +alias c_adw_avatar_get_icon_name adw_avatar_get_icon_name; +alias c_adw_avatar_get_show_initials adw_avatar_get_show_initials; +alias c_adw_avatar_get_size adw_avatar_get_size; +alias c_adw_avatar_get_text adw_avatar_get_text; +alias c_adw_avatar_set_custom_image adw_avatar_set_custom_image; +alias c_adw_avatar_set_icon_name adw_avatar_set_icon_name; +alias c_adw_avatar_set_show_initials adw_avatar_set_show_initials; +alias c_adw_avatar_set_size adw_avatar_set_size; +alias c_adw_avatar_set_text adw_avatar_set_text; + +// adw.Bin + +alias c_adw_bin_get_type adw_bin_get_type; +alias c_adw_bin_new adw_bin_new; +alias c_adw_bin_get_child adw_bin_get_child; +alias c_adw_bin_set_child adw_bin_set_child; + +// adw.ButtonContent + +alias c_adw_button_content_get_type adw_button_content_get_type; +alias c_adw_button_content_new adw_button_content_new; +alias c_adw_button_content_get_icon_name adw_button_content_get_icon_name; +alias c_adw_button_content_get_label adw_button_content_get_label; +alias c_adw_button_content_get_use_underline adw_button_content_get_use_underline; +alias c_adw_button_content_set_icon_name adw_button_content_set_icon_name; +alias c_adw_button_content_set_label adw_button_content_set_label; +alias c_adw_button_content_set_use_underline adw_button_content_set_use_underline; + +// adw.CallbackAnimationTarget + +alias c_adw_callback_animation_target_get_type adw_callback_animation_target_get_type; +alias c_adw_callback_animation_target_new adw_callback_animation_target_new; + +// adw.Carousel + +alias c_adw_carousel_get_type adw_carousel_get_type; +alias c_adw_carousel_new adw_carousel_new; +alias c_adw_carousel_append adw_carousel_append; +alias c_adw_carousel_get_allow_long_swipes adw_carousel_get_allow_long_swipes; +alias c_adw_carousel_get_allow_mouse_drag adw_carousel_get_allow_mouse_drag; +alias c_adw_carousel_get_allow_scroll_wheel adw_carousel_get_allow_scroll_wheel; +alias c_adw_carousel_get_interactive adw_carousel_get_interactive; +alias c_adw_carousel_get_n_pages adw_carousel_get_n_pages; +alias c_adw_carousel_get_nth_page adw_carousel_get_nth_page; +alias c_adw_carousel_get_position adw_carousel_get_position; +alias c_adw_carousel_get_reveal_duration adw_carousel_get_reveal_duration; +alias c_adw_carousel_get_scroll_params adw_carousel_get_scroll_params; +alias c_adw_carousel_get_spacing adw_carousel_get_spacing; +alias c_adw_carousel_insert adw_carousel_insert; +alias c_adw_carousel_prepend adw_carousel_prepend; +alias c_adw_carousel_remove adw_carousel_remove; +alias c_adw_carousel_reorder adw_carousel_reorder; +alias c_adw_carousel_scroll_to adw_carousel_scroll_to; +alias c_adw_carousel_set_allow_long_swipes adw_carousel_set_allow_long_swipes; +alias c_adw_carousel_set_allow_mouse_drag adw_carousel_set_allow_mouse_drag; +alias c_adw_carousel_set_allow_scroll_wheel adw_carousel_set_allow_scroll_wheel; +alias c_adw_carousel_set_interactive adw_carousel_set_interactive; +alias c_adw_carousel_set_reveal_duration adw_carousel_set_reveal_duration; +alias c_adw_carousel_set_scroll_params adw_carousel_set_scroll_params; +alias c_adw_carousel_set_spacing adw_carousel_set_spacing; + +// adw.CarouselIndicatorDots + +alias c_adw_carousel_indicator_dots_get_type adw_carousel_indicator_dots_get_type; +alias c_adw_carousel_indicator_dots_new adw_carousel_indicator_dots_new; +alias c_adw_carousel_indicator_dots_get_carousel adw_carousel_indicator_dots_get_carousel; +alias c_adw_carousel_indicator_dots_set_carousel adw_carousel_indicator_dots_set_carousel; + +// adw.CarouselIndicatorLines + +alias c_adw_carousel_indicator_lines_get_type adw_carousel_indicator_lines_get_type; +alias c_adw_carousel_indicator_lines_new adw_carousel_indicator_lines_new; +alias c_adw_carousel_indicator_lines_get_carousel adw_carousel_indicator_lines_get_carousel; +alias c_adw_carousel_indicator_lines_set_carousel adw_carousel_indicator_lines_set_carousel; + +// adw.Clamp + +alias c_adw_clamp_get_type adw_clamp_get_type; +alias c_adw_clamp_new adw_clamp_new; +alias c_adw_clamp_get_child adw_clamp_get_child; +alias c_adw_clamp_get_maximum_size adw_clamp_get_maximum_size; +alias c_adw_clamp_get_tightening_threshold adw_clamp_get_tightening_threshold; +alias c_adw_clamp_set_child adw_clamp_set_child; +alias c_adw_clamp_set_maximum_size adw_clamp_set_maximum_size; +alias c_adw_clamp_set_tightening_threshold adw_clamp_set_tightening_threshold; + +// adw.ClampLayout + +alias c_adw_clamp_layout_get_type adw_clamp_layout_get_type; +alias c_adw_clamp_layout_new adw_clamp_layout_new; +alias c_adw_clamp_layout_get_maximum_size adw_clamp_layout_get_maximum_size; +alias c_adw_clamp_layout_get_tightening_threshold adw_clamp_layout_get_tightening_threshold; +alias c_adw_clamp_layout_set_maximum_size adw_clamp_layout_set_maximum_size; +alias c_adw_clamp_layout_set_tightening_threshold adw_clamp_layout_set_tightening_threshold; + +// adw.ClampScrollable + +alias c_adw_clamp_scrollable_get_type adw_clamp_scrollable_get_type; +alias c_adw_clamp_scrollable_new adw_clamp_scrollable_new; +alias c_adw_clamp_scrollable_get_child adw_clamp_scrollable_get_child; +alias c_adw_clamp_scrollable_get_maximum_size adw_clamp_scrollable_get_maximum_size; +alias c_adw_clamp_scrollable_get_tightening_threshold adw_clamp_scrollable_get_tightening_threshold; +alias c_adw_clamp_scrollable_set_child adw_clamp_scrollable_set_child; +alias c_adw_clamp_scrollable_set_maximum_size adw_clamp_scrollable_set_maximum_size; +alias c_adw_clamp_scrollable_set_tightening_threshold adw_clamp_scrollable_set_tightening_threshold; + +// adw.ComboRow + +alias c_adw_combo_row_get_type adw_combo_row_get_type; +alias c_adw_combo_row_new adw_combo_row_new; +alias c_adw_combo_row_get_expression adw_combo_row_get_expression; +alias c_adw_combo_row_get_factory adw_combo_row_get_factory; +alias c_adw_combo_row_get_list_factory adw_combo_row_get_list_factory; +alias c_adw_combo_row_get_model adw_combo_row_get_model; +alias c_adw_combo_row_get_selected adw_combo_row_get_selected; +alias c_adw_combo_row_get_selected_item adw_combo_row_get_selected_item; +alias c_adw_combo_row_get_use_subtitle adw_combo_row_get_use_subtitle; +alias c_adw_combo_row_set_expression adw_combo_row_set_expression; +alias c_adw_combo_row_set_factory adw_combo_row_set_factory; +alias c_adw_combo_row_set_list_factory adw_combo_row_set_list_factory; +alias c_adw_combo_row_set_model adw_combo_row_set_model; +alias c_adw_combo_row_set_selected adw_combo_row_set_selected; +alias c_adw_combo_row_set_use_subtitle adw_combo_row_set_use_subtitle; + +// adw.EnumListItem + +alias c_adw_enum_list_item_get_type adw_enum_list_item_get_type; +alias c_adw_enum_list_item_get_name adw_enum_list_item_get_name; +alias c_adw_enum_list_item_get_nick adw_enum_list_item_get_nick; +alias c_adw_enum_list_item_get_value adw_enum_list_item_get_value; + +// adw.EnumListModel + +alias c_adw_enum_list_model_get_type adw_enum_list_model_get_type; +alias c_adw_enum_list_model_new adw_enum_list_model_new; +alias c_adw_enum_list_model_find_position adw_enum_list_model_find_position; +alias c_adw_enum_list_model_get_enum_type adw_enum_list_model_get_enum_type; + +// adw.ExpanderRow + +alias c_adw_expander_row_get_type adw_expander_row_get_type; +alias c_adw_expander_row_new adw_expander_row_new; +alias c_adw_expander_row_add_action adw_expander_row_add_action; +alias c_adw_expander_row_add_prefix adw_expander_row_add_prefix; +alias c_adw_expander_row_add_row adw_expander_row_add_row; +alias c_adw_expander_row_get_enable_expansion adw_expander_row_get_enable_expansion; +alias c_adw_expander_row_get_expanded adw_expander_row_get_expanded; +alias c_adw_expander_row_get_icon_name adw_expander_row_get_icon_name; +alias c_adw_expander_row_get_show_enable_switch adw_expander_row_get_show_enable_switch; +alias c_adw_expander_row_get_subtitle adw_expander_row_get_subtitle; +alias c_adw_expander_row_remove adw_expander_row_remove; +alias c_adw_expander_row_set_enable_expansion adw_expander_row_set_enable_expansion; +alias c_adw_expander_row_set_expanded adw_expander_row_set_expanded; +alias c_adw_expander_row_set_icon_name adw_expander_row_set_icon_name; +alias c_adw_expander_row_set_show_enable_switch adw_expander_row_set_show_enable_switch; +alias c_adw_expander_row_set_subtitle adw_expander_row_set_subtitle; + +// adw.Flap + +alias c_adw_flap_get_type adw_flap_get_type; +alias c_adw_flap_new adw_flap_new; +alias c_adw_flap_get_content adw_flap_get_content; +alias c_adw_flap_get_flap adw_flap_get_flap; +alias c_adw_flap_get_flap_position adw_flap_get_flap_position; +alias c_adw_flap_get_fold_duration adw_flap_get_fold_duration; +alias c_adw_flap_get_fold_policy adw_flap_get_fold_policy; +alias c_adw_flap_get_fold_threshold_policy adw_flap_get_fold_threshold_policy; +alias c_adw_flap_get_folded adw_flap_get_folded; +alias c_adw_flap_get_locked adw_flap_get_locked; +alias c_adw_flap_get_modal adw_flap_get_modal; +alias c_adw_flap_get_reveal_flap adw_flap_get_reveal_flap; +alias c_adw_flap_get_reveal_params adw_flap_get_reveal_params; +alias c_adw_flap_get_reveal_progress adw_flap_get_reveal_progress; +alias c_adw_flap_get_separator adw_flap_get_separator; +alias c_adw_flap_get_swipe_to_close adw_flap_get_swipe_to_close; +alias c_adw_flap_get_swipe_to_open adw_flap_get_swipe_to_open; +alias c_adw_flap_get_transition_type adw_flap_get_transition_type; +alias c_adw_flap_set_content adw_flap_set_content; +alias c_adw_flap_set_flap adw_flap_set_flap; +alias c_adw_flap_set_flap_position adw_flap_set_flap_position; +alias c_adw_flap_set_fold_duration adw_flap_set_fold_duration; +alias c_adw_flap_set_fold_policy adw_flap_set_fold_policy; +alias c_adw_flap_set_fold_threshold_policy adw_flap_set_fold_threshold_policy; +alias c_adw_flap_set_locked adw_flap_set_locked; +alias c_adw_flap_set_modal adw_flap_set_modal; +alias c_adw_flap_set_reveal_flap adw_flap_set_reveal_flap; +alias c_adw_flap_set_reveal_params adw_flap_set_reveal_params; +alias c_adw_flap_set_separator adw_flap_set_separator; +alias c_adw_flap_set_swipe_to_close adw_flap_set_swipe_to_close; +alias c_adw_flap_set_swipe_to_open adw_flap_set_swipe_to_open; +alias c_adw_flap_set_transition_type adw_flap_set_transition_type; + +// adw.HeaderBar + +alias c_adw_header_bar_get_type adw_header_bar_get_type; +alias c_adw_header_bar_new adw_header_bar_new; +alias c_adw_header_bar_get_centering_policy adw_header_bar_get_centering_policy; +alias c_adw_header_bar_get_decoration_layout adw_header_bar_get_decoration_layout; +alias c_adw_header_bar_get_show_end_title_buttons adw_header_bar_get_show_end_title_buttons; +alias c_adw_header_bar_get_show_start_title_buttons adw_header_bar_get_show_start_title_buttons; +alias c_adw_header_bar_get_title_widget adw_header_bar_get_title_widget; +alias c_adw_header_bar_pack_end adw_header_bar_pack_end; +alias c_adw_header_bar_pack_start adw_header_bar_pack_start; +alias c_adw_header_bar_remove adw_header_bar_remove; +alias c_adw_header_bar_set_centering_policy adw_header_bar_set_centering_policy; +alias c_adw_header_bar_set_decoration_layout adw_header_bar_set_decoration_layout; +alias c_adw_header_bar_set_show_end_title_buttons adw_header_bar_set_show_end_title_buttons; +alias c_adw_header_bar_set_show_start_title_buttons adw_header_bar_set_show_start_title_buttons; +alias c_adw_header_bar_set_title_widget adw_header_bar_set_title_widget; + +// adw.Leaflet + +alias c_adw_leaflet_get_type adw_leaflet_get_type; +alias c_adw_leaflet_new adw_leaflet_new; +alias c_adw_leaflet_append adw_leaflet_append; +alias c_adw_leaflet_get_adjacent_child adw_leaflet_get_adjacent_child; +alias c_adw_leaflet_get_can_navigate_back adw_leaflet_get_can_navigate_back; +alias c_adw_leaflet_get_can_navigate_forward adw_leaflet_get_can_navigate_forward; +alias c_adw_leaflet_get_can_unfold adw_leaflet_get_can_unfold; +alias c_adw_leaflet_get_child_by_name adw_leaflet_get_child_by_name; +alias c_adw_leaflet_get_child_transition_params adw_leaflet_get_child_transition_params; +alias c_adw_leaflet_get_child_transition_running adw_leaflet_get_child_transition_running; +alias c_adw_leaflet_get_fold_threshold_policy adw_leaflet_get_fold_threshold_policy; +alias c_adw_leaflet_get_folded adw_leaflet_get_folded; +alias c_adw_leaflet_get_homogeneous adw_leaflet_get_homogeneous; +alias c_adw_leaflet_get_mode_transition_duration adw_leaflet_get_mode_transition_duration; +alias c_adw_leaflet_get_page adw_leaflet_get_page; +alias c_adw_leaflet_get_pages adw_leaflet_get_pages; +alias c_adw_leaflet_get_transition_type adw_leaflet_get_transition_type; +alias c_adw_leaflet_get_visible_child adw_leaflet_get_visible_child; +alias c_adw_leaflet_get_visible_child_name adw_leaflet_get_visible_child_name; +alias c_adw_leaflet_insert_child_after adw_leaflet_insert_child_after; +alias c_adw_leaflet_navigate adw_leaflet_navigate; +alias c_adw_leaflet_prepend adw_leaflet_prepend; +alias c_adw_leaflet_remove adw_leaflet_remove; +alias c_adw_leaflet_reorder_child_after adw_leaflet_reorder_child_after; +alias c_adw_leaflet_set_can_navigate_back adw_leaflet_set_can_navigate_back; +alias c_adw_leaflet_set_can_navigate_forward adw_leaflet_set_can_navigate_forward; +alias c_adw_leaflet_set_can_unfold adw_leaflet_set_can_unfold; +alias c_adw_leaflet_set_child_transition_params adw_leaflet_set_child_transition_params; +alias c_adw_leaflet_set_fold_threshold_policy adw_leaflet_set_fold_threshold_policy; +alias c_adw_leaflet_set_homogeneous adw_leaflet_set_homogeneous; +alias c_adw_leaflet_set_mode_transition_duration adw_leaflet_set_mode_transition_duration; +alias c_adw_leaflet_set_transition_type adw_leaflet_set_transition_type; +alias c_adw_leaflet_set_visible_child adw_leaflet_set_visible_child; +alias c_adw_leaflet_set_visible_child_name adw_leaflet_set_visible_child_name; + +// adw.LeafletPage + +alias c_adw_leaflet_page_get_type adw_leaflet_page_get_type; +alias c_adw_leaflet_page_get_child adw_leaflet_page_get_child; +alias c_adw_leaflet_page_get_name adw_leaflet_page_get_name; +alias c_adw_leaflet_page_get_navigatable adw_leaflet_page_get_navigatable; +alias c_adw_leaflet_page_set_name adw_leaflet_page_set_name; +alias c_adw_leaflet_page_set_navigatable adw_leaflet_page_set_navigatable; + +// adw.PreferencesGroup + +alias c_adw_preferences_group_get_type adw_preferences_group_get_type; +alias c_adw_preferences_group_new adw_preferences_group_new; +alias c_adw_preferences_group_add adw_preferences_group_add; +alias c_adw_preferences_group_get_description adw_preferences_group_get_description; +alias c_adw_preferences_group_get_header_suffix adw_preferences_group_get_header_suffix; +alias c_adw_preferences_group_get_title adw_preferences_group_get_title; +alias c_adw_preferences_group_remove adw_preferences_group_remove; +alias c_adw_preferences_group_set_description adw_preferences_group_set_description; +alias c_adw_preferences_group_set_header_suffix adw_preferences_group_set_header_suffix; +alias c_adw_preferences_group_set_title adw_preferences_group_set_title; + +// adw.PreferencesPage + +alias c_adw_preferences_page_get_type adw_preferences_page_get_type; +alias c_adw_preferences_page_new adw_preferences_page_new; +alias c_adw_preferences_page_add adw_preferences_page_add; +alias c_adw_preferences_page_get_icon_name adw_preferences_page_get_icon_name; +alias c_adw_preferences_page_get_name adw_preferences_page_get_name; +alias c_adw_preferences_page_get_title adw_preferences_page_get_title; +alias c_adw_preferences_page_get_use_underline adw_preferences_page_get_use_underline; +alias c_adw_preferences_page_remove adw_preferences_page_remove; +alias c_adw_preferences_page_set_icon_name adw_preferences_page_set_icon_name; +alias c_adw_preferences_page_set_name adw_preferences_page_set_name; +alias c_adw_preferences_page_set_title adw_preferences_page_set_title; +alias c_adw_preferences_page_set_use_underline adw_preferences_page_set_use_underline; + +// adw.PreferencesRow + +alias c_adw_preferences_row_get_type adw_preferences_row_get_type; +alias c_adw_preferences_row_new adw_preferences_row_new; +alias c_adw_preferences_row_get_title adw_preferences_row_get_title; +alias c_adw_preferences_row_get_title_selectable adw_preferences_row_get_title_selectable; +alias c_adw_preferences_row_get_use_underline adw_preferences_row_get_use_underline; +alias c_adw_preferences_row_set_title adw_preferences_row_set_title; +alias c_adw_preferences_row_set_title_selectable adw_preferences_row_set_title_selectable; +alias c_adw_preferences_row_set_use_underline adw_preferences_row_set_use_underline; + +// adw.PreferencesWindow + +alias c_adw_preferences_window_get_type adw_preferences_window_get_type; +alias c_adw_preferences_window_new adw_preferences_window_new; +alias c_adw_preferences_window_add adw_preferences_window_add; +alias c_adw_preferences_window_add_toast adw_preferences_window_add_toast; +alias c_adw_preferences_window_close_subpage adw_preferences_window_close_subpage; +alias c_adw_preferences_window_get_can_navigate_back adw_preferences_window_get_can_navigate_back; +alias c_adw_preferences_window_get_search_enabled adw_preferences_window_get_search_enabled; +alias c_adw_preferences_window_get_visible_page adw_preferences_window_get_visible_page; +alias c_adw_preferences_window_get_visible_page_name adw_preferences_window_get_visible_page_name; +alias c_adw_preferences_window_present_subpage adw_preferences_window_present_subpage; +alias c_adw_preferences_window_remove adw_preferences_window_remove; +alias c_adw_preferences_window_set_can_navigate_back adw_preferences_window_set_can_navigate_back; +alias c_adw_preferences_window_set_search_enabled adw_preferences_window_set_search_enabled; +alias c_adw_preferences_window_set_visible_page adw_preferences_window_set_visible_page; +alias c_adw_preferences_window_set_visible_page_name adw_preferences_window_set_visible_page_name; + +// adw.SplitButton + +alias c_adw_split_button_get_type adw_split_button_get_type; +alias c_adw_split_button_new adw_split_button_new; +alias c_adw_split_button_get_child adw_split_button_get_child; +alias c_adw_split_button_get_direction adw_split_button_get_direction; +alias c_adw_split_button_get_icon_name adw_split_button_get_icon_name; +alias c_adw_split_button_get_label adw_split_button_get_label; +alias c_adw_split_button_get_menu_model adw_split_button_get_menu_model; +alias c_adw_split_button_get_popover adw_split_button_get_popover; +alias c_adw_split_button_get_use_underline adw_split_button_get_use_underline; +alias c_adw_split_button_popdown adw_split_button_popdown; +alias c_adw_split_button_popup adw_split_button_popup; +alias c_adw_split_button_set_child adw_split_button_set_child; +alias c_adw_split_button_set_direction adw_split_button_set_direction; +alias c_adw_split_button_set_icon_name adw_split_button_set_icon_name; +alias c_adw_split_button_set_label adw_split_button_set_label; +alias c_adw_split_button_set_menu_model adw_split_button_set_menu_model; +alias c_adw_split_button_set_popover adw_split_button_set_popover; +alias c_adw_split_button_set_use_underline adw_split_button_set_use_underline; + +// adw.SpringAnimation + +alias c_adw_spring_animation_get_type adw_spring_animation_get_type; +alias c_adw_spring_animation_new adw_spring_animation_new; +alias c_adw_spring_animation_get_clamp adw_spring_animation_get_clamp; +alias c_adw_spring_animation_get_epsilon adw_spring_animation_get_epsilon; +alias c_adw_spring_animation_get_estimated_duration adw_spring_animation_get_estimated_duration; +alias c_adw_spring_animation_get_initial_velocity adw_spring_animation_get_initial_velocity; +alias c_adw_spring_animation_get_spring_params adw_spring_animation_get_spring_params; +alias c_adw_spring_animation_get_value_from adw_spring_animation_get_value_from; +alias c_adw_spring_animation_get_value_to adw_spring_animation_get_value_to; +alias c_adw_spring_animation_get_velocity adw_spring_animation_get_velocity; +alias c_adw_spring_animation_set_clamp adw_spring_animation_set_clamp; +alias c_adw_spring_animation_set_epsilon adw_spring_animation_set_epsilon; +alias c_adw_spring_animation_set_initial_velocity adw_spring_animation_set_initial_velocity; +alias c_adw_spring_animation_set_spring_params adw_spring_animation_set_spring_params; +alias c_adw_spring_animation_set_value_from adw_spring_animation_set_value_from; +alias c_adw_spring_animation_set_value_to adw_spring_animation_set_value_to; + +// adw.SpringParams + +alias c_adw_spring_params_get_type adw_spring_params_get_type; +alias c_adw_spring_params_new adw_spring_params_new; +alias c_adw_spring_params_new_full adw_spring_params_new_full; +alias c_adw_spring_params_get_damping adw_spring_params_get_damping; +alias c_adw_spring_params_get_damping_ratio adw_spring_params_get_damping_ratio; +alias c_adw_spring_params_get_mass adw_spring_params_get_mass; +alias c_adw_spring_params_get_stiffness adw_spring_params_get_stiffness; +alias c_adw_spring_params_ref adw_spring_params_ref; +alias c_adw_spring_params_unref adw_spring_params_unref; + +// adw.Squeezer + +alias c_adw_squeezer_get_type adw_squeezer_get_type; +alias c_adw_squeezer_new adw_squeezer_new; +alias c_adw_squeezer_add adw_squeezer_add; +alias c_adw_squeezer_get_allow_none adw_squeezer_get_allow_none; +alias c_adw_squeezer_get_homogeneous adw_squeezer_get_homogeneous; +alias c_adw_squeezer_get_interpolate_size adw_squeezer_get_interpolate_size; +alias c_adw_squeezer_get_page adw_squeezer_get_page; +alias c_adw_squeezer_get_pages adw_squeezer_get_pages; +alias c_adw_squeezer_get_switch_threshold_policy adw_squeezer_get_switch_threshold_policy; +alias c_adw_squeezer_get_transition_duration adw_squeezer_get_transition_duration; +alias c_adw_squeezer_get_transition_running adw_squeezer_get_transition_running; +alias c_adw_squeezer_get_transition_type adw_squeezer_get_transition_type; +alias c_adw_squeezer_get_visible_child adw_squeezer_get_visible_child; +alias c_adw_squeezer_get_xalign adw_squeezer_get_xalign; +alias c_adw_squeezer_get_yalign adw_squeezer_get_yalign; +alias c_adw_squeezer_remove adw_squeezer_remove; +alias c_adw_squeezer_set_allow_none adw_squeezer_set_allow_none; +alias c_adw_squeezer_set_homogeneous adw_squeezer_set_homogeneous; +alias c_adw_squeezer_set_interpolate_size adw_squeezer_set_interpolate_size; +alias c_adw_squeezer_set_switch_threshold_policy adw_squeezer_set_switch_threshold_policy; +alias c_adw_squeezer_set_transition_duration adw_squeezer_set_transition_duration; +alias c_adw_squeezer_set_transition_type adw_squeezer_set_transition_type; +alias c_adw_squeezer_set_xalign adw_squeezer_set_xalign; +alias c_adw_squeezer_set_yalign adw_squeezer_set_yalign; + +// adw.SqueezerPage + +alias c_adw_squeezer_page_get_type adw_squeezer_page_get_type; +alias c_adw_squeezer_page_get_child adw_squeezer_page_get_child; +alias c_adw_squeezer_page_get_enabled adw_squeezer_page_get_enabled; +alias c_adw_squeezer_page_set_enabled adw_squeezer_page_set_enabled; + +// adw.StatusPage + +alias c_adw_status_page_get_type adw_status_page_get_type; +alias c_adw_status_page_new adw_status_page_new; +alias c_adw_status_page_get_child adw_status_page_get_child; +alias c_adw_status_page_get_description adw_status_page_get_description; +alias c_adw_status_page_get_icon_name adw_status_page_get_icon_name; +alias c_adw_status_page_get_paintable adw_status_page_get_paintable; +alias c_adw_status_page_get_title adw_status_page_get_title; +alias c_adw_status_page_set_child adw_status_page_set_child; +alias c_adw_status_page_set_description adw_status_page_set_description; +alias c_adw_status_page_set_icon_name adw_status_page_set_icon_name; +alias c_adw_status_page_set_paintable adw_status_page_set_paintable; +alias c_adw_status_page_set_title adw_status_page_set_title; + +// adw.StyleManager + +alias c_adw_style_manager_get_type adw_style_manager_get_type; +alias c_adw_style_manager_get_default adw_style_manager_get_default; +alias c_adw_style_manager_get_for_display adw_style_manager_get_for_display; +alias c_adw_style_manager_get_color_scheme adw_style_manager_get_color_scheme; +alias c_adw_style_manager_get_dark adw_style_manager_get_dark; +alias c_adw_style_manager_get_display adw_style_manager_get_display; +alias c_adw_style_manager_get_high_contrast adw_style_manager_get_high_contrast; +alias c_adw_style_manager_get_system_supports_color_schemes adw_style_manager_get_system_supports_color_schemes; +alias c_adw_style_manager_set_color_scheme adw_style_manager_set_color_scheme; + +// adw.SwipeTracker + +alias c_adw_swipe_tracker_get_type adw_swipe_tracker_get_type; +alias c_adw_swipe_tracker_new adw_swipe_tracker_new; +alias c_adw_swipe_tracker_get_allow_long_swipes adw_swipe_tracker_get_allow_long_swipes; +alias c_adw_swipe_tracker_get_allow_mouse_drag adw_swipe_tracker_get_allow_mouse_drag; +alias c_adw_swipe_tracker_get_enabled adw_swipe_tracker_get_enabled; +alias c_adw_swipe_tracker_get_reversed adw_swipe_tracker_get_reversed; +alias c_adw_swipe_tracker_get_swipeable adw_swipe_tracker_get_swipeable; +alias c_adw_swipe_tracker_set_allow_long_swipes adw_swipe_tracker_set_allow_long_swipes; +alias c_adw_swipe_tracker_set_allow_mouse_drag adw_swipe_tracker_set_allow_mouse_drag; +alias c_adw_swipe_tracker_set_enabled adw_swipe_tracker_set_enabled; +alias c_adw_swipe_tracker_set_reversed adw_swipe_tracker_set_reversed; +alias c_adw_swipe_tracker_shift_position adw_swipe_tracker_shift_position; + +// adw.Swipeable + +alias c_adw_swipeable_get_type adw_swipeable_get_type; +alias c_adw_swipeable_get_cancel_progress adw_swipeable_get_cancel_progress; +alias c_adw_swipeable_get_distance adw_swipeable_get_distance; +alias c_adw_swipeable_get_progress adw_swipeable_get_progress; +alias c_adw_swipeable_get_snap_points adw_swipeable_get_snap_points; +alias c_adw_swipeable_get_swipe_area adw_swipeable_get_swipe_area; + +// adw.TabBar + +alias c_adw_tab_bar_get_type adw_tab_bar_get_type; +alias c_adw_tab_bar_new adw_tab_bar_new; +alias c_adw_tab_bar_get_autohide adw_tab_bar_get_autohide; +alias c_adw_tab_bar_get_end_action_widget adw_tab_bar_get_end_action_widget; +alias c_adw_tab_bar_get_expand_tabs adw_tab_bar_get_expand_tabs; +alias c_adw_tab_bar_get_inverted adw_tab_bar_get_inverted; +alias c_adw_tab_bar_get_is_overflowing adw_tab_bar_get_is_overflowing; +alias c_adw_tab_bar_get_start_action_widget adw_tab_bar_get_start_action_widget; +alias c_adw_tab_bar_get_tabs_revealed adw_tab_bar_get_tabs_revealed; +alias c_adw_tab_bar_get_view adw_tab_bar_get_view; +alias c_adw_tab_bar_set_autohide adw_tab_bar_set_autohide; +alias c_adw_tab_bar_set_end_action_widget adw_tab_bar_set_end_action_widget; +alias c_adw_tab_bar_set_expand_tabs adw_tab_bar_set_expand_tabs; +alias c_adw_tab_bar_set_inverted adw_tab_bar_set_inverted; +alias c_adw_tab_bar_set_start_action_widget adw_tab_bar_set_start_action_widget; +alias c_adw_tab_bar_set_view adw_tab_bar_set_view; +alias c_adw_tab_bar_setup_extra_drop_target adw_tab_bar_setup_extra_drop_target; + +// adw.TabPage + +alias c_adw_tab_page_get_type adw_tab_page_get_type; +alias c_adw_tab_page_get_child adw_tab_page_get_child; +alias c_adw_tab_page_get_icon adw_tab_page_get_icon; +alias c_adw_tab_page_get_indicator_activatable adw_tab_page_get_indicator_activatable; +alias c_adw_tab_page_get_indicator_icon adw_tab_page_get_indicator_icon; +alias c_adw_tab_page_get_loading adw_tab_page_get_loading; +alias c_adw_tab_page_get_needs_attention adw_tab_page_get_needs_attention; +alias c_adw_tab_page_get_parent adw_tab_page_get_parent; +alias c_adw_tab_page_get_pinned adw_tab_page_get_pinned; +alias c_adw_tab_page_get_selected adw_tab_page_get_selected; +alias c_adw_tab_page_get_title adw_tab_page_get_title; +alias c_adw_tab_page_get_tooltip adw_tab_page_get_tooltip; +alias c_adw_tab_page_set_icon adw_tab_page_set_icon; +alias c_adw_tab_page_set_indicator_activatable adw_tab_page_set_indicator_activatable; +alias c_adw_tab_page_set_indicator_icon adw_tab_page_set_indicator_icon; +alias c_adw_tab_page_set_loading adw_tab_page_set_loading; +alias c_adw_tab_page_set_needs_attention adw_tab_page_set_needs_attention; +alias c_adw_tab_page_set_title adw_tab_page_set_title; +alias c_adw_tab_page_set_tooltip adw_tab_page_set_tooltip; + +// adw.TabView + +alias c_adw_tab_view_get_type adw_tab_view_get_type; +alias c_adw_tab_view_new adw_tab_view_new; +alias c_adw_tab_view_add_page adw_tab_view_add_page; +alias c_adw_tab_view_append adw_tab_view_append; +alias c_adw_tab_view_append_pinned adw_tab_view_append_pinned; +alias c_adw_tab_view_close_other_pages adw_tab_view_close_other_pages; +alias c_adw_tab_view_close_page adw_tab_view_close_page; +alias c_adw_tab_view_close_page_finish adw_tab_view_close_page_finish; +alias c_adw_tab_view_close_pages_after adw_tab_view_close_pages_after; +alias c_adw_tab_view_close_pages_before adw_tab_view_close_pages_before; +alias c_adw_tab_view_get_default_icon adw_tab_view_get_default_icon; +alias c_adw_tab_view_get_is_transferring_page adw_tab_view_get_is_transferring_page; +alias c_adw_tab_view_get_menu_model adw_tab_view_get_menu_model; +alias c_adw_tab_view_get_n_pages adw_tab_view_get_n_pages; +alias c_adw_tab_view_get_n_pinned_pages adw_tab_view_get_n_pinned_pages; +alias c_adw_tab_view_get_nth_page adw_tab_view_get_nth_page; +alias c_adw_tab_view_get_page adw_tab_view_get_page; +alias c_adw_tab_view_get_page_position adw_tab_view_get_page_position; +alias c_adw_tab_view_get_pages adw_tab_view_get_pages; +alias c_adw_tab_view_get_selected_page adw_tab_view_get_selected_page; +alias c_adw_tab_view_insert adw_tab_view_insert; +alias c_adw_tab_view_insert_pinned adw_tab_view_insert_pinned; +alias c_adw_tab_view_prepend adw_tab_view_prepend; +alias c_adw_tab_view_prepend_pinned adw_tab_view_prepend_pinned; +alias c_adw_tab_view_reorder_backward adw_tab_view_reorder_backward; +alias c_adw_tab_view_reorder_first adw_tab_view_reorder_first; +alias c_adw_tab_view_reorder_forward adw_tab_view_reorder_forward; +alias c_adw_tab_view_reorder_last adw_tab_view_reorder_last; +alias c_adw_tab_view_reorder_page adw_tab_view_reorder_page; +alias c_adw_tab_view_select_next_page adw_tab_view_select_next_page; +alias c_adw_tab_view_select_previous_page adw_tab_view_select_previous_page; +alias c_adw_tab_view_set_default_icon adw_tab_view_set_default_icon; +alias c_adw_tab_view_set_menu_model adw_tab_view_set_menu_model; +alias c_adw_tab_view_set_page_pinned adw_tab_view_set_page_pinned; +alias c_adw_tab_view_set_selected_page adw_tab_view_set_selected_page; +alias c_adw_tab_view_transfer_page adw_tab_view_transfer_page; + +// adw.TimedAnimation + +alias c_adw_timed_animation_get_type adw_timed_animation_get_type; +alias c_adw_timed_animation_new adw_timed_animation_new; +alias c_adw_timed_animation_get_alternate adw_timed_animation_get_alternate; +alias c_adw_timed_animation_get_duration adw_timed_animation_get_duration; +alias c_adw_timed_animation_get_easing adw_timed_animation_get_easing; +alias c_adw_timed_animation_get_repeat_count adw_timed_animation_get_repeat_count; +alias c_adw_timed_animation_get_reverse adw_timed_animation_get_reverse; +alias c_adw_timed_animation_get_value_from adw_timed_animation_get_value_from; +alias c_adw_timed_animation_get_value_to adw_timed_animation_get_value_to; +alias c_adw_timed_animation_set_alternate adw_timed_animation_set_alternate; +alias c_adw_timed_animation_set_duration adw_timed_animation_set_duration; +alias c_adw_timed_animation_set_easing adw_timed_animation_set_easing; +alias c_adw_timed_animation_set_repeat_count adw_timed_animation_set_repeat_count; +alias c_adw_timed_animation_set_reverse adw_timed_animation_set_reverse; +alias c_adw_timed_animation_set_value_from adw_timed_animation_set_value_from; +alias c_adw_timed_animation_set_value_to adw_timed_animation_set_value_to; + +// adw.Toast + +alias c_adw_toast_get_type adw_toast_get_type; +alias c_adw_toast_new adw_toast_new; +alias c_adw_toast_dismiss adw_toast_dismiss; +alias c_adw_toast_get_action_name adw_toast_get_action_name; +alias c_adw_toast_get_action_target_value adw_toast_get_action_target_value; +alias c_adw_toast_get_button_label adw_toast_get_button_label; +alias c_adw_toast_get_priority adw_toast_get_priority; +alias c_adw_toast_get_timeout adw_toast_get_timeout; +alias c_adw_toast_get_title adw_toast_get_title; +alias c_adw_toast_set_action_name adw_toast_set_action_name; +alias c_adw_toast_set_action_target adw_toast_set_action_target; +alias c_adw_toast_set_action_target_value adw_toast_set_action_target_value; +alias c_adw_toast_set_button_label adw_toast_set_button_label; +alias c_adw_toast_set_detailed_action_name adw_toast_set_detailed_action_name; +alias c_adw_toast_set_priority adw_toast_set_priority; +alias c_adw_toast_set_timeout adw_toast_set_timeout; +alias c_adw_toast_set_title adw_toast_set_title; + +// adw.ToastOverlay + +alias c_adw_toast_overlay_get_type adw_toast_overlay_get_type; +alias c_adw_toast_overlay_new adw_toast_overlay_new; +alias c_adw_toast_overlay_add_toast adw_toast_overlay_add_toast; +alias c_adw_toast_overlay_get_child adw_toast_overlay_get_child; +alias c_adw_toast_overlay_set_child adw_toast_overlay_set_child; + +// adw.ViewStack + +alias c_adw_view_stack_get_type adw_view_stack_get_type; +alias c_adw_view_stack_new adw_view_stack_new; +alias c_adw_view_stack_add adw_view_stack_add; +alias c_adw_view_stack_add_named adw_view_stack_add_named; +alias c_adw_view_stack_add_titled adw_view_stack_add_titled; +alias c_adw_view_stack_get_child_by_name adw_view_stack_get_child_by_name; +alias c_adw_view_stack_get_hhomogeneous adw_view_stack_get_hhomogeneous; +alias c_adw_view_stack_get_page adw_view_stack_get_page; +alias c_adw_view_stack_get_pages adw_view_stack_get_pages; +alias c_adw_view_stack_get_vhomogeneous adw_view_stack_get_vhomogeneous; +alias c_adw_view_stack_get_visible_child adw_view_stack_get_visible_child; +alias c_adw_view_stack_get_visible_child_name adw_view_stack_get_visible_child_name; +alias c_adw_view_stack_remove adw_view_stack_remove; +alias c_adw_view_stack_set_hhomogeneous adw_view_stack_set_hhomogeneous; +alias c_adw_view_stack_set_vhomogeneous adw_view_stack_set_vhomogeneous; +alias c_adw_view_stack_set_visible_child adw_view_stack_set_visible_child; +alias c_adw_view_stack_set_visible_child_name adw_view_stack_set_visible_child_name; + +// adw.ViewStackPage + +alias c_adw_view_stack_page_get_type adw_view_stack_page_get_type; +alias c_adw_view_stack_page_get_badge_number adw_view_stack_page_get_badge_number; +alias c_adw_view_stack_page_get_child adw_view_stack_page_get_child; +alias c_adw_view_stack_page_get_icon_name adw_view_stack_page_get_icon_name; +alias c_adw_view_stack_page_get_name adw_view_stack_page_get_name; +alias c_adw_view_stack_page_get_needs_attention adw_view_stack_page_get_needs_attention; +alias c_adw_view_stack_page_get_title adw_view_stack_page_get_title; +alias c_adw_view_stack_page_get_use_underline adw_view_stack_page_get_use_underline; +alias c_adw_view_stack_page_get_visible adw_view_stack_page_get_visible; +alias c_adw_view_stack_page_set_badge_number adw_view_stack_page_set_badge_number; +alias c_adw_view_stack_page_set_icon_name adw_view_stack_page_set_icon_name; +alias c_adw_view_stack_page_set_name adw_view_stack_page_set_name; +alias c_adw_view_stack_page_set_needs_attention adw_view_stack_page_set_needs_attention; +alias c_adw_view_stack_page_set_title adw_view_stack_page_set_title; +alias c_adw_view_stack_page_set_use_underline adw_view_stack_page_set_use_underline; +alias c_adw_view_stack_page_set_visible adw_view_stack_page_set_visible; + +// adw.ViewSwitcher + +alias c_adw_view_switcher_get_type adw_view_switcher_get_type; +alias c_adw_view_switcher_new adw_view_switcher_new; +alias c_adw_view_switcher_get_policy adw_view_switcher_get_policy; +alias c_adw_view_switcher_get_stack adw_view_switcher_get_stack; +alias c_adw_view_switcher_set_policy adw_view_switcher_set_policy; +alias c_adw_view_switcher_set_stack adw_view_switcher_set_stack; + +// adw.ViewSwitcherBar + +alias c_adw_view_switcher_bar_get_type adw_view_switcher_bar_get_type; +alias c_adw_view_switcher_bar_new adw_view_switcher_bar_new; +alias c_adw_view_switcher_bar_get_reveal adw_view_switcher_bar_get_reveal; +alias c_adw_view_switcher_bar_get_stack adw_view_switcher_bar_get_stack; +alias c_adw_view_switcher_bar_set_reveal adw_view_switcher_bar_set_reveal; +alias c_adw_view_switcher_bar_set_stack adw_view_switcher_bar_set_stack; + +// adw.ViewSwitcherTitle + +alias c_adw_view_switcher_title_get_type adw_view_switcher_title_get_type; +alias c_adw_view_switcher_title_new adw_view_switcher_title_new; +alias c_adw_view_switcher_title_get_stack adw_view_switcher_title_get_stack; +alias c_adw_view_switcher_title_get_subtitle adw_view_switcher_title_get_subtitle; +alias c_adw_view_switcher_title_get_title adw_view_switcher_title_get_title; +alias c_adw_view_switcher_title_get_title_visible adw_view_switcher_title_get_title_visible; +alias c_adw_view_switcher_title_get_view_switcher_enabled adw_view_switcher_title_get_view_switcher_enabled; +alias c_adw_view_switcher_title_set_stack adw_view_switcher_title_set_stack; +alias c_adw_view_switcher_title_set_subtitle adw_view_switcher_title_set_subtitle; +alias c_adw_view_switcher_title_set_title adw_view_switcher_title_set_title; +alias c_adw_view_switcher_title_set_view_switcher_enabled adw_view_switcher_title_set_view_switcher_enabled; + +// adw.Window + +alias c_adw_window_get_type adw_window_get_type; +alias c_adw_window_new adw_window_new; +alias c_adw_window_get_content adw_window_get_content; +alias c_adw_window_set_content adw_window_set_content; + +// adw.WindowTitle + +alias c_adw_window_title_get_type adw_window_title_get_type; +alias c_adw_window_title_new adw_window_title_new; +alias c_adw_window_title_get_subtitle adw_window_title_get_subtitle; +alias c_adw_window_title_get_title adw_window_title_get_title; +alias c_adw_window_title_set_subtitle adw_window_title_set_subtitle; +alias c_adw_window_title_set_title adw_window_title_set_title; diff --git a/source/generated/adw/adw/c/types.d b/source/generated/adw/adw/c/types.d new file mode 100644 index 000000000..338a19bcc --- /dev/null +++ b/source/generated/adw/adw/c/types.d @@ -0,0 +1,914 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module adw.c.types; + +public import gdk.c.types; +public import gio.c.types; +public import glib.c.types; +public import gobject.c.types; +public import gtk.c.types; + + +/** + * Describes the possible states of an [class@Animation]. + * + * The state can be controlled with [method@Animation.play], + * [method@Animation.pause], [method@Animation.resume], + * [method@Animation.reset] and [method@Animation.skip]. + * + * Since: 1.0 + */ +public enum AdwAnimationState +{ + /** + * The animation hasn't started yet. + */ + IDLE = 0, + /** + * The animation has been paused. + */ + PAUSED = 1, + /** + * The animation is currently playing. + */ + PLAYING = 2, + /** + * The animation has finished. + */ + FINISHED = 3, +} +alias AdwAnimationState AnimationState; + +/** + * Describes title centering behavior of a [class@HeaderBar] widget. + * + * Since: 1.0 + */ +public enum AdwCenteringPolicy +{ + /** + * Keep the title centered when possible + */ + LOOSE = 0, + /** + * Keep the title centered at all cost + */ + STRICT = 1, +} +alias AdwCenteringPolicy CenteringPolicy; + +/** + * Application color schemes for [property@StyleManager:color-scheme]. + * + * Since: 1.0 + */ +public enum AdwColorScheme +{ + /** + * Inherit the parent color-scheme. When set on the + * `AdwStyleManager` returned by [func@StyleManager.get_default], it's + * equivalent to `ADW_COLOR_SCHEME_PREFER_LIGHT`. + */ + DEFAULT = 0, + /** + * Always use light appearance. + */ + FORCE_LIGHT = 1, + /** + * Use light appearance unless the system + * prefers dark colors. + */ + PREFER_LIGHT = 2, + /** + * Use dark appearance unless the system prefers + * prefers light colors. + */ + PREFER_DARK = 3, + /** + * Always use dark appearance. + */ + FORCE_DARK = 4, +} +alias AdwColorScheme ColorScheme; + +/** + * Describes the available easing functions for use with + * [class@TimedAnimation]. + * + * New values may be added to this enumeration over time. + * + * Since: 1.0 + */ +public enum AdwEasing +{ + /** + * Linear tweening. + */ + LINEAR = 0, + /** + * Quadratic tweening. + */ + EASE_IN_QUAD = 1, + /** + * Quadratic tweening, inverse of `ADW_EASE_IN_QUAD`. + */ + EASE_OUT_QUAD = 2, + /** + * Quadratic tweening, combining `ADW_EASE_IN_QUAD` and + * `ADW_EASE_OUT_QUAD`. + */ + EASE_IN_OUT_QUAD = 3, + /** + * Cubic tweening. + */ + EASE_IN_CUBIC = 4, + /** + * Cubic tweening, inverse of `ADW_EASE_IN_CUBIC`. + */ + EASE_OUT_CUBIC = 5, + /** + * Cubic tweening, combining `ADW_EASE_IN_CUBIC` and + * `ADW_EASE_OUT_CUBIC`. + */ + EASE_IN_OUT_CUBIC = 6, + /** + * Quartic tweening. + */ + EASE_IN_QUART = 7, + /** + * Quartic tweening, inverse of `ADW_EASE_IN_QUART`. + */ + EASE_OUT_QUART = 8, + /** + * Quartic tweening, combining `ADW_EASE_IN_QUART` and + * `ADW_EASE_OUT_QUART`. + */ + EASE_IN_OUT_QUART = 9, + /** + * Quintic tweening. + */ + EASE_IN_QUINT = 10, + /** + * Quintic tweening, inverse of `ADW_EASE_IN_QUINT`. + */ + EASE_OUT_QUINT = 11, + /** + * Quintic tweening, combining `ADW_EASE_IN_QUINT` and + * `ADW_EASE_OUT_QUINT`. + */ + EASE_IN_OUT_QUINT = 12, + /** + * Sine wave tweening. + */ + EASE_IN_SINE = 13, + /** + * Sine wave tweening, inverse of `ADW_EASE_IN_SINE`. + */ + EASE_OUT_SINE = 14, + /** + * Sine wave tweening, combining `ADW_EASE_IN_SINE` and + * `ADW_EASE_OUT_SINE`. + */ + EASE_IN_OUT_SINE = 15, + /** + * Exponential tweening. + */ + EASE_IN_EXPO = 16, + /** + * Exponential tweening, inverse of `ADW_EASE_IN_EXPO`. + */ + EASE_OUT_EXPO = 17, + /** + * Exponential tweening, combining `ADW_EASE_IN_EXPO` and + * `ADW_EASE_OUT_EXPO`. + */ + EASE_IN_OUT_EXPO = 18, + /** + * Circular tweening. + */ + EASE_IN_CIRC = 19, + /** + * Circular tweening, inverse of `ADW_EASE_IN_CIRC`. + */ + EASE_OUT_CIRC = 20, + /** + * Circular tweening, combining `ADW_EASE_IN_CIRC` and + * `ADW_EASE_OUT_CIRC`. + */ + EASE_IN_OUT_CIRC = 21, + /** + * Elastic tweening, with offshoot on start. + */ + EASE_IN_ELASTIC = 22, + /** + * Elastic tweening, with offshoot on end, inverse of + * `ADW_EASE_IN_ELASTIC`. + */ + EASE_OUT_ELASTIC = 23, + /** + * Elastic tweening, with offshoot on both ends, + * combining `ADW_EASE_IN_ELASTIC` and `ADW_EASE_OUT_ELASTIC`. + */ + EASE_IN_OUT_ELASTIC = 24, + /** + * Overshooting cubic tweening, with backtracking on start. + */ + EASE_IN_BACK = 25, + /** + * Overshooting cubic tweening, with backtracking on end, + * inverse of `ADW_EASE_IN_BACK`. + */ + EASE_OUT_BACK = 26, + /** + * Overshooting cubic tweening, with backtracking on both + * ends, combining `ADW_EASE_IN_BACK` and `ADW_EASE_OUT_BACK`. + */ + EASE_IN_OUT_BACK = 27, + /** + * Exponentially decaying parabolic (bounce) tweening, + * on start. + */ + EASE_IN_BOUNCE = 28, + /** + * Exponentially decaying parabolic (bounce) tweening, + * with bounce on end, inverse of `ADW_EASE_IN_BOUNCE`. + */ + EASE_OUT_BOUNCE = 29, + /** + * Exponentially decaying parabolic (bounce) tweening, + * with bounce on both ends, combining `ADW_EASE_IN_BOUNCE` and + * `ADW_EASE_OUT_BOUNCE`. + */ + EASE_IN_OUT_BOUNCE = 30, +} +alias AdwEasing Easing; + +/** + * Describes the possible folding behavior of a [class@Flap] widget. + * + * Since: 1.0 + */ +public enum AdwFlapFoldPolicy +{ + /** + * Disable folding, the flap cannot reach narrow + * sizes. + */ + NEVER = 0, + /** + * Keep the flap always folded. + */ + ALWAYS = 1, + /** + * Fold and unfold the flap based on available + * space. + */ + AUTO = 2, +} +alias AdwFlapFoldPolicy FlapFoldPolicy; + +/** + * Describes transitions types of a [class@Flap] widget. + * + * It determines the type of animation when transitioning between children in a + * [class@Flap] widget, as well as which areas can be swiped via + * [property@Flap:swipe-to-open] and [property@Flap:swipe-to-close]. + * + * New values may be added to this enum over time. + * + * Since: 1.0 + */ +public enum AdwFlapTransitionType +{ + /** + * The flap slides over the content, which is + * dimmed. When folded, only the flap can be swiped. + */ + OVER = 0, + /** + * The content slides over the flap. Only the + * content can be swiped. + */ + UNDER = 1, + /** + * The flap slides offscreen when hidden, + * neither the flap nor content overlap each other. Both widgets can be + * swiped. + */ + SLIDE = 2, +} +alias AdwFlapTransitionType FlapTransitionType; + +/** + * Determines when [class@Flap] and [class@Leaflet] will fold. + * + * Since: 1.0 + */ +public enum AdwFoldThresholdPolicy +{ + /** + * Folding is based on the minimum size + */ + MINIMUM = 0, + /** + * Folding is based on the natural size + */ + NATURAL = 1, +} +alias AdwFoldThresholdPolicy FoldThresholdPolicy; + +/** + * Describes the possible transitions in a [class@Leaflet] widget. + * + * New values may be added to this enumeration over time. + * + * Since: 1.0 + */ +public enum AdwLeafletTransitionType +{ + /** + * Cover the old page or uncover the new page, sliding from or towards the end according to orientation, text direction and children order + */ + OVER = 0, + /** + * Uncover the new page or cover the old page, sliding from or towards the start according to orientation, text direction and children order + */ + UNDER = 1, + /** + * Slide from left, right, up or down according to the orientation, text direction and the children order + */ + SLIDE = 2, +} +alias AdwLeafletTransitionType LeafletTransitionType; + +/** + * Describes the direction of a swipe navigation gesture. + * + * Since: 1.0 + */ +public enum AdwNavigationDirection +{ + /** + * Corresponds to start or top, depending on orientation and text direction + */ + BACK = 0, + /** + * Corresponds to end or bottom, depending on orientation and text direction + */ + FORWARD = 1, +} +alias AdwNavigationDirection NavigationDirection; + +/** + * Describes the possible transitions in a [class@Squeezer] widget. + * + * Since: 1.0 + */ +public enum AdwSqueezerTransitionType +{ + /** + * No transition + */ + NONE = 0, + /** + * A cross-fade + */ + CROSSFADE = 1, +} +alias AdwSqueezerTransitionType SqueezerTransitionType; + +/** + * [class@Toast] behavior when another toast is already displayed. + * + * Since: 1.0 + */ +public enum AdwToastPriority +{ + /** + * the toast will be queued if another toast is + * already displayed. + */ + NORMAL = 0, + /** + * the toast will be displayed immediately, pushing + * the previous toast into the queue instead. + */ + HIGH = 1, +} +alias AdwToastPriority ToastPriority; + +/** + * Describes the adaptive modes of [class@ViewSwitcher]. + */ +public enum AdwViewSwitcherPolicy +{ + /** + * Force the narrow mode + */ + NARROW = 0, + /** + * Force the wide mode + */ + WIDE = 1, +} +alias AdwViewSwitcherPolicy ViewSwitcherPolicy; + +struct AdwActionRow +{ + AdwPreferencesRow parentInstance; +} + +struct AdwActionRowClass +{ + /** + * The parent class + */ + AdwPreferencesRowClass parentClass; + /** */ + extern(C) void function(AdwActionRow* self) activate; + void*[4] padding; +} + +struct AdwAnimation +{ + GObject parentInstance; +} + +struct AdwAnimationClass; + +struct AdwAnimationTarget; + +struct AdwAnimationTargetClass; + +struct AdwApplication +{ + GtkApplication parentInstance; +} + +struct AdwApplicationClass +{ + /** + * The parent class + */ + GtkApplicationClass parentClass; + void*[4] padding; +} + +struct AdwApplicationWindow +{ + GtkApplicationWindow parentInstance; +} + +struct AdwApplicationWindowClass +{ + GtkApplicationWindowClass parentClass; + void*[4] padding; +} + +struct AdwAvatar; + +struct AdwAvatarClass +{ + GtkWidgetClass parentClass; +} + +struct AdwBin +{ + GtkWidget parentInstance; +} + +struct AdwBinClass +{ + GtkWidgetClass parentClass; +} + +struct AdwButtonContent; + +struct AdwButtonContentClass +{ + GtkWidgetClass parentClass; +} + +struct AdwCallbackAnimationTarget; + +struct AdwCallbackAnimationTargetClass; + +struct AdwCarousel; + +struct AdwCarouselClass +{ + GtkWidgetClass parentClass; +} + +struct AdwCarouselIndicatorDots; + +struct AdwCarouselIndicatorDotsClass +{ + GtkWidgetClass parentClass; +} + +struct AdwCarouselIndicatorLines; + +struct AdwCarouselIndicatorLinesClass +{ + GtkWidgetClass parentClass; +} + +struct AdwClamp; + +struct AdwClampClass +{ + GtkWidgetClass parentClass; +} + +struct AdwClampLayout; + +struct AdwClampLayoutClass +{ + GtkLayoutManagerClass parentClass; +} + +struct AdwClampScrollable; + +struct AdwClampScrollableClass +{ + GtkWidgetClass parentClass; +} + +struct AdwComboRow +{ + AdwActionRow parentInstance; +} + +struct AdwComboRowClass +{ + /** + * The parent class + */ + AdwActionRowClass parentClass; + void*[4] padding; +} + +struct AdwEnumListItem; + +struct AdwEnumListItemClass +{ + GObjectClass parentClass; +} + +struct AdwEnumListModel; + +struct AdwEnumListModelClass +{ + GObjectClass parentClass; +} + +struct AdwExpanderRow +{ + AdwPreferencesRow parentInstance; +} + +struct AdwExpanderRowClass +{ + /** + * The parent class + */ + AdwPreferencesRowClass parentClass; + void*[4] padding; +} + +struct AdwFlap; + +struct AdwFlapClass +{ + GtkWidgetClass parentClass; +} + +struct AdwHeaderBar; + +struct AdwHeaderBarClass +{ + GtkWidgetClass parentClass; +} + +struct AdwLeaflet; + +struct AdwLeafletClass +{ + GtkWidgetClass parentClass; +} + +struct AdwLeafletPage; + +struct AdwLeafletPageClass +{ + GObjectClass parentClass; +} + +struct AdwPreferencesGroup +{ + GtkWidget parentInstance; +} + +struct AdwPreferencesGroupClass +{ + /** + * The parent class + */ + GtkWidgetClass parentClass; + void*[4] padding; +} + +struct AdwPreferencesPage +{ + GtkWidget parentInstance; +} + +struct AdwPreferencesPageClass +{ + /** + * The parent class + */ + GtkWidgetClass parentClass; + void*[4] padding; +} + +struct AdwPreferencesRow +{ + GtkListBoxRow parentInstance; +} + +struct AdwPreferencesRowClass +{ + /** + * The parent class + */ + GtkListBoxRowClass parentClass; + void*[4] padding; +} + +struct AdwPreferencesWindow +{ + AdwWindow parentInstance; +} + +struct AdwPreferencesWindowClass +{ + /** + * The parent class + */ + AdwWindowClass parentClass; + void*[4] padding; +} + +struct AdwSplitButton; + +struct AdwSplitButtonClass +{ + GtkWidgetClass parentClass; +} + +struct AdwSpringAnimation; + +struct AdwSpringAnimationClass; + +struct AdwSpringParams; + +struct AdwSqueezer; + +struct AdwSqueezerClass +{ + GtkWidgetClass parentClass; +} + +struct AdwSqueezerPage; + +struct AdwSqueezerPageClass +{ + GObjectClass parentClass; +} + +struct AdwStatusPage; + +struct AdwStatusPageClass +{ + GtkWidgetClass parentClass; +} + +struct AdwStyleManager; + +struct AdwStyleManagerClass +{ + GObjectClass parentClass; +} + +struct AdwSwipeTracker; + +struct AdwSwipeTrackerClass +{ + GObjectClass parentClass; +} + +struct AdwSwipeable; + +/** + * An interface for swipeable widgets. + * + * Since: 1.0 + */ +struct AdwSwipeableInterface +{ + /** + * The parent interface. + */ + GTypeInterface parent; + /** + * + * Params: + * self = a swipeable + * Returns: the swipe distance in pixels + */ + extern(C) double function(AdwSwipeable* self) getDistance; + /** + * + * Params: + * self = a swipeable + * Returns: the snap points + */ + extern(C) double* function(AdwSwipeable* self, int* nSnapPoints) getSnapPoints; + /** + * + * Params: + * self = a swipeable + * Returns: the current progress, unitless + */ + extern(C) double function(AdwSwipeable* self) getProgress; + /** + * + * Params: + * self = a swipeable + * Returns: the cancel progress, unitless + */ + extern(C) double function(AdwSwipeable* self) getCancelProgress; + /** */ + extern(C) void function(AdwSwipeable* self, AdwNavigationDirection navigationDirection, int isDrag, GdkRectangle* rect) getSwipeArea; + void*[4] padding; +} + +struct AdwTabBar; + +struct AdwTabBarClass +{ + GtkWidgetClass parentClass; +} + +struct AdwTabPage; + +struct AdwTabPageClass +{ + GObjectClass parentClass; +} + +struct AdwTabView; + +struct AdwTabViewClass +{ + GtkWidgetClass parentClass; +} + +struct AdwTimedAnimation; + +struct AdwTimedAnimationClass; + +struct AdwToast; + +struct AdwToastClass +{ + GObjectClass parentClass; +} + +struct AdwToastOverlay; + +struct AdwToastOverlayClass +{ + GtkWidgetClass parentClass; +} + +struct AdwViewStack; + +struct AdwViewStackClass +{ + GtkWidgetClass parentClass; +} + +struct AdwViewStackPage; + +struct AdwViewStackPageClass +{ + GObjectClass parentClass; +} + +struct AdwViewSwitcher; + +struct AdwViewSwitcherBar; + +struct AdwViewSwitcherBarClass +{ + GtkWidgetClass parentClass; +} + +struct AdwViewSwitcherClass +{ + GtkWidgetClass parentClass; +} + +struct AdwViewSwitcherTitle; + +struct AdwViewSwitcherTitleClass +{ + GtkWidgetClass parentClass; +} + +struct AdwWindow +{ + GtkWindow parentInstance; +} + +struct AdwWindowClass +{ + GtkWindowClass parentClass; + void*[4] padding; +} + +struct AdwWindowTitle; + +struct AdwWindowTitleClass +{ + GtkWidgetClass parentClass; +} + +/** + * Prototype for animation targets based on user callbacks. + * + * Params: + * value = The animation value + * userData = The user data provided when creating the target + * + * Since: 1.0 + */ +public alias extern(C) void function(double value, void* userData) AdwAnimationTargetFunc; + +/** + * Indicates an [class@Animation] with an infinite duration. + * + * This value is mostly used internally. + */ +enum DURATION_INFINITE = 4294967295; +alias ADW_DURATION_INFINITE = DURATION_INFINITE; + +/** + * Adwaita major version component (e.g. 1 if the version is 1.2.3). + */ +enum MAJOR_VERSION = 1; +alias ADW_MAJOR_VERSION = MAJOR_VERSION; + +/** + * Adwaita micro version component (e.g. 3 if the version is 1.2.3). + */ +enum MICRO_VERSION = 1; +alias ADW_MICRO_VERSION = MICRO_VERSION; + +/** + * Adwaita minor version component (e.g. 2 if the version is 1.2.3). + */ +enum MINOR_VERSION = 1; +alias ADW_MINOR_VERSION = MINOR_VERSION; + +/** + * Adwaita version, encoded as a string, useful for printing and + * concatenation. + */ +enum VERSION_S = "1.1.1"; +alias ADW_VERSION_S = VERSION_S; diff --git a/generated/gtkd/atk/ActionIF.d b/source/generated/atk/atk/ActionIF.d similarity index 100% rename from generated/gtkd/atk/ActionIF.d rename to source/generated/atk/atk/ActionIF.d diff --git a/generated/gtkd/atk/ActionT.d b/source/generated/atk/atk/ActionT.d similarity index 100% rename from generated/gtkd/atk/ActionT.d rename to source/generated/atk/atk/ActionT.d diff --git a/generated/gtkd/atk/ComponentIF.d b/source/generated/atk/atk/ComponentIF.d similarity index 100% rename from generated/gtkd/atk/ComponentIF.d rename to source/generated/atk/atk/ComponentIF.d diff --git a/generated/gtkd/atk/ComponentT.d b/source/generated/atk/atk/ComponentT.d similarity index 100% rename from generated/gtkd/atk/ComponentT.d rename to source/generated/atk/atk/ComponentT.d diff --git a/generated/gtkd/atk/DocumentIF.d b/source/generated/atk/atk/DocumentIF.d similarity index 100% rename from generated/gtkd/atk/DocumentIF.d rename to source/generated/atk/atk/DocumentIF.d diff --git a/generated/gtkd/atk/DocumentT.d b/source/generated/atk/atk/DocumentT.d similarity index 100% rename from generated/gtkd/atk/DocumentT.d rename to source/generated/atk/atk/DocumentT.d diff --git a/generated/gtkd/atk/EditableTextIF.d b/source/generated/atk/atk/EditableTextIF.d similarity index 100% rename from generated/gtkd/atk/EditableTextIF.d rename to source/generated/atk/atk/EditableTextIF.d diff --git a/generated/gtkd/atk/EditableTextT.d b/source/generated/atk/atk/EditableTextT.d similarity index 100% rename from generated/gtkd/atk/EditableTextT.d rename to source/generated/atk/atk/EditableTextT.d diff --git a/generated/gtkd/atk/GObjectAccessible.d b/source/generated/atk/atk/GObjectAccessible.d similarity index 100% rename from generated/gtkd/atk/GObjectAccessible.d rename to source/generated/atk/atk/GObjectAccessible.d diff --git a/generated/gtkd/atk/Hyperlink.d b/source/generated/atk/atk/Hyperlink.d similarity index 100% rename from generated/gtkd/atk/Hyperlink.d rename to source/generated/atk/atk/Hyperlink.d diff --git a/generated/gtkd/atk/HyperlinkImplIF.d b/source/generated/atk/atk/HyperlinkImplIF.d similarity index 100% rename from generated/gtkd/atk/HyperlinkImplIF.d rename to source/generated/atk/atk/HyperlinkImplIF.d diff --git a/generated/gtkd/atk/HyperlinkImplT.d b/source/generated/atk/atk/HyperlinkImplT.d similarity index 100% rename from generated/gtkd/atk/HyperlinkImplT.d rename to source/generated/atk/atk/HyperlinkImplT.d diff --git a/generated/gtkd/atk/HypertextIF.d b/source/generated/atk/atk/HypertextIF.d similarity index 100% rename from generated/gtkd/atk/HypertextIF.d rename to source/generated/atk/atk/HypertextIF.d diff --git a/generated/gtkd/atk/HypertextT.d b/source/generated/atk/atk/HypertextT.d similarity index 100% rename from generated/gtkd/atk/HypertextT.d rename to source/generated/atk/atk/HypertextT.d diff --git a/generated/gtkd/atk/ImageIF.d b/source/generated/atk/atk/ImageIF.d similarity index 100% rename from generated/gtkd/atk/ImageIF.d rename to source/generated/atk/atk/ImageIF.d diff --git a/generated/gtkd/atk/ImageT.d b/source/generated/atk/atk/ImageT.d similarity index 100% rename from generated/gtkd/atk/ImageT.d rename to source/generated/atk/atk/ImageT.d diff --git a/generated/gtkd/atk/ImplementorIF.d b/source/generated/atk/atk/ImplementorIF.d similarity index 100% rename from generated/gtkd/atk/ImplementorIF.d rename to source/generated/atk/atk/ImplementorIF.d diff --git a/generated/gtkd/atk/ImplementorT.d b/source/generated/atk/atk/ImplementorT.d similarity index 100% rename from generated/gtkd/atk/ImplementorT.d rename to source/generated/atk/atk/ImplementorT.d diff --git a/generated/gtkd/atk/Misc.d b/source/generated/atk/atk/Misc.d similarity index 100% rename from generated/gtkd/atk/Misc.d rename to source/generated/atk/atk/Misc.d diff --git a/generated/gtkd/atk/NoOpObject.d b/source/generated/atk/atk/NoOpObject.d similarity index 100% rename from generated/gtkd/atk/NoOpObject.d rename to source/generated/atk/atk/NoOpObject.d diff --git a/generated/gtkd/atk/NoOpObjectFactory.d b/source/generated/atk/atk/NoOpObjectFactory.d similarity index 100% rename from generated/gtkd/atk/NoOpObjectFactory.d rename to source/generated/atk/atk/NoOpObjectFactory.d diff --git a/generated/gtkd/atk/ObjectAtk.d b/source/generated/atk/atk/ObjectAtk.d similarity index 100% rename from generated/gtkd/atk/ObjectAtk.d rename to source/generated/atk/atk/ObjectAtk.d diff --git a/generated/gtkd/atk/ObjectFactory.d b/source/generated/atk/atk/ObjectFactory.d similarity index 100% rename from generated/gtkd/atk/ObjectFactory.d rename to source/generated/atk/atk/ObjectFactory.d diff --git a/generated/gtkd/atk/Plug.d b/source/generated/atk/atk/Plug.d similarity index 100% rename from generated/gtkd/atk/Plug.d rename to source/generated/atk/atk/Plug.d diff --git a/generated/gtkd/atk/Range.d b/source/generated/atk/atk/Range.d similarity index 97% rename from generated/gtkd/atk/Range.d rename to source/generated/atk/atk/Range.d index ca0688556..acc909bf6 100644 --- a/generated/gtkd/atk/Range.d +++ b/source/generated/atk/atk/Range.d @@ -30,7 +30,7 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -71,7 +71,7 @@ public class Range ~this () { - if ( Linker.isLoaded(LIBRARY_ATK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_ATK[0]) && ownedRef ) atk_range_free(atkRange); } diff --git a/generated/gtkd/atk/Rectangle.d b/source/generated/atk/atk/Rectangle.d similarity index 97% rename from generated/gtkd/atk/Rectangle.d rename to source/generated/atk/atk/Rectangle.d index b0d63d6ef..ba790adc8 100644 --- a/generated/gtkd/atk/Rectangle.d +++ b/source/generated/atk/atk/Rectangle.d @@ -27,7 +27,7 @@ module atk.Rectangle; private import atk.c.functions; public import atk.c.types; private import glib.MemorySlice; -private import gtkd.Loader; +private import linker.Loader; /** @@ -65,7 +65,7 @@ public final class Rectangle ~this () { - if ( Linker.isLoaded(LIBRARY_ATK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_ATK[0]) && ownedRef ) sliceFree(atkRectangle); } diff --git a/generated/gtkd/atk/Registry.d b/source/generated/atk/atk/Registry.d similarity index 100% rename from generated/gtkd/atk/Registry.d rename to source/generated/atk/atk/Registry.d diff --git a/generated/gtkd/atk/Relation.d b/source/generated/atk/atk/Relation.d similarity index 100% rename from generated/gtkd/atk/Relation.d rename to source/generated/atk/atk/Relation.d diff --git a/generated/gtkd/atk/RelationSet.d b/source/generated/atk/atk/RelationSet.d similarity index 100% rename from generated/gtkd/atk/RelationSet.d rename to source/generated/atk/atk/RelationSet.d diff --git a/generated/gtkd/atk/SelectionIF.d b/source/generated/atk/atk/SelectionIF.d similarity index 100% rename from generated/gtkd/atk/SelectionIF.d rename to source/generated/atk/atk/SelectionIF.d diff --git a/generated/gtkd/atk/SelectionT.d b/source/generated/atk/atk/SelectionT.d similarity index 100% rename from generated/gtkd/atk/SelectionT.d rename to source/generated/atk/atk/SelectionT.d diff --git a/generated/gtkd/atk/Socket.d b/source/generated/atk/atk/Socket.d similarity index 100% rename from generated/gtkd/atk/Socket.d rename to source/generated/atk/atk/Socket.d diff --git a/generated/gtkd/atk/State.d b/source/generated/atk/atk/State.d similarity index 100% rename from generated/gtkd/atk/State.d rename to source/generated/atk/atk/State.d diff --git a/generated/gtkd/atk/StateSet.d b/source/generated/atk/atk/StateSet.d similarity index 100% rename from generated/gtkd/atk/StateSet.d rename to source/generated/atk/atk/StateSet.d diff --git a/generated/gtkd/atk/StreamableContentIF.d b/source/generated/atk/atk/StreamableContentIF.d similarity index 100% rename from generated/gtkd/atk/StreamableContentIF.d rename to source/generated/atk/atk/StreamableContentIF.d diff --git a/generated/gtkd/atk/StreamableContentT.d b/source/generated/atk/atk/StreamableContentT.d similarity index 100% rename from generated/gtkd/atk/StreamableContentT.d rename to source/generated/atk/atk/StreamableContentT.d diff --git a/generated/gtkd/atk/TableCellIF.d b/source/generated/atk/atk/TableCellIF.d similarity index 100% rename from generated/gtkd/atk/TableCellIF.d rename to source/generated/atk/atk/TableCellIF.d diff --git a/generated/gtkd/atk/TableCellT.d b/source/generated/atk/atk/TableCellT.d similarity index 100% rename from generated/gtkd/atk/TableCellT.d rename to source/generated/atk/atk/TableCellT.d diff --git a/generated/gtkd/atk/TableIF.d b/source/generated/atk/atk/TableIF.d similarity index 100% rename from generated/gtkd/atk/TableIF.d rename to source/generated/atk/atk/TableIF.d diff --git a/generated/gtkd/atk/TableT.d b/source/generated/atk/atk/TableT.d similarity index 100% rename from generated/gtkd/atk/TableT.d rename to source/generated/atk/atk/TableT.d diff --git a/generated/gtkd/atk/TextIF.d b/source/generated/atk/atk/TextIF.d similarity index 100% rename from generated/gtkd/atk/TextIF.d rename to source/generated/atk/atk/TextIF.d diff --git a/generated/gtkd/atk/TextRange.d b/source/generated/atk/atk/TextRange.d similarity index 97% rename from generated/gtkd/atk/TextRange.d rename to source/generated/atk/atk/TextRange.d index bfe2f665f..a2586251a 100644 --- a/generated/gtkd/atk/TextRange.d +++ b/source/generated/atk/atk/TextRange.d @@ -29,7 +29,7 @@ public import atk.c.types; private import glib.MemorySlice; private import glib.Str; private import glib.c.functions; -private import gtkd.Loader; +private import linker.Loader; /** @@ -66,7 +66,7 @@ public final class TextRange ~this () { - if ( Linker.isLoaded(LIBRARY_ATK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_ATK[0]) && ownedRef ) sliceFree(atkTextRange); } diff --git a/generated/gtkd/atk/TextT.d b/source/generated/atk/atk/TextT.d similarity index 100% rename from generated/gtkd/atk/TextT.d rename to source/generated/atk/atk/TextT.d diff --git a/generated/gtkd/atk/Util.d b/source/generated/atk/atk/Util.d similarity index 100% rename from generated/gtkd/atk/Util.d rename to source/generated/atk/atk/Util.d diff --git a/generated/gtkd/atk/ValueIF.d b/source/generated/atk/atk/ValueIF.d similarity index 100% rename from generated/gtkd/atk/ValueIF.d rename to source/generated/atk/atk/ValueIF.d diff --git a/generated/gtkd/atk/ValueT.d b/source/generated/atk/atk/ValueT.d similarity index 100% rename from generated/gtkd/atk/ValueT.d rename to source/generated/atk/atk/ValueT.d diff --git a/generated/gtkd/atk/Version.d b/source/generated/atk/atk/Version.d similarity index 100% rename from generated/gtkd/atk/Version.d rename to source/generated/atk/atk/Version.d diff --git a/generated/gtkd/atk/WindowIF.d b/source/generated/atk/atk/WindowIF.d similarity index 100% rename from generated/gtkd/atk/WindowIF.d rename to source/generated/atk/atk/WindowIF.d diff --git a/generated/gtkd/atk/WindowT.d b/source/generated/atk/atk/WindowT.d similarity index 100% rename from generated/gtkd/atk/WindowT.d rename to source/generated/atk/atk/WindowT.d diff --git a/generated/gtkd/atk/c/functions.d b/source/generated/atk/atk/c/functions.d similarity index 99% rename from generated/gtkd/atk/c/functions.d rename to source/generated/atk/atk/c/functions.d index 2e77066bb..ed9da7425 100644 --- a/generated/gtkd/atk/c/functions.d +++ b/source/generated/atk/atk/c/functions.d @@ -26,7 +26,7 @@ module atk.c.functions; import std.stdio; import atk.c.types; -import gtkd.Loader; +import linker.Loader; version (Windows) static immutable LIBRARY_ATK = ["libatk-1.0-0.dll;atk-1.0-0.dll;atk-1.dll"]; diff --git a/generated/gtkd/atk/c/types.d b/source/generated/atk/atk/c/types.d similarity index 99% rename from generated/gtkd/atk/c/types.d rename to source/generated/atk/atk/c/types.d index c2ef7e3fd..2d8186825 100644 --- a/generated/gtkd/atk/c/types.d +++ b/source/generated/atk/atk/c/types.d @@ -1151,10 +1151,14 @@ public enum AtkStateType * ATK_STATE_EDITABLE. @Since: ATK-2-16 */ READ_ONLY = 42, + /** + * Indicates this object is collapsed. @Since: ATK-2.38 + */ + COLLAPSED = 43, /** * Not a valid state, used for finding end of enumeration */ - LAST_DEFINED = 43, + LAST_DEFINED = 44, } alias AtkStateType StateType; @@ -3166,7 +3170,7 @@ public alias extern(C) void function(AtkObject* obj, AtkPropertyValues* vals) At * application compile time, rather than from the library linked * against at application run time. */ -enum BINARY_AGE = 23610; +enum BINARY_AGE = 23810; alias ATK_BINARY_AGE = BINARY_AGE; /** @@ -3198,7 +3202,7 @@ alias ATK_MICRO_VERSION = MICRO_VERSION; * application compile time, rather than from the library linked * against at application run time. */ -enum MINOR_VERSION = 36; +enum MINOR_VERSION = 38; alias ATK_MINOR_VERSION = MINOR_VERSION; /** diff --git a/generated/gtkd/cairo/Context.d b/source/generated/cairo/cairo/Context.d similarity index 99% rename from generated/gtkd/cairo/Context.d rename to source/generated/cairo/cairo/Context.d index c4d77e24c..7c2b81518 100644 --- a/generated/gtkd/cairo/Context.d +++ b/source/generated/cairo/cairo/Context.d @@ -81,7 +81,7 @@ private import cairo.ScaledFont; private import cairo.Surface; private import cairo.Pattern; private import glib.Str; -private import gtkd.Loader; +private import linker.Loader; private import std.traits; @@ -134,7 +134,7 @@ public class Context ~this () { static if ( isPointer!(typeof(cairo_get_reference_count)) ) - bool libLoaded = Linker.isLoaded(LIBRARY_CAIRO); + bool libLoaded = Linker.isLoaded(LIBRARY_CAIRO[0]); else enum libLoaded = true; diff --git a/src/cairo/Device.d b/source/generated/cairo/cairo/Device.d similarity index 100% rename from src/cairo/Device.d rename to source/generated/cairo/cairo/Device.d diff --git a/src/cairo/FontFace.d b/source/generated/cairo/cairo/FontFace.d similarity index 100% rename from src/cairo/FontFace.d rename to source/generated/cairo/cairo/FontFace.d diff --git a/src/cairo/FontOption.d b/source/generated/cairo/cairo/FontOption.d similarity index 100% rename from src/cairo/FontOption.d rename to source/generated/cairo/cairo/FontOption.d diff --git a/src/cairo/ImageSurface.d b/source/generated/cairo/cairo/ImageSurface.d similarity index 100% rename from src/cairo/ImageSurface.d rename to source/generated/cairo/cairo/ImageSurface.d diff --git a/src/cairo/Matrix.d b/source/generated/cairo/cairo/Matrix.d similarity index 100% rename from src/cairo/Matrix.d rename to source/generated/cairo/cairo/Matrix.d diff --git a/src/cairo/MeshPattern.d b/source/generated/cairo/cairo/MeshPattern.d similarity index 100% rename from src/cairo/MeshPattern.d rename to source/generated/cairo/cairo/MeshPattern.d diff --git a/src/cairo/Pattern.d b/source/generated/cairo/cairo/Pattern.d similarity index 100% rename from src/cairo/Pattern.d rename to source/generated/cairo/cairo/Pattern.d diff --git a/src/cairo/PdfSurface.d b/source/generated/cairo/cairo/PdfSurface.d similarity index 100% rename from src/cairo/PdfSurface.d rename to source/generated/cairo/cairo/PdfSurface.d diff --git a/src/cairo/PostScriptSurface.d b/source/generated/cairo/cairo/PostScriptSurface.d similarity index 100% rename from src/cairo/PostScriptSurface.d rename to source/generated/cairo/cairo/PostScriptSurface.d diff --git a/src/cairo/RasterSource.d b/source/generated/cairo/cairo/RasterSource.d similarity index 100% rename from src/cairo/RasterSource.d rename to source/generated/cairo/cairo/RasterSource.d diff --git a/src/cairo/RecordingSurface.d b/source/generated/cairo/cairo/RecordingSurface.d similarity index 100% rename from src/cairo/RecordingSurface.d rename to source/generated/cairo/cairo/RecordingSurface.d diff --git a/src/cairo/Region.d b/source/generated/cairo/cairo/Region.d similarity index 100% rename from src/cairo/Region.d rename to source/generated/cairo/cairo/Region.d diff --git a/src/cairo/ScaledFont.d b/source/generated/cairo/cairo/ScaledFont.d similarity index 100% rename from src/cairo/ScaledFont.d rename to source/generated/cairo/cairo/ScaledFont.d diff --git a/src/cairo/Script.d b/source/generated/cairo/cairo/Script.d similarity index 100% rename from src/cairo/Script.d rename to source/generated/cairo/cairo/Script.d diff --git a/src/cairo/ScriptSurface.d b/source/generated/cairo/cairo/ScriptSurface.d similarity index 100% rename from src/cairo/ScriptSurface.d rename to source/generated/cairo/cairo/ScriptSurface.d diff --git a/src/cairo/Status.d b/source/generated/cairo/cairo/Status.d similarity index 100% rename from src/cairo/Status.d rename to source/generated/cairo/cairo/Status.d diff --git a/src/cairo/Surface.d b/source/generated/cairo/cairo/Surface.d similarity index 100% rename from src/cairo/Surface.d rename to source/generated/cairo/cairo/Surface.d diff --git a/src/cairo/SvgSurface.d b/source/generated/cairo/cairo/SvgSurface.d similarity index 100% rename from src/cairo/SvgSurface.d rename to source/generated/cairo/cairo/SvgSurface.d diff --git a/src/cairo/Types.d b/source/generated/cairo/cairo/Types.d similarity index 100% rename from src/cairo/Types.d rename to source/generated/cairo/cairo/Types.d diff --git a/src/cairo/UserFontFace.d b/source/generated/cairo/cairo/UserFontFace.d similarity index 100% rename from src/cairo/UserFontFace.d rename to source/generated/cairo/cairo/UserFontFace.d diff --git a/src/cairo/Version.d b/source/generated/cairo/cairo/Version.d similarity index 100% rename from src/cairo/Version.d rename to source/generated/cairo/cairo/Version.d diff --git a/generated/gtkd/cairo/c/functions.d b/source/generated/cairo/cairo/c/functions.d similarity index 99% rename from generated/gtkd/cairo/c/functions.d rename to source/generated/cairo/cairo/c/functions.d index 22739a962..f91cb5d87 100644 --- a/generated/gtkd/cairo/c/functions.d +++ b/source/generated/cairo/cairo/c/functions.d @@ -26,7 +26,7 @@ module cairo.c.functions; private import std.stdio; private import cairo.c.types; -private import gtkd.Loader; +private import linker.Loader; version (Windows) static immutable LIBRARY_CAIRO = ["libcairo-2.dll;cairo.dll"]; diff --git a/src/cairo/c/types.d b/source/generated/cairo/cairo/c/types.d similarity index 100% rename from src/cairo/c/types.d rename to source/generated/cairo/cairo/c/types.d diff --git a/generated/gtkd/gdk/AppLaunchContext.d b/source/generated/gdk/gdk/AppLaunchContext.d similarity index 96% rename from generated/gtkd/gdk/AppLaunchContext.d rename to source/generated/gdk/gdk/AppLaunchContext.d index 7e086a51f..3ac01bc53 100644 --- a/generated/gtkd/gdk/AppLaunchContext.d +++ b/source/generated/gdk/gdk/AppLaunchContext.d @@ -37,8 +37,7 @@ private import gobject.ObjectG; * `GdkAppLaunchContext` handles launching an application in a graphical context. * * It is an implementation of `GAppLaunchContext` that provides startup - * notification and allows to launch applications on a specific screen - * or workspace. + * notification and allows to launch applications on a specific workspace. * * ## Launching an application * @@ -47,7 +46,6 @@ private import gobject.ObjectG; * * context = gdk_display_get_app_launch_context (display); * - * gdk_app_launch_context_set_display (display); * gdk_app_launch_context_set_timestamp (gdk_event_get_time (event)); * * if (!g_app_info_launch_default_for_uri ("http://www.gtk.org", context, &error)) @@ -114,6 +112,10 @@ public class AppLaunchContext : DGioAppLaunchContext * This only works when running under a window manager that * supports multiple workspaces, as described in the * [Extended Window Manager Hints](http://www.freedesktop.org/Standards/wm-spec). + * Specifically this sets the `_NET_WM_DESKTOP` property described + * in that spec. + * + * This only works when using the X11 backend. * * When the workspace is not specified or @desktop is set to -1, * it is up to the window manager to pick one, typically it will @@ -137,7 +139,7 @@ public class AppLaunchContext : DGioAppLaunchContext * See also [method@Gdk.AppLaunchContext.set_icon_name]. * * Params: - * icon = a #GIcon, or %NULL + * icon = a `GIcon` */ public void setIcon(IconIF icon) { @@ -148,7 +150,7 @@ public class AppLaunchContext : DGioAppLaunchContext * Sets the icon for applications that are launched with this context. * * The @icon_name will be interpreted in the same way as the Icon field - * in desktop files. See also [method@Gdk.AppLaunchContext.set_icon()]. + * in desktop files. See also [method@Gdk.AppLaunchContext.set_icon]. * * If both @icon and @icon_name are set, the @icon_name takes priority. * If neither @icon or @icon_name is set, the icon is taken from either @@ -156,7 +158,7 @@ public class AppLaunchContext : DGioAppLaunchContext * for the launched application itself. * * Params: - * iconName = an icon name, or %NULL + * iconName = an icon name */ public void setIconName(string iconName) { diff --git a/generated/gtkd/gdk/ButtonEvent.d b/source/generated/gdk/gdk/ButtonEvent.d similarity index 100% rename from generated/gtkd/gdk/ButtonEvent.d rename to source/generated/gdk/gdk/ButtonEvent.d diff --git a/generated/gtkd/gdk/CairoContext.d b/source/generated/gdk/gdk/CairoContext.d similarity index 90% rename from generated/gtkd/gdk/CairoContext.d rename to source/generated/gdk/gdk/CairoContext.d index 43101425e..5432360d7 100644 --- a/generated/gtkd/gdk/CairoContext.d +++ b/source/generated/gdk/gdk/CairoContext.d @@ -35,8 +35,8 @@ public import gdk.c.types; * draw context. * * `GdkCairoContext`s are created for a surface using - * [method@Gdk.Surface.create_cairo_context], and the context can then be used - * to draw on that surface. + * [method@Gdk.Surface.create_cairo_context], and the context + * can then be used to draw on that surface. */ public class CairoContext : DrawContext { @@ -83,9 +83,8 @@ public class CairoContext : DrawContext * The returned context is guaranteed to be valid until * [method@Gdk.DrawContext.end_frame] is called. * - * Returns: a Cairo context to be used - * to draw the contents of the `GdkSurface`. %NULL is returned - * when @context is not drawing. + * Returns: a Cairo context + * to draw on `GdkSurface */ public Context cairoCreate() { diff --git a/generated/gtkd/gdk/Clipboard.d b/source/generated/gdk/gdk/Clipboard.d similarity index 94% rename from generated/gtkd/gdk/Clipboard.d rename to source/generated/gdk/gdk/Clipboard.d index a6afac61b..daa56f5ea 100644 --- a/generated/gtkd/gdk/Clipboard.d +++ b/source/generated/gdk/gdk/Clipboard.d @@ -103,8 +103,8 @@ public class Clipboard : ObjectG * If the @clipboard is empty or its contents are not owned by the * current process, %NULL will be returned. * - * Returns: The content of a clipboard or %NULL - * if the clipboard does not maintain any content. + * Returns: The content of a clipboard + * if the clipboard does not maintain any content */ public ContentProvider getContent() { @@ -181,7 +181,7 @@ public class Clipboard : ObjectG * Params: * mimeTypes = a %NULL-terminated array of mime types to choose from * ioPriority = the I/O priority of the request - * cancellable = optional `GCancellable` object, %NULL to ignore. + * cancellable = optional `GCancellable` object * callback = callback to call when the request is satisfied * userData = the data to pass to callback function */ @@ -197,10 +197,10 @@ public class Clipboard : ObjectG * * Params: * result = a `GAsyncResult` - * outMimeType = pointer to store - * the chosen mime type in or %NULL + * outMimeType = location to store + * the chosen mime type * - * Returns: a `GInputStream` or %NULL on error. + * Returns: a `GInputStream` * * Throws: GException on failure. */ @@ -237,7 +237,7 @@ public class Clipboard : ObjectG * need more control over the operation. * * Params: - * cancellable = optional `GCancellable` object, %NULL to ignore + * cancellable = optional `GCancellable` object * callback = callback to call when the request is satisfied * userData = the data to pass to callback function */ @@ -254,7 +254,7 @@ public class Clipboard : ObjectG * Params: * result = a `GAsyncResult` * - * Returns: a new string or %NULL on error + * Returns: a new string * * Throws: GException on failure. */ @@ -280,7 +280,7 @@ public class Clipboard : ObjectG * call [method@Gdk.Clipboard.read_texture_finish] to get the result. * * This is a simple wrapper around [method@Gdk.Clipboard.read_value_async]. - * Use that function or [methos@Gdk.Clipboard.read_async] directly if you + * Use that function or [method@Gdk.Clipboard.read_async] directly if you * need more control over the operation. * * Params: @@ -301,7 +301,7 @@ public class Clipboard : ObjectG * Params: * result = a `GAsyncResult` * - * Returns: a new `GdkTexture` or %NULL on error + * Returns: a new `GdkTexture` * * Throws: GException on failure. */ @@ -338,7 +338,7 @@ public class Clipboard : ObjectG * Params: * type = a `GType` to read * ioPriority = the I/O priority of the request - * cancellable = optional #GCancellable object, %NULL to ignore. + * cancellable = optional `GCancellable` object * callback = callback to call when the request is satisfied * userData = the data to pass to callback function */ @@ -393,8 +393,8 @@ public class Clipboard : ObjectG * transfer the contents and then request that format from @provider. * * Params: - * provider = the new contents of @clipboard or - * %NULL to clear the clipboard + * provider = the new contents of @clipboard + * or %NULL to clear the clipboard * * Returns: %TRUE if setting the clipboard succeeded */ @@ -464,8 +464,8 @@ public class Clipboard : ObjectG * shut down, so you likely don't need to call it. * * Params: - * ioPriority = the I/O priority of the request. - * cancellable = optional `GCancellable` object, %NULL to ignore. + * ioPriority = the I/O priority of the request + * cancellable = optional `GCancellable` object * callback = callback to call when the request is satisfied * userData = the data to pass to callback function */ diff --git a/generated/gtkd/gdk/ContentDeserializer.d b/source/generated/gdk/gdk/ContentDeserializer.d similarity index 93% rename from generated/gtkd/gdk/ContentDeserializer.d rename to source/generated/gdk/gdk/ContentDeserializer.d index 51b0c1dd3..95d27d882 100644 --- a/generated/gtkd/gdk/ContentDeserializer.d +++ b/source/generated/gdk/gdk/ContentDeserializer.d @@ -91,7 +91,7 @@ public class ContentDeserializer : ObjectG, AsyncResultIF /** * Gets the cancellable for the current operation. * - * This is the `GCancellable` that was passed to [func@content_deserialize_async]. + * This is the `GCancellable` that was passed to [func@Gdk.content_deserialize_async]. * * Returns: the cancellable for the current operation */ @@ -108,9 +108,9 @@ public class ContentDeserializer : ObjectG, AsyncResultIF } /** - * Gets the GType to create an instance of. + * Gets the `GType` to create an instance of. * - * Returns: the GType for the current operation + * Returns: the `GType` for the current operation */ public GType getGtype() { @@ -120,7 +120,7 @@ public class ContentDeserializer : ObjectG, AsyncResultIF /** * Gets the input stream for the current operation. * - * This is the stream that was passed to [func@content_deserialize_async]. + * This is the stream that was passed to [func@Gdk.content_deserialize_async]. * * Returns: the input stream for the current operation */ @@ -149,7 +149,7 @@ public class ContentDeserializer : ObjectG, AsyncResultIF /** * Gets the I/O priority for the current operation. * - * This is the priority that was passed to [funccontent_deserialize_async]. + * This is the priority that was passed to [func@Gdk.content_deserialize_async]. * * Returns: the I/O priority for the current operation */ @@ -207,7 +207,7 @@ public class ContentDeserializer : ObjectG, AsyncResultIF */ public void returnError(ErrorG error) { - gdk_content_deserializer_return_error(gdkContentDeserializer, (error is null) ? null : error.getErrorGStruct()); + gdk_content_deserializer_return_error(gdkContentDeserializer, (error is null) ? null : error.getErrorGStruct(true)); } /** diff --git a/generated/gtkd/gdk/ContentFormats.d b/source/generated/gdk/gdk/ContentFormats.d similarity index 88% rename from generated/gtkd/gdk/ContentFormats.d rename to source/generated/gdk/gdk/ContentFormats.d index 0285c26ca..c45b007cc 100644 --- a/generated/gtkd/gdk/ContentFormats.d +++ b/source/generated/gdk/gdk/ContentFormats.d @@ -31,7 +31,7 @@ private import glib.Str; private import glib.StringG; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -65,7 +65,7 @@ private import gtkd.Loader; * * `GdkContentFormats` is an immutable struct. After creation, you cannot change * the types it represents. Instead, new `GdkContentFormats` have to be created. - * The [struct@Gdk.ContentFormatsBuilder]` structure is meant to help in this + * The [struct@Gdk.ContentFormatsBuilder] structure is meant to help in this * endeavor. */ public class ContentFormats @@ -99,7 +99,7 @@ public class ContentFormats ~this () { - if ( Linker.isLoaded(LIBRARY_GDK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GDK[0]) && ownedRef ) gdk_content_formats_unref(gdkContentFormats); } @@ -115,7 +115,7 @@ public class ContentFormats * * The mime types must be valid and different from each other or the * behavior of the return value is undefined. If you cannot guarantee - * this, use `GdkContentFormatsBuilder` instead. + * this, use [struct@Gdk.ContentFormatsBuilder] instead. * * Params: * mimeTypes = Pointer to an @@ -165,7 +165,7 @@ public class ContentFormats * Params: * type = the `GType` to search for * - * Returns: %TRUE if the #GType was found + * Returns: %TRUE if the `GType` was found */ public bool containGtype(GType type) { @@ -186,13 +186,12 @@ public class ContentFormats } /** - * Gets the `GTypes` included in @formats. + * Gets the `GType`s included in @formats. * - * Note that @formats may not contain any #GTypes, in particular when + * Note that @formats may not contain any `GType`s, in particular when * they are empty. In that case %NULL will be returned. * - * Returns: %G_TYPE_INVALID-terminated array of types included in @formats or - * %NULL if none. + * Returns: %G_TYPE_INVALID-terminated array of types included in @formats */ public GType[] getGtypes() { @@ -209,9 +208,8 @@ public class ContentFormats * Note that @formats may not contain any mime types, in particular * when they are empty. In that case %NULL will be returned. * - * Returns: %NULL-terminated array of - * interned strings of mime types included in @formats or %NULL - * if none. + * Returns: %NULL-terminated array of interned strings of mime types included + * in @formats */ public string[] getMimeTypes() { @@ -258,7 +256,7 @@ public class ContentFormats * Params: * second = the `GdkContentFormats` to intersect with * - * Returns: The first common mime type or %NULL if none. + * Returns: The first common mime type or %NULL if none */ public string matchMimeType(ContentFormats second) { @@ -268,10 +266,8 @@ public class ContentFormats /** * Prints the given @formats into a string for human consumption. * - * This is meant for debugging and logging. - * - * The form of the representation may change at any time and is - * not guaranteed to stay identical. + * The result of this function can later be parsed with + * [func@Gdk.ContentFormats.parse]. * * Params: * string_ = a `GString` to print into @@ -302,6 +298,8 @@ public class ContentFormats /** * Prints the given @formats into a human-readable string. * + * The resulting string can be parsed with [func@Gdk.ContentFormats.parse]. + * * This is a small wrapper around [method@Gdk.ContentFormats.print] * to help when debugging. * @@ -418,4 +416,33 @@ public class ContentFormats { gdk_content_formats_unref(gdkContentFormats); } + + /** + * Parses the given @string into `GdkContentFormats` and + * returns the formats. + * + * Strings printed via [method@Gdk.ContentFormats.to_string] + * can be read in again successfully using this function. + * + * If @string does not describe valid content formats, %NULL + * is returned. + * + * Params: + * string_ = the string to parse + * + * Returns: the content formats if @string is valid + * + * Since: 4.4 + */ + public static ContentFormats parse(string string_) + { + auto __p = gdk_content_formats_parse(Str.toStringz(string_)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ContentFormats)(cast(GdkContentFormats*) __p, true); + } } diff --git a/generated/gtkd/gdk/ContentFormatsBuilder.d b/source/generated/gdk/gdk/ContentFormatsBuilder.d similarity index 98% rename from generated/gtkd/gdk/ContentFormatsBuilder.d rename to source/generated/gdk/gdk/ContentFormatsBuilder.d index a32997079..d61030b7a 100644 --- a/generated/gtkd/gdk/ContentFormatsBuilder.d +++ b/source/generated/gdk/gdk/ContentFormatsBuilder.d @@ -30,7 +30,7 @@ public import gdk.c.types; private import glib.ConstructionException; private import glib.Str; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -68,7 +68,7 @@ public class ContentFormatsBuilder ~this () { - if ( Linker.isLoaded(LIBRARY_GDK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GDK[0]) && ownedRef ) gdk_content_formats_builder_unref(gdkContentFormatsBuilder); } diff --git a/generated/gtkd/gdk/ContentProvider.d b/source/generated/gdk/gdk/ContentProvider.d similarity index 96% rename from generated/gtkd/gdk/ContentProvider.d rename to source/generated/gdk/gdk/ContentProvider.d index 6a22290fe..7101f4d4f 100644 --- a/generated/gtkd/gdk/ContentProvider.d +++ b/source/generated/gdk/gdk/ContentProvider.d @@ -34,6 +34,7 @@ private import glib.Bytes; private import glib.ConstructionException; private import glib.ErrorG; private import glib.GException; +private import glib.MemorySlice; private import glib.Str; private import gobject.ObjectG; private import gobject.Signals; @@ -151,7 +152,7 @@ public class ContentProvider : ObjectG * ``` * * Params: - * providers = The #GdkContentProviders to present the union of + * providers = The `GdkContentProvider`s to present the union of * * Returns: a new `GdkContentProvider` * @@ -190,7 +191,7 @@ public class ContentProvider : ObjectG * provided in. This given `GType` does not need to be listed in the formats * returned by [method@Gdk.ContentProvider.ref_formats]. However, if the * given `GType` is not supported, this operation can fail and - * #G_IO_ERROR_NOT_SUPPORTED will be reported. + * `G_IO_ERROR_NOT_SUPPORTED` will be reported. * * Params: * value = the `GValue` to fill @@ -200,17 +201,20 @@ public class ContentProvider : ObjectG * * Throws: GException on failure. */ - public bool getValue(Value value) + public bool getValue(out Value value) { + GValue* outvalue = sliceNew!GValue(); GError* err = null; - auto __p = gdk_content_provider_get_value(gdkContentProvider, (value is null) ? null : value.getValueStruct(), &err) != 0; + auto __p = gdk_content_provider_get_value(gdkContentProvider, outvalue, &err) != 0; if (err !is null) { throw new GException( new ErrorG(err) ); } + value = ObjectG.getDObject!(Value)(outvalue, true); + return __p; } @@ -263,7 +267,7 @@ public class ContentProvider : ObjectG * * The given mime type does not need to be listed in the formats returned by * [method@Gdk.ContentProvider.ref_formats]. However, if the given `GType` is - * not supported, #G_IO_ERROR_NOT_SUPPORTED will be reported. + * not supported, `G_IO_ERROR_NOT_SUPPORTED` will be reported. * * The given @stream will not be closed. * diff --git a/generated/gtkd/gdk/ContentSerializer.d b/source/generated/gdk/gdk/ContentSerializer.d similarity index 96% rename from generated/gtkd/gdk/ContentSerializer.d rename to source/generated/gdk/gdk/ContentSerializer.d index edbde54cc..faa8ccc91 100644 --- a/generated/gtkd/gdk/ContentSerializer.d +++ b/source/generated/gdk/gdk/ContentSerializer.d @@ -47,7 +47,7 @@ private import gobject.Value; * * GTK provides serializers and deserializers for common data types * such as text, colors, images or file lists. To register your own - * serialization functions, use [func@content_register_serializer]. + * serialization functions, use [func@Gdk.content_register_serializer]. * * Also see [class@Gdk.ContentDeserializer]. */ @@ -92,7 +92,7 @@ public class ContentSerializer : ObjectG, AsyncResultIF /** * Gets the cancellable for the current operation. * - * This is the `GCancellable` that was passed to [content_serialize_async]. + * This is the `GCancellable` that was passed to [func@content_serialize_async]. * * Returns: the cancellable for the current operation */ @@ -208,7 +208,7 @@ public class ContentSerializer : ObjectG, AsyncResultIF */ public void returnError(ErrorG error) { - gdk_content_serializer_return_error(gdkContentSerializer, (error is null) ? null : error.getErrorGStruct()); + gdk_content_serializer_return_error(gdkContentSerializer, (error is null) ? null : error.getErrorGStruct(true)); } /** diff --git a/generated/gtkd/gdk/CrossingEvent.d b/source/generated/gdk/gdk/CrossingEvent.d similarity index 100% rename from generated/gtkd/gdk/CrossingEvent.d rename to source/generated/gdk/gdk/CrossingEvent.d diff --git a/generated/gtkd/gdk/Cursor.d b/source/generated/gdk/gdk/Cursor.d similarity index 98% rename from generated/gtkd/gdk/Cursor.d rename to source/generated/gdk/gdk/Cursor.d index 6c29dad12..f48ff6737 100644 --- a/generated/gtkd/gdk/Cursor.d +++ b/source/generated/gdk/gdk/Cursor.d @@ -43,8 +43,7 @@ private import gobject.ObjectG; * Cursors by themselves are not very interesting: they must be bound to a * window for users to see them. This is done with [method@Gdk.Surface.set_cursor] * or [method@Gdk.Surface.set_device_cursor]. Applications will typically - * use higher-level GTK functions such as [method@Gtk.Widget.set_cursor]` - * instead. + * use higher-level GTK functions such as [method@Gtk.Widget.set_cursor] instead. * * Cursors are not bound to a given [class@Gdk.Display], so they can be shared. * However, the appearance of cursors may vary when used on different @@ -152,7 +151,7 @@ public class Cursor : ObjectG * texture = the texture providing the pixel data * hotspotX = the horizontal offset of the “hotspot” of the cursor * hotspotY = the vertical offset of the “hotspot” of the cursor - * fallback = %NULL or the `GdkCursor` to fall back to when + * fallback = the `GdkCursor` to fall back to when * this one cannot be supported * * Returns: a new `GdkCursor` @@ -181,7 +180,7 @@ public class Cursor : ObjectG * it is used on does not support textured cursors. * * Returns: the fallback of the cursor or %NULL - * to use the default cursor as fallback. + * to use the default cursor as fallback */ public Cursor getFallback() { diff --git a/generated/gtkd/gdk/DNDEvent.d b/source/generated/gdk/gdk/DNDEvent.d similarity index 100% rename from generated/gtkd/gdk/DNDEvent.d rename to source/generated/gdk/gdk/DNDEvent.d diff --git a/generated/gtkd/gdk/DeleteEvent.d b/source/generated/gdk/gdk/DeleteEvent.d similarity index 100% rename from generated/gtkd/gdk/DeleteEvent.d rename to source/generated/gdk/gdk/DeleteEvent.d diff --git a/generated/gtkd/gdk/Device.d b/source/generated/gdk/gdk/Device.d similarity index 93% rename from generated/gtkd/gdk/Device.d rename to source/generated/gdk/gdk/Device.d index d25fa1387..879131c28 100644 --- a/generated/gtkd/gdk/Device.d +++ b/source/generated/gdk/gdk/Device.d @@ -94,7 +94,7 @@ public class Device : ObjectG /** * Retrieves the current tool for @device. * - * Returns: the `GdkDeviceTool`, or %NULL + * Returns: the `GdkDeviceTool` */ public DeviceTool getDeviceTool() { @@ -205,7 +205,7 @@ public class Device : ObjectG * This ID is retrieved from the device, and does not change. * See [method@Gdk.Device.get_vendor_id] for more information. * - * Returns: the product ID, or %NULL + * Returns: the product ID */ public string getProductId() { @@ -253,19 +253,19 @@ public class Device : ObjectG /** * Obtains the surface underneath @device, returning the location of the - * device in @win_x and @win_y + * device in @win_x and @win_y. * * Returns %NULL if the surface tree under @device is not known to GDK * (for example, belongs to another application). * * Params: - * winX = return location for the X coordinate of the device location, - * relative to the surface origin, or %NULL. - * winY = return location for the Y coordinate of the device location, - * relative to the surface origin, or %NULL. + * winX = return location for the X coordinate + * of the device location relative to the surface origin + * winY = return location for the Y coordinate + * of the device location relative to the surface origin * * Returns: the `GdkSurface` under the - * device position, or %NULL + * device position */ public Surface getSurfaceAtPosition(out double winX, out double winY) { @@ -325,7 +325,7 @@ public class Device : ObjectG * } * ``` * - * Returns: the vendor ID, or %NULL + * Returns: the vendor ID */ public string getVendorId() { @@ -338,8 +338,7 @@ public class Device : ObjectG * * This is only relevant for keyboard devices. * - * Returns: %TRUE if there are layouts with both directions, - * %FALSE otherwise + * Returns: %TRUE if there are layouts with both directions, %FALSE otherwise */ public bool hasBidiLayouts() { @@ -347,7 +346,7 @@ public class Device : ObjectG } /** - * Emitted either when the the number of either axes or keys changes. + * Emitted either when the number of either axes or keys changes. * * On X11 this will normally happen when the physical device * routing events through the logical device changes (for diff --git a/generated/gtkd/gdk/DevicePadIF.d b/source/generated/gdk/gdk/DevicePadIF.d similarity index 97% rename from generated/gtkd/gdk/DevicePadIF.d rename to source/generated/gdk/gdk/DevicePadIF.d index 556b2a6e5..81d3b6a3b 100644 --- a/generated/gtkd/gdk/DevicePadIF.d +++ b/source/generated/gdk/gdk/DevicePadIF.d @@ -45,7 +45,7 @@ public import gdk.c.types; * (current) for each given group, different groups may have different * current modes. The number of available modes in a group can be found * out through [method@Gdk.DevicePad.get_group_n_modes], and the current mode - * for a given group will be notified through events of type #GDK_PAD_GROUP_MODE. + * for a given group will be notified through events of type `GDK_PAD_GROUP_MODE`. */ public interface DevicePadIF{ /** Get the main Gtk struct */ diff --git a/generated/gtkd/gdk/DevicePadT.d b/source/generated/gdk/gdk/DevicePadT.d similarity index 97% rename from generated/gtkd/gdk/DevicePadT.d rename to source/generated/gdk/gdk/DevicePadT.d index 421cb958d..248a19a09 100644 --- a/generated/gtkd/gdk/DevicePadT.d +++ b/source/generated/gdk/gdk/DevicePadT.d @@ -45,7 +45,7 @@ public import gdk.c.types; * (current) for each given group, different groups may have different * current modes. The number of available modes in a group can be found * out through [method@Gdk.DevicePad.get_group_n_modes], and the current mode - * for a given group will be notified through events of type #GDK_PAD_GROUP_MODE. + * for a given group will be notified through events of type `GDK_PAD_GROUP_MODE`. */ public template DevicePadT(TStruct) { diff --git a/generated/gtkd/gdk/DeviceTool.d b/source/generated/gdk/gdk/DeviceTool.d similarity index 100% rename from generated/gtkd/gdk/DeviceTool.d rename to source/generated/gdk/gdk/DeviceTool.d diff --git a/generated/gtkd/gdk/Display.d b/source/generated/gdk/gdk/Display.d similarity index 87% rename from generated/gtkd/gdk/Display.d rename to source/generated/gdk/gdk/Display.d index 559eeb50f..e007fe9a5 100644 --- a/generated/gtkd/gdk/Display.d +++ b/source/generated/gdk/gdk/Display.d @@ -28,12 +28,15 @@ private import gdk.AppLaunchContext; private import gdk.Clipboard; private import gdk.Device; private import gdk.Event; +private import gdk.GLContext; private import gdk.MonitorGdk; private import gdk.Seat; private import gdk.Surface; private import gdk.c.functions; public import gdk.c.types; private import gio.ListModelIF; +private import glib.ErrorG; +private import glib.GException; private import glib.ListG; private import glib.Str; private import glib.c.functions; @@ -98,7 +101,8 @@ public class Display : ObjectG * Gets the default `GdkDisplay`. * * This is a convenience function for: - * `gdk_display_manager_get_default_display (gdk_display_manager_get ())`. + * + * gdk_display_manager_get_default_display (gdk_display_manager_get ()) * * Returns: a `GdkDisplay`, or %NULL if * there is no default display @@ -118,11 +122,12 @@ public class Display : ObjectG /** * Opens a display. * + * If opening the display fails, `NULL` is returned. + * * Params: * displayName = the name of the display to open * - * Returns: a `GdkDisplay`, or %NULL if the - * display could not be opened + * Returns: a `GdkDisplay` */ public static Display open(string displayName) { @@ -154,6 +159,42 @@ public class Display : ObjectG gdk_display_close(gdkDisplay); } + /** + * Creates a new `GdkGLContext` for the `GdkDisplay`. + * + * The context is disconnected from any particular surface or surface + * and cannot be used to draw to any surface. It can only be used to + * draw to non-surface framebuffers like textures. + * + * If the creation of the `GdkGLContext` failed, @error will be set. + * Before using the returned `GdkGLContext`, you will need to + * call [method@Gdk.GLContext.make_current] or [method@Gdk.GLContext.realize]. + * + * Returns: the newly created `GdkGLContext` + * + * Since: 4.6 + * + * Throws: GException on failure. + */ + public GLContext createGlContext() + { + GError* err = null; + + auto __p = gdk_display_create_gl_context(gdkDisplay, &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(GLContext)(cast(GdkGLContext*) __p, true); + } + /** * Returns %TRUE if there is an ongoing grab on @device for @display. * @@ -188,8 +229,7 @@ public class Display : ObjectG * Returns a `GdkAppLaunchContext` suitable for launching * applications on the given display. * - * Returns: a new `GdkAppLaunchContext` for @display. - * Free with g_object_unref() when done + * Returns: a new `GdkAppLaunchContext` for @display */ public AppLaunchContext getAppLaunchContext() { @@ -274,7 +314,7 @@ public class Display : ObjectG * You can listen to the GListModel::items-changed signal on * this list to monitor changes to the monitor of this display. * - * Returns: a #GListModel of `GdkMonitor` + * Returns: a `GListModel` of `GdkMonitor` */ public ListModelIF getMonitors() { @@ -339,7 +379,7 @@ public class Display : ObjectG * Gets the startup notification ID for a Wayland display, or %NULL * if no ID has been defined. * - * Returns: the startup notification ID for @display, or %NULL + * Returns: the startup notification ID for @display */ public string getStartupNotificationId() { @@ -430,9 +470,9 @@ public class Display : ObjectG * Params: * keycode = a keycode * keys = return - * location for array of `GdkKeymapKey`, or %NULL + * location for array of `GdkKeymapKey` * keyvals = return - * location for array of keyvals, or %NULL + * location for array of keyvals * * Returns: %TRUE if there were any entries */ @@ -504,6 +544,42 @@ public class Display : ObjectG gdk_display_notify_startup_complete(gdkDisplay, Str.toStringz(startupId)); } + /** + * Checks that OpenGL is available for @self and ensures that it is + * properly initialized. + * When this fails, an @error will be set describing the error and this + * function returns %FALSE. + * + * Note that even if this function succeeds, creating a `GdkGLContext` + * may still fail. + * + * This function is idempotent. Calling it multiple times will just + * return the same value or error. + * + * You never need to call this function, GDK will call it automatically + * as needed. But you can use it as a check when setting up code that + * might make use of OpenGL. + * + * Returns: %TRUE if the display supports OpenGL + * + * Since: 4.4 + * + * Throws: GException on failure. + */ + public bool prepareGl() + { + GError* err = null; + + auto __p = gdk_display_prepare_gl(gdkDisplay, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + /** * Appends the given event onto the front of the event * queue for @display. @@ -576,12 +652,11 @@ public class Display : ObjectG * keycode = a keycode * state = a modifier state * group = active keyboard group - * keyval = return location for keyval, or %NULL - * effectiveGroup = return location for effective - * group, or %NULL - * level = return location for level, or %NULL - * consumed = return location for modifiers - * that were used to determine the group or level, or %NULL + * keyval = return location for keyval + * effectiveGroup = return location for effective group + * level = return location for level + * consumed = return location for modifiers that were used + * to determine the group or level * * Returns: %TRUE if there was a keyval bound to keycode/state/group. */ diff --git a/generated/gtkd/gdk/DisplayManager.d b/source/generated/gdk/gdk/DisplayManager.d similarity index 95% rename from generated/gtkd/gdk/DisplayManager.d rename to source/generated/gdk/gdk/DisplayManager.d index 24c7d0ac7..cc2b051af 100644 --- a/generated/gtkd/gdk/DisplayManager.d +++ b/source/generated/gdk/gdk/DisplayManager.d @@ -55,7 +55,7 @@ private import std.algorithm; * * When writing backend-specific code that is supposed to work with * multiple GDK backends, you have to consider both compile time and - * runtime. At compile time, use the #GDK_WINDOWING_X11, #GDK_WINDOWING_WIN32 + * runtime. At compile time, use the `GDK_WINDOWING_X11`, `GDK_WINDOWING_WIN32` * macros, etc. to find out which backends are present in the GDK library * you are building your application against. At runtime, use type-check * macros like GDK_IS_X11_DISPLAY() to find out which backend is in use: @@ -141,8 +141,7 @@ public class DisplayManager : ObjectG /** * Gets the default `GdkDisplay`. * - * Returns: a `GdkDisplay`, or %NULL if - * there is no default display. + * Returns: a `GdkDisplay` */ public Display getDefaultDisplay() { @@ -160,8 +159,7 @@ public class DisplayManager : ObjectG * List all currently open displays. * * Returns: a newly - * allocated `GSList` of `GdkDisplay` objects. Free with g_slist_free() - * when you are done with it. + * allocated `GSList` of `GdkDisplay` objects */ public ListSG listDisplays() { diff --git a/generated/gtkd/gdk/Drag.d b/source/generated/gdk/gdk/Drag.d similarity index 98% rename from generated/gtkd/gdk/Drag.d rename to source/generated/gdk/gdk/Drag.d index 5735ae5fe..5c091e0fd 100644 --- a/generated/gtkd/gdk/Drag.d +++ b/source/generated/gdk/gdk/Drag.d @@ -107,8 +107,7 @@ public class Drag : ObjectG * dx = the x offset to @device's position where the drag nominally started * dy = the y offset to @device's position where the drag nominally started * - * Returns: a newly created [class@Gdk.Drag] - * or %NULL on error + * Returns: a newly created `GdkDrag` */ public static Drag begin(Surface surface, Device device, ContentProvider content, GdkDragAction actions, double dx, double dy) { @@ -213,7 +212,7 @@ public class Drag : ObjectG * drag operation. The surface is owned by @drag and will be destroyed * when the drag operation is over. * - * Returns: the drag surface, or %NULL + * Returns: the drag surface */ public Surface getDragSurface() { diff --git a/generated/gtkd/gdk/DragSurfaceIF.d b/source/generated/gdk/gdk/DragSurfaceIF.d similarity index 96% rename from generated/gtkd/gdk/DragSurfaceIF.d rename to source/generated/gdk/gdk/DragSurfaceIF.d index bb155e994..ee78e8924 100644 --- a/generated/gtkd/gdk/DragSurfaceIF.d +++ b/source/generated/gdk/gdk/DragSurfaceIF.d @@ -29,7 +29,7 @@ public import gdk.c.types; /** - * A #GdkDragSurface is an interface for surfaces used during DND. + * A `GdkDragSurface` is an interface for surfaces used during DND. */ public interface DragSurfaceIF{ /** Get the main Gtk struct */ diff --git a/generated/gtkd/gdk/DragSurfaceT.d b/source/generated/gdk/gdk/DragSurfaceT.d similarity index 96% rename from generated/gtkd/gdk/DragSurfaceT.d rename to source/generated/gdk/gdk/DragSurfaceT.d index 50dd88994..9fabceace 100644 --- a/generated/gtkd/gdk/DragSurfaceT.d +++ b/source/generated/gdk/gdk/DragSurfaceT.d @@ -29,7 +29,7 @@ public import gdk.c.types; /** - * A #GdkDragSurface is an interface for surfaces used during DND. + * A `GdkDragSurface` is an interface for surfaces used during DND. */ public template DragSurfaceT(TStruct) { diff --git a/generated/gtkd/gdk/DrawContext.d b/source/generated/gdk/gdk/DrawContext.d similarity index 97% rename from generated/gtkd/gdk/DrawContext.d rename to source/generated/gdk/gdk/DrawContext.d index 2354fc13f..fa5778f4c 100644 --- a/generated/gtkd/gdk/DrawContext.d +++ b/source/generated/gdk/gdk/DrawContext.d @@ -96,7 +96,7 @@ public class DrawContext : ObjectG * Note that the @region passed to this function is the minimum region that * needs to be drawn and depending on implementation, windowing system and * hardware in use, it might be necessary to draw a larger region. Drawing - * implementation must use [method@Gdk.DrawContext.get_frame_region() to + * implementation must use [method@Gdk.DrawContext.get_frame_region] to * query the region that must be drawn. * * When using GTK, the widget system automatically places calls to @@ -130,7 +130,7 @@ public class DrawContext : ObjectG /** * Retrieves the `GdkDisplay` the @context is created for * - * Returns: a `GdkDisplay` or %NULL + * Returns: the `GdkDisplay` */ public Display getDisplay() { @@ -154,8 +154,7 @@ public class DrawContext : ObjectG * If @context is not in between calls to [method@Gdk.DrawContext.begin_frame] * and [method@Gdk.DrawContext.end_frame], %NULL will be returned. * - * Returns: a Cairo region or %NULL if not drawing - * a frame. + * Returns: a Cairo region */ public Region getFrameRegion() { @@ -172,7 +171,7 @@ public class DrawContext : ObjectG /** * Retrieves the surface that @context is bound to. * - * Returns: a #GdkSurface or %NULL + * Returns: a `GdkSurface` */ public Surface getSurface() { diff --git a/generated/gtkd/gdk/Drop.d b/source/generated/gdk/gdk/Drop.d similarity index 97% rename from generated/gtkd/gdk/Drop.d rename to source/generated/gdk/gdk/Drop.d index a7adfbb7c..dd6089d0c 100644 --- a/generated/gtkd/gdk/Drop.d +++ b/source/generated/gdk/gdk/Drop.d @@ -226,8 +226,7 @@ public class Drop : ObjectG * Params: * mimeTypes = pointer to an array of mime types * ioPriority = the I/O priority for the read operation - * cancellable = optional `GCancellable` object, - * %NULL to ignore + * cancellable = optional `GCancellable` object * callback = a `GAsyncReadyCallback` to call when * the request is satisfied * userData = the data to pass to @callback @@ -251,7 +250,7 @@ public class Drop : ObjectG * result = a `GAsyncResult` * outMimeType = return location for the used mime type * - * Returns: the `GInputStream`, or %NULL + * Returns: the `GInputStream` * * Throws: GException on failure. */ @@ -285,7 +284,7 @@ public class Drop : ObjectG * then call [method@Gdk.Drop.read_value_finish] to get the resulting * `GValue`. * - * For local drag'n'drop operations that are available in the given + * For local drag-and-drop operations that are available in the given * `GType`, the value will be copied directly. Otherwise, GDK will * try to use [func@Gdk.content_deserialize_async] to convert the data. * @@ -339,7 +338,7 @@ public class Drop : ObjectG * the ones provided by [method@Gdk.Drop.get_actions]. Those actions may * change in the future, even depending on the actions you provide here. * - * The @preferred action is a hint to the drag'n'drop mechanism about which + * The @preferred action is a hint to the drag-and-drop mechanism about which * action to use when multiple actions are possible. * * This function should be called by drag destinations in response to diff --git a/generated/gtkd/gdk/Event.d b/source/generated/gdk/gdk/Event.d similarity index 93% rename from generated/gtkd/gdk/Event.d rename to source/generated/gdk/gdk/Event.d index 98feae051..1d2bb33f6 100644 --- a/generated/gtkd/gdk/Event.d +++ b/source/generated/gdk/gdk/Event.d @@ -32,7 +32,7 @@ private import gdk.Surface; private import gdk.c.functions; public import gdk.c.types; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -74,7 +74,7 @@ public class Event ~this () { - if ( Linker.isLoaded(LIBRARY_GDK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GDK[0]) && ownedRef ) gdk_event_unref(gdkEvent); } @@ -144,6 +144,9 @@ public class Event /** * Extracts all axis values from an event. * + * To find out which axes are used, use [method@Gdk.DeviceTool.get_axes] + * on the device tool returned by [method@Gdk.Event.get_device_tool]. + * * Params: * axes = the array of values for all axes * @@ -165,6 +168,9 @@ public class Event * Extract the axis value for a particular axis use from * an event structure. * + * To find out which axes are used, use [method@Gdk.DeviceTool.get_axes] + * on the device tool returned by [method@Gdk.Event.get_device_tool]. + * * Params: * axisUse = the axis use to look for * value = location to store the value found @@ -179,7 +185,7 @@ public class Event /** * Returns the device of an event. * - * Returns: a #GdkDevice. + * Returns: a `GdkDevice` */ public Device getDevice() { @@ -205,7 +211,7 @@ public class Event * the application lifetime, if settings must be stored * persistently across runs, see [method@Gdk.DeviceTool.get_serial]. * - * Returns: The current device tool, or %NULL + * Returns: The current device tool */ public DeviceTool getDeviceTool() { @@ -222,7 +228,7 @@ public class Event /** * Retrieves the display associated to the @event. * - * Returns: a #GdkDisplay + * Returns: a `GdkDisplay` */ public Display getDisplay() { @@ -267,7 +273,8 @@ public class Event * to the application because they occurred in the same frame as @event. * * Note that only motion and scroll events record history, and motion - * events do it only if one of the mouse buttons is down. + * events do it only if one of the mouse buttons is down, or the device + * has a tool. * * Returns: an * array of time and coordinates @@ -318,7 +325,7 @@ public class Event /** * Returns the seat that originated the event. * - * Returns: a #GdkSeat. + * Returns: a `GdkSeat`. */ public Seat getSeat() { @@ -335,7 +342,7 @@ public class Event /** * Extracts the surface associated with an event. * - * Returns: The #GdkSurface associated with the event + * Returns: The `GdkSurface` associated with the event */ public Surface getSurface() { diff --git a/generated/gtkd/gdk/EventSequence.d b/source/generated/gdk/gdk/EventSequence.d similarity index 100% rename from generated/gtkd/gdk/EventSequence.d rename to source/generated/gdk/gdk/EventSequence.d diff --git a/generated/gstreamer/gstreamer/DoubleRange.d b/source/generated/gdk/gdk/FileList.d similarity index 61% rename from generated/gstreamer/gstreamer/DoubleRange.d rename to source/generated/gdk/gdk/FileList.d index eb093d8c9..68c25d875 100644 --- a/generated/gstreamer/gstreamer/DoubleRange.d +++ b/source/generated/gdk/gdk/FileList.d @@ -22,41 +22,44 @@ // implement new conversion functionalities on the wrap.utils pakage -module gstreamer.DoubleRange; +module gdk.FileList; -private import gstreamer.c.functions; -public import gstreamer.c.types; +private import gdk.c.functions; +public import gdk.c.types; +private import glib.ListSG; /** - * A fundamental type that describes a #gdouble range + * An opaque type representing a list of files. + * + * Since: 4.6 */ -public class DoubleRange +public class FileList { /** the main Gtk struct */ - protected GstDoubleRange* gstDoubleRange; + protected GdkFileList* gdkFileList; protected bool ownedRef; /** Get the main Gtk struct */ - public GstDoubleRange* getDoubleRangeStruct(bool transferOwnership = false) + public GdkFileList* getFileListStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gstDoubleRange; + return gdkFileList; } /** the main Gtk struct as a void* */ protected void* getStruct() { - return cast(void*)gstDoubleRange; + return cast(void*)gdkFileList; } /** * Sets our main struct and passes it to the parent class. */ - public this (GstDoubleRange* gstDoubleRange, bool ownedRef = false) + public this (GdkFileList* gdkFileList, bool ownedRef = false) { - this.gstDoubleRange = gstDoubleRange; + this.gdkFileList = gdkFileList; this.ownedRef = ownedRef; } @@ -64,6 +67,27 @@ public class DoubleRange /** */ public static GType getType() { - return gst_double_range_get_type(); + return gdk_file_list_get_type(); + } + + /** + * Retrieves the list of files inside a `GdkFileList`. + * + * This function is meant for language bindings. + * + * Returns: the files inside the list + * + * Since: 4.6 + */ + public ListSG getFiles() + { + auto __p = gdk_file_list_get_files(gdkFileList); + + if(__p is null) + { + return null; + } + + return new ListSG(cast(GSList*) __p); } } diff --git a/generated/gtkd/gdk/FocusEvent.d b/source/generated/gdk/gdk/FocusEvent.d similarity index 100% rename from generated/gtkd/gdk/FocusEvent.d rename to source/generated/gdk/gdk/FocusEvent.d diff --git a/generated/gtkd/gdk/FrameClock.d b/source/generated/gdk/gdk/FrameClock.d similarity index 98% rename from generated/gtkd/gdk/FrameClock.d rename to source/generated/gdk/gdk/FrameClock.d index e84c8c69a..716374715 100644 --- a/generated/gtkd/gdk/FrameClock.d +++ b/source/generated/gdk/gdk/FrameClock.d @@ -54,7 +54,7 @@ private import std.algorithm; * `GdkFrameClock` class for documentation of the phases. * %GDK_FRAME_CLOCK_PHASE_UPDATE and the [signal@GdkFrameClock::update] signal * are most interesting for application writers, and are used to update the - * animations, using the frame time given by [metohd@Gdk.FrameClock.get_frame_time]. + * animations, using the frame time given by [method@Gdk.FrameClock.get_frame_time]. * * The frame time is reported in microseconds and generally in the same * timescale as g_get_monotonic_time(), however, it is not the same @@ -234,15 +234,15 @@ public class FrameClock : ObjectG * for the current frame or a recent frame. * * The `GdkFrameTimings` object may not yet be complete: see - * [method@Gdk.FrameTimings.get_complete]. + * [method@Gdk.FrameTimings.get_complete] and + * [method@Gdk.FrameClock.get_history_start]. * * Params: * frameCounter = the frame counter value identifying the frame to * be received * * Returns: the `GdkFrameTimings` object - * for the specified frame, or %NULL if it is not available. See - * [method@Gdk.FrameClock.get_history_start]. + * for the specified frame, or %NULL if it is not available */ public FrameTimings getTimings(long frameCounter) { diff --git a/generated/gtkd/gdk/FrameTimings.d b/source/generated/gdk/gdk/FrameTimings.d similarity index 98% rename from generated/gtkd/gdk/FrameTimings.d rename to source/generated/gdk/gdk/FrameTimings.d index 26eead5f9..75d7baa26 100644 --- a/generated/gtkd/gdk/FrameTimings.d +++ b/source/generated/gdk/gdk/FrameTimings.d @@ -27,7 +27,7 @@ module gdk.FrameTimings; private import gdk.c.functions; public import gdk.c.types; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -71,7 +71,7 @@ public class FrameTimings ~this () { - if ( Linker.isLoaded(LIBRARY_GDK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GDK[0]) && ownedRef ) gdk_frame_timings_unref(gdkFrameTimings); } diff --git a/generated/gtkd/gdk/GLContext.d b/source/generated/gdk/gdk/GLContext.d similarity index 82% rename from generated/gtkd/gdk/GLContext.d rename to source/generated/gdk/gdk/GLContext.d index 36314bce9..17b8b485e 100644 --- a/generated/gtkd/gdk/GLContext.d +++ b/source/generated/gdk/gdk/GLContext.d @@ -40,7 +40,7 @@ private import gobject.ObjectG; * * `GdkGLContext`s are created for a surface using * [method@Gdk.Surface.create_gl_context], and the context will match - * the the characteristics of the surface. + * the characteristics of the surface. * * A `GdkGLContext` is not tied to any particular normal framebuffer. * For instance, it cannot draw to the surface back buffer. The GDK @@ -134,7 +134,7 @@ public class GLContext : DrawContext /** * Retrieves the current `GdkGLContext`. * - * Returns: the current `GdkGLContext`, or %NULL + * Returns: the current `GdkGLContext` */ public static GLContext getCurrent() { @@ -148,6 +148,32 @@ public class GLContext : DrawContext return ObjectG.getDObject!(GLContext)(cast(GdkGLContext*) __p); } + /** + * Gets the allowed APIs set via gdk_gl_context_set_allowed_apis(). + * + * Returns: the allowed APIs + * + * Since: 4.6 + */ + public GdkGLAPI getAllowedApis() + { + return gdk_gl_context_get_allowed_apis(gdkGLContext); + } + + /** + * Gets the API currently in use. + * + * If the renderer has not been realized yet, 0 is returned. + * + * Returns: the currently used API + * + * Since: 4.6 + */ + public GdkGLAPI getApi() + { + return gdk_gl_context_get_api(gdkGLContext); + } + /** * Retrieves whether the context is doing extra validations and runtime checking. * @@ -163,7 +189,7 @@ public class GLContext : DrawContext /** * Retrieves the display the @context is created for * - * Returns: a `GdkDisplay` or %NULL + * Returns: a `GdkDisplay` */ public override Display getDisplay() { @@ -204,9 +230,15 @@ public class GLContext : DrawContext } /** - * Retrieves the `GdkGLContext` that this @context share data with. + * Used to retrieves the `GdkGLContext` that this @context share data with. * - * Returns: a `GdkGLContext` or %NULL + * As many contexts can share data now and no single shared context exists + * anymore, this function has been deprecated and now always returns %NULL. + * + * Deprecated: Use [method@Gdk.GLContext.is_shared] to check if contexts + * can be shared. + * + * Returns: %NULL */ public GLContext getSharedContext() { @@ -223,7 +255,7 @@ public class GLContext : DrawContext /** * Retrieves the surface used by the @context. * - * Returns: a `GdkSurface` or %NULL + * Returns: a `GdkSurface` */ public override Surface getSurface() { @@ -286,6 +318,32 @@ public class GLContext : DrawContext return gdk_gl_context_is_legacy(gdkGLContext) != 0; } + /** + * Checks if the two GL contexts can share resources. + * + * When they can, the texture IDs from @other can be used in @self. This + * is particularly useful when passing `GdkGLTexture` objects between + * different contexts. + * + * Contexts created for the same display with the same properties will + * always be compatible, even if they are created for different surfaces. + * For other contexts it depends on the GL backend. + * + * Both contexts must be realized for this check to succeed. If either one + * is not, this function will return %FALSE. + * + * Params: + * other = the `GdkGLContext` that should be compatible with @self + * + * Returns: %TRUE if the two GL contexts are compatible. + * + * Since: 4.4 + */ + public bool isShared(GLContext other) + { + return gdk_gl_context_is_shared(gdkGLContext, (other is null) ? null : other.getGLContextStruct()) != 0; + } + /** * Makes the @context the current one. */ @@ -317,6 +375,25 @@ public class GLContext : DrawContext return __p; } + /** + * Sets the allowed APIs. When gdk_gl_context_realize() is called, only the + * allowed APIs will be tried. If you set this to 0, realizing will always fail. + * + * If you set it on a realized context, the property will not have any effect. + * It is only relevant during gdk_gl_context_realize(). + * + * By default, all APIs are allowed. + * + * Params: + * apis = the allowed APIs + * + * Since: 4.6 + */ + public void setAllowedApis(GdkGLAPI apis) + { + gdk_gl_context_set_allowed_apis(gdkGLContext, apis); + } + /** * Sets whether the `GdkGLContext` should perform extra validations and * runtime checking. diff --git a/generated/gtkd/gdk/GLTexture.d b/source/generated/gdk/gdk/GLTexture.d similarity index 98% rename from generated/gtkd/gdk/GLTexture.d rename to source/generated/gdk/gdk/GLTexture.d index d43d7d4ec..1e436e4c0 100644 --- a/generated/gtkd/gdk/GLTexture.d +++ b/source/generated/gdk/gdk/GLTexture.d @@ -86,7 +86,8 @@ public class GLTexture : Texture * are released * data = data that gets passed to @destroy * - * Returns: A newly-created `GdkTexture` + * Returns: A newly-created + * `GdkTexture` * * Throws: ConstructionException GTK+ fails to create the object. */ diff --git a/generated/gtkd/gdk/GrabBrokenEvent.d b/source/generated/gdk/gdk/GrabBrokenEvent.d similarity index 100% rename from generated/gtkd/gdk/GrabBrokenEvent.d rename to source/generated/gdk/gdk/GrabBrokenEvent.d diff --git a/generated/gtkd/gdk/KeyEvent.d b/source/generated/gdk/gdk/KeyEvent.d similarity index 100% rename from generated/gtkd/gdk/KeyEvent.d rename to source/generated/gdk/gdk/KeyEvent.d diff --git a/generated/gtkd/gdk/Keysyms.d b/source/generated/gdk/gdk/Keysyms.d similarity index 100% rename from generated/gtkd/gdk/Keysyms.d rename to source/generated/gdk/gdk/Keysyms.d diff --git a/generated/gtkd/gdk/MemoryTexture.d b/source/generated/gdk/gdk/MemoryTexture.d similarity index 98% rename from generated/gtkd/gdk/MemoryTexture.d rename to source/generated/gdk/gdk/MemoryTexture.d index 5501b40e0..4260c9be3 100644 --- a/generated/gtkd/gdk/MemoryTexture.d +++ b/source/generated/gdk/gdk/MemoryTexture.d @@ -73,7 +73,7 @@ public class MemoryTexture : Texture /** * Creates a new texture for a blob of image data. * - * The `GBytes` must contain @stride x @height pixels + * The `GBytes` must contain @stride × @height pixels * in the given format. * * Params: diff --git a/generated/gtkd/gdk/MonitorGdk.d b/source/generated/gdk/gdk/MonitorGdk.d similarity index 98% rename from generated/gtkd/gdk/MonitorGdk.d rename to source/generated/gdk/gdk/MonitorGdk.d index 6feb71c45..c9fd31609 100644 --- a/generated/gtkd/gdk/MonitorGdk.d +++ b/source/generated/gdk/gdk/MonitorGdk.d @@ -139,8 +139,7 @@ public class MonitorGdk : ObjectG * The PNP ID registry is located at * [https://uefi.org/pnp_id_list](https://uefi.org/pnp_id_list). * - * Returns: the name of the manufacturer, - * or %NULL + * Returns: the name of the manufacturer */ public string getManufacturer() { @@ -150,7 +149,7 @@ public class MonitorGdk : ObjectG /** * Gets the string identifying the monitor model, if available. * - * Returns: the monitor model, or %NULL + * Returns: the monitor model */ public string getModel() { diff --git a/generated/gtkd/gdk/MotionEvent.d b/source/generated/gdk/gdk/MotionEvent.d similarity index 100% rename from generated/gtkd/gdk/MotionEvent.d rename to source/generated/gdk/gdk/MotionEvent.d diff --git a/generated/gtkd/gdk/PadEvent.d b/source/generated/gdk/gdk/PadEvent.d similarity index 100% rename from generated/gtkd/gdk/PadEvent.d rename to source/generated/gdk/gdk/PadEvent.d diff --git a/generated/gtkd/gdk/PaintableIF.d b/source/generated/gdk/gdk/PaintableIF.d similarity index 98% rename from generated/gtkd/gdk/PaintableIF.d rename to source/generated/gdk/gdk/PaintableIF.d index 3c6c92639..a1e9af19c 100644 --- a/generated/gtkd/gdk/PaintableIF.d +++ b/source/generated/gdk/gdk/PaintableIF.d @@ -116,10 +116,8 @@ public interface PaintableIF{ * no other constraints were given * defaultHeight = the height @paintable would be drawn into if * no other constraints were given - * concreteWidth = will be set to the concrete width - * computed. - * concreteHeight = will be set to the concrete height - * computed. + * concreteWidth = will be set to the concrete width computed + * concreteHeight = will be set to the concrete height computed */ public void computeConcreteSize(double specifiedWidth, double specifiedHeight, double defaultWidth, double defaultHeight, out double concreteWidth, out double concreteHeight); @@ -132,7 +130,7 @@ public interface PaintableIF{ * If the @paintable is already immutable, it will return itself. * * Returns: An immutable paintable for the current - * contents of @paintable. + * contents of @paintable */ public PaintableIF getCurrentImage(); diff --git a/generated/gtkd/gdk/PaintableT.d b/source/generated/gdk/gdk/PaintableT.d similarity index 98% rename from generated/gtkd/gdk/PaintableT.d rename to source/generated/gdk/gdk/PaintableT.d index 0b15825ea..4a5011825 100644 --- a/generated/gtkd/gdk/PaintableT.d +++ b/source/generated/gdk/gdk/PaintableT.d @@ -113,10 +113,8 @@ public template PaintableT(TStruct) * no other constraints were given * defaultHeight = the height @paintable would be drawn into if * no other constraints were given - * concreteWidth = will be set to the concrete width - * computed. - * concreteHeight = will be set to the concrete height - * computed. + * concreteWidth = will be set to the concrete width computed + * concreteHeight = will be set to the concrete height computed */ public void computeConcreteSize(double specifiedWidth, double specifiedHeight, double defaultWidth, double defaultHeight, out double concreteWidth, out double concreteHeight) { @@ -132,7 +130,7 @@ public template PaintableT(TStruct) * If the @paintable is already immutable, it will return itself. * * Returns: An immutable paintable for the current - * contents of @paintable. + * contents of @paintable */ public PaintableIF getCurrentImage() { diff --git a/generated/gtkd/gdk/PopupIF.d b/source/generated/gdk/gdk/PopupIF.d similarity index 98% rename from generated/gtkd/gdk/PopupIF.d rename to source/generated/gdk/gdk/PopupIF.d index cdcead818..49b65953d 100644 --- a/generated/gtkd/gdk/PopupIF.d +++ b/source/generated/gdk/gdk/PopupIF.d @@ -103,7 +103,7 @@ public interface PopupIF{ public GdkGravity getSurfaceAnchor(); /** - * Present @popup after having processed the #GdkPopupLayout rules. + * Present @popup after having processed the `GdkPopupLayout` rules. * * If the popup was previously now showing, it will be showed, * otherwise it will change position according to @layout. diff --git a/generated/gtkd/gdk/PopupLayout.d b/source/generated/gdk/gdk/PopupLayout.d similarity index 98% rename from generated/gtkd/gdk/PopupLayout.d rename to source/generated/gdk/gdk/PopupLayout.d index ad2f0bca8..723ae3396 100644 --- a/generated/gtkd/gdk/PopupLayout.d +++ b/source/generated/gdk/gdk/PopupLayout.d @@ -28,12 +28,12 @@ private import gdk.c.functions; public import gdk.c.types; private import glib.ConstructionException; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** * The `GdkPopupLayout` struct contains information that is - * necessary position a [interface@Gdk.Popup] relative to its parent. + * necessary position a [iface@Gdk.Popup] relative to its parent. * * The positioning requires a negotiation with the windowing system, * since it depends on external constraints, such as the position of @@ -97,7 +97,7 @@ public class PopupLayout ~this () { - if ( Linker.isLoaded(LIBRARY_GDK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GDK[0]) && ownedRef ) gdk_popup_layout_unref(gdkPopupLayout); } diff --git a/generated/gtkd/gdk/PopupT.d b/source/generated/gdk/gdk/PopupT.d similarity index 98% rename from generated/gtkd/gdk/PopupT.d rename to source/generated/gdk/gdk/PopupT.d index 19ab76b77..1c786eab4 100644 --- a/generated/gtkd/gdk/PopupT.d +++ b/source/generated/gdk/gdk/PopupT.d @@ -125,7 +125,7 @@ public template PopupT(TStruct) } /** - * Present @popup after having processed the #GdkPopupLayout rules. + * Present @popup after having processed the `GdkPopupLayout` rules. * * If the popup was previously now showing, it will be showed, * otherwise it will change position according to @layout. diff --git a/generated/gtkd/gdk/ProximityEvent.d b/source/generated/gdk/gdk/ProximityEvent.d similarity index 100% rename from generated/gtkd/gdk/ProximityEvent.d rename to source/generated/gdk/gdk/ProximityEvent.d diff --git a/generated/gtkd/gdk/RGBA.d b/source/generated/gdk/gdk/RGBA.d similarity index 98% rename from generated/gtkd/gdk/RGBA.d rename to source/generated/gdk/gdk/RGBA.d index a64c4f12b..a5fba1f60 100644 --- a/generated/gtkd/gdk/RGBA.d +++ b/source/generated/gdk/gdk/RGBA.d @@ -30,7 +30,7 @@ private import glib.MemorySlice; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -75,7 +75,7 @@ public final class RGBA ~this () { - if ( Linker.isLoaded(LIBRARY_GDK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GDK[0]) && ownedRef ) gdk_rgba_free(gdkRGBA); } @@ -251,7 +251,7 @@ public final class RGBA * * The string can be either one of: * - * - A standard name (Taken from the X11 rgb.txt file). + * - A standard name (Taken from the Css specification). * - A hexadecimal value in the form “\#rgb”, “\#rrggbb”, * “\#rrrgggbbb” or ”\#rrrrggggbbbb” * - A hexadecimal value in the form “\#rgba”, “\#rrggbbaa”, diff --git a/generated/gtkd/gdk/Rectangle.d b/source/generated/gdk/gdk/Rectangle.d similarity index 95% rename from generated/gtkd/gdk/Rectangle.d rename to source/generated/gdk/gdk/Rectangle.d index c58ef6cf7..224849bb5 100644 --- a/generated/gtkd/gdk/Rectangle.d +++ b/source/generated/gdk/gdk/Rectangle.d @@ -53,13 +53,13 @@ public GType gdkRectangleGetType() } /** - * Returns #TRUE if @rect contains the point described by @x and @y. + * Returns %TRUE if @rect contains the point described by @x and @y. * * Params: * x = X coordinate * y = Y coordinate * - * Returns: #TRUE if @rect contains the point + * Returns: %TRUE if @rect contains the point */ public bool containsPoint(GdkRectangle* rect, int x, int y) { @@ -91,7 +91,7 @@ public bool equal(GdkRectangle* rect1, GdkRectangle* rect2) * Params: * src2 = a `GdkRectangle` * dest = return location for the - * intersection of @src1 and @src2, or %NULL + * intersection of @src1 and @src2 * * Returns: %TRUE if the rectangles intersect. */ diff --git a/generated/gtkd/gdk/ScrollEvent.d b/source/generated/gdk/gdk/ScrollEvent.d similarity index 100% rename from generated/gtkd/gdk/ScrollEvent.d rename to source/generated/gdk/gdk/ScrollEvent.d diff --git a/generated/gtkd/gdk/Seat.d b/source/generated/gdk/gdk/Seat.d similarity index 98% rename from generated/gtkd/gdk/Seat.d rename to source/generated/gdk/gdk/Seat.d index ab5a2c60a..f0c833c75 100644 --- a/generated/gtkd/gdk/Seat.d +++ b/source/generated/gdk/gdk/Seat.d @@ -204,7 +204,7 @@ public class Seat : ObjectG * * The tool may later be assigned to a device (i.e. on * proximity with a tablet). The device will emit the - * [signalGdkDevice::tool-changed] signal accordingly. + * [signal@Gdk.Device::tool-changed] signal accordingly. * * A same tool may be used by several devices. * diff --git a/generated/gtkd/gdk/Snapshot.d b/source/generated/gdk/gdk/Snapshot.d similarity index 100% rename from generated/gtkd/gdk/Snapshot.d rename to source/generated/gdk/gdk/Snapshot.d diff --git a/generated/gtkd/gdk/Surface.d b/source/generated/gdk/gdk/Surface.d similarity index 95% rename from generated/gtkd/gdk/Surface.d rename to source/generated/gdk/gdk/Surface.d index a33dd0709..eb7bcc3dc 100644 --- a/generated/gtkd/gdk/Surface.d +++ b/source/generated/gdk/gdk/Surface.d @@ -51,8 +51,8 @@ private import std.algorithm; * It’s a low-level object, used to implement high-level objects * such as [class@Gtk.Window] or [class@Gtk.Dialog] in GTK. * - * The surfaces you see in practice are either [class@Gdk.Toplevel] or - * [class@Gdk.Popup], and those interfaces provide much of the required + * The surfaces you see in practice are either [iface@Gdk.Toplevel] or + * [iface@Gdk.Popup], and those interfaces provide much of the required * API to interact with these surfaces. Other, more specialized surface * types exist, but you will rarely interact with them directly. */ @@ -175,8 +175,7 @@ public class Surface : ObjectG * Before using the returned `GdkGLContext`, you will need to * call [method@Gdk.GLContext.make_current] or [method@Gdk.GLContext.realize]. * - * Returns: the newly created `GdkGLContext`, - * or %NULL on error + * Returns: the newly created `GdkGLContext` * * Throws: GException on failure. */ @@ -289,10 +288,9 @@ public class Surface : ObjectG * If the return value is %NULL then there is no custom cursor set on * the surface, and it is using the cursor for its parent surface. * - * Returns: a `GdkCursor`, or %NULL. The - * returned object is owned by the `GdkSurface` and should not be - * unreferenced directly. Use [method@Gdk.Surface.set_cursor] to - * unset the cursor of the surface + * Use [method@Gdk.Surface.set_cursor] to unset the cursor of the surface. + * + * Returns: a `GdkCursor` */ public Cursor getCursor() { @@ -313,13 +311,12 @@ public class Surface : ObjectG * If the return value is %NULL then there is no custom cursor set on the * specified surface, and it is using the cursor for its parent surface. * + * Use [method@Gdk.Surface.set_cursor] to unset the cursor of the surface. + * * Params: * device = a pointer `GdkDevice` * - * Returns: a `GdkCursor`, or %NULL. The - * returned object is owned by the `GdkSurface` and should not be - * unreferenced directly. Use [method@Gdk.Surface.set_cursor] to unset - * the cursor of the surface + * Returns: a `GdkCursor` */ public Cursor getDeviceCursor(Device device) { @@ -341,9 +338,9 @@ public class Surface : ObjectG * * Params: * device = pointer `GdkDevice` to query to - * x = return locatio for the X coordinate of @device, or %NULL - * y = return location for the Y coordinate of @device, or %NULL - * mask = return location for the modifier mask, or %NULL + * x = return location for the X coordinate of @device + * y = return location for the Y coordinate of @device + * mask = return location for the modifier mask * * Returns: %TRUE if the device is over the surface */ @@ -568,10 +565,11 @@ public class Surface : ObjectG * GTK will update this property automatically if the @surface background * is opaque, as we know where the opaque regions are. If your surface * background is not opaque, please update this property in your - * #GtkWidgetClass.css_changed() handler. + * [vfunc@Gtk.Widget.css_changed] handler. * * Params: - * region = a region, or %NULL + * region = a region, or %NULL to make the entire + * surface opaque */ public void setOpaqueRegion(Region region) { diff --git a/generated/gtkd/gdk/Texture.d b/source/generated/gdk/gdk/Texture.d similarity index 54% rename from generated/gtkd/gdk/Texture.d rename to source/generated/gdk/gdk/Texture.d index 1824d8b4f..291fa3e41 100644 --- a/generated/gtkd/gdk/Texture.d +++ b/source/generated/gdk/gdk/Texture.d @@ -30,6 +30,11 @@ private import gdk.c.functions; public import gdk.c.types; private import gdkpixbuf.Pixbuf; private import gio.FileIF; +private import gio.IconIF; +private import gio.IconT; +private import gio.LoadableIconIF; +private import gio.LoadableIconT; +private import glib.Bytes; private import glib.ConstructionException; private import glib.ErrorG; private import glib.GException; @@ -44,17 +49,16 @@ private import gobject.ObjectG; * multiple frames, and will be used for a long time. * * There are various ways to create `GdkTexture` objects from a - * `GdkPixbuf`, or a Cairo surface, or other pixel data. + * [class@GdkPixbuf.Pixbuf], or a Cairo surface, or other pixel data. * * The ownership of the pixel data is transferred to the `GdkTexture` - * instance; you can only make a copy of it, via - * [method@Gdk.Texture.download]. + * instance; you can only make a copy of it, via [method@Gdk.Texture.download]. * * `GdkTexture` is an immutable object: That means you cannot change * anything about it other than increasing the reference count via - * g_object_ref(). + * [method@GObject.Object.ref], and consequently, it is a thread-safe object. */ -public class Texture : ObjectG, PaintableIF +public class Texture : ObjectG, PaintableIF, IconIF, LoadableIconIF { /** the main Gtk struct */ protected GdkTexture* gdkTexture; @@ -85,6 +89,57 @@ public class Texture : ObjectG, PaintableIF // add the Paintable capabilities mixin PaintableT!(GdkTexture); + // add the Icon capabilities + mixin IconT!(GdkTexture); + + // add the LoadableIcon capabilities + mixin LoadableIconT!(GdkTexture); + + /** + * Creates a new texture by loading an image from a file or a resource. + * + * The file format is detected automatically. The supported formats + * are PNG and JPEG, though more formats might be available. + * + * If %NULL is returned, then @error will be set. + * + * This function is threadsafe, so that you can e.g. use GTask + * and g_task_run_in_thread() to avoid blocking the main thread + * while loading a big image. + * + * Params: + * path = the filename or resourcename to load + * resource = true if load from resource + * + * Returns: A newly-created `GdkTexture` + * + * Since: 4.6 + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string path, bool resource = false) + { + GError* err = null; GdkTexture *__p; + + if (resource) __p = gdk_texture_new_from_resource(Str.toStringz(path)); + else __p = gdk_texture_new_from_filename(Str.toStringz(path), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_" ~ (resource ? "resource" : "filename")); + } + + this(cast(GdkTexture*) __p, true); + } + + /** + */ /** */ public static GType getType() @@ -95,6 +150,10 @@ public class Texture : ObjectG, PaintableIF /** * Creates a new texture object representing the `GdkPixbuf`. * + * This function is threadsafe, so that you can e.g. use GTask + * and [method@Gio.Task.run_in_thread] to avoid blocking the main thread + * while loading a big image. + * * Params: * pixbuf = a `GdkPixbuf` * @@ -115,26 +174,32 @@ public class Texture : ObjectG, PaintableIF } /** - * Creates a new texture by loading an image from a file. + * Creates a new texture by loading an image from memory, * * The file format is detected automatically. The supported formats * are PNG and JPEG, though more formats might be available. * * If %NULL is returned, then @error will be set. * + * This function is threadsafe, so that you can e.g. use GTask + * and [method@Gio.Task.run_in_thread] to avoid blocking the main thread + * while loading a big image. + * * Params: - * file = `GFile` to load + * bytes = a `GBytes` containing the data to load * - * Returns: A newly-created `GdkTexture` or %NULL if an error occurred. + * Returns: A newly-created `GdkTexture` + * + * Since: 4.6 * * Throws: GException on failure. * Throws: ConstructionException GTK+ fails to create the object. */ - public this(FileIF file) + public this(Bytes bytes) { GError* err = null; - auto __p = gdk_texture_new_from_file((file is null) ? null : file.getFileStruct(), &err); + auto __p = gdk_texture_new_from_bytes((bytes is null) ? null : bytes.getBytesStruct(), &err); if (err !is null) { @@ -143,37 +208,46 @@ public class Texture : ObjectG, PaintableIF if(__p is null) { - throw new ConstructionException("null returned by new_from_file"); + throw new ConstructionException("null returned by new_from_bytes"); } this(cast(GdkTexture*) __p, true); } /** - * Creates a new texture by loading an image from a resource. + * Creates a new texture by loading an image from a file. * * The file format is detected automatically. The supported formats * are PNG and JPEG, though more formats might be available. * - * It is a fatal error if @resource_path does not specify a valid - * image resource and the program will abort if that happens. - * If you are unsure about the validity of a resource, use - * [ctor@Gdk.Texture.new_from_file] to load it. + * If %NULL is returned, then @error will be set. + * + * This function is threadsafe, so that you can e.g. use GTask + * and [method@Gio.Task.run_in_thread] to avoid blocking the main thread + * while loading a big image. * * Params: - * resourcePath = the path of the resource file + * file = `GFile` to load * * Returns: A newly-created `GdkTexture` * + * Throws: GException on failure. * Throws: ConstructionException GTK+ fails to create the object. */ - public this(string resourcePath) + public this(FileIF file) { - auto __p = gdk_texture_new_from_resource(Str.toStringz(resourcePath)); + GError* err = null; + + auto __p = gdk_texture_new_from_file((file is null) ? null : file.getFileStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } if(__p is null) { - throw new ConstructionException("null returned by new_from_resource"); + throw new ConstructionException("null returned by new_from_file"); } this(cast(GdkTexture*) __p, true); @@ -235,8 +309,9 @@ public class Texture : ObjectG, PaintableIF * * This is a utility function intended for debugging and testing. * If you want more control over formats, proper error handling or - * want to store to a `GFile` or other location, you might want to - * look into using the gdk-pixbuf library. + * want to store to a [iface@Gio.File] or other location, you might want to + * use [method@Gdk.Texture.save_to_png_bytes] or look into the + * gdk-pixbuf library. * * Params: * filename = the filename to store to @@ -247,4 +322,83 @@ public class Texture : ObjectG, PaintableIF { return gdk_texture_save_to_png(gdkTexture, Str.toStringz(filename)) != 0; } + + /** + * Store the given @texture in memory as a PNG file. + * + * Use [ctor@Gdk.Texture.new_from_bytes] to read it back. + * + * If you want to serialize a texture, this is a convenient and + * portable way to do that. + * + * If you need more control over the generated image, such as + * attaching metadata, you should look into an image handling + * library such as the gdk-pixbuf library. + * + * If you are dealing with high dynamic range float data, you + * might also want to consider [method@Gdk.Texture.save_to_tiff_bytes] + * instead. + * + * Returns: a newly allocated `GBytes` containing PNG data + * + * Since: 4.6 + */ + public Bytes saveToPngBytes() + { + auto __p = gdk_texture_save_to_png_bytes(gdkTexture); + + if(__p is null) + { + return null; + } + + return new Bytes(cast(GBytes*) __p, true); + } + + /** + * Store the given @texture to the @filename as a TIFF file. + * + * GTK will attempt to store data without loss. + * + * Params: + * filename = the filename to store to + * + * Returns: %TRUE if saving succeeded, %FALSE on failure. + * + * Since: 4.6 + */ + public bool saveToTiff(string filename) + { + return gdk_texture_save_to_tiff(gdkTexture, Str.toStringz(filename)) != 0; + } + + /** + * Store the given @texture in memory as a TIFF file. + * + * Use [ctor@Gdk.Texture.new_from_bytes] to read it back. + * + * This function is intended to store a representation of the + * texture's data that is as accurate as possible. This is + * particularly relevant when working with high dynamic range + * images and floating-point texture data. + * + * If that is not your concern and you are interested in a + * smaller size and a more portable format, you might want to + * use [method@Gdk.Texture.save_to_png_bytes]. + * + * Returns: a newly allocated `GBytes` containing TIFF data + * + * Since: 4.6 + */ + public Bytes saveToTiffBytes() + { + auto __p = gdk_texture_save_to_tiff_bytes(gdkTexture); + + if(__p is null) + { + return null; + } + + return new Bytes(cast(GBytes*) __p, true); + } } diff --git a/generated/gtkd/gdk/ToplevelIF.d b/source/generated/gdk/gdk/ToplevelIF.d similarity index 98% rename from generated/gtkd/gdk/ToplevelIF.d rename to source/generated/gdk/gdk/ToplevelIF.d index 09e5e3069..6dd51220c 100644 --- a/generated/gtkd/gdk/ToplevelIF.d +++ b/source/generated/gdk/gdk/ToplevelIF.d @@ -295,11 +295,13 @@ public interface ToplevelIF{ * Returns whether the desktop environment supports * tiled window states. * - * Returns: %TRUE if the desktop environment supports - * tiled window states + * Returns: %TRUE if the desktop environment supports tiled window states */ public bool supportsEdgeConstraints(); + /** */ + public bool titlebarGesture(GdkTitlebarGesture gesture); + /** * Emitted when the size for the surface needs to be computed, when * it is present. diff --git a/generated/gtkd/gdk/ToplevelLayout.d b/source/generated/gdk/gdk/ToplevelLayout.d similarity index 96% rename from generated/gtkd/gdk/ToplevelLayout.d rename to source/generated/gdk/gdk/ToplevelLayout.d index 27e43cfaf..a6c481ac4 100644 --- a/generated/gtkd/gdk/ToplevelLayout.d +++ b/source/generated/gdk/gdk/ToplevelLayout.d @@ -29,7 +29,7 @@ private import gdk.c.functions; public import gdk.c.types; private import glib.ConstructionException; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -74,7 +74,7 @@ public class ToplevelLayout ~this () { - if ( Linker.isLoaded(LIBRARY_GDK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GDK[0]) && ownedRef ) gdk_toplevel_layout_unref(gdkToplevelLayout); } @@ -94,7 +94,7 @@ public class ToplevelLayout * The size is in ”application pixels”, not * ”device pixels” (see gdk_surface_get_scale_factor()). * - * Returns: newly created instance of #GdkToplevelLayout + * Returns: newly created instance of `GdkToplevelLayout` * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -111,7 +111,7 @@ public class ToplevelLayout } /** - * Create a new #GdkToplevelLayout and copy the contents of @layout into it. + * Create a new `GdkToplevelLayout` and copy the contents of @layout into it. * * Returns: a copy of @layout. */ @@ -131,7 +131,7 @@ public class ToplevelLayout * Check whether @layout and @other has identical layout properties. * * Params: - * other = another #GdkToplevelLayout + * other = another `GdkToplevelLayout` * * Returns: %TRUE if @layout and @other have identical layout properties, * otherwise %FALSE. diff --git a/generated/gtkd/gdk/ToplevelSize.d b/source/generated/gdk/gdk/ToplevelSize.d similarity index 100% rename from generated/gtkd/gdk/ToplevelSize.d rename to source/generated/gdk/gdk/ToplevelSize.d diff --git a/generated/gtkd/gdk/ToplevelT.d b/source/generated/gdk/gdk/ToplevelT.d similarity index 98% rename from generated/gtkd/gdk/ToplevelT.d rename to source/generated/gdk/gdk/ToplevelT.d index 6d88e8780..385ab8079 100644 --- a/generated/gtkd/gdk/ToplevelT.d +++ b/source/generated/gdk/gdk/ToplevelT.d @@ -343,14 +343,19 @@ public template ToplevelT(TStruct) * Returns whether the desktop environment supports * tiled window states. * - * Returns: %TRUE if the desktop environment supports - * tiled window states + * Returns: %TRUE if the desktop environment supports tiled window states */ public bool supportsEdgeConstraints() { return gdk_toplevel_supports_edge_constraints(getToplevelStruct()) != 0; } + /** */ + public bool titlebarGesture(GdkTitlebarGesture gesture) + { + return gdk_toplevel_titlebar_gesture(getToplevelStruct(), gesture) != 0; + } + /** * Emitted when the size for the surface needs to be computed, when * it is present. diff --git a/generated/gtkd/gdk/TouchEvent.d b/source/generated/gdk/gdk/TouchEvent.d similarity index 100% rename from generated/gtkd/gdk/TouchEvent.d rename to source/generated/gdk/gdk/TouchEvent.d diff --git a/generated/gtkd/gdk/TouchpadEvent.d b/source/generated/gdk/gdk/TouchpadEvent.d similarity index 100% rename from generated/gtkd/gdk/TouchpadEvent.d rename to source/generated/gdk/gdk/TouchpadEvent.d diff --git a/generated/gtkd/gdk/VulkanContext.d b/source/generated/gdk/gdk/VulkanContext.d similarity index 98% rename from generated/gtkd/gdk/VulkanContext.d rename to source/generated/gdk/gdk/VulkanContext.d index 6ecb108b2..ec8690466 100644 --- a/generated/gtkd/gdk/VulkanContext.d +++ b/source/generated/gdk/gdk/VulkanContext.d @@ -39,7 +39,7 @@ private import std.algorithm; * * `GdkVulkanContext`s are created for a surface using * [method@Gdk.Surface.create_vulkan_context], and the context will match - * the the characteristics of the surface. + * the characteristics of the surface. * * Support for `GdkVulkanContext` is platform-specific and context creation * can fail, returning %NULL context. diff --git a/generated/gtkd/gdk/c/functions.d b/source/generated/gdk/gdk/c/functions.d similarity index 96% rename from generated/gtkd/gdk/c/functions.d rename to source/generated/gdk/gdk/c/functions.d index b4735c060..73b6df2ce 100644 --- a/generated/gtkd/gdk/c/functions.d +++ b/source/generated/gdk/gdk/c/functions.d @@ -27,7 +27,7 @@ module gdk.c.functions; import std.stdio; import gdk.c.types; import cairo.c.types; -import gtkd.Loader; +import linker.Loader; version (Windows) static immutable LIBRARY_GDK = ["libgtk-4-1.dll;gtk-4-4.1.dll;gtk-4.dll"]; @@ -117,6 +117,7 @@ shared static this() Linker.link(gdk_content_formats_union_serialize_gtypes, "gdk_content_formats_union_serialize_gtypes", LIBRARY_GDK); Linker.link(gdk_content_formats_union_serialize_mime_types, "gdk_content_formats_union_serialize_mime_types", LIBRARY_GDK); Linker.link(gdk_content_formats_unref, "gdk_content_formats_unref", LIBRARY_GDK); + Linker.link(gdk_content_formats_parse, "gdk_content_formats_parse", LIBRARY_GDK); // gdk.ContentFormatsBuilder @@ -230,6 +231,7 @@ shared static this() Linker.link(gdk_display_open, "gdk_display_open", LIBRARY_GDK); Linker.link(gdk_display_beep, "gdk_display_beep", LIBRARY_GDK); Linker.link(gdk_display_close, "gdk_display_close", LIBRARY_GDK); + Linker.link(gdk_display_create_gl_context, "gdk_display_create_gl_context", LIBRARY_GDK); Linker.link(gdk_display_device_is_grabbed, "gdk_display_device_is_grabbed", LIBRARY_GDK); Linker.link(gdk_display_flush, "gdk_display_flush", LIBRARY_GDK); Linker.link(gdk_display_get_app_launch_context, "gdk_display_get_app_launch_context", LIBRARY_GDK); @@ -248,6 +250,7 @@ shared static this() Linker.link(gdk_display_map_keycode, "gdk_display_map_keycode", LIBRARY_GDK); Linker.link(gdk_display_map_keyval, "gdk_display_map_keyval", LIBRARY_GDK); Linker.link(gdk_display_notify_startup_complete, "gdk_display_notify_startup_complete", LIBRARY_GDK); + Linker.link(gdk_display_prepare_gl, "gdk_display_prepare_gl", LIBRARY_GDK); Linker.link(gdk_display_put_event, "gdk_display_put_event", LIBRARY_GDK); Linker.link(gdk_display_supports_input_shapes, "gdk_display_supports_input_shapes", LIBRARY_GDK); Linker.link(gdk_display_sync, "gdk_display_sync", LIBRARY_GDK); @@ -336,6 +339,11 @@ shared static this() Linker.link(gdk_event_sequence_get_type, "gdk_event_sequence_get_type", LIBRARY_GDK); + // gdk.FileList + + Linker.link(gdk_file_list_get_type, "gdk_file_list_get_type", LIBRARY_GDK); + Linker.link(gdk_file_list_get_files, "gdk_file_list_get_files", LIBRARY_GDK); + // gdk.FocusEvent Linker.link(gdk_focus_event_get_type, "gdk_focus_event_get_type", LIBRARY_GDK); @@ -372,6 +380,8 @@ shared static this() Linker.link(gdk_gl_context_get_type, "gdk_gl_context_get_type", LIBRARY_GDK); Linker.link(gdk_gl_context_clear_current, "gdk_gl_context_clear_current", LIBRARY_GDK); Linker.link(gdk_gl_context_get_current, "gdk_gl_context_get_current", LIBRARY_GDK); + Linker.link(gdk_gl_context_get_allowed_apis, "gdk_gl_context_get_allowed_apis", LIBRARY_GDK); + Linker.link(gdk_gl_context_get_api, "gdk_gl_context_get_api", LIBRARY_GDK); Linker.link(gdk_gl_context_get_debug_enabled, "gdk_gl_context_get_debug_enabled", LIBRARY_GDK); Linker.link(gdk_gl_context_get_display, "gdk_gl_context_get_display", LIBRARY_GDK); Linker.link(gdk_gl_context_get_forward_compatible, "gdk_gl_context_get_forward_compatible", LIBRARY_GDK); @@ -381,8 +391,10 @@ shared static this() Linker.link(gdk_gl_context_get_use_es, "gdk_gl_context_get_use_es", LIBRARY_GDK); Linker.link(gdk_gl_context_get_version, "gdk_gl_context_get_version", LIBRARY_GDK); Linker.link(gdk_gl_context_is_legacy, "gdk_gl_context_is_legacy", LIBRARY_GDK); + Linker.link(gdk_gl_context_is_shared, "gdk_gl_context_is_shared", LIBRARY_GDK); Linker.link(gdk_gl_context_make_current, "gdk_gl_context_make_current", LIBRARY_GDK); Linker.link(gdk_gl_context_realize, "gdk_gl_context_realize", LIBRARY_GDK); + Linker.link(gdk_gl_context_set_allowed_apis, "gdk_gl_context_set_allowed_apis", LIBRARY_GDK); Linker.link(gdk_gl_context_set_debug_enabled, "gdk_gl_context_set_debug_enabled", LIBRARY_GDK); Linker.link(gdk_gl_context_set_forward_compatible, "gdk_gl_context_set_forward_compatible", LIBRARY_GDK); Linker.link(gdk_gl_context_set_required_version, "gdk_gl_context_set_required_version", LIBRARY_GDK); @@ -568,12 +580,17 @@ shared static this() Linker.link(gdk_texture_get_type, "gdk_texture_get_type", LIBRARY_GDK); Linker.link(gdk_texture_new_for_pixbuf, "gdk_texture_new_for_pixbuf", LIBRARY_GDK); + Linker.link(gdk_texture_new_from_bytes, "gdk_texture_new_from_bytes", LIBRARY_GDK); Linker.link(gdk_texture_new_from_file, "gdk_texture_new_from_file", LIBRARY_GDK); + Linker.link(gdk_texture_new_from_filename, "gdk_texture_new_from_filename", LIBRARY_GDK); Linker.link(gdk_texture_new_from_resource, "gdk_texture_new_from_resource", LIBRARY_GDK); Linker.link(gdk_texture_download, "gdk_texture_download", LIBRARY_GDK); Linker.link(gdk_texture_get_height, "gdk_texture_get_height", LIBRARY_GDK); Linker.link(gdk_texture_get_width, "gdk_texture_get_width", LIBRARY_GDK); Linker.link(gdk_texture_save_to_png, "gdk_texture_save_to_png", LIBRARY_GDK); + Linker.link(gdk_texture_save_to_png_bytes, "gdk_texture_save_to_png_bytes", LIBRARY_GDK); + Linker.link(gdk_texture_save_to_tiff, "gdk_texture_save_to_tiff", LIBRARY_GDK); + Linker.link(gdk_texture_save_to_tiff_bytes, "gdk_texture_save_to_tiff_bytes", LIBRARY_GDK); // gdk.Toplevel @@ -596,6 +613,7 @@ shared static this() Linker.link(gdk_toplevel_set_transient_for, "gdk_toplevel_set_transient_for", LIBRARY_GDK); Linker.link(gdk_toplevel_show_window_menu, "gdk_toplevel_show_window_menu", LIBRARY_GDK); Linker.link(gdk_toplevel_supports_edge_constraints, "gdk_toplevel_supports_edge_constraints", LIBRARY_GDK); + Linker.link(gdk_toplevel_titlebar_gesture, "gdk_toplevel_titlebar_gesture", LIBRARY_GDK); // gdk.ToplevelLayout @@ -721,6 +739,7 @@ __gshared extern(C) GdkContentFormats* function(GdkContentFormats* formats) c_gdk_content_formats_union_serialize_gtypes; GdkContentFormats* function(GdkContentFormats* formats) c_gdk_content_formats_union_serialize_mime_types; void function(GdkContentFormats* formats) c_gdk_content_formats_unref; + GdkContentFormats* function(const(char)* string_) c_gdk_content_formats_parse; // gdk.ContentFormatsBuilder @@ -834,6 +853,7 @@ __gshared extern(C) GdkDisplay* function(const(char)* displayName) c_gdk_display_open; void function(GdkDisplay* display) c_gdk_display_beep; void function(GdkDisplay* display) c_gdk_display_close; + GdkGLContext* function(GdkDisplay* self, GError** err) c_gdk_display_create_gl_context; int function(GdkDisplay* display, GdkDevice* device) c_gdk_display_device_is_grabbed; void function(GdkDisplay* display) c_gdk_display_flush; GdkAppLaunchContext* function(GdkDisplay* display) c_gdk_display_get_app_launch_context; @@ -852,6 +872,7 @@ __gshared extern(C) int function(GdkDisplay* display, uint keycode, GdkKeymapKey** keys, uint** keyvals, int* nEntries) c_gdk_display_map_keycode; int function(GdkDisplay* display, uint keyval, GdkKeymapKey** keys, int* nKeys) c_gdk_display_map_keyval; void function(GdkDisplay* display, const(char)* startupId) c_gdk_display_notify_startup_complete; + int function(GdkDisplay* self, GError** err) c_gdk_display_prepare_gl; void function(GdkDisplay* display, GdkEvent* event) c_gdk_display_put_event; int function(GdkDisplay* display) c_gdk_display_supports_input_shapes; void function(GdkDisplay* display) c_gdk_display_sync; @@ -940,6 +961,11 @@ __gshared extern(C) GType function() c_gdk_event_sequence_get_type; + // gdk.FileList + + GType function() c_gdk_file_list_get_type; + GSList* function(GdkFileList* fileList) c_gdk_file_list_get_files; + // gdk.FocusEvent GType function() c_gdk_focus_event_get_type; @@ -976,6 +1002,8 @@ __gshared extern(C) GType function() c_gdk_gl_context_get_type; void function() c_gdk_gl_context_clear_current; GdkGLContext* function() c_gdk_gl_context_get_current; + GdkGLAPI function(GdkGLContext* self) c_gdk_gl_context_get_allowed_apis; + GdkGLAPI function(GdkGLContext* self) c_gdk_gl_context_get_api; int function(GdkGLContext* context) c_gdk_gl_context_get_debug_enabled; GdkDisplay* function(GdkGLContext* context) c_gdk_gl_context_get_display; int function(GdkGLContext* context) c_gdk_gl_context_get_forward_compatible; @@ -985,8 +1013,10 @@ __gshared extern(C) int function(GdkGLContext* context) c_gdk_gl_context_get_use_es; void function(GdkGLContext* context, int* major, int* minor) c_gdk_gl_context_get_version; int function(GdkGLContext* context) c_gdk_gl_context_is_legacy; + int function(GdkGLContext* self, GdkGLContext* other) c_gdk_gl_context_is_shared; void function(GdkGLContext* context) c_gdk_gl_context_make_current; int function(GdkGLContext* context, GError** err) c_gdk_gl_context_realize; + void function(GdkGLContext* self, GdkGLAPI apis) c_gdk_gl_context_set_allowed_apis; void function(GdkGLContext* context, int enabled) c_gdk_gl_context_set_debug_enabled; void function(GdkGLContext* context, int compatible) c_gdk_gl_context_set_forward_compatible; void function(GdkGLContext* context, int major, int minor) c_gdk_gl_context_set_required_version; @@ -1172,12 +1202,17 @@ __gshared extern(C) GType function() c_gdk_texture_get_type; GdkTexture* function(GdkPixbuf* pixbuf) c_gdk_texture_new_for_pixbuf; + GdkTexture* function(GBytes* bytes, GError** err) c_gdk_texture_new_from_bytes; GdkTexture* function(GFile* file, GError** err) c_gdk_texture_new_from_file; + GdkTexture* function(char* path, GError** err) c_gdk_texture_new_from_filename; GdkTexture* function(const(char)* resourcePath) c_gdk_texture_new_from_resource; void function(GdkTexture* texture, char* data, size_t stride) c_gdk_texture_download; int function(GdkTexture* texture) c_gdk_texture_get_height; int function(GdkTexture* texture) c_gdk_texture_get_width; - int function(GdkTexture* texture, const(char)* filename) c_gdk_texture_save_to_png; + int function(GdkTexture* texture, char* filename) c_gdk_texture_save_to_png; + GBytes* function(GdkTexture* texture) c_gdk_texture_save_to_png_bytes; + int function(GdkTexture* texture, char* filename) c_gdk_texture_save_to_tiff; + GBytes* function(GdkTexture* texture) c_gdk_texture_save_to_tiff_bytes; // gdk.Toplevel @@ -1200,6 +1235,7 @@ __gshared extern(C) void function(GdkToplevel* toplevel, GdkSurface* parent) c_gdk_toplevel_set_transient_for; int function(GdkToplevel* toplevel, GdkEvent* event) c_gdk_toplevel_show_window_menu; int function(GdkToplevel* toplevel) c_gdk_toplevel_supports_edge_constraints; + int function(GdkToplevel* toplevel, GdkTitlebarGesture gesture) c_gdk_toplevel_titlebar_gesture; // gdk.ToplevelLayout @@ -1323,6 +1359,7 @@ alias c_gdk_content_formats_union_deserialize_mime_types gdk_content_formats_uni alias c_gdk_content_formats_union_serialize_gtypes gdk_content_formats_union_serialize_gtypes; alias c_gdk_content_formats_union_serialize_mime_types gdk_content_formats_union_serialize_mime_types; alias c_gdk_content_formats_unref gdk_content_formats_unref; +alias c_gdk_content_formats_parse gdk_content_formats_parse; // gdk.ContentFormatsBuilder @@ -1436,6 +1473,7 @@ alias c_gdk_display_get_default gdk_display_get_default; alias c_gdk_display_open gdk_display_open; alias c_gdk_display_beep gdk_display_beep; alias c_gdk_display_close gdk_display_close; +alias c_gdk_display_create_gl_context gdk_display_create_gl_context; alias c_gdk_display_device_is_grabbed gdk_display_device_is_grabbed; alias c_gdk_display_flush gdk_display_flush; alias c_gdk_display_get_app_launch_context gdk_display_get_app_launch_context; @@ -1454,6 +1492,7 @@ alias c_gdk_display_list_seats gdk_display_list_seats; alias c_gdk_display_map_keycode gdk_display_map_keycode; alias c_gdk_display_map_keyval gdk_display_map_keyval; alias c_gdk_display_notify_startup_complete gdk_display_notify_startup_complete; +alias c_gdk_display_prepare_gl gdk_display_prepare_gl; alias c_gdk_display_put_event gdk_display_put_event; alias c_gdk_display_supports_input_shapes gdk_display_supports_input_shapes; alias c_gdk_display_sync gdk_display_sync; @@ -1542,6 +1581,11 @@ alias c_gdk_event_unref gdk_event_unref; alias c_gdk_event_sequence_get_type gdk_event_sequence_get_type; +// gdk.FileList + +alias c_gdk_file_list_get_type gdk_file_list_get_type; +alias c_gdk_file_list_get_files gdk_file_list_get_files; + // gdk.FocusEvent alias c_gdk_focus_event_get_type gdk_focus_event_get_type; @@ -1578,6 +1622,8 @@ alias c_gdk_frame_timings_unref gdk_frame_timings_unref; alias c_gdk_gl_context_get_type gdk_gl_context_get_type; alias c_gdk_gl_context_clear_current gdk_gl_context_clear_current; alias c_gdk_gl_context_get_current gdk_gl_context_get_current; +alias c_gdk_gl_context_get_allowed_apis gdk_gl_context_get_allowed_apis; +alias c_gdk_gl_context_get_api gdk_gl_context_get_api; alias c_gdk_gl_context_get_debug_enabled gdk_gl_context_get_debug_enabled; alias c_gdk_gl_context_get_display gdk_gl_context_get_display; alias c_gdk_gl_context_get_forward_compatible gdk_gl_context_get_forward_compatible; @@ -1587,8 +1633,10 @@ alias c_gdk_gl_context_get_surface gdk_gl_context_get_surface; alias c_gdk_gl_context_get_use_es gdk_gl_context_get_use_es; alias c_gdk_gl_context_get_version gdk_gl_context_get_version; alias c_gdk_gl_context_is_legacy gdk_gl_context_is_legacy; +alias c_gdk_gl_context_is_shared gdk_gl_context_is_shared; alias c_gdk_gl_context_make_current gdk_gl_context_make_current; alias c_gdk_gl_context_realize gdk_gl_context_realize; +alias c_gdk_gl_context_set_allowed_apis gdk_gl_context_set_allowed_apis; alias c_gdk_gl_context_set_debug_enabled gdk_gl_context_set_debug_enabled; alias c_gdk_gl_context_set_forward_compatible gdk_gl_context_set_forward_compatible; alias c_gdk_gl_context_set_required_version gdk_gl_context_set_required_version; @@ -1774,12 +1822,17 @@ alias c_gdk_surface_translate_coordinates gdk_surface_translate_coordinates; alias c_gdk_texture_get_type gdk_texture_get_type; alias c_gdk_texture_new_for_pixbuf gdk_texture_new_for_pixbuf; +alias c_gdk_texture_new_from_bytes gdk_texture_new_from_bytes; alias c_gdk_texture_new_from_file gdk_texture_new_from_file; +alias c_gdk_texture_new_from_filename gdk_texture_new_from_filename; alias c_gdk_texture_new_from_resource gdk_texture_new_from_resource; alias c_gdk_texture_download gdk_texture_download; alias c_gdk_texture_get_height gdk_texture_get_height; alias c_gdk_texture_get_width gdk_texture_get_width; alias c_gdk_texture_save_to_png gdk_texture_save_to_png; +alias c_gdk_texture_save_to_png_bytes gdk_texture_save_to_png_bytes; +alias c_gdk_texture_save_to_tiff gdk_texture_save_to_tiff; +alias c_gdk_texture_save_to_tiff_bytes gdk_texture_save_to_tiff_bytes; // gdk.Toplevel @@ -1802,6 +1855,7 @@ alias c_gdk_toplevel_set_title gdk_toplevel_set_title; alias c_gdk_toplevel_set_transient_for gdk_toplevel_set_transient_for; alias c_gdk_toplevel_show_window_menu gdk_toplevel_show_window_menu; alias c_gdk_toplevel_supports_edge_constraints gdk_toplevel_supports_edge_constraints; +alias c_gdk_toplevel_titlebar_gesture gdk_toplevel_titlebar_gesture; // gdk.ToplevelLayout diff --git a/generated/gtkd/gdk/c/types.d b/source/generated/gdk/gdk/c/types.d similarity index 91% rename from generated/gtkd/gdk/c/types.d rename to source/generated/gdk/gdk/c/types.d index dfe736f02..8466942ea 100644 --- a/generated/gtkd/gdk/c/types.d +++ b/source/generated/gdk/gdk/c/types.d @@ -488,10 +488,15 @@ public enum GdkEventType * A tablet pad group mode change. */ PAD_GROUP_MODE = 27, + /** + * A touchpad hold gesture event, the current state + * is determined by its phase field. Since: 4.6 + */ + TOUCHPAD_HOLD = 28, /** * marks the end of the GdkEventType enumeration. */ - EVENT_LAST = 28, + EVENT_LAST = 29, } alias GdkEventType EventType; @@ -553,6 +558,24 @@ public enum GdkFullscreenMode } alias GdkFullscreenMode FullscreenMode; +/** + * The list of the different APIs that GdkGLContext can potentially support. + * + * Since: 4.6 + */ +public enum GdkGLAPI +{ + /** + * The OpenGL API + */ + GL = 1, + /** + * The OpenGL ES API + */ + GLES = 2, +} +alias GdkGLAPI GLAPI; + /** * Error enumeration for `GdkGLContext`. */ @@ -582,7 +605,7 @@ public enum GdkGLError alias GdkGLError GLError; /** - * Defines the reference point of a surface and is used in #GdkPopupLayout. + * Defines the reference point of a surface and is used in `GdkPopupLayout`. */ public enum GdkGravity { @@ -694,7 +717,7 @@ public enum GdkKeyMatch alias GdkKeyMatch KeyMatch; /** - * `GdkMemoryFormat` describes a format that bytes can have in memory. + * `GdkMemoryFormat` describes formats that image data can have in memory. * * It describes formats by listing the contents of the memory passed to it. * So GDK_MEMORY_A8R8G8B8 will be 1 byte (8 bits) of alpha, followed by a @@ -702,8 +725,8 @@ alias GdkKeyMatch KeyMatch; * CAIRO_FORMAT_ARGB32 is represented by different `GdkMemoryFormats` * on architectures with different endiannesses. * - * Its naming is modelled after VkFormat (see - * https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VkFormat + * Its naming is modelled after + * [VkFormat](https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VkFormat) * for details). */ public enum GdkMemoryFormat @@ -747,11 +770,54 @@ public enum GdkMemoryFormat * 3 bytes; for blue, green, red. The data is opaque. */ B8G8R8 = 8, + /** + * 3 guint16 values; for red, green, blue. Since: 4.6 + */ + R16G16B16 = 9, + /** + * 4 guint16 values; for red, green, + * blue, alpha. The color values are premultiplied with the alpha value. + * Since: 4.6 + */ + R16G16B16A16_PREMULTIPLIED = 10, + /** + * 4 guint16 values; for red, green, blue, alpha. + * Since: 4.6 + */ + R16G16B16A16 = 11, + /** + * 3 half-float values; for red, green, blue. + * The data is opaque. Since: 4.6 + */ + R16G16B16_FLOAT = 12, + /** + * 4 half-float values; for + * red, green, blue and alpha. The color values are premultiplied with + * the alpha value. Since: 4.6 + */ + R16G16B16A16_FLOAT_PREMULTIPLIED = 13, + /** + * 4 half-float values; for red, green, + * blue and alpha. Since: 4.6 + */ + R16G16B16A16_FLOAT = 14, + R32G32B32_FLOAT = 15, + /** + * 4 float values; for + * red, green, blue and alpha. The color values are premultiplied with + * the alpha value. Since: 4.6 + */ + R32G32B32A32_FLOAT_PREMULTIPLIED = 16, + /** + * 4 float values; for red, green, blue and + * alpha. Since: 4.6 + */ + R32G32B32A32_FLOAT = 17, /** * The number of formats. This value will change as * more formats get added, so do not rely on its concrete integer. */ - N_FORMATS = 9, + N_FORMATS = 18, } alias GdkMemoryFormat MemoryFormat; @@ -1028,6 +1094,41 @@ public enum GdkSurfaceEdge } alias GdkSurfaceEdge SurfaceEdge; +/** + * Possible errors that can be returned by `GdkTexture` constructors. + * + * Since: 4.6 + */ +public enum GdkTextureError +{ + /** + * Not enough memory to handle this image + */ + TOO_LARGE = 0, + /** + * The image data appears corrupted + */ + CORRUPT_IMAGE = 1, + /** + * The image contains features + * that cannot be loaded + */ + UNSUPPORTED_CONTENT = 2, + /** + * The image format is not supported + */ + UNSUPPORTED_FORMAT = 3, +} +alias GdkTextureError TextureError; + +public enum GdkTitlebarGesture +{ + DOUBLE_CLICK = 1, + RIGHT_CLICK = 2, + MIDDLE_CLICK = 3, +} +alias GdkTitlebarGesture TitlebarGesture; + /** * Specifies the state of a toplevel surface. * @@ -1150,7 +1251,7 @@ public enum GdkTouchpadGesturePhase alias GdkTouchpadGesturePhase TouchpadGesturePhase; /** - * Error enumeration for #GdkVulkanContext. + * Error enumeration for `GdkVulkanContext`. */ public enum GdkVulkanError { @@ -1186,7 +1287,7 @@ struct GdkContentProvider } /** - * Class structure for #GdkContentProvider. + * Class structure for `GdkContentProvider`. */ struct GdkContentProviderClass { @@ -1200,14 +1301,14 @@ struct GdkContentProviderClass /** * * Params: - * provider = a #GdkContentProvider + * provider = a `GdkContentProvider` * Returns: The formats of the provider */ extern(C) GdkContentFormats* function(GdkContentProvider* provider) refFormats; /** * * Params: - * provider = a #GdkContentProvider + * provider = a `GdkContentProvider` * Returns: The storable formats of the provider */ extern(C) GdkContentFormats* function(GdkContentProvider* provider) refStorableFormats; @@ -1281,6 +1382,8 @@ struct GdkEvent; */ struct GdkEventSequence; +struct GdkFileList; + struct GdkFocusEvent; struct GdkFrameClock; @@ -1347,10 +1450,10 @@ struct GdkPaintable; * The list of functions that can be implemented for the `GdkPaintable` * interface. * - * Note that apart from the #GdkPaintableInterface.snapshot() function, no - * virtual function of this interface is mandatory to implement, though it - * is a good idea to implement #GdkPaintableInterface.get_current_image() - * for non-static paintables and #GdkPaintableInterface.get_flags() if the + * Note that apart from the [vfunc@Gdk.Paintable.snapshot] function, + * no virtual function of this interface is mandatory to implement, though it + * is a good idea to implement [vfunc@Gdk.Paintable.get_current_image] + * for non-static paintables and [vfunc@Gdk.Paintable.get_flags] if the * image is not dynamic as the default implementation returns no flags and * that will make the implementation likely quite slow. */ @@ -1364,7 +1467,7 @@ struct GdkPaintableInterface * Params: * paintable = a `GdkPaintable` * Returns: An immutable paintable for the current - * contents of @paintable. + * contents of @paintable */ extern(C) GdkPaintable* function(GdkPaintable* paintable) getCurrentImage; /** @@ -1483,12 +1586,12 @@ struct GdkTexture; struct GdkTextureClass; /** - * A #GdkTimeCoord stores a single event in a motion history. + * A `GdkTimeCoord` stores a single event in a motion history. */ struct GdkTimeCoord { /** - * The timestamp for this event. + * The timestamp for this event */ uint time; /** @@ -1523,7 +1626,7 @@ struct GdkVulkanContext; * operation. * * Params: - * deserializer = a #GdkContentDeserializer + * deserializer = a `GdkContentDeserializer` */ public alias extern(C) void function(GdkContentDeserializer* deserializer) GdkContentDeserializeFunc; @@ -1535,7 +1638,7 @@ public alias extern(C) void function(GdkContentDeserializer* deserializer) GdkCo * operation. * * Params: - * serializer = a #GdkContentSerializer + * serializer = a `GdkContentSerializer` */ public alias extern(C) void function(GdkContentSerializer* serializer) GdkContentSerializeFunc; diff --git a/generated/gtkd/gdkpixbuf/Pixbuf.d b/source/generated/gdkpixbuf/gdkpixbuf/Pixbuf.d similarity index 99% rename from generated/gtkd/gdkpixbuf/Pixbuf.d rename to source/generated/gdkpixbuf/gdkpixbuf/Pixbuf.d index c238c6529..ec05e299b 100644 --- a/generated/gtkd/gdkpixbuf/Pixbuf.d +++ b/source/generated/gdkpixbuf/gdkpixbuf/Pixbuf.d @@ -1454,7 +1454,7 @@ public class Pixbuf : ObjectG, IconIF, LoadableIconIF * This function will cause an implicit copy of the pixbuf data if the * pixbuf was created from read-only data. * - * Please see the section on [image data](#image-data) for information + * Please see the section on [image data](class.Pixbuf.html#image-data) for information * about how the pixel data is stored in memory. * * Returns: A pointer to the pixbuf's diff --git a/generated/gtkd/gdkpixbuf/PixbufAnimation.d b/source/generated/gdkpixbuf/gdkpixbuf/PixbufAnimation.d similarity index 100% rename from generated/gtkd/gdkpixbuf/PixbufAnimation.d rename to source/generated/gdkpixbuf/gdkpixbuf/PixbufAnimation.d diff --git a/generated/gtkd/gdkpixbuf/PixbufAnimationIter.d b/source/generated/gdkpixbuf/gdkpixbuf/PixbufAnimationIter.d similarity index 100% rename from generated/gtkd/gdkpixbuf/PixbufAnimationIter.d rename to source/generated/gdkpixbuf/gdkpixbuf/PixbufAnimationIter.d diff --git a/generated/gtkd/gdkpixbuf/PixbufFormat.d b/source/generated/gdkpixbuf/gdkpixbuf/PixbufFormat.d similarity index 99% rename from generated/gtkd/gdkpixbuf/PixbufFormat.d rename to source/generated/gdkpixbuf/gdkpixbuf/PixbufFormat.d index 458bae8f1..b83dc8004 100644 --- a/generated/gtkd/gdkpixbuf/PixbufFormat.d +++ b/source/generated/gdkpixbuf/gdkpixbuf/PixbufFormat.d @@ -30,7 +30,7 @@ private import glib.MemorySlice; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -73,7 +73,7 @@ public final class PixbufFormat ~this () { - if ( Linker.isLoaded(LIBRARY_GDKPIXBUF) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GDKPIXBUF[0]) && ownedRef ) gdk_pixbuf_format_free(gdkPixbufFormat); } diff --git a/generated/gtkd/gdkpixbuf/PixbufLoader.d b/source/generated/gdkpixbuf/gdkpixbuf/PixbufLoader.d similarity index 100% rename from generated/gtkd/gdkpixbuf/PixbufLoader.d rename to source/generated/gdkpixbuf/gdkpixbuf/PixbufLoader.d diff --git a/generated/gtkd/gdkpixbuf/PixbufNonAnim.d b/source/generated/gdkpixbuf/gdkpixbuf/PixbufNonAnim.d similarity index 100% rename from generated/gtkd/gdkpixbuf/PixbufNonAnim.d rename to source/generated/gdkpixbuf/gdkpixbuf/PixbufNonAnim.d diff --git a/generated/gtkd/gdkpixbuf/PixbufSimpleAnimation.d b/source/generated/gdkpixbuf/gdkpixbuf/PixbufSimpleAnimation.d similarity index 100% rename from generated/gtkd/gdkpixbuf/PixbufSimpleAnimation.d rename to source/generated/gdkpixbuf/gdkpixbuf/PixbufSimpleAnimation.d diff --git a/generated/gtkd/gdkpixbuf/Pixdata.d b/source/generated/gdkpixbuf/gdkpixbuf/Pixdata.d similarity index 98% rename from generated/gtkd/gdkpixbuf/Pixdata.d rename to source/generated/gdkpixbuf/gdkpixbuf/Pixdata.d index 30bb0814c..6d43a9ade 100644 --- a/generated/gtkd/gdkpixbuf/Pixdata.d +++ b/source/generated/gdkpixbuf/gdkpixbuf/Pixdata.d @@ -32,7 +32,7 @@ private import glib.GException; private import glib.MemorySlice; private import glib.Str; private import glib.StringG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -81,7 +81,7 @@ public final class Pixdata ~this () { - if ( Linker.isLoaded(LIBRARY_GDKPIXBUF) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GDKPIXBUF[0]) && ownedRef ) sliceFree(gdkPixdata); } diff --git a/generated/gtkd/gdkpixbuf/c/functions.d b/source/generated/gdkpixbuf/gdkpixbuf/c/functions.d similarity index 99% rename from generated/gtkd/gdkpixbuf/c/functions.d rename to source/generated/gdkpixbuf/gdkpixbuf/c/functions.d index 7d9e429b8..3db3f2096 100644 --- a/generated/gtkd/gdkpixbuf/c/functions.d +++ b/source/generated/gdkpixbuf/gdkpixbuf/c/functions.d @@ -26,7 +26,7 @@ module gdkpixbuf.c.functions; import std.stdio; import gdkpixbuf.c.types; -import gtkd.Loader; +import linker.Loader; version (Windows) static immutable LIBRARY_GDKPIXBUF = ["libgdk_pixbuf-2.0-0.dll;gdk_pixbuf-2.0-0.dll;gdk_pixbuf-2.dll"]; diff --git a/generated/gtkd/gdkpixbuf/c/types.d b/source/generated/gdkpixbuf/gdkpixbuf/c/types.d similarity index 79% rename from generated/gtkd/gdkpixbuf/c/types.d rename to source/generated/gdkpixbuf/gdkpixbuf/c/types.d index 6fc9df068..ffb4c6dce 100644 --- a/generated/gtkd/gdkpixbuf/c/types.d +++ b/source/generated/gdkpixbuf/gdkpixbuf/c/types.d @@ -538,24 +538,42 @@ struct GdkPixbufModule * a `GdkPixbufFormat` holding information about the module. */ GdkPixbufFormat* info; - /** */ - extern(C) GdkPixbuf* function(FILE* f, GError** err) load; - /** */ - extern(C) GdkPixbuf* function(char** data) loadXpmData; - /** */ - extern(C) void* function(GdkPixbufModuleSizeFunc sizeFunc, GdkPixbufModulePreparedFunc preparedFunc, GdkPixbufModuleUpdatedFunc updatedFunc, void* userData, GError** err) beginLoad; - /** */ - extern(C) int function(void* context, GError** err) stopLoad; - /** */ - extern(C) int function(void* context, char* buf, uint size, GError** err) loadIncrement; - /** */ - extern(C) GdkPixbufAnimation* function(FILE* f, GError** err) loadAnimation; - /** */ - extern(C) int function(FILE* f, GdkPixbuf* pixbuf, char** paramKeys, char** paramValues, GError** err) save; - /** */ - extern(C) int function(GdkPixbufSaveFunc saveFunc, void* userData, GdkPixbuf* pixbuf, char** optionKeys, char** optionValues, GError** err) saveToCallback; - /** */ - extern(C) int function(const(char)* optionKey) isSaveOptionSupported; + /** + * loads an image from a file. + */ + GdkPixbufModuleLoadFunc load; + /** + * loads an image from data in memory. + */ + GdkPixbufModuleLoadXpmDataFunc loadXpmData; + /** + * begins an incremental load. + */ + GdkPixbufModuleBeginLoadFunc beginLoad; + /** + * stops an incremental load. + */ + GdkPixbufModuleStopLoadFunc stopLoad; + /** + * continues an incremental load. + */ + GdkPixbufModuleIncrementLoadFunc loadIncrement; + /** + * loads an animation from a file. + */ + GdkPixbufModuleLoadAnimationFunc loadAnimation; + /** + * saves a `GdkPixbuf` to a file. + */ + GdkPixbufModuleSaveFunc save; + /** + * saves a `GdkPixbuf` by calling the given `GdkPixbufSaveFunc`. + */ + GdkPixbufModuleSaveCallbackFunc saveToCallback; + /** + * returns whether a save option key is supported by the module + */ + GdkPixbufModuleSaveOptionSupportedFunc isSaveOptionSupported; /** */ extern(C) void function() Reserved1; /** */ @@ -677,6 +695,31 @@ struct GdkPixdata */ public alias extern(C) void function(char* pixels, void* data) GdkPixbufDestroyNotify; +/** + * Sets up the image loading state. + * + * The image loader is responsible for storing the given function pointers + * and user data, and call them when needed. + * + * The image loader should set up an internal state object, and return it + * from this function; the state object will then be updated from the + * [callback@GdkPixbuf.PixbufModuleIncrementLoadFunc] callback, and will be freed + * by [callback@GdkPixbuf.PixbufModuleStopLoadFunc] callback. + * + * Params: + * sizeFunc = the function to be called when the size is known + * preparedFunc = the function to be called when the data has been prepared + * updatedFunc = the function to be called when the data has been updated + * userData = the data to be passed to the functions + * + * Returns: the data to be passed to + * [callback@GdkPixbuf.PixbufModuleIncrementLoadFunc] + * and [callback@GdkPixbuf.PixbufModuleStopLoadFunc], or `NULL` in case of error + * + * Throws: GException on failure. + */ +public alias extern(C) void* function(GdkPixbufModuleSizeFunc sizeFunc, GdkPixbufModulePreparedFunc preparedFunc, GdkPixbufModuleUpdatedFunc updatedFunc, void* userData, GError** err) GdkPixbufModuleBeginLoadFunc; + /** * Defines the type of the function used to fill a * #GdkPixbufFormat structure with information about a module. @@ -699,6 +742,58 @@ public alias extern(C) void function(GdkPixbufFormat* info) GdkPixbufModuleFillI */ public alias extern(C) void function(GdkPixbufModule* module_) GdkPixbufModuleFillVtableFunc; +/** + * Incrementally loads a buffer into the image data. + * + * Params: + * context = the state object created by [callback@GdkPixbuf.PixbufModuleBeginLoadFunc] + * buf = the data to load + * size = the length of the data to load + * + * Returns: `TRUE` if the incremental load was successful + * + * Throws: GException on failure. + */ +public alias extern(C) int function(void* context, char* buf, uint size, GError** err) GdkPixbufModuleIncrementLoadFunc; + +/** + * Loads a file from a standard C file stream into a new `GdkPixbufAnimation`. + * + * In case of error, this function should return `NULL` and set the `error` argument. + * + * Params: + * f = the file stream from which the image should be loaded + * + * Returns: a newly created `GdkPixbufAnimation` for the contents of the file + * + * Throws: GException on failure. + */ +public alias extern(C) GdkPixbufAnimation* function(FILE* f, GError** err) GdkPixbufModuleLoadAnimationFunc; + +/** + * Loads a file from a standard C file stream into a new `GdkPixbuf`. + * + * In case of error, this function should return `NULL` and set the `error` argument. + * + * Params: + * f = the file stream from which the image should be loaded + * + * Returns: a newly created `GdkPixbuf` for the contents of the file + * + * Throws: GException on failure. + */ +public alias extern(C) GdkPixbuf* function(FILE* f, GError** err) GdkPixbufModuleLoadFunc; + +/** + * Loads XPM data into a new `GdkPixbuf`. + * + * Params: + * data = the XPM data + * + * Returns: a newly created `GdkPixbuf` for the XPM data + */ +public alias extern(C) GdkPixbuf* function(char** data) GdkPixbufModuleLoadXpmDataFunc; + /** * Defines the type of the function that gets called once the initial * setup of @pixbuf is done. @@ -716,6 +811,57 @@ public alias extern(C) void function(GdkPixbufModule* module_) GdkPixbufModuleFi */ public alias extern(C) void function(GdkPixbuf* pixbuf, GdkPixbufAnimation* anim, void* userData) GdkPixbufModulePreparedFunc; +/** + * Saves a `GdkPixbuf` by calling the provided function. + * + * The optional `option_keys` and `option_values` arrays contain the keys and + * values (in the same order) for attributes to be saved alongside the image + * data. + * + * Params: + * saveFunc = the function to call when saving + * userData = the data to pass to @save_func + * pixbuf = the `GdkPixbuf` to save + * optionKeys = an array of option names + * optionValues = an array of option values + * + * Returns: `TRUE` on success; in case of failure, `FALSE` is returned and + * the `error` is set + * + * Throws: GException on failure. + */ +public alias extern(C) int function(GdkPixbufSaveFunc saveFunc, void* userData, GdkPixbuf* pixbuf, char** optionKeys, char** optionValues, GError** err) GdkPixbufModuleSaveCallbackFunc; + +/** + * Saves a `GdkPixbuf` into a standard C file stream. + * + * The optional `param_keys` and `param_values` arrays contain the keys and + * values (in the same order) for attributes to be saved alongside the image + * data. + * + * Params: + * f = the file stream into which the image should be saved + * pixbuf = the image to save + * paramKeys = parameter keys to save + * paramValues = parameter values to save + * + * Returns: `TRUE` on success; in case of failure, `FALSE` is returned and + * the `error` is set + * + * Throws: GException on failure. + */ +public alias extern(C) int function(FILE* f, GdkPixbuf* pixbuf, char** paramKeys, char** paramValues, GError** err) GdkPixbufModuleSaveFunc; + +/** + * Checks whether the given `option_key` is supported when saving. + * + * Params: + * optionKey = the option key to check + * + * Returns: `TRUE` if the option is supported + */ +public alias extern(C) int function(const(char)* optionKey) GdkPixbufModuleSaveOptionSupportedFunc; + /** * Defines the type of the function that gets called once the size * of the loaded image is known. @@ -740,6 +886,20 @@ public alias extern(C) void function(GdkPixbuf* pixbuf, GdkPixbufAnimation* anim */ public alias extern(C) void function(int* width, int* height, void* userData) GdkPixbufModuleSizeFunc; +/** + * Finalizes the image loading state. + * + * This function is called on success and error states. + * + * Params: + * context = the state object created by [callback@GdkPixbuf.PixbufModuleBeginLoadFunc] + * + * Returns: `TRUE` if the loading operation was successful + * + * Throws: GException on failure. + */ +public alias extern(C) int function(void* context, GError** err) GdkPixbufModuleStopLoadFunc; + /** * Defines the type of the function that gets called every time a region * of @pixbuf is updated. @@ -795,7 +955,7 @@ alias GDK_PIXBUF_MAJOR = PIXBUF_MAJOR; * Micro version of gdk-pixbuf library, that is the "2" in * "0.8.2" for example. */ -enum PIXBUF_MICRO = 6; +enum PIXBUF_MICRO = 8; alias GDK_PIXBUF_MICRO = PIXBUF_MICRO; /** @@ -811,7 +971,7 @@ alias GDK_PIXBUF_MINOR = PIXBUF_MINOR; * This is the version being compiled against; contrast with * `gdk_pixbuf_version`. */ -enum PIXBUF_VERSION = "2.42.6"; +enum PIXBUF_VERSION = "2.42.8"; alias GDK_PIXBUF_VERSION = PIXBUF_VERSION; /** diff --git a/generated/gtkd/gio/ActionGroupIF.d b/source/generated/gio/gio/ActionGroupIF.d similarity index 100% rename from generated/gtkd/gio/ActionGroupIF.d rename to source/generated/gio/gio/ActionGroupIF.d diff --git a/generated/gtkd/gio/ActionGroupT.d b/source/generated/gio/gio/ActionGroupT.d similarity index 100% rename from generated/gtkd/gio/ActionGroupT.d rename to source/generated/gio/gio/ActionGroupT.d diff --git a/generated/gtkd/gio/ActionIF.d b/source/generated/gio/gio/ActionIF.d similarity index 100% rename from generated/gtkd/gio/ActionIF.d rename to source/generated/gio/gio/ActionIF.d diff --git a/generated/gtkd/gio/ActionMapIF.d b/source/generated/gio/gio/ActionMapIF.d similarity index 100% rename from generated/gtkd/gio/ActionMapIF.d rename to source/generated/gio/gio/ActionMapIF.d diff --git a/generated/gtkd/gio/ActionMapT.d b/source/generated/gio/gio/ActionMapT.d similarity index 100% rename from generated/gtkd/gio/ActionMapT.d rename to source/generated/gio/gio/ActionMapT.d diff --git a/generated/gtkd/gio/ActionT.d b/source/generated/gio/gio/ActionT.d similarity index 100% rename from generated/gtkd/gio/ActionT.d rename to source/generated/gio/gio/ActionT.d diff --git a/generated/gtkd/gio/AppInfoIF.d b/source/generated/gio/gio/AppInfoIF.d similarity index 100% rename from generated/gtkd/gio/AppInfoIF.d rename to source/generated/gio/gio/AppInfoIF.d diff --git a/generated/gtkd/gio/AppInfoMonitor.d b/source/generated/gio/gio/AppInfoMonitor.d similarity index 100% rename from generated/gtkd/gio/AppInfoMonitor.d rename to source/generated/gio/gio/AppInfoMonitor.d diff --git a/generated/gtkd/gio/AppInfoT.d b/source/generated/gio/gio/AppInfoT.d similarity index 100% rename from generated/gtkd/gio/AppInfoT.d rename to source/generated/gio/gio/AppInfoT.d diff --git a/generated/gtkd/gio/AppLaunchContext.d b/source/generated/gio/gio/AppLaunchContext.d similarity index 80% rename from generated/gtkd/gio/AppLaunchContext.d rename to source/generated/gio/gio/AppLaunchContext.d index 0524ddb85..668d87132 100644 --- a/generated/gtkd/gio/AppLaunchContext.d +++ b/source/generated/gio/gio/AppLaunchContext.d @@ -199,7 +199,7 @@ public class AppLaunchContext : ObjectG } /** - * The ::launch-failed signal is emitted when a #GAppInfo launch + * The #GAppLaunchContext::launch-failed signal is emitted when a #GAppInfo launch * fails. The startup notification id is provided, so that the launcher * can cancel the startup notification. * @@ -214,11 +214,42 @@ public class AppLaunchContext : ObjectG } /** - * The ::launched signal is emitted when a #GAppInfo is successfully + * The #GAppLaunchContext::launch-started signal is emitted when a #GAppInfo is + * about to be launched. If non-null the @platform_data is an + * GVariant dictionary mapping strings to variants (ie `a{sv}`), which + * contains additional, platform-specific data about this launch. On + * UNIX, at least the `startup-notification-id` keys will be + * present. + * + * The value of the `startup-notification-id` key (type `s`) is a startup + * notification ID corresponding to the format from the [startup-notification + * specification](https://specifications.freedesktop.org/startup-notification-spec/startup-notification-0.1.txt). + * It allows tracking the progress of the launchee through startup. + * + * It is guaranteed that this signal is followed by either a #GAppLaunchContext::launched or + * #GAppLaunchContext::launch-failed signal. + * + * Params: + * info = the #GAppInfo that is about to be launched + * platformData = additional platform-specific data for this launch + * + * Since: 2.72 + */ + gulong addOnLaunchStarted(void delegate(AppInfoIF, Variant, AppLaunchContext) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "launch-started", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * The #GAppLaunchContext::launched signal is emitted when a #GAppInfo is successfully * launched. The @platform_data is an GVariant dictionary mapping - * strings to variants (ie a{sv}), which contains additional, + * strings to variants (ie `a{sv}`), which contains additional, * platform-specific data about this launch. On UNIX, at least the - * "pid" and "startup-notification-id" keys will be present. + * `pid` and `startup-notification-id` keys will be present. + * + * Since 2.72 the `pid` may be 0 if the process id wasn't known (for + * example if the process was launched via D-Bus). The `pid` may not be + * set at all in subsequent releases. * * Params: * info = the #GAppInfo that was just launched diff --git a/generated/gtkd/gio/Application.d b/source/generated/gio/gio/Application.d similarity index 98% rename from generated/gtkd/gio/Application.d rename to source/generated/gio/gio/Application.d index 8d53dbca8..c9b3ca91f 100644 --- a/generated/gtkd/gio/Application.d +++ b/source/generated/gio/gio/Application.d @@ -155,13 +155,13 @@ private import std.algorithm; * respectively. * * For an example of opening files with a GApplication, see - * [gapplication-example-open.c](https://git.gnome.org/browse/glib/tree/gio/tests/gapplication-example-open.c). + * [gapplication-example-open.c](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gapplication-example-open.c). * * For an example of using actions with GApplication, see - * [gapplication-example-actions.c](https://git.gnome.org/browse/glib/tree/gio/tests/gapplication-example-actions.c). + * [gapplication-example-actions.c](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gapplication-example-actions.c). * * For an example of using extra D-Bus hooks with GApplication, see - * [gapplication-example-dbushooks.c](https://git.gnome.org/browse/glib/tree/gio/tests/gapplication-example-dbushooks.c). + * [gapplication-example-dbushooks.c](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gapplication-example-dbushooks.c). * * Since: 2.28 */ @@ -712,6 +712,8 @@ public class Application : ObjectG, ActionGroupIF, ActionMapIF * * To cancel the busy indication, use g_application_unmark_busy(). * + * The application must be registered before calling this function. + * * Since: 2.38 */ public void markBusy() @@ -881,7 +883,7 @@ public class Application : ObjectG, ActionGroupIF, ActionMapIF * and override local_command_line(). In this case, you most likely want * to return %TRUE from your local_command_line() implementation to * suppress the default handling. See - * [gapplication-example-cmdline2.c][gapplication-example-cmdline2] + * [gapplication-example-cmdline2.c][https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gapplication-example-cmdline2.c] * for an example. * * If, after the above is done, the use count of the application is zero diff --git a/generated/gtkd/gio/ApplicationCommandLine.d b/source/generated/gio/gio/ApplicationCommandLine.d similarity index 96% rename from generated/gtkd/gio/ApplicationCommandLine.d rename to source/generated/gio/gio/ApplicationCommandLine.d index 1a472af26..794905178 100644 --- a/generated/gtkd/gio/ApplicationCommandLine.d +++ b/source/generated/gio/gio/ApplicationCommandLine.d @@ -96,9 +96,9 @@ private import gobject.ObjectG; * } * ]| * The complete example can be found here: - * [gapplication-example-cmdline.c](https://git.gnome.org/browse/glib/tree/gio/tests/gapplication-example-cmdline.c) + * [gapplication-example-cmdline.c](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gapplication-example-cmdline.c) * - * In more complicated cases, the handling of the comandline can be + * In more complicated cases, the handling of the commandline can be * split between the launcher and the primary instance. * |[ * static gboolean @@ -111,6 +111,12 @@ private import gobject.ObjectG; * * argv = *arguments; * + * if (argv[0] == NULL) + * { + * *exit_status = 0; + * return FALSE; + * } + * * i = 1; * while (argv[i]) * { @@ -147,7 +153,7 @@ private import gobject.ObjectG; * instance. * * The complete example can be found here: - * [gapplication-example-cmdline2.c](https://git.gnome.org/browse/glib/tree/gio/tests/gapplication-example-cmdline2.c) + * [gapplication-example-cmdline2.c](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gapplication-example-cmdline2.c) * * If handling the commandline requires a lot of work, it may * be better to defer it. @@ -189,7 +195,7 @@ private import gobject.ObjectG; * hold the application until you are done with the commandline. * * The complete example can be found here: - * [gapplication-example-cmdline3.c](https://git.gnome.org/browse/glib/tree/gio/tests/gapplication-example-cmdline3.c) + * [gapplication-example-cmdline3.c](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gapplication-example-cmdline3.c) */ public class ApplicationCommandLine : ObjectG { diff --git a/generated/gtkd/gio/AsyncInitableIF.d b/source/generated/gio/gio/AsyncInitableIF.d similarity index 100% rename from generated/gtkd/gio/AsyncInitableIF.d rename to source/generated/gio/gio/AsyncInitableIF.d diff --git a/generated/gtkd/gio/AsyncInitableT.d b/source/generated/gio/gio/AsyncInitableT.d similarity index 100% rename from generated/gtkd/gio/AsyncInitableT.d rename to source/generated/gio/gio/AsyncInitableT.d diff --git a/generated/gtkd/gio/AsyncResultIF.d b/source/generated/gio/gio/AsyncResultIF.d similarity index 100% rename from generated/gtkd/gio/AsyncResultIF.d rename to source/generated/gio/gio/AsyncResultIF.d diff --git a/generated/gtkd/gio/AsyncResultT.d b/source/generated/gio/gio/AsyncResultT.d similarity index 100% rename from generated/gtkd/gio/AsyncResultT.d rename to source/generated/gio/gio/AsyncResultT.d diff --git a/generated/gtkd/gio/BufferedInputStream.d b/source/generated/gio/gio/BufferedInputStream.d similarity index 100% rename from generated/gtkd/gio/BufferedInputStream.d rename to source/generated/gio/gio/BufferedInputStream.d diff --git a/generated/gtkd/gio/BufferedOutputStream.d b/source/generated/gio/gio/BufferedOutputStream.d similarity index 100% rename from generated/gtkd/gio/BufferedOutputStream.d rename to source/generated/gio/gio/BufferedOutputStream.d diff --git a/generated/gtkd/gio/BytesIcon.d b/source/generated/gio/gio/BytesIcon.d similarity index 100% rename from generated/gtkd/gio/BytesIcon.d rename to source/generated/gio/gio/BytesIcon.d diff --git a/generated/gtkd/gio/Cancellable.d b/source/generated/gio/gio/Cancellable.d similarity index 100% rename from generated/gtkd/gio/Cancellable.d rename to source/generated/gio/gio/Cancellable.d diff --git a/generated/gtkd/gio/CharsetConverter.d b/source/generated/gio/gio/CharsetConverter.d similarity index 100% rename from generated/gtkd/gio/CharsetConverter.d rename to source/generated/gio/gio/CharsetConverter.d diff --git a/generated/gtkd/gio/ContentType.d b/source/generated/gio/gio/ContentType.d similarity index 99% rename from generated/gtkd/gio/ContentType.d rename to source/generated/gio/gio/ContentType.d index 075a4063b..7faf8658f 100644 --- a/generated/gtkd/gio/ContentType.d +++ b/source/generated/gio/gio/ContentType.d @@ -195,7 +195,7 @@ public struct ContentType * on the other argument. * * Params: - * filename = a string, or %NULL + * filename = a path, or %NULL * data = a stream of data, or %NULL * resultUncertain = return location for the certainty * of the result, or %NULL diff --git a/generated/gtkd/gio/ConverterIF.d b/source/generated/gio/gio/ConverterIF.d similarity index 100% rename from generated/gtkd/gio/ConverterIF.d rename to source/generated/gio/gio/ConverterIF.d diff --git a/generated/gtkd/gio/ConverterInputStream.d b/source/generated/gio/gio/ConverterInputStream.d similarity index 100% rename from generated/gtkd/gio/ConverterInputStream.d rename to source/generated/gio/gio/ConverterInputStream.d diff --git a/generated/gtkd/gio/ConverterOutputStream.d b/source/generated/gio/gio/ConverterOutputStream.d similarity index 100% rename from generated/gtkd/gio/ConverterOutputStream.d rename to source/generated/gio/gio/ConverterOutputStream.d diff --git a/generated/gtkd/gio/ConverterT.d b/source/generated/gio/gio/ConverterT.d similarity index 100% rename from generated/gtkd/gio/ConverterT.d rename to source/generated/gio/gio/ConverterT.d diff --git a/generated/gtkd/gio/Credentials.d b/source/generated/gio/gio/Credentials.d similarity index 97% rename from generated/gtkd/gio/Credentials.d rename to source/generated/gio/gio/Credentials.d index 977bd96df..e7402d257 100644 --- a/generated/gtkd/gio/Credentials.d +++ b/source/generated/gio/gio/Credentials.d @@ -69,6 +69,9 @@ private import gobject.ObjectG; * On Solaris (including OpenSolaris and its derivatives), the native * credential type is a `ucred_t`. This corresponds to * %G_CREDENTIALS_TYPE_SOLARIS_UCRED. + * + * Since GLib 2.72, on Windows, the native credentials may contain the PID of a + * process. This corresponds to %G_CREDENTIALS_TYPE_WIN32_PID. * * Since: 2.26 */ @@ -158,8 +161,7 @@ public class Credentials : ObjectG * * This operation can fail if #GCredentials is not supported on the * OS or if the native credentials type does not contain information - * about the UNIX process ID (for example this is the case for - * %G_CREDENTIALS_TYPE_APPLE_XUCRED). + * about the UNIX process ID. * * Returns: The UNIX process ID, or `-1` if @error is set. * diff --git a/generated/gtkd/gio/DBusActionGroup.d b/source/generated/gio/gio/DBusActionGroup.d similarity index 100% rename from generated/gtkd/gio/DBusActionGroup.d rename to source/generated/gio/gio/DBusActionGroup.d diff --git a/generated/gtkd/gio/DBusAnnotationInfo.d b/source/generated/gio/gio/DBusAnnotationInfo.d similarity index 98% rename from generated/gtkd/gio/DBusAnnotationInfo.d rename to source/generated/gio/gio/DBusAnnotationInfo.d index 1c8da8f85..1fd64bac7 100644 --- a/generated/gtkd/gio/DBusAnnotationInfo.d +++ b/source/generated/gio/gio/DBusAnnotationInfo.d @@ -30,7 +30,7 @@ private import glib.MemorySlice; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -69,7 +69,7 @@ public final class DBusAnnotationInfo ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_dbus_annotation_info_unref(gDBusAnnotationInfo); } diff --git a/generated/gtkd/gio/DBusArgInfo.d b/source/generated/gio/gio/DBusArgInfo.d similarity index 98% rename from generated/gtkd/gio/DBusArgInfo.d rename to source/generated/gio/gio/DBusArgInfo.d index 1f3aafccb..cf6978f6d 100644 --- a/generated/gtkd/gio/DBusArgInfo.d +++ b/source/generated/gio/gio/DBusArgInfo.d @@ -31,7 +31,7 @@ private import glib.MemorySlice; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -70,7 +70,7 @@ public final class DBusArgInfo ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_dbus_arg_info_unref(gDBusArgInfo); } diff --git a/generated/gtkd/gio/DBusAuthObserver.d b/source/generated/gio/gio/DBusAuthObserver.d similarity index 100% rename from generated/gtkd/gio/DBusAuthObserver.d rename to source/generated/gio/gio/DBusAuthObserver.d diff --git a/generated/gtkd/gio/DBusConnection.d b/source/generated/gio/gio/DBusConnection.d similarity index 98% rename from generated/gtkd/gio/DBusConnection.d rename to source/generated/gio/gio/DBusConnection.d index b5fde60c4..6f7e1b75d 100644 --- a/generated/gtkd/gio/DBusConnection.d +++ b/source/generated/gio/gio/DBusConnection.d @@ -87,22 +87,22 @@ private import std.algorithm; * ## An example D-Bus server # {#gdbus-server} * * Here is an example for a D-Bus server: - * [gdbus-example-server.c](https://git.gnome.org/browse/glib/tree/gio/tests/gdbus-example-server.c) + * [gdbus-example-server.c](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gdbus-example-server.c) * * ## An example for exporting a subtree # {#gdbus-subtree-server} * * Here is an example for exporting a subtree: - * [gdbus-example-subtree.c](https://git.gnome.org/browse/glib/tree/gio/tests/gdbus-example-subtree.c) + * [gdbus-example-subtree.c](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gdbus-example-subtree.c) * * ## An example for file descriptor passing # {#gdbus-unix-fd-client} * * Here is an example for passing UNIX file descriptors: - * [gdbus-unix-fd-client.c](https://git.gnome.org/browse/glib/tree/gio/tests/gdbus-example-unix-fd-client.c) + * [gdbus-unix-fd-client.c](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gdbus-example-unix-fd-client.c) * * ## An example for exporting a GObject # {#gdbus-export} * * Here is an example for exporting a #GObject: - * [gdbus-example-export.c](https://git.gnome.org/browse/glib/tree/gio/tests/gdbus-example-export.c) + * [gdbus-example-export.c](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gdbus-example-export.c) * * Since: 2.26 */ @@ -1216,7 +1216,7 @@ public class DBusConnection : ObjectG, AsyncInitableIF, InitableIF * #GVariant of incorrect type. * * If an existing callback is already registered at @object_path and - * @interface_name, then @error is set to #G_IO_ERROR_EXISTS. + * @interface_name, then @error is set to %G_IO_ERROR_EXISTS. * * GDBus automatically implements the standard D-Bus interfaces * org.freedesktop.DBus.Properties, org.freedesktop.DBus.Introspectable @@ -1300,7 +1300,7 @@ public class DBusConnection : ObjectG, AsyncInitableIF, InitableIF * * When handling remote calls into any node in the subtree, first the * @enumerate function is used to check if the node exists. If the node exists - * or the #G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is set + * or the %G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is set * the @introspection function is used to check if the node supports the * requested method. If so, the @dispatch function is used to determine * where to dispatch the call. The collected #GDBusInterfaceVTable and @@ -1312,7 +1312,7 @@ public class DBusConnection : ObjectG, AsyncInitableIF, InitableIF * of the thread you are calling this method from. * * If an existing subtree is already registered at @object_path or - * then @error is set to #G_IO_ERROR_EXISTS. + * then @error is set to %G_IO_ERROR_EXISTS. * * Note that it is valid to register regular objects (using * g_dbus_connection_register_object()) in a subtree registered with @@ -1695,6 +1695,9 @@ public class DBusConnection : ObjectG, AsyncInitableIF, InitableIF * g_dbus_connection_signal_subscribe() is called, in order to avoid memory * leaks through callbacks queued on the #GMainContext after it’s stopped being * iterated. + * Alternatively, any idle source with a priority lower than %G_PRIORITY_DEFAULT + * that was scheduled after unsubscription, also indicates that all resources + * of this subscription are released. * * Params: * subscriptionId = a subscription id obtained from @@ -1847,7 +1850,9 @@ public class DBusConnection : ObjectG, AsyncInitableIF, InitableIF * callers of g_bus_get() and g_bus_get_sync() for @bus_type. In the * event that you need a private message bus connection, use * g_dbus_address_get_for_bus_sync() and - * g_dbus_connection_new_for_address(). + * g_dbus_connection_new_for_address() with + * G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT and + * G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION flags. * * Note that the returned #GDBusConnection object will (usually) have * the #GDBusConnection:exit-on-close property set to %TRUE. @@ -1895,7 +1900,9 @@ public class DBusConnection : ObjectG, AsyncInitableIF, InitableIF * callers of g_bus_get() and g_bus_get_sync() for @bus_type. In the * event that you need a private message bus connection, use * g_dbus_address_get_for_bus_sync() and - * g_dbus_connection_new_for_address(). + * g_dbus_connection_new_for_address() with + * G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT and + * G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION flags. * * Note that the returned #GDBusConnection object will (usually) have * the #GDBusConnection:exit-on-close property set to %TRUE. diff --git a/generated/gtkd/gio/DBusError.d b/source/generated/gio/gio/DBusError.d similarity index 99% rename from generated/gtkd/gio/DBusError.d rename to source/generated/gio/gio/DBusError.d index 221cef07c..447944427 100644 --- a/generated/gtkd/gio/DBusError.d +++ b/source/generated/gio/gio/DBusError.d @@ -121,7 +121,7 @@ public struct DBusError * such that it can be recovered with g_dbus_error_get_remote_error(). * * Otherwise, a #GError with the error code %G_IO_ERROR_DBUS_ERROR - * in the #G_IO_ERROR error domain is returned. Also, @dbus_error_name is + * in the %G_IO_ERROR error domain is returned. Also, @dbus_error_name is * added to the error message such that it can be recovered with * g_dbus_error_get_remote_error(). * diff --git a/generated/gtkd/gio/DBusInterfaceIF.d b/source/generated/gio/gio/DBusInterfaceIF.d similarity index 100% rename from generated/gtkd/gio/DBusInterfaceIF.d rename to source/generated/gio/gio/DBusInterfaceIF.d diff --git a/generated/gtkd/gio/DBusInterfaceInfo.d b/source/generated/gio/gio/DBusInterfaceInfo.d similarity index 99% rename from generated/gtkd/gio/DBusInterfaceInfo.d rename to source/generated/gio/gio/DBusInterfaceInfo.d index 918a8cd72..8200a10ca 100644 --- a/generated/gtkd/gio/DBusInterfaceInfo.d +++ b/source/generated/gio/gio/DBusInterfaceInfo.d @@ -35,7 +35,7 @@ private import glib.Str; private import glib.StringG; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -74,7 +74,7 @@ public final class DBusInterfaceInfo ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_dbus_interface_info_unref(gDBusInterfaceInfo); } diff --git a/generated/gtkd/gio/DBusInterfaceSkeleton.d b/source/generated/gio/gio/DBusInterfaceSkeleton.d similarity index 100% rename from generated/gtkd/gio/DBusInterfaceSkeleton.d rename to source/generated/gio/gio/DBusInterfaceSkeleton.d diff --git a/generated/gtkd/gio/DBusInterfaceT.d b/source/generated/gio/gio/DBusInterfaceT.d similarity index 100% rename from generated/gtkd/gio/DBusInterfaceT.d rename to source/generated/gio/gio/DBusInterfaceT.d diff --git a/generated/gtkd/gio/DBusMenuModel.d b/source/generated/gio/gio/DBusMenuModel.d similarity index 100% rename from generated/gtkd/gio/DBusMenuModel.d rename to source/generated/gio/gio/DBusMenuModel.d diff --git a/generated/gtkd/gio/DBusMessage.d b/source/generated/gio/gio/DBusMessage.d similarity index 99% rename from generated/gtkd/gio/DBusMessage.d rename to source/generated/gio/gio/DBusMessage.d index 468539110..e0ecccfbc 100644 --- a/generated/gtkd/gio/DBusMessage.d +++ b/source/generated/gio/gio/DBusMessage.d @@ -487,6 +487,8 @@ public class DBusMessage : ObjectG /** * Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field. * + * This will always be non-%NULL, but may be an empty string. + * * Returns: The value. * * Since: 2.26 diff --git a/generated/gtkd/gio/DBusMethodInfo.d b/source/generated/gio/gio/DBusMethodInfo.d similarity index 98% rename from generated/gtkd/gio/DBusMethodInfo.d rename to source/generated/gio/gio/DBusMethodInfo.d index 4a78f0f54..de1af7aea 100644 --- a/generated/gtkd/gio/DBusMethodInfo.d +++ b/source/generated/gio/gio/DBusMethodInfo.d @@ -32,7 +32,7 @@ private import glib.MemorySlice; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -71,7 +71,7 @@ public final class DBusMethodInfo ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_dbus_method_info_unref(gDBusMethodInfo); } diff --git a/generated/gtkd/gio/DBusMethodInvocation.d b/source/generated/gio/gio/DBusMethodInvocation.d similarity index 100% rename from generated/gtkd/gio/DBusMethodInvocation.d rename to source/generated/gio/gio/DBusMethodInvocation.d diff --git a/generated/gtkd/gio/DBusNames.d b/source/generated/gio/gio/DBusNames.d similarity index 100% rename from generated/gtkd/gio/DBusNames.d rename to source/generated/gio/gio/DBusNames.d diff --git a/generated/gtkd/gio/DBusNodeInfo.d b/source/generated/gio/gio/DBusNodeInfo.d similarity index 98% rename from generated/gtkd/gio/DBusNodeInfo.d rename to source/generated/gio/gio/DBusNodeInfo.d index 407ede206..3e4e799dc 100644 --- a/generated/gtkd/gio/DBusNodeInfo.d +++ b/source/generated/gio/gio/DBusNodeInfo.d @@ -36,7 +36,7 @@ private import glib.Str; private import glib.StringG; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -75,7 +75,7 @@ public final class DBusNodeInfo ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_dbus_node_info_unref(gDBusNodeInfo); } diff --git a/generated/gtkd/gio/DBusObjectIF.d b/source/generated/gio/gio/DBusObjectIF.d similarity index 100% rename from generated/gtkd/gio/DBusObjectIF.d rename to source/generated/gio/gio/DBusObjectIF.d diff --git a/generated/gtkd/gio/DBusObjectManagerClient.d b/source/generated/gio/gio/DBusObjectManagerClient.d similarity index 100% rename from generated/gtkd/gio/DBusObjectManagerClient.d rename to source/generated/gio/gio/DBusObjectManagerClient.d diff --git a/generated/gtkd/gio/DBusObjectManagerIF.d b/source/generated/gio/gio/DBusObjectManagerIF.d similarity index 98% rename from generated/gtkd/gio/DBusObjectManagerIF.d rename to source/generated/gio/gio/DBusObjectManagerIF.d index b21c8d862..0b201f1d6 100644 --- a/generated/gtkd/gio/DBusObjectManagerIF.d +++ b/source/generated/gio/gio/DBusObjectManagerIF.d @@ -75,7 +75,7 @@ public interface DBusObjectManagerIF{ public DBusInterfaceIF getInterface(string objectPath, string interfaceName); /** - * Gets the #GDBusObjectProxy at @object_path, if any. + * Gets the #GDBusObject at @object_path, if any. * * Params: * objectPath = Object path to look up. diff --git a/generated/gtkd/gio/DBusObjectManagerServer.d b/source/generated/gio/gio/DBusObjectManagerServer.d similarity index 100% rename from generated/gtkd/gio/DBusObjectManagerServer.d rename to source/generated/gio/gio/DBusObjectManagerServer.d diff --git a/generated/gtkd/gio/DBusObjectManagerT.d b/source/generated/gio/gio/DBusObjectManagerT.d similarity index 99% rename from generated/gtkd/gio/DBusObjectManagerT.d rename to source/generated/gio/gio/DBusObjectManagerT.d index 24af72817..2fdfe2d99 100644 --- a/generated/gtkd/gio/DBusObjectManagerT.d +++ b/source/generated/gio/gio/DBusObjectManagerT.d @@ -82,7 +82,7 @@ public template DBusObjectManagerT(TStruct) } /** - * Gets the #GDBusObjectProxy at @object_path, if any. + * Gets the #GDBusObject at @object_path, if any. * * Params: * objectPath = Object path to look up. diff --git a/generated/gtkd/gio/DBusObjectProxy.d b/source/generated/gio/gio/DBusObjectProxy.d similarity index 100% rename from generated/gtkd/gio/DBusObjectProxy.d rename to source/generated/gio/gio/DBusObjectProxy.d diff --git a/generated/gtkd/gio/DBusObjectSkeleton.d b/source/generated/gio/gio/DBusObjectSkeleton.d similarity index 100% rename from generated/gtkd/gio/DBusObjectSkeleton.d rename to source/generated/gio/gio/DBusObjectSkeleton.d diff --git a/generated/gtkd/gio/DBusObjectT.d b/source/generated/gio/gio/DBusObjectT.d similarity index 100% rename from generated/gtkd/gio/DBusObjectT.d rename to source/generated/gio/gio/DBusObjectT.d diff --git a/generated/gtkd/gio/DBusPropertyInfo.d b/source/generated/gio/gio/DBusPropertyInfo.d similarity index 98% rename from generated/gtkd/gio/DBusPropertyInfo.d rename to source/generated/gio/gio/DBusPropertyInfo.d index 9510edb24..d38499b3f 100644 --- a/generated/gtkd/gio/DBusPropertyInfo.d +++ b/source/generated/gio/gio/DBusPropertyInfo.d @@ -31,7 +31,7 @@ private import glib.MemorySlice; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -70,7 +70,7 @@ public final class DBusPropertyInfo ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_dbus_property_info_unref(gDBusPropertyInfo); } diff --git a/generated/gtkd/gio/DBusProxy.d b/source/generated/gio/gio/DBusProxy.d similarity index 97% rename from generated/gtkd/gio/DBusProxy.d rename to source/generated/gio/gio/DBusProxy.d index 4100a18fd..945ab6596 100644 --- a/generated/gtkd/gio/DBusProxy.d +++ b/source/generated/gio/gio/DBusProxy.d @@ -71,6 +71,13 @@ private import std.algorithm; * the message bus launching an owner (unless * %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is set). * + * If the proxy is for a stateless D-Bus service, where the name owner may + * be started and stopped between calls, the #GDBusProxy:g-name-owner tracking + * of #GDBusProxy will cause the proxy to drop signal and property changes from + * the service after it has restarted for the first time. When interacting + * with a stateless D-Bus service, do not use #GDBusProxy — use direct D-Bus + * method calls and signal connections. + * * The generic #GDBusProxy::g-properties-changed and * #GDBusProxy::g-signal signals are not very convenient to work with. * Therefore, the recommended way of working with proxies is to subclass @@ -85,7 +92,7 @@ private import std.algorithm; * of the thread where the instance was constructed. * * An example using a proxy for a well-known name can be found in - * [gdbus-example-watch-proxy.c](https://git.gnome.org/browse/glib/tree/gio/tests/gdbus-example-watch-proxy.c) + * [gdbus-example-watch-proxy.c](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gdbus-example-watch-proxy.c) * * Since: 2.26 */ @@ -747,6 +754,10 @@ public class DBusProxy : ObjectG, AsyncInitableIF, DBusInterfaceIF, InitableIF /** * Gets the name that @proxy was constructed for. * + * When connected to a message bus, this will usually be non-%NULL. + * However, it may be %NULL for a proxy that communicates using a peer-to-peer + * pattern. + * * Returns: A string owned by @proxy. Do not free. * * Since: 2.26 @@ -894,6 +905,10 @@ public class DBusProxy : ObjectG, AsyncInitableIF, DBusInterfaceIF, InitableIF /** * Emitted when a signal from the remote object and interface that @proxy is for, has been received. * + * Since 2.72 this signal supports detailed connections. You can connect to + * the detailed signal `g-signal::x` in order to receive callbacks only when + * signal `x` is received from the remote object. + * * Params: * senderName = The sender of the signal or %NULL if the connection is not a bus connection. * signalName = The name of the signal. diff --git a/generated/gtkd/gio/DBusServer.d b/source/generated/gio/gio/DBusServer.d similarity index 96% rename from generated/gtkd/gio/DBusServer.d rename to source/generated/gio/gio/DBusServer.d index c3fa0fce5..26c18c9f2 100644 --- a/generated/gtkd/gio/DBusServer.d +++ b/source/generated/gio/gio/DBusServer.d @@ -52,7 +52,7 @@ private import std.algorithm; * session or system bus, you should instead use g_bus_own_name(). * * An example of peer-to-peer communication with GDBus can be found - * in [gdbus-example-peer.c](https://git.gnome.org/browse/glib/tree/gio/tests/gdbus-example-peer.c). + * in [gdbus-example-peer.c](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gdbus-example-peer.c). * * Note that a minimal #GDBusServer will accept connections from any * peer. In many use-cases it will be necessary to add a #GDBusAuthObserver @@ -162,6 +162,8 @@ public class DBusServer : ObjectG, InitableIF * [D-Bus address](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses) * string that can be used by clients to connect to @server. * + * This is valid and non-empty if initializing the #GDBusServer succeeded. + * * Returns: A D-Bus address string. Do not free, the string is owned * by @server. * @@ -185,7 +187,7 @@ public class DBusServer : ObjectG, InitableIF } /** - * Gets the GUID for @server. + * Gets the GUID for @server, as provided to g_dbus_server_new_sync(). * * Returns: A D-Bus GUID. Do not free this string, it is owned by @server. * diff --git a/generated/gtkd/gio/DBusSignalInfo.d b/source/generated/gio/gio/DBusSignalInfo.d similarity index 98% rename from generated/gtkd/gio/DBusSignalInfo.d rename to source/generated/gio/gio/DBusSignalInfo.d index 57c1d06f6..ffa09ee5c 100644 --- a/generated/gtkd/gio/DBusSignalInfo.d +++ b/source/generated/gio/gio/DBusSignalInfo.d @@ -32,7 +32,7 @@ private import glib.MemorySlice; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -71,7 +71,7 @@ public final class DBusSignalInfo ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_dbus_signal_info_unref(gDBusSignalInfo); } diff --git a/generated/gtkd/gio/DBusUtilities.d b/source/generated/gio/gio/DBusUtilities.d similarity index 91% rename from generated/gtkd/gio/DBusUtilities.d rename to source/generated/gio/gio/DBusUtilities.d index 5752b5155..e67aed632 100644 --- a/generated/gtkd/gio/DBusUtilities.d +++ b/source/generated/gio/gio/DBusUtilities.d @@ -217,8 +217,14 @@ public struct DBusUtilities * Generate a D-Bus GUID that can be used with * e.g. g_dbus_connection_new(). * - * See the D-Bus specification regarding what strings are valid D-Bus - * GUID (for example, D-Bus GUIDs are not RFC-4122 compliant). + * See the + * [D-Bus specification](https://dbus.freedesktop.org/doc/dbus-specification.html#uuids) + * regarding what strings are valid D-Bus GUIDs. The specification refers to + * these as ‘UUIDs’ whereas GLib (for historical reasons) refers to them as + * ‘GUIDs’. The terms are interchangeable. + * + * Note that D-Bus GUIDs do not follow + * [RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122). * * Returns: A valid D-Bus GUID. Free with g_free(). * @@ -238,23 +244,23 @@ public struct DBusUtilities * * The conversion is using the following rules: * - * - #G_TYPE_STRING: 's', 'o', 'g' or 'ay' - * - #G_TYPE_STRV: 'as', 'ao' or 'aay' - * - #G_TYPE_BOOLEAN: 'b' - * - #G_TYPE_UCHAR: 'y' - * - #G_TYPE_INT: 'i', 'n' - * - #G_TYPE_UINT: 'u', 'q' - * - #G_TYPE_INT64 'x' - * - #G_TYPE_UINT64: 't' - * - #G_TYPE_DOUBLE: 'd' - * - #G_TYPE_VARIANT: Any #GVariantType - * - * This can fail if e.g. @gvalue is of type #G_TYPE_STRING and @type - * is ['i'][G-VARIANT-TYPE-INT32:CAPS]. It will also fail for any #GType - * (including e.g. #G_TYPE_OBJECT and #G_TYPE_BOXED derived-types) not + * - `G_TYPE_STRING`: 's', 'o', 'g' or 'ay' + * - `G_TYPE_STRV`: 'as', 'ao' or 'aay' + * - `G_TYPE_BOOLEAN`: 'b' + * - `G_TYPE_UCHAR`: 'y' + * - `G_TYPE_INT`: 'i', 'n' + * - `G_TYPE_UINT`: 'u', 'q' + * - `G_TYPE_INT64`: 'x' + * - `G_TYPE_UINT64`: 't' + * - `G_TYPE_DOUBLE`: 'd' + * - `G_TYPE_VARIANT`: Any #GVariantType + * + * This can fail if e.g. @gvalue is of type %G_TYPE_STRING and @type + * is 'i', i.e. %G_VARIANT_TYPE_INT32. It will also fail for any #GType + * (including e.g. %G_TYPE_OBJECT and %G_TYPE_BOXED derived-types) not * in the table above. * - * Note that if @gvalue is of type #G_TYPE_VARIANT and its value is + * Note that if @gvalue is of type %G_TYPE_VARIANT and its value is * %NULL, the empty #GVariant instance (never %NULL) for @type is * returned (e.g. 0 for scalar types, the empty string for string types, * '/' for object path types, the empty array for any array type and so on). @@ -335,13 +341,13 @@ public struct DBusUtilities /** * Checks if @string is a D-Bus GUID. * - * See the D-Bus specification regarding what strings are valid D-Bus - * GUID (for example, D-Bus GUIDs are not RFC-4122 compliant). + * See the documentation for g_dbus_generate_guid() for more information about + * the format of a GUID. * * Params: * string_ = The string to check. * - * Returns: %TRUE if @string is a guid, %FALSE otherwise. + * Returns: %TRUE if @string is a GUID, %FALSE otherwise. * * Since: 2.26 */ diff --git a/generated/gtkd/gio/DataInputStream.d b/source/generated/gio/gio/DataInputStream.d similarity index 100% rename from generated/gtkd/gio/DataInputStream.d rename to source/generated/gio/gio/DataInputStream.d diff --git a/generated/gtkd/gio/DataOutputStream.d b/source/generated/gio/gio/DataOutputStream.d similarity index 100% rename from generated/gtkd/gio/DataOutputStream.d rename to source/generated/gio/gio/DataOutputStream.d diff --git a/generated/gtkd/gio/DatagramBasedIF.d b/source/generated/gio/gio/DatagramBasedIF.d similarity index 100% rename from generated/gtkd/gio/DatagramBasedIF.d rename to source/generated/gio/gio/DatagramBasedIF.d diff --git a/generated/gtkd/gio/DatagramBasedT.d b/source/generated/gio/gio/DatagramBasedT.d similarity index 100% rename from generated/gtkd/gio/DatagramBasedT.d rename to source/generated/gio/gio/DatagramBasedT.d diff --git a/source/generated/gio/gio/DebugControllerDBus.d b/source/generated/gio/gio/DebugControllerDBus.d new file mode 100644 index 000000000..d3fe190fe --- /dev/null +++ b/source/generated/gio/gio/DebugControllerDBus.d @@ -0,0 +1,290 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module gio.DebugControllerDBus; + +private import gio.Cancellable; +private import gio.DBusConnection; +private import gio.DBusMethodInvocation; +private import gio.DebugControllerIF; +private import gio.DebugControllerT; +private import gio.InitableIF; +private import gio.InitableT; +private import gio.c.functions; +public import gio.c.types; +private import glib.ConstructionException; +private import glib.ErrorG; +private import glib.GException; +private import gobject.ObjectG; +private import gobject.Signals; +private import std.algorithm; + + +/** + * #GDebugControllerDBus is an implementation of #GDebugController which exposes + * debug settings as a D-Bus object. + * + * It is a #GInitable object, and will register an object at + * `/org/gtk/Debugging` on the bus given as + * #GDebugControllerDBus:connection once it’s initialized. The object will be + * unregistered when the last reference to the #GDebugControllerDBus is dropped. + * + * This D-Bus object can be used by remote processes to enable or disable debug + * output in this process. Remote processes calling + * `org.gtk.Debugging.SetDebugEnabled()` will affect the value of + * #GDebugController:debug-enabled and, by default, g_log_get_debug_enabled(). + * default. + * + * By default, all processes will be able to call `SetDebugEnabled()`. If this + * process is privileged, or might expose sensitive information in its debug + * output, you may want to restrict the ability to enable debug output to + * privileged users or processes. + * + * One option is to install a D-Bus security policy which restricts access to + * `SetDebugEnabled()`, installing something like the following in + * `$datadir/dbus-1/system.d/`: + * |[ + * + * + * + * + * + * + * + * + * + * + * ]| + * + * This will prevent the `SetDebugEnabled()` method from being called by all + * except root. It will not prevent the `DebugEnabled` property from being read, + * as it’s accessed through the `org.freedesktop.DBus.Properties` interface. + * + * Another option is to use polkit to allow or deny requests on a case-by-case + * basis, allowing for the possibility of dynamic authorisation. To do this, + * connect to the #GDebugControllerDBus::authorize signal and query polkit in + * it: + * |[ + * g_autoptr(GError) child_error = NULL; + * g_autoptr(GDBusConnection) connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL); + * gulong debug_controller_authorize_id = 0; + * + * // Set up the debug controller. + * debug_controller = G_DEBUG_CONTROLLER (g_debug_controller_dbus_new (priv->connection, NULL, &child_error)); + * if (debug_controller == NULL) + * { + * g_error ("Could not register debug controller on bus: %s"), + * child_error->message); + * } + * + * debug_controller_authorize_id = g_signal_connect (debug_controller, + * "authorize", + * G_CALLBACK (debug_controller_authorize_cb), + * self); + * + * static gboolean + * debug_controller_authorize_cb (GDebugControllerDBus *debug_controller, + * GDBusMethodInvocation *invocation, + * gpointer user_data) + * { + * g_autoptr(PolkitAuthority) authority = NULL; + * g_autoptr(PolkitSubject) subject = NULL; + * g_autoptr(PolkitAuthorizationResult) auth_result = NULL; + * g_autoptr(GError) local_error = NULL; + * GDBusMessage *message; + * GDBusMessageFlags message_flags; + * PolkitCheckAuthorizationFlags flags = POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE; + * + * message = g_dbus_method_invocation_get_message (invocation); + * message_flags = g_dbus_message_get_flags (message); + * + * authority = polkit_authority_get_sync (NULL, &local_error); + * if (authority == NULL) + * { + * g_warning ("Failed to get polkit authority: %s", local_error->message); + * return FALSE; + * } + * + * if (message_flags & G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION) + * flags |= POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION; + * + * subject = polkit_system_bus_name_new (g_dbus_method_invocation_get_sender (invocation)); + * + * auth_result = polkit_authority_check_authorization_sync (authority, + * subject, + * "com.example.MyService.set-debug-enabled", + * NULL, + * flags, + * NULL, + * &local_error); + * if (auth_result == NULL) + * { + * g_warning ("Failed to get check polkit authorization: %s", local_error->message); + * return FALSE; + * } + * + * return polkit_authorization_result_get_is_authorized (auth_result); + * } + * ]| + * + * Since: 2.72 + */ +public class DebugControllerDBus : ObjectG, DebugControllerIF, InitableIF +{ + /** the main Gtk struct */ + protected GDebugControllerDBus* gDebugControllerDBus; + + /** Get the main Gtk struct */ + public GDebugControllerDBus* getDebugControllerDBusStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gDebugControllerDBus; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gDebugControllerDBus; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GDebugControllerDBus* gDebugControllerDBus, bool ownedRef = false) + { + this.gDebugControllerDBus = gDebugControllerDBus; + super(cast(GObject*)gDebugControllerDBus, ownedRef); + } + + // add the DebugController capabilities + mixin DebugControllerT!(GDebugControllerDBus); + + // add the Initable capabilities + mixin InitableT!(GDebugControllerDBus); + + + /** */ + public static GType getType() + { + return g_debug_controller_dbus_get_type(); + } + + /** + * Create a new #GDebugControllerDBus and synchronously initialize it. + * + * Initializing the object will export the debug object on @connection. The + * object will remain registered until the last reference to the + * #GDebugControllerDBus is dropped. + * + * Initialization may fail if registering the object on @connection fails. + * + * Params: + * connection = a #GDBusConnection to register the debug object on + * cancellable = a #GCancellable, or %NULL + * + * Returns: a new #GDebugControllerDBus, or %NULL + * on failure + * + * Since: 2.72 + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(DBusConnection connection, Cancellable cancellable) + { + GError* err = null; + + auto __p = g_debug_controller_dbus_new((connection is null) ? null : connection.getDBusConnectionStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GDebugControllerDBus*) __p, true); + } + + /** + * Stop the debug controller, unregistering its object from the bus. + * + * Any pending method calls to the object will complete successfully, but new + * ones will return an error. This method will block until all pending + * #GDebugControllerDBus::authorize signals have been handled. This is expected + * to not take long, as it will just be waiting for threads to join. If any + * #GDebugControllerDBus::authorize signal handlers are still executing in other + * threads, this will block until after they have returned. + * + * This method will be called automatically when the final reference to the + * #GDebugControllerDBus is dropped. You may want to call it explicitly to know + * when the controller has been fully removed from the bus, or to break + * reference count cycles. + * + * Calling this method from within a #GDebugControllerDBus::authorize signal + * handler will cause a deadlock and must not be done. + * + * Since: 2.72 + */ + public void stop() + { + g_debug_controller_dbus_stop(gDebugControllerDBus); + } + + /** + * Emitted when a D-Bus peer is trying to change the debug settings and used + * to determine if that is authorized. + * + * This signal is emitted in a dedicated worker thread, so handlers are + * allowed to perform blocking I/O. This means that, for example, it is + * appropriate to call `polkit_authority_check_authorization_sync()` to check + * authorization using polkit. + * + * If %FALSE is returned then no further handlers are run and the request to + * change the debug settings is rejected. + * + * Otherwise, if %TRUE is returned, signal emission continues. If no handlers + * return %FALSE, then the debug settings are allowed to be changed. + * + * Signal handlers must not modify @invocation, or cause it to return a value. + * + * The default class handler just returns %TRUE. + * + * Params: + * invocation = A #GDBusMethodInvocation. + * + * Returns: %TRUE if the call is authorized, %FALSE otherwise. + * + * Since: 2.72 + */ + gulong addOnAuthorize(bool delegate(DBusMethodInvocation, DebugControllerDBus) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "authorize", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/gio/gio/DebugControllerIF.d b/source/generated/gio/gio/DebugControllerIF.d new file mode 100644 index 000000000..5bfd05a6b --- /dev/null +++ b/source/generated/gio/gio/DebugControllerIF.d @@ -0,0 +1,82 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module gio.DebugControllerIF; + +private import gio.c.functions; +public import gio.c.types; + + +/** + * #GDebugController is an interface to expose control of debugging features and + * debug output. + * + * It is implemented on Linux using #GDebugControllerDBus, which exposes a D-Bus + * interface to allow authenticated peers to control debug features in this + * process. + * + * Whether debug output is enabled is exposed as + * #GDebugController:debug-enabled. This controls g_log_set_debug_enabled() by + * default. Application code may connect to the #GObject::notify signal for it + * to control other parts of its debug infrastructure as necessary. + * + * If your application or service is using the default GLib log writer function, + * creating one of the built-in implementations of #GDebugController should be + * all that’s needed to dynamically enable or disable debug output. + * + * Since: 2.72 + */ +public interface DebugControllerIF{ + /** Get the main Gtk struct */ + public GDebugController* getDebugControllerStruct(bool transferOwnership = false); + + /** the main Gtk struct as a void* */ + protected void* getStruct(); + + + /** */ + public static GType getType() + { + return g_debug_controller_get_type(); + } + + /** + * Get the value of #GDebugController:debug-enabled. + * + * Returns: %TRUE if debug output should be exposed, %FALSE otherwise + * + * Since: 2.72 + */ + public bool getDebugEnabled(); + + /** + * Set the value of #GDebugController:debug-enabled. + * + * Params: + * debugEnabled = %TRUE if debug output should be exposed, %FALSE otherwise + * + * Since: 2.72 + */ + public void setDebugEnabled(bool debugEnabled); +} diff --git a/source/generated/gio/gio/DebugControllerT.d b/source/generated/gio/gio/DebugControllerT.d new file mode 100644 index 000000000..8d7e7ccf5 --- /dev/null +++ b/source/generated/gio/gio/DebugControllerT.d @@ -0,0 +1,85 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module gio.DebugControllerT; + +public import gio.c.functions; +public import gio.c.types; + + +/** + * #GDebugController is an interface to expose control of debugging features and + * debug output. + * + * It is implemented on Linux using #GDebugControllerDBus, which exposes a D-Bus + * interface to allow authenticated peers to control debug features in this + * process. + * + * Whether debug output is enabled is exposed as + * #GDebugController:debug-enabled. This controls g_log_set_debug_enabled() by + * default. Application code may connect to the #GObject::notify signal for it + * to control other parts of its debug infrastructure as necessary. + * + * If your application or service is using the default GLib log writer function, + * creating one of the built-in implementations of #GDebugController should be + * all that’s needed to dynamically enable or disable debug output. + * + * Since: 2.72 + */ +public template DebugControllerT(TStruct) +{ + /** Get the main Gtk struct */ + public GDebugController* getDebugControllerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return cast(GDebugController*)getStruct(); + } + + + /** + * Get the value of #GDebugController:debug-enabled. + * + * Returns: %TRUE if debug output should be exposed, %FALSE otherwise + * + * Since: 2.72 + */ + public bool getDebugEnabled() + { + return g_debug_controller_get_debug_enabled(getDebugControllerStruct()) != 0; + } + + /** + * Set the value of #GDebugController:debug-enabled. + * + * Params: + * debugEnabled = %TRUE if debug output should be exposed, %FALSE otherwise + * + * Since: 2.72 + */ + public void setDebugEnabled(bool debugEnabled) + { + g_debug_controller_set_debug_enabled(getDebugControllerStruct(), debugEnabled); + } +} diff --git a/generated/gtkd/gio/DesktopAppInfo.d b/source/generated/gio/gio/DesktopAppInfo.d similarity index 99% rename from generated/gtkd/gio/DesktopAppInfo.d rename to source/generated/gio/gio/DesktopAppInfo.d index 08dea5794..596b7a028 100644 --- a/generated/gtkd/gio/DesktopAppInfo.d +++ b/source/generated/gio/gio/DesktopAppInfo.d @@ -369,7 +369,7 @@ public class DesktopAppInfo : ObjectG, AppInfoIF /** * Gets the value of the NoDisplay key, which helps determine if the * application info should be shown in menus. See - * #G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY and g_app_info_should_show(). + * %G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY and g_app_info_should_show(). * * Returns: The value of the NoDisplay key * diff --git a/generated/gtkd/gio/DesktopAppInfoLookupIF.d b/source/generated/gio/gio/DesktopAppInfoLookupIF.d similarity index 100% rename from generated/gtkd/gio/DesktopAppInfoLookupIF.d rename to source/generated/gio/gio/DesktopAppInfoLookupIF.d diff --git a/generated/gtkd/gio/DesktopAppInfoLookupT.d b/source/generated/gio/gio/DesktopAppInfoLookupT.d similarity index 100% rename from generated/gtkd/gio/DesktopAppInfoLookupT.d rename to source/generated/gio/gio/DesktopAppInfoLookupT.d diff --git a/generated/gtkd/gio/DriveIF.d b/source/generated/gio/gio/DriveIF.d similarity index 99% rename from generated/gtkd/gio/DriveIF.d rename to source/generated/gio/gio/DriveIF.d index 61437bc5c..8d7f3d676 100644 --- a/generated/gtkd/gio/DriveIF.d +++ b/source/generated/gio/gio/DriveIF.d @@ -210,7 +210,7 @@ public interface DriveIF{ /** * Gets the identifier of the given kind for @drive. The only * identifier currently available is - * #G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE. + * %G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE. * * Params: * kind = the kind of identifier to return diff --git a/generated/gtkd/gio/DriveT.d b/source/generated/gio/gio/DriveT.d similarity index 99% rename from generated/gtkd/gio/DriveT.d rename to source/generated/gio/gio/DriveT.d index 3d0abe168..d3e495759 100644 --- a/generated/gtkd/gio/DriveT.d +++ b/source/generated/gio/gio/DriveT.d @@ -268,7 +268,7 @@ public template DriveT(TStruct) /** * Gets the identifier of the given kind for @drive. The only * identifier currently available is - * #G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE. + * %G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE. * * Params: * kind = the kind of identifier to return diff --git a/generated/gtkd/gio/DtlsClientConnectionIF.d b/source/generated/gio/gio/DtlsClientConnectionIF.d similarity index 100% rename from generated/gtkd/gio/DtlsClientConnectionIF.d rename to source/generated/gio/gio/DtlsClientConnectionIF.d diff --git a/generated/gtkd/gio/DtlsClientConnectionT.d b/source/generated/gio/gio/DtlsClientConnectionT.d similarity index 100% rename from generated/gtkd/gio/DtlsClientConnectionT.d rename to source/generated/gio/gio/DtlsClientConnectionT.d diff --git a/generated/gtkd/gio/DtlsConnectionIF.d b/source/generated/gio/gio/DtlsConnectionIF.d similarity index 92% rename from generated/gtkd/gio/DtlsConnectionIF.d rename to source/generated/gio/gio/DtlsConnectionIF.d index d0f377399..1bdd695dd 100644 --- a/generated/gtkd/gio/DtlsConnectionIF.d +++ b/source/generated/gio/gio/DtlsConnectionIF.d @@ -194,6 +194,22 @@ public interface DtlsConnectionIF{ */ public bool getChannelBindingData(GTlsChannelBindingType type, out ByteArray data); + /** + * Returns the name of the current DTLS ciphersuite, or %NULL if the + * connection has not handshaked or has been closed. Beware that the TLS + * backend may use any of multiple different naming conventions, because + * OpenSSL and GnuTLS have their own ciphersuite naming conventions that + * are different from each other and different from the standard, IANA- + * registered ciphersuite names. The ciphersuite name is intended to be + * displayed to the user for informative purposes only, and parsing it + * is not recommended. + * + * Returns: The name of the current DTLS ciphersuite, or %NULL + * + * Since: 2.70 + */ + public string getCiphersuiteName(); + /** * Gets the certificate database that @conn uses to verify * peer certificates. See g_dtls_connection_set_database(). @@ -252,6 +268,18 @@ public interface DtlsConnectionIF{ */ public GTlsCertificateFlags getPeerCertificateErrors(); + /** + * Returns the current DTLS protocol version, which may be + * %G_TLS_PROTOCOL_VERSION_UNKNOWN if the connection has not handshaked, or + * has been closed, or if the TLS backend has implemented a protocol version + * that is not a recognized #GTlsProtocolVersion. + * + * Returns: The current DTLS protocol version + * + * Since: 2.70 + */ + public GTlsProtocolVersion getProtocolVersion(); + /** * Gets @conn rehandshaking mode. See * g_dtls_connection_set_rehandshake_mode() for details. @@ -403,6 +431,9 @@ public interface DtlsConnectionIF{ * client-side connections, unless that bit is not set in * #GDtlsClientConnection:validation-flags). * + * There are nonintuitive security implications when using a non-default + * database. See #GDtlsConnection:database for details. + * * Params: * database = a #GTlsDatabase * @@ -552,6 +583,15 @@ public interface DtlsConnectionIF{ * signal handler. Otherwise, if no handler accepts the certificate, * the handshake will fail with %G_TLS_ERROR_BAD_CERTIFICATE. * + * GLib guarantees that if certificate verification fails, this signal + * will be emitted with at least one error will be set in @errors, but + * it does not guarantee that all possible errors will be set. + * Accordingly, you may not safely decide to ignore any particular + * type of error. For example, it would be incorrect to ignore + * %G_TLS_CERTIFICATE_EXPIRED if you want to allow expired + * certificates, because this could potentially be the only error flag + * set even if other problems exist with the certificate. + * * For a server-side connection, @peer_cert is the certificate * presented by the client, if this was requested via the server's * #GDtlsServerConnection:authentication_mode. On the server side, diff --git a/generated/gtkd/gio/DtlsConnectionT.d b/source/generated/gio/gio/DtlsConnectionT.d similarity index 92% rename from generated/gtkd/gio/DtlsConnectionT.d rename to source/generated/gio/gio/DtlsConnectionT.d index f478bfe3a..304023fd8 100644 --- a/generated/gtkd/gio/DtlsConnectionT.d +++ b/source/generated/gio/gio/DtlsConnectionT.d @@ -246,6 +246,28 @@ public template DtlsConnectionT(TStruct) return __p; } + /** + * Returns the name of the current DTLS ciphersuite, or %NULL if the + * connection has not handshaked or has been closed. Beware that the TLS + * backend may use any of multiple different naming conventions, because + * OpenSSL and GnuTLS have their own ciphersuite naming conventions that + * are different from each other and different from the standard, IANA- + * registered ciphersuite names. The ciphersuite name is intended to be + * displayed to the user for informative purposes only, and parsing it + * is not recommended. + * + * Returns: The name of the current DTLS ciphersuite, or %NULL + * + * Since: 2.70 + */ + public string getCiphersuiteName() + { + auto retStr = g_dtls_connection_get_ciphersuite_name(getDtlsConnectionStruct()); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + /** * Gets the certificate database that @conn uses to verify * peer certificates. See g_dtls_connection_set_database(). @@ -340,6 +362,21 @@ public template DtlsConnectionT(TStruct) return g_dtls_connection_get_peer_certificate_errors(getDtlsConnectionStruct()); } + /** + * Returns the current DTLS protocol version, which may be + * %G_TLS_PROTOCOL_VERSION_UNKNOWN if the connection has not handshaked, or + * has been closed, or if the TLS backend has implemented a protocol version + * that is not a recognized #GTlsProtocolVersion. + * + * Returns: The current DTLS protocol version + * + * Since: 2.70 + */ + public GTlsProtocolVersion getProtocolVersion() + { + return g_dtls_connection_get_protocol_version(getDtlsConnectionStruct()); + } + /** * Gets @conn rehandshaking mode. See * g_dtls_connection_set_rehandshake_mode() for details. @@ -530,6 +567,9 @@ public template DtlsConnectionT(TStruct) * client-side connections, unless that bit is not set in * #GDtlsClientConnection:validation-flags). * + * There are nonintuitive security implications when using a non-default + * database. See #GDtlsConnection:database for details. + * * Params: * database = a #GTlsDatabase * @@ -718,6 +758,15 @@ public template DtlsConnectionT(TStruct) * signal handler. Otherwise, if no handler accepts the certificate, * the handshake will fail with %G_TLS_ERROR_BAD_CERTIFICATE. * + * GLib guarantees that if certificate verification fails, this signal + * will be emitted with at least one error will be set in @errors, but + * it does not guarantee that all possible errors will be set. + * Accordingly, you may not safely decide to ignore any particular + * type of error. For example, it would be incorrect to ignore + * %G_TLS_CERTIFICATE_EXPIRED if you want to allow expired + * certificates, because this could potentially be the only error flag + * set even if other problems exist with the certificate. + * * For a server-side connection, @peer_cert is the certificate * presented by the client, if this was requested via the server's * #GDtlsServerConnection:authentication_mode. On the server side, diff --git a/generated/gtkd/gio/DtlsServerConnectionIF.d b/source/generated/gio/gio/DtlsServerConnectionIF.d similarity index 100% rename from generated/gtkd/gio/DtlsServerConnectionIF.d rename to source/generated/gio/gio/DtlsServerConnectionIF.d diff --git a/generated/gtkd/gio/DtlsServerConnectionT.d b/source/generated/gio/gio/DtlsServerConnectionT.d similarity index 100% rename from generated/gtkd/gio/DtlsServerConnectionT.d rename to source/generated/gio/gio/DtlsServerConnectionT.d diff --git a/generated/gtkd/gio/Emblem.d b/source/generated/gio/gio/Emblem.d similarity index 100% rename from generated/gtkd/gio/Emblem.d rename to source/generated/gio/gio/Emblem.d diff --git a/generated/gtkd/gio/EmblemedIcon.d b/source/generated/gio/gio/EmblemedIcon.d similarity index 100% rename from generated/gtkd/gio/EmblemedIcon.d rename to source/generated/gio/gio/EmblemedIcon.d diff --git a/generated/gtkd/gio/ErrorGIO.d b/source/generated/gio/gio/ErrorGIO.d similarity index 100% rename from generated/gtkd/gio/ErrorGIO.d rename to source/generated/gio/gio/ErrorGIO.d diff --git a/generated/gtkd/gio/FileAttributeInfoList.d b/source/generated/gio/gio/FileAttributeInfoList.d similarity index 98% rename from generated/gtkd/gio/FileAttributeInfoList.d rename to source/generated/gio/gio/FileAttributeInfoList.d index 8f27813c1..eefefe3f6 100644 --- a/generated/gtkd/gio/FileAttributeInfoList.d +++ b/source/generated/gio/gio/FileAttributeInfoList.d @@ -30,7 +30,7 @@ private import glib.ConstructionException; private import glib.MemorySlice; private import glib.Str; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -68,7 +68,7 @@ public final class FileAttributeInfoList ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_file_attribute_info_list_unref(gFileAttributeInfoList); } diff --git a/generated/gtkd/gio/FileAttributeMatcher.d b/source/generated/gio/gio/FileAttributeMatcher.d similarity index 98% rename from generated/gtkd/gio/FileAttributeMatcher.d rename to source/generated/gio/gio/FileAttributeMatcher.d index 7452a84d6..236037e01 100644 --- a/generated/gtkd/gio/FileAttributeMatcher.d +++ b/source/generated/gio/gio/FileAttributeMatcher.d @@ -30,7 +30,7 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -67,7 +67,7 @@ public class FileAttributeMatcher ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_file_attribute_matcher_unref(gFileAttributeMatcher); } diff --git a/generated/gtkd/gio/FileDescriptorBasedIF.d b/source/generated/gio/gio/FileDescriptorBasedIF.d similarity index 100% rename from generated/gtkd/gio/FileDescriptorBasedIF.d rename to source/generated/gio/gio/FileDescriptorBasedIF.d diff --git a/generated/gtkd/gio/FileDescriptorBasedT.d b/source/generated/gio/gio/FileDescriptorBasedT.d similarity index 100% rename from generated/gtkd/gio/FileDescriptorBasedT.d rename to source/generated/gio/gio/FileDescriptorBasedT.d diff --git a/generated/gtkd/gio/FileEnumerator.d b/source/generated/gio/gio/FileEnumerator.d similarity index 98% rename from generated/gtkd/gio/FileEnumerator.d rename to source/generated/gio/gio/FileEnumerator.d index 12c148189..d047f2949 100644 --- a/generated/gtkd/gio/FileEnumerator.d +++ b/source/generated/gio/gio/FileEnumerator.d @@ -185,6 +185,9 @@ public class FileEnumerator : ObjectG * directory of @enumerator. This function is primarily intended to be used * inside loops with g_file_enumerator_next_file(). * + * To use this, %G_FILE_ATTRIBUTE_STANDARD_NAME must have been listed in the + * attributes list used when creating the #GFileEnumerator. + * * This is a convenience method that's equivalent to: * |[ * gchar *name = g_file_info_get_name (info); diff --git a/generated/gtkd/gio/FileIF.d b/source/generated/gio/gio/FileIF.d similarity index 96% rename from generated/gtkd/gio/FileIF.d rename to source/generated/gio/gio/FileIF.d index 3711644c6..27b482bdb 100644 --- a/generated/gtkd/gio/FileIF.d +++ b/source/generated/gio/gio/FileIF.d @@ -173,7 +173,7 @@ public interface FileIF{ * If the file doesn't already exist it is created. * * By default files created are generally readable by everyone, - * but if you pass #G_FILE_CREATE_PRIVATE in @flags the file + * but if you pass %G_FILE_CREATE_PRIVATE in @flags the file * will be made readable only to the current user, to the level that * is supported on the target filesystem. * @@ -264,14 +264,14 @@ public interface FileIF{ * Copies the file @source to the location specified by @destination. * Can not handle recursive copies of directories. * - * If the flag #G_FILE_COPY_OVERWRITE is specified an already + * If the flag %G_FILE_COPY_OVERWRITE is specified an already * existing @destination file is overwritten. * - * If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks + * If the flag %G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks * will be copied as symlinks, otherwise the target of the * @source symlink will be copied. * - * If the flag #G_FILE_COPY_ALL_METADATA is specified then all the metadata + * If the flag %G_FILE_COPY_ALL_METADATA is specified then all the metadata * that is possible to copy is copied, not just the default subset (which, * for instance, does not include the owner, see #GFileInfo). * @@ -288,7 +288,7 @@ public interface FileIF{ * If the @source file does not exist, then the %G_IO_ERROR_NOT_FOUND error * is returned, independent on the status of the @destination. * - * If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then + * If %G_FILE_COPY_OVERWRITE is not specified and the target exists, then * the error %G_IO_ERROR_EXISTS is returned. * * If trying to overwrite a file over a directory, the %G_IO_ERROR_IS_DIRECTORY @@ -296,7 +296,7 @@ public interface FileIF{ * %G_IO_ERROR_WOULD_MERGE error is returned. * * If the source is a directory and the target does not exist, or - * #G_FILE_COPY_OVERWRITE is specified and the target is a file, then the + * %G_FILE_COPY_OVERWRITE is specified and the target is a file, then the * %G_IO_ERROR_WOULD_RECURSE error is returned. * * If you are interested in copying the #GFile object itself (not the on-disk @@ -349,7 +349,7 @@ public interface FileIF{ * Normally only a subset of the file attributes are copied, * those that are copies in a normal file copy operation * (which for instance does not include e.g. owner). However - * if #G_FILE_COPY_ALL_METADATA is specified in @flags, then + * if %G_FILE_COPY_ALL_METADATA is specified in @flags, then * all the metadata that is possible to copy is copied. This * is useful when implementing move by copy + delete source. * @@ -383,7 +383,7 @@ public interface FileIF{ * The file must not already exist. * * By default files created are generally readable by everyone, - * but if you pass #G_FILE_CREATE_PRIVATE in @flags the file + * but if you pass %G_FILE_CREATE_PRIVATE in @flags the file * will be made readable only to the current user, to the level * that is supported on the target filesystem. * @@ -453,7 +453,7 @@ public interface FileIF{ * writing to it. The file must not already exist. * * By default files created are generally readable by everyone, - * but if you pass #G_FILE_CREATE_PRIVATE in @flags the file + * but if you pass %G_FILE_CREATE_PRIVATE in @flags the file * will be made readable only to the current user, to the level * that is supported on the target filesystem. * @@ -703,7 +703,9 @@ public interface FileIF{ * "standard::*" means all attributes in the standard namespace. * An example attribute query be "standard::*,owner::user". * The standard attributes are available as defines, like - * #G_FILE_ATTRIBUTE_STANDARD_NAME. + * %G_FILE_ATTRIBUTE_STANDARD_NAME. %G_FILE_ATTRIBUTE_STANDARD_NAME should + * always be specified if you plan to call g_file_enumerator_get_child() or + * g_file_enumerator_iterate() on the returned enumerator. * * If @cancellable is not %NULL, then the operation can be cancelled * by triggering the cancellable object from another thread. If the @@ -1602,7 +1604,7 @@ public interface FileIF{ * implementation may support moving directories (for instance on moves * inside the same filesystem), but the fallback code does not. * - * If the flag #G_FILE_COPY_OVERWRITE is specified an already + * If the flag %G_FILE_COPY_OVERWRITE is specified an already * existing @destination file is overwritten. * * If @cancellable is not %NULL, then the operation can be cancelled by @@ -1618,7 +1620,7 @@ public interface FileIF{ * If the @source file does not exist, then the %G_IO_ERROR_NOT_FOUND * error is returned, independent on the status of the @destination. * - * If #G_FILE_COPY_OVERWRITE is not specified and the target exists, + * If %G_FILE_COPY_OVERWRITE is not specified and the target exists, * then the error %G_IO_ERROR_EXISTS is returned. * * If trying to overwrite a file over a directory, the %G_IO_ERROR_IS_DIRECTORY @@ -1626,7 +1628,7 @@ public interface FileIF{ * %G_IO_ERROR_WOULD_MERGE error is returned. * * If the source is a directory and the target does not exist, or - * #G_FILE_COPY_OVERWRITE is specified and the target is a file, then + * %G_FILE_COPY_OVERWRITE is specified and the target is a file, then * the %G_IO_ERROR_WOULD_RECURSE error may be returned (if the native * move operation isn't available). * @@ -1646,6 +1648,50 @@ public interface FileIF{ */ public bool move(FileIF destination, GFileCopyFlags flags, Cancellable cancellable, GFileProgressCallback progressCallback, void* progressCallbackData); + /** + * Asynchronously moves a file @source to the location of @destination. For details of the behaviour, see g_file_move(). + * + * If @progress_callback is not %NULL, then that function that will be called + * just like in g_file_move(). The callback will run in the default main context + * of the thread calling g_file_move_async() — the same context as @callback is + * run in. + * + * When the operation is finished, @callback will be called. You can then call + * g_file_move_finish() to get the result of the operation. + * + * Params: + * destination = #GFile pointing to the destination location + * flags = set of #GFileCopyFlags + * ioPriority = the [I/O priority][io-priority] of the request + * cancellable = optional #GCancellable object, + * %NULL to ignore + * progressCallback = #GFileProgressCallback + * function for updates + * progressCallbackData = gpointer to user data for + * the callback function + * callback = a #GAsyncReadyCallback to call + * when the request is satisfied + * userData = the data to pass to callback function + * + * Since: 2.72 + */ + public void moveAsync(FileIF destination, GFileCopyFlags flags, int ioPriority, Cancellable cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GAsyncReadyCallback callback, void* userData); + + /** + * Finishes an asynchronous file movement, started with + * g_file_move_async(). + * + * Params: + * result = a #GAsyncResult + * + * Returns: %TRUE on successful file move, %FALSE otherwise. + * + * Since: 2.72 + * + * Throws: GException on failure. + */ + public bool moveFinish(AsyncResultIF result); + /** * Opens an existing file for reading and writing. The result is * a #GFileIOStream that can be used to read and write the contents @@ -1731,7 +1777,7 @@ public interface FileIF{ public string peekPath(); /** - * Polls a file of type #G_FILE_TYPE_MOUNTABLE. + * Polls a file of type %G_FILE_TYPE_MOUNTABLE. * * If @cancellable is not %NULL, then the operation can be cancelled by * triggering the cancellable object from another thread. If the operation @@ -1862,7 +1908,7 @@ public interface FileIF{ * cancellable = optional #GCancellable object, * %NULL to ignore * - * Returns: The #GFileType of the file and #G_FILE_TYPE_UNKNOWN + * Returns: The #GFileType of the file and %G_FILE_TYPE_UNKNOWN * if the file does not exist * * Since: 2.18 @@ -1883,9 +1929,9 @@ public interface FileIF{ * attributes, and a wildcard like "filesystem::*" means all attributes * in the filesystem namespace. The standard namespace for filesystem * attributes is "filesystem". Common attributes of interest are - * #G_FILE_ATTRIBUTE_FILESYSTEM_SIZE (the total size of the filesystem - * in bytes), #G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of bytes available), - * and #G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem). + * %G_FILE_ATTRIBUTE_FILESYSTEM_SIZE (the total size of the filesystem + * in bytes), %G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of bytes available), + * and %G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem). * * If @cancellable is not %NULL, then the operation can be cancelled * by triggering the cancellable object from another thread. If the @@ -1961,7 +2007,7 @@ public interface FileIF{ * "standard::*" means all attributes in the standard namespace. * An example attribute query be "standard::*,owner::user". * The standard attributes are available as defines, like - * #G_FILE_ATTRIBUTE_STANDARD_NAME. + * %G_FILE_ATTRIBUTE_STANDARD_NAME. * * If @cancellable is not %NULL, then the operation can be cancelled * by triggering the cancellable object from another thread. If the @@ -1970,7 +2016,7 @@ public interface FileIF{ * * For symlinks, normally the information about the target of the * symlink is returned, rather than information about the symlink - * itself. However if you pass #G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS + * itself. However if you pass %G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS * in @flags the information about the symlink itself will be returned. * Also, for symlinks that point to non-existing files the information * about the symlink itself will be returned. @@ -2144,7 +2190,7 @@ public interface FileIF{ * the destination when the stream is closed. * * By default files created are generally readable by everyone, - * but if you pass #G_FILE_CREATE_PRIVATE in @flags the file + * but if you pass %G_FILE_CREATE_PRIVATE in @flags the file * will be made readable only to the current user, to the level that * is supported on the target filesystem. * @@ -2415,12 +2461,13 @@ public interface FileIF{ * * This call does no blocking I/O. * + * If the @relative_path is an absolute path name, the resolution + * is done absolutely (without taking @file path as base). + * * Params: * relativePath = a given relative path string * - * Returns: #GFile to the resolved path. - * %NULL if @relative_path is %NULL or if @file is invalid. - * Free the returned object with g_object_unref(). + * Returns: a #GFile for the resolved path. */ public FileIF resolveRelativePath(string relativePath); @@ -2647,7 +2694,7 @@ public interface FileIF{ * for the target filesystem if possible and the @file is renamed to this. * * If you want to implement a rename operation in the user interface the - * edit name (#G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the + * edit name (%G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the * initial value in the rename widget, and then the result after editing * should be passed to g_file_set_display_name(). * @@ -2706,7 +2753,7 @@ public interface FileIF{ public FileIF setDisplayNameFinish(AsyncResultIF res); /** - * Starts a file of type #G_FILE_TYPE_MOUNTABLE. + * Starts a file of type %G_FILE_TYPE_MOUNTABLE. * Using @start_operation, you can request callbacks when, for instance, * passwords are needed during authentication. * @@ -2748,7 +2795,7 @@ public interface FileIF{ public bool startMountableFinish(AsyncResultIF result); /** - * Stops a file of type #G_FILE_TYPE_MOUNTABLE. + * Stops a file of type %G_FILE_TYPE_MOUNTABLE. * * If @cancellable is not %NULL, then the operation can be cancelled by * triggering the cancellable object from another thread. If the operation @@ -2897,7 +2944,7 @@ public interface FileIF{ public bool unmountMountableFinish(AsyncResultIF result); /** - * Unmounts a file of type #G_FILE_TYPE_MOUNTABLE. + * Unmounts a file of type %G_FILE_TYPE_MOUNTABLE. * * If @cancellable is not %NULL, then the operation can be cancelled by * triggering the cancellable object from another thread. If the operation diff --git a/generated/gtkd/gio/FileIOStream.d b/source/generated/gio/gio/FileIOStream.d similarity index 100% rename from generated/gtkd/gio/FileIOStream.d rename to source/generated/gio/gio/FileIOStream.d diff --git a/generated/gtkd/gio/FileIcon.d b/source/generated/gio/gio/FileIcon.d similarity index 100% rename from generated/gtkd/gio/FileIcon.d rename to source/generated/gio/gio/FileIcon.d diff --git a/generated/gtkd/gio/FileInfo.d b/source/generated/gio/gio/FileInfo.d similarity index 92% rename from generated/gtkd/gio/FileInfo.d rename to source/generated/gio/gio/FileInfo.d index ff03fc1d3..e74b2ee10 100644 --- a/generated/gtkd/gio/FileInfo.d +++ b/source/generated/gio/gio/FileInfo.d @@ -60,6 +60,11 @@ private import gobject.ObjectG; * g_file_query_writable_namespaces() to discover the settable attributes * of a particular file at runtime. * + * The direct accessors, such as g_file_info_get_name(), are slightly more + * optimized than the generic attribute accessors, such as + * g_file_info_get_attribute_byte_string().This optimization will matter + * only if calling the API in a tight loop. + * * #GFileAttributeMatcher allows for searching through a #GFileInfo for * attributes. */ @@ -154,6 +159,30 @@ public class FileInfo : ObjectG return ObjectG.getDObject!(FileInfo)(cast(GFileInfo*) __p, true); } + /** + * Gets the access time of the current @info and returns it as a + * #GDateTime. + * + * This requires the %G_FILE_ATTRIBUTE_TIME_ACCESS attribute. If + * %G_FILE_ATTRIBUTE_TIME_ACCESS_USEC is provided, the resulting #GDateTime + * will have microsecond precision. + * + * Returns: access time, or %NULL if unknown + * + * Since: 2.70 + */ + public DateTime getAccessDateTime() + { + auto __p = g_file_info_get_access_date_time(gFileInfo); + + if(__p is null) + { + return null; + } + + return new DateTime(cast(GDateTime*) __p, true); + } + /** * Gets the value of a attribute, formatted as a string. * This escapes things as needed to make the string valid @@ -374,6 +403,30 @@ public class FileInfo : ObjectG return Str.toString(g_file_info_get_content_type(gFileInfo)); } + /** + * Gets the creation time of the current @info and returns it as a + * #GDateTime. + * + * This requires the %G_FILE_ATTRIBUTE_TIME_CREATED attribute. If + * %G_FILE_ATTRIBUTE_TIME_CREATED_USEC is provided, the resulting #GDateTime + * will have microsecond precision. + * + * Returns: creation time, or %NULL if unknown + * + * Since: 2.70 + */ + public DateTime getCreationDateTime() + { + auto __p = g_file_info_get_creation_date_time(gFileInfo); + + if(__p is null) + { + return null; + } + + return new DateTime(cast(GDateTime*) __p, true); + } + /** * Returns the #GDateTime representing the deletion date of the file, as * available in G_FILE_ATTRIBUTE_TRASH_DELETION_DATE. If the @@ -650,6 +703,21 @@ public class FileInfo : ObjectG g_file_info_remove_attribute(gFileInfo, Str.toStringz(attribute)); } + /** + * Sets the %G_FILE_ATTRIBUTE_TIME_ACCESS and + * %G_FILE_ATTRIBUTE_TIME_ACCESS_USEC attributes in the file info to the + * given date/time value. + * + * Params: + * atime = a #GDateTime. + * + * Since: 2.70 + */ + public void setAccessDateTime(DateTime atime) + { + g_file_info_set_access_date_time(gFileInfo, (atime is null) ? null : atime.getDateTimeStruct()); + } + /** * Sets the @attribute to contain the given value, if possible. To unset the * attribute, use %G_FILE_ATTRIBUTE_TYPE_INVALID for @type. @@ -828,6 +896,21 @@ public class FileInfo : ObjectG g_file_info_set_content_type(gFileInfo, Str.toStringz(contentType)); } + /** + * Sets the %G_FILE_ATTRIBUTE_TIME_CREATED and + * %G_FILE_ATTRIBUTE_TIME_CREATED_USEC attributes in the file info to the + * given date/time value. + * + * Params: + * creationTime = a #GDateTime. + * + * Since: 2.70 + */ + public void setCreationDateTime(DateTime creationTime) + { + g_file_info_set_creation_date_time(gFileInfo, (creationTime is null) ? null : creationTime.getDateTimeStruct()); + } + /** * Sets the display name for the current #GFileInfo. * See %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME. diff --git a/generated/gtkd/gio/FileInputStream.d b/source/generated/gio/gio/FileInputStream.d similarity index 100% rename from generated/gtkd/gio/FileInputStream.d rename to source/generated/gio/gio/FileInputStream.d diff --git a/generated/gtkd/gio/FileMonitor.d b/source/generated/gio/gio/FileMonitor.d similarity index 98% rename from generated/gtkd/gio/FileMonitor.d rename to source/generated/gio/gio/FileMonitor.d index 9378e58c2..83abe428e 100644 --- a/generated/gtkd/gio/FileMonitor.d +++ b/source/generated/gio/gio/FileMonitor.d @@ -160,7 +160,7 @@ public class FileMonitor : ObjectG * that the %G_FILE_MONITOR_WATCH_MOVES flag is not in use. * * If using the deprecated flag %G_FILE_MONITOR_SEND_MOVED flag and @event_type is - * #G_FILE_MONITOR_EVENT_MOVED, @file will be set to a #GFile containing the + * %G_FILE_MONITOR_EVENT_MOVED, @file will be set to a #GFile containing the * old path, and @other_file will be set to a #GFile containing the new path. * * In all the other cases, @other_file will be set to #NULL. diff --git a/generated/gtkd/gio/FileOutputStream.d b/source/generated/gio/gio/FileOutputStream.d similarity index 100% rename from generated/gtkd/gio/FileOutputStream.d rename to source/generated/gio/gio/FileOutputStream.d diff --git a/generated/gtkd/gio/FileT.d b/source/generated/gio/gio/FileT.d similarity index 97% rename from generated/gtkd/gio/FileT.d rename to source/generated/gio/gio/FileT.d index b9ae68a26..8509d3c1c 100644 --- a/generated/gtkd/gio/FileT.d +++ b/source/generated/gio/gio/FileT.d @@ -147,7 +147,7 @@ public template FileT(TStruct) * If the file doesn't already exist it is created. * * By default files created are generally readable by everyone, - * but if you pass #G_FILE_CREATE_PRIVATE in @flags the file + * but if you pass %G_FILE_CREATE_PRIVATE in @flags the file * will be made readable only to the current user, to the level that * is supported on the target filesystem. * @@ -288,14 +288,14 @@ public template FileT(TStruct) * Copies the file @source to the location specified by @destination. * Can not handle recursive copies of directories. * - * If the flag #G_FILE_COPY_OVERWRITE is specified an already + * If the flag %G_FILE_COPY_OVERWRITE is specified an already * existing @destination file is overwritten. * - * If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks + * If the flag %G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks * will be copied as symlinks, otherwise the target of the * @source symlink will be copied. * - * If the flag #G_FILE_COPY_ALL_METADATA is specified then all the metadata + * If the flag %G_FILE_COPY_ALL_METADATA is specified then all the metadata * that is possible to copy is copied, not just the default subset (which, * for instance, does not include the owner, see #GFileInfo). * @@ -312,7 +312,7 @@ public template FileT(TStruct) * If the @source file does not exist, then the %G_IO_ERROR_NOT_FOUND error * is returned, independent on the status of the @destination. * - * If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then + * If %G_FILE_COPY_OVERWRITE is not specified and the target exists, then * the error %G_IO_ERROR_EXISTS is returned. * * If trying to overwrite a file over a directory, the %G_IO_ERROR_IS_DIRECTORY @@ -320,7 +320,7 @@ public template FileT(TStruct) * %G_IO_ERROR_WOULD_MERGE error is returned. * * If the source is a directory and the target does not exist, or - * #G_FILE_COPY_OVERWRITE is specified and the target is a file, then the + * %G_FILE_COPY_OVERWRITE is specified and the target is a file, then the * %G_IO_ERROR_WOULD_RECURSE error is returned. * * If you are interested in copying the #GFile object itself (not the on-disk @@ -388,7 +388,7 @@ public template FileT(TStruct) * Normally only a subset of the file attributes are copied, * those that are copies in a normal file copy operation * (which for instance does not include e.g. owner). However - * if #G_FILE_COPY_ALL_METADATA is specified in @flags, then + * if %G_FILE_COPY_ALL_METADATA is specified in @flags, then * all the metadata that is possible to copy is copied. This * is useful when implementing move by copy + delete source. * @@ -446,7 +446,7 @@ public template FileT(TStruct) * The file must not already exist. * * By default files created are generally readable by everyone, - * but if you pass #G_FILE_CREATE_PRIVATE in @flags the file + * but if you pass %G_FILE_CREATE_PRIVATE in @flags the file * will be made readable only to the current user, to the level * that is supported on the target filesystem. * @@ -553,7 +553,7 @@ public template FileT(TStruct) * writing to it. The file must not already exist. * * By default files created are generally readable by everyone, - * but if you pass #G_FILE_CREATE_PRIVATE in @flags the file + * but if you pass %G_FILE_CREATE_PRIVATE in @flags the file * will be made readable only to the current user, to the level * that is supported on the target filesystem. * @@ -907,7 +907,9 @@ public template FileT(TStruct) * "standard::*" means all attributes in the standard namespace. * An example attribute query be "standard::*,owner::user". * The standard attributes are available as defines, like - * #G_FILE_ATTRIBUTE_STANDARD_NAME. + * %G_FILE_ATTRIBUTE_STANDARD_NAME. %G_FILE_ATTRIBUTE_STANDARD_NAME should + * always be specified if you plan to call g_file_enumerator_get_child() or + * g_file_enumerator_iterate() on the returned enumerator. * * If @cancellable is not %NULL, then the operation can be cancelled * by triggering the cancellable object from another thread. If the @@ -2238,7 +2240,7 @@ public template FileT(TStruct) * implementation may support moving directories (for instance on moves * inside the same filesystem), but the fallback code does not. * - * If the flag #G_FILE_COPY_OVERWRITE is specified an already + * If the flag %G_FILE_COPY_OVERWRITE is specified an already * existing @destination file is overwritten. * * If @cancellable is not %NULL, then the operation can be cancelled by @@ -2254,7 +2256,7 @@ public template FileT(TStruct) * If the @source file does not exist, then the %G_IO_ERROR_NOT_FOUND * error is returned, independent on the status of the @destination. * - * If #G_FILE_COPY_OVERWRITE is not specified and the target exists, + * If %G_FILE_COPY_OVERWRITE is not specified and the target exists, * then the error %G_IO_ERROR_EXISTS is returned. * * If trying to overwrite a file over a directory, the %G_IO_ERROR_IS_DIRECTORY @@ -2262,7 +2264,7 @@ public template FileT(TStruct) * %G_IO_ERROR_WOULD_MERGE error is returned. * * If the source is a directory and the target does not exist, or - * #G_FILE_COPY_OVERWRITE is specified and the target is a file, then + * %G_FILE_COPY_OVERWRITE is specified and the target is a file, then * the %G_IO_ERROR_WOULD_RECURSE error may be returned (if the native * move operation isn't available). * @@ -2294,6 +2296,65 @@ public template FileT(TStruct) return __p; } + /** + * Asynchronously moves a file @source to the location of @destination. For details of the behaviour, see g_file_move(). + * + * If @progress_callback is not %NULL, then that function that will be called + * just like in g_file_move(). The callback will run in the default main context + * of the thread calling g_file_move_async() — the same context as @callback is + * run in. + * + * When the operation is finished, @callback will be called. You can then call + * g_file_move_finish() to get the result of the operation. + * + * Params: + * destination = #GFile pointing to the destination location + * flags = set of #GFileCopyFlags + * ioPriority = the [I/O priority][io-priority] of the request + * cancellable = optional #GCancellable object, + * %NULL to ignore + * progressCallback = #GFileProgressCallback + * function for updates + * progressCallbackData = gpointer to user data for + * the callback function + * callback = a #GAsyncReadyCallback to call + * when the request is satisfied + * userData = the data to pass to callback function + * + * Since: 2.72 + */ + public void moveAsync(FileIF destination, GFileCopyFlags flags, int ioPriority, Cancellable cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GAsyncReadyCallback callback, void* userData) + { + g_file_move_async(getFileStruct(), (destination is null) ? null : destination.getFileStruct(), flags, ioPriority, (cancellable is null) ? null : cancellable.getCancellableStruct(), progressCallback, progressCallbackData, callback, userData); + } + + /** + * Finishes an asynchronous file movement, started with + * g_file_move_async(). + * + * Params: + * result = a #GAsyncResult + * + * Returns: %TRUE on successful file move, %FALSE otherwise. + * + * Since: 2.72 + * + * Throws: GException on failure. + */ + public bool moveFinish(AsyncResultIF result) + { + GError* err = null; + + auto __p = g_file_move_finish(getFileStruct(), (result is null) ? null : result.getAsyncResultStruct(), &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + /** * Opens an existing file for reading and writing. The result is * a #GFileIOStream that can be used to read and write the contents @@ -2419,7 +2480,7 @@ public template FileT(TStruct) } /** - * Polls a file of type #G_FILE_TYPE_MOUNTABLE. + * Polls a file of type %G_FILE_TYPE_MOUNTABLE. * * If @cancellable is not %NULL, then the operation can be cancelled by * triggering the cancellable object from another thread. If the operation @@ -2605,7 +2666,7 @@ public template FileT(TStruct) * cancellable = optional #GCancellable object, * %NULL to ignore * - * Returns: The #GFileType of the file and #G_FILE_TYPE_UNKNOWN + * Returns: The #GFileType of the file and %G_FILE_TYPE_UNKNOWN * if the file does not exist * * Since: 2.18 @@ -2629,9 +2690,9 @@ public template FileT(TStruct) * attributes, and a wildcard like "filesystem::*" means all attributes * in the filesystem namespace. The standard namespace for filesystem * attributes is "filesystem". Common attributes of interest are - * #G_FILE_ATTRIBUTE_FILESYSTEM_SIZE (the total size of the filesystem - * in bytes), #G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of bytes available), - * and #G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem). + * %G_FILE_ATTRIBUTE_FILESYSTEM_SIZE (the total size of the filesystem + * in bytes), %G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of bytes available), + * and %G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem). * * If @cancellable is not %NULL, then the operation can be cancelled * by triggering the cancellable object from another thread. If the @@ -2744,7 +2805,7 @@ public template FileT(TStruct) * "standard::*" means all attributes in the standard namespace. * An example attribute query be "standard::*,owner::user". * The standard attributes are available as defines, like - * #G_FILE_ATTRIBUTE_STANDARD_NAME. + * %G_FILE_ATTRIBUTE_STANDARD_NAME. * * If @cancellable is not %NULL, then the operation can be cancelled * by triggering the cancellable object from another thread. If the @@ -2753,7 +2814,7 @@ public template FileT(TStruct) * * For symlinks, normally the information about the target of the * symlink is returned, rather than information about the symlink - * itself. However if you pass #G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS + * itself. However if you pass %G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS * in @flags the information about the symlink itself will be returned. * Also, for symlinks that point to non-existing files the information * about the symlink itself will be returned. @@ -3035,7 +3096,7 @@ public template FileT(TStruct) * the destination when the stream is closed. * * By default files created are generally readable by everyone, - * but if you pass #G_FILE_CREATE_PRIVATE in @flags the file + * but if you pass %G_FILE_CREATE_PRIVATE in @flags the file * will be made readable only to the current user, to the level that * is supported on the target filesystem. * @@ -3416,12 +3477,13 @@ public template FileT(TStruct) * * This call does no blocking I/O. * + * If the @relative_path is an absolute path name, the resolution + * is done absolutely (without taking @file path as base). + * * Params: * relativePath = a given relative path string * - * Returns: #GFile to the resolved path. - * %NULL if @relative_path is %NULL or if @file is invalid. - * Free the returned object with g_object_unref(). + * Returns: a #GFile for the resolved path. */ public FileIF resolveRelativePath(string relativePath) { @@ -3772,7 +3834,7 @@ public template FileT(TStruct) * for the target filesystem if possible and the @file is renamed to this. * * If you want to implement a rename operation in the user interface the - * edit name (#G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the + * edit name (%G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the * initial value in the rename widget, and then the result after editing * should be passed to g_file_set_display_name(). * @@ -3868,7 +3930,7 @@ public template FileT(TStruct) } /** - * Starts a file of type #G_FILE_TYPE_MOUNTABLE. + * Starts a file of type %G_FILE_TYPE_MOUNTABLE. * Using @start_operation, you can request callbacks when, for instance, * passwords are needed during authentication. * @@ -3925,7 +3987,7 @@ public template FileT(TStruct) } /** - * Stops a file of type #G_FILE_TYPE_MOUNTABLE. + * Stops a file of type %G_FILE_TYPE_MOUNTABLE. * * If @cancellable is not %NULL, then the operation can be cancelled by * triggering the cancellable object from another thread. If the operation @@ -4134,7 +4196,7 @@ public template FileT(TStruct) } /** - * Unmounts a file of type #G_FILE_TYPE_MOUNTABLE. + * Unmounts a file of type %G_FILE_TYPE_MOUNTABLE. * * If @cancellable is not %NULL, then the operation can be cancelled by * triggering the cancellable object from another thread. If the operation diff --git a/generated/gtkd/gio/FilenameCompleter.d b/source/generated/gio/gio/FilenameCompleter.d similarity index 100% rename from generated/gtkd/gio/FilenameCompleter.d rename to source/generated/gio/gio/FilenameCompleter.d diff --git a/generated/gtkd/gio/FilterInputStream.d b/source/generated/gio/gio/FilterInputStream.d similarity index 100% rename from generated/gtkd/gio/FilterInputStream.d rename to source/generated/gio/gio/FilterInputStream.d diff --git a/generated/gtkd/gio/FilterOutputStream.d b/source/generated/gio/gio/FilterOutputStream.d similarity index 100% rename from generated/gtkd/gio/FilterOutputStream.d rename to source/generated/gio/gio/FilterOutputStream.d diff --git a/generated/gtkd/gio/IOExtension.d b/source/generated/gio/gio/IOExtension.d similarity index 100% rename from generated/gtkd/gio/IOExtension.d rename to source/generated/gio/gio/IOExtension.d diff --git a/generated/gtkd/gio/IOExtensionPoint.d b/source/generated/gio/gio/IOExtensionPoint.d similarity index 98% rename from generated/gtkd/gio/IOExtensionPoint.d rename to source/generated/gio/gio/IOExtensionPoint.d index 48868cc25..2d0fe6f4c 100644 --- a/generated/gtkd/gio/IOExtensionPoint.d +++ b/source/generated/gio/gio/IOExtensionPoint.d @@ -111,7 +111,7 @@ public class IOExtensionPoint * Gets the required type for @extension_point. * * Returns: the #GType that all implementations must have, - * or #G_TYPE_INVALID if the extension point has no required type + * or %G_TYPE_INVALID if the extension point has no required type */ public GType getRequiredType() { diff --git a/generated/gtkd/gio/IOModule.d b/source/generated/gio/gio/IOModule.d similarity index 100% rename from generated/gtkd/gio/IOModule.d rename to source/generated/gio/gio/IOModule.d diff --git a/generated/gtkd/gio/IOModuleScope.d b/source/generated/gio/gio/IOModuleScope.d similarity index 97% rename from generated/gtkd/gio/IOModuleScope.d rename to source/generated/gio/gio/IOModuleScope.d index c5081da80..6b3a5053e 100644 --- a/generated/gtkd/gio/IOModuleScope.d +++ b/source/generated/gio/gio/IOModuleScope.d @@ -29,7 +29,7 @@ public import gio.c.types; private import glib.ConstructionException; private import glib.Str; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -72,7 +72,7 @@ public class IOModuleScope ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_io_module_scope_free(gIOModuleScope); } diff --git a/generated/gtkd/gio/IOSchedulerJob.d b/source/generated/gio/gio/IOSchedulerJob.d similarity index 100% rename from generated/gtkd/gio/IOSchedulerJob.d rename to source/generated/gio/gio/IOSchedulerJob.d diff --git a/generated/gtkd/gio/IOStream.d b/source/generated/gio/gio/IOStream.d similarity index 100% rename from generated/gtkd/gio/IOStream.d rename to source/generated/gio/gio/IOStream.d diff --git a/generated/gtkd/gio/IconIF.d b/source/generated/gio/gio/IconIF.d similarity index 100% rename from generated/gtkd/gio/IconIF.d rename to source/generated/gio/gio/IconIF.d diff --git a/generated/gtkd/gio/IconT.d b/source/generated/gio/gio/IconT.d similarity index 100% rename from generated/gtkd/gio/IconT.d rename to source/generated/gio/gio/IconT.d diff --git a/generated/gtkd/gio/InetAddress.d b/source/generated/gio/gio/InetAddress.d similarity index 100% rename from generated/gtkd/gio/InetAddress.d rename to source/generated/gio/gio/InetAddress.d diff --git a/generated/gtkd/gio/InetAddressMask.d b/source/generated/gio/gio/InetAddressMask.d similarity index 100% rename from generated/gtkd/gio/InetAddressMask.d rename to source/generated/gio/gio/InetAddressMask.d diff --git a/generated/gtkd/gio/InetSocketAddress.d b/source/generated/gio/gio/InetSocketAddress.d similarity index 100% rename from generated/gtkd/gio/InetSocketAddress.d rename to source/generated/gio/gio/InetSocketAddress.d diff --git a/generated/gtkd/gio/InitableIF.d b/source/generated/gio/gio/InitableIF.d similarity index 100% rename from generated/gtkd/gio/InitableIF.d rename to source/generated/gio/gio/InitableIF.d diff --git a/generated/gtkd/gio/InitableT.d b/source/generated/gio/gio/InitableT.d similarity index 100% rename from generated/gtkd/gio/InitableT.d rename to source/generated/gio/gio/InitableT.d diff --git a/generated/gtkd/gio/InputStream.d b/source/generated/gio/gio/InputStream.d similarity index 100% rename from generated/gtkd/gio/InputStream.d rename to source/generated/gio/gio/InputStream.d diff --git a/generated/gtkd/gio/ListModelIF.d b/source/generated/gio/gio/ListModelIF.d similarity index 89% rename from generated/gtkd/gio/ListModelIF.d rename to source/generated/gio/gio/ListModelIF.d index 929e9c0bc..62f256516 100644 --- a/generated/gtkd/gio/ListModelIF.d +++ b/source/generated/gio/gio/ListModelIF.d @@ -95,11 +95,15 @@ public interface ListModelIF{ } /** - * Get the item at @position. If @position is greater than the number of - * items in @list, %NULL is returned. + * Get the item at @position. + * + * If @position is greater than the number of items in @list, %NULL is + * returned. * * %NULL is never returned for an index that is smaller than the length - * of the list. See g_list_model_get_n_items(). + * of the list. + * + * See also: g_list_model_get_n_items() * * Params: * position = the position of the item to fetch @@ -111,9 +115,11 @@ public interface ListModelIF{ public void* getItem(uint position); /** - * Gets the type of the items in @list. All items returned from - * g_list_model_get_type() are of that type or a subtype, or are an - * implementation of that interface. + * Gets the type of the items in @list. + * + * All items returned from g_list_model_get_item() are of the type + * returned by this function, or a subtype, or if the type is an + * interface, they are an implementation of that interface. * * The item type of a #GListModel can not change during the life of the * model. @@ -138,11 +144,18 @@ public interface ListModelIF{ public uint getNItems(); /** - * Get the item at @position. If @position is greater than the number of - * items in @list, %NULL is returned. + * Get the item at @position. + * + * If @position is greater than the number of items in @list, %NULL is + * returned. * * %NULL is never returned for an index that is smaller than the length - * of the list. See g_list_model_get_n_items(). + * of the list. + * + * This function is meant to be used by language bindings in place + * of g_list_model_get_item(). + * + * See also: g_list_model_get_n_items() * * Params: * position = the position of the item to fetch @@ -189,7 +202,7 @@ public interface ListModelIF{ * from @list. At @position, @removed items were removed and @added * items were added in their place. * - * Note: If @removed != @added, the positions of all later items + * Note: If `removed != added`, the positions of all later items * in the model change. * * Params: diff --git a/generated/gtkd/gio/ListModelT.d b/source/generated/gio/gio/ListModelT.d similarity index 90% rename from generated/gtkd/gio/ListModelT.d rename to source/generated/gio/gio/ListModelT.d index 579fa34e3..54b55afe9 100644 --- a/generated/gtkd/gio/ListModelT.d +++ b/source/generated/gio/gio/ListModelT.d @@ -92,11 +92,15 @@ public template ListModelT(TStruct) /** - * Get the item at @position. If @position is greater than the number of - * items in @list, %NULL is returned. + * Get the item at @position. + * + * If @position is greater than the number of items in @list, %NULL is + * returned. * * %NULL is never returned for an index that is smaller than the length - * of the list. See g_list_model_get_n_items(). + * of the list. + * + * See also: g_list_model_get_n_items() * * Params: * position = the position of the item to fetch @@ -111,9 +115,11 @@ public template ListModelT(TStruct) } /** - * Gets the type of the items in @list. All items returned from - * g_list_model_get_type() are of that type or a subtype, or are an - * implementation of that interface. + * Gets the type of the items in @list. + * + * All items returned from g_list_model_get_item() are of the type + * returned by this function, or a subtype, or if the type is an + * interface, they are an implementation of that interface. * * The item type of a #GListModel can not change during the life of the * model. @@ -144,11 +150,18 @@ public template ListModelT(TStruct) } /** - * Get the item at @position. If @position is greater than the number of - * items in @list, %NULL is returned. + * Get the item at @position. + * + * If @position is greater than the number of items in @list, %NULL is + * returned. * * %NULL is never returned for an index that is smaller than the length - * of the list. See g_list_model_get_n_items(). + * of the list. + * + * This function is meant to be used by language bindings in place + * of g_list_model_get_item(). + * + * See also: g_list_model_get_n_items() * * Params: * position = the position of the item to fetch @@ -208,7 +221,7 @@ public template ListModelT(TStruct) * from @list. At @position, @removed items were removed and @added * items were added in their place. * - * Note: If @removed != @added, the positions of all later items + * Note: If `removed != added`, the positions of all later items * in the model change. * * Params: diff --git a/generated/gtkd/gio/ListStore.d b/source/generated/gio/gio/ListStore.d similarity index 100% rename from generated/gtkd/gio/ListStore.d rename to source/generated/gio/gio/ListStore.d diff --git a/generated/gtkd/gio/LoadableIconIF.d b/source/generated/gio/gio/LoadableIconIF.d similarity index 100% rename from generated/gtkd/gio/LoadableIconIF.d rename to source/generated/gio/gio/LoadableIconIF.d diff --git a/generated/gtkd/gio/LoadableIconT.d b/source/generated/gio/gio/LoadableIconT.d similarity index 100% rename from generated/gtkd/gio/LoadableIconT.d rename to source/generated/gio/gio/LoadableIconT.d diff --git a/generated/gtkd/gio/MemoryInputStream.d b/source/generated/gio/gio/MemoryInputStream.d similarity index 100% rename from generated/gtkd/gio/MemoryInputStream.d rename to source/generated/gio/gio/MemoryInputStream.d diff --git a/generated/gtkd/gio/MemoryMonitorIF.d b/source/generated/gio/gio/MemoryMonitorIF.d similarity index 99% rename from generated/gtkd/gio/MemoryMonitorIF.d rename to source/generated/gio/gio/MemoryMonitorIF.d index 3b0979737..364f7d1b0 100644 --- a/generated/gtkd/gio/MemoryMonitorIF.d +++ b/source/generated/gio/gio/MemoryMonitorIF.d @@ -41,6 +41,7 @@ private import std.algorithm; * There is also an implementation for use inside Flatpak sandboxes. * * Possible actions to take when the signal is received are: + * * - Free caches * - Save files that haven't been looked at in a while to disk, ready to be reopened when needed * - Run a garbage collection cycle diff --git a/generated/gtkd/gio/MemoryMonitorT.d b/source/generated/gio/gio/MemoryMonitorT.d similarity index 99% rename from generated/gtkd/gio/MemoryMonitorT.d rename to source/generated/gio/gio/MemoryMonitorT.d index dab070412..f6984e0e5 100644 --- a/generated/gtkd/gio/MemoryMonitorT.d +++ b/source/generated/gio/gio/MemoryMonitorT.d @@ -41,6 +41,7 @@ public import std.algorithm; * There is also an implementation for use inside Flatpak sandboxes. * * Possible actions to take when the signal is received are: + * * - Free caches * - Save files that haven't been looked at in a while to disk, ready to be reopened when needed * - Run a garbage collection cycle diff --git a/generated/gtkd/gio/MemoryOutputStream.d b/source/generated/gio/gio/MemoryOutputStream.d similarity index 100% rename from generated/gtkd/gio/MemoryOutputStream.d rename to source/generated/gio/gio/MemoryOutputStream.d diff --git a/generated/gtkd/gio/Menu.d b/source/generated/gio/gio/Menu.d similarity index 100% rename from generated/gtkd/gio/Menu.d rename to source/generated/gio/gio/Menu.d diff --git a/generated/gtkd/gio/MenuAttributeIter.d b/source/generated/gio/gio/MenuAttributeIter.d similarity index 100% rename from generated/gtkd/gio/MenuAttributeIter.d rename to source/generated/gio/gio/MenuAttributeIter.d diff --git a/generated/gtkd/gio/MenuItem.d b/source/generated/gio/gio/MenuItem.d similarity index 100% rename from generated/gtkd/gio/MenuItem.d rename to source/generated/gio/gio/MenuItem.d diff --git a/generated/gtkd/gio/MenuLinkIter.d b/source/generated/gio/gio/MenuLinkIter.d similarity index 100% rename from generated/gtkd/gio/MenuLinkIter.d rename to source/generated/gio/gio/MenuLinkIter.d diff --git a/generated/gtkd/gio/MenuModel.d b/source/generated/gio/gio/MenuModel.d similarity index 100% rename from generated/gtkd/gio/MenuModel.d rename to source/generated/gio/gio/MenuModel.d diff --git a/generated/gtkd/gio/MountIF.d b/source/generated/gio/gio/MountIF.d similarity index 100% rename from generated/gtkd/gio/MountIF.d rename to source/generated/gio/gio/MountIF.d diff --git a/generated/gtkd/gio/MountOperation.d b/source/generated/gio/gio/MountOperation.d similarity index 100% rename from generated/gtkd/gio/MountOperation.d rename to source/generated/gio/gio/MountOperation.d diff --git a/generated/gtkd/gio/MountT.d b/source/generated/gio/gio/MountT.d similarity index 100% rename from generated/gtkd/gio/MountT.d rename to source/generated/gio/gio/MountT.d diff --git a/generated/gtkd/gio/NativeSocketAddress.d b/source/generated/gio/gio/NativeSocketAddress.d similarity index 100% rename from generated/gtkd/gio/NativeSocketAddress.d rename to source/generated/gio/gio/NativeSocketAddress.d diff --git a/generated/gtkd/gio/NativeVolumeMonitor.d b/source/generated/gio/gio/NativeVolumeMonitor.d similarity index 100% rename from generated/gtkd/gio/NativeVolumeMonitor.d rename to source/generated/gio/gio/NativeVolumeMonitor.d diff --git a/generated/gtkd/gio/NetworkAddress.d b/source/generated/gio/gio/NetworkAddress.d similarity index 100% rename from generated/gtkd/gio/NetworkAddress.d rename to source/generated/gio/gio/NetworkAddress.d diff --git a/generated/gtkd/gio/NetworkMonitorIF.d b/source/generated/gio/gio/NetworkMonitorIF.d similarity index 100% rename from generated/gtkd/gio/NetworkMonitorIF.d rename to source/generated/gio/gio/NetworkMonitorIF.d diff --git a/generated/gtkd/gio/NetworkMonitorT.d b/source/generated/gio/gio/NetworkMonitorT.d similarity index 100% rename from generated/gtkd/gio/NetworkMonitorT.d rename to source/generated/gio/gio/NetworkMonitorT.d diff --git a/generated/gtkd/gio/NetworkService.d b/source/generated/gio/gio/NetworkService.d similarity index 100% rename from generated/gtkd/gio/NetworkService.d rename to source/generated/gio/gio/NetworkService.d diff --git a/generated/gtkd/gio/Notification.d b/source/generated/gio/gio/Notification.d similarity index 84% rename from generated/gtkd/gio/Notification.d rename to source/generated/gio/gio/Notification.d index 06aeb5c3a..37fb8c2cb 100644 --- a/generated/gtkd/gio/Notification.d +++ b/source/generated/gio/gio/Notification.d @@ -47,6 +47,29 @@ private import gobject.ObjectG; * not running, applications using #GNotification should be able to be * started as a D-Bus service, using #GApplication. * + * In order for #GNotification to work, the application must have installed + * a `.desktop` file. For example: + * |[ + * [Desktop Entry] + * Name=Test Application + * Comment=Description of what Test Application does + * Exec=gnome-test-application + * Icon=org.gnome.TestApplication + * Terminal=false + * Type=Application + * Categories=GNOME;GTK;TestApplication Category; + * StartupNotify=true + * DBusActivatable=true + * X-GNOME-UsesNotifications=true + * ]| + * + * The `X-GNOME-UsesNotifications` key indicates to GNOME Control Center + * that this application uses notifications, so it can be listed in the + * Control Center’s ‘Notifications’ panel. + * + * The `.desktop` file must be named as `org.gnome.TestApplication.desktop`, + * where `org.gnome.TestApplication` is the ID passed to g_application_new(). + * * User interaction with a notification (either the default action, or * buttons) must be associated with actions on the application (ie: * "app." actions). It is not possible to route user interaction @@ -175,6 +198,24 @@ public class Notification : ObjectG g_notification_set_body(gNotification, Str.toStringz(body_)); } + /** + * Sets the type of @notification to @category. Categories have a main + * type like `email`, `im` or `device` and can have a detail separated + * by a `.`, e.g. `im.received` or `email.arrived`. Setting the category + * helps the notification server to select proper feedback to the user. + * + * Standard categories are [listed in the specification](https://specifications.freedesktop.org/notification-spec/latest/ar01s06.html). + * + * Params: + * category = the category for @notification, or %NULL for no category + * + * Since: 2.70 + */ + public void setCategory(string category) + { + g_notification_set_category(gNotification, Str.toStringz(category)); + } + /** * Sets the default action of @notification to @detailed_action. This * action is activated when the notification is clicked on. diff --git a/generated/gtkd/gio/OutputStream.d b/source/generated/gio/gio/OutputStream.d similarity index 100% rename from generated/gtkd/gio/OutputStream.d rename to source/generated/gio/gio/OutputStream.d diff --git a/generated/gtkd/gio/Permission.d b/source/generated/gio/gio/Permission.d similarity index 100% rename from generated/gtkd/gio/Permission.d rename to source/generated/gio/gio/Permission.d diff --git a/generated/gtkd/gio/PollableInputStreamIF.d b/source/generated/gio/gio/PollableInputStreamIF.d similarity index 96% rename from generated/gtkd/gio/PollableInputStreamIF.d rename to source/generated/gio/gio/PollableInputStreamIF.d index 4ca3d13b3..bf915bdfc 100644 --- a/generated/gtkd/gio/PollableInputStreamIF.d +++ b/source/generated/gio/gio/PollableInputStreamIF.d @@ -121,8 +121,8 @@ public interface PollableInputStreamIF{ * to having been cancelled. * * Params: - * buffer = a buffer to - * read data into (which should be at least @count bytes long). + * buffer = a + * buffer to read data into (which should be at least @count bytes long). * cancellable = a #GCancellable, or %NULL * * Returns: the number of bytes read, or -1 on error (including @@ -130,5 +130,5 @@ public interface PollableInputStreamIF{ * * Throws: GException on failure. */ - public ptrdiff_t readNonblocking(ubyte[] buffer, Cancellable cancellable); + public ptrdiff_t readNonblocking(out ubyte[] buffer, Cancellable cancellable); } diff --git a/generated/gtkd/gio/PollableInputStreamT.d b/source/generated/gio/gio/PollableInputStreamT.d similarity index 92% rename from generated/gtkd/gio/PollableInputStreamT.d rename to source/generated/gio/gio/PollableInputStreamT.d index 7afc59841..cc4c1bfc0 100644 --- a/generated/gtkd/gio/PollableInputStreamT.d +++ b/source/generated/gio/gio/PollableInputStreamT.d @@ -134,8 +134,8 @@ public template PollableInputStreamT(TStruct) * to having been cancelled. * * Params: - * buffer = a buffer to - * read data into (which should be at least @count bytes long). + * buffer = a + * buffer to read data into (which should be at least @count bytes long). * cancellable = a #GCancellable, or %NULL * * Returns: the number of bytes read, or -1 on error (including @@ -143,17 +143,20 @@ public template PollableInputStreamT(TStruct) * * Throws: GException on failure. */ - public ptrdiff_t readNonblocking(ubyte[] buffer, Cancellable cancellable) + public ptrdiff_t readNonblocking(out ubyte[] buffer, Cancellable cancellable) { + ubyte* outbuffer; GError* err = null; - auto __p = g_pollable_input_stream_read_nonblocking(getPollableInputStreamStruct(), buffer.ptr, cast(size_t)buffer.length, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err); + auto __p = g_pollable_input_stream_read_nonblocking(getPollableInputStreamStruct(), cast(void*)&outbuffer, cast(size_t)buffer.length, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err); if (err !is null) { throw new GException( new ErrorG(err) ); } + buffer = outbuffer[0 .. cast(size_t)buffer.length]; + return __p; } } diff --git a/generated/gtkd/gio/PollableOutputStreamIF.d b/source/generated/gio/gio/PollableOutputStreamIF.d similarity index 100% rename from generated/gtkd/gio/PollableOutputStreamIF.d rename to source/generated/gio/gio/PollableOutputStreamIF.d diff --git a/generated/gtkd/gio/PollableOutputStreamT.d b/source/generated/gio/gio/PollableOutputStreamT.d similarity index 100% rename from generated/gtkd/gio/PollableOutputStreamT.d rename to source/generated/gio/gio/PollableOutputStreamT.d diff --git a/generated/gtkd/gio/PollableUtils.d b/source/generated/gio/gio/PollableUtils.d similarity index 100% rename from generated/gtkd/gio/PollableUtils.d rename to source/generated/gio/gio/PollableUtils.d diff --git a/source/generated/gio/gio/PowerProfileMonitorIF.d b/source/generated/gio/gio/PowerProfileMonitorIF.d new file mode 100644 index 000000000..d598fbed5 --- /dev/null +++ b/source/generated/gio/gio/PowerProfileMonitorIF.d @@ -0,0 +1,104 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module gio.PowerProfileMonitorIF; + +private import gio.PowerProfileMonitorIF; +private import gio.c.functions; +public import gio.c.types; +private import gobject.ObjectG; + + +/** + * #GPowerProfileMonitor makes it possible for applications as well as OS components + * to monitor system power profiles and act upon them. It currently only exports + * whether the system is in “Power Saver” mode (known as “Low Power” mode on + * some systems). + * + * When in “Low Power” mode, it is recommended that applications: + * - disabling automatic downloads + * - reduce the rate of refresh from online sources such as calendar or + * email synchronisation + * - if the application has expensive visual effects, reduce them + * + * It is also likely that OS components providing services to applications will + * lower their own background activity, for the sake of the system. + * + * There are a variety of tools that exist for power consumption analysis, but those + * usually depend on the OS and hardware used. On Linux, one could use `upower` to + * monitor the battery discharge rate, `powertop` to check on the background activity + * or activity at all), `sysprof` to inspect CPU usage, and `intel_gpu_time` to + * profile GPU usage. + * + * Don't forget to disconnect the #GPowerProfileMonitor::notify::power-saver-enabled + * signal, and unref the #GPowerProfileMonitor itself when exiting. + * + * Since: 2.70 + */ +public interface PowerProfileMonitorIF{ + /** Get the main Gtk struct */ + public GPowerProfileMonitor* getPowerProfileMonitorStruct(bool transferOwnership = false); + + /** the main Gtk struct as a void* */ + protected void* getStruct(); + + + /** */ + public static GType getType() + { + return g_power_profile_monitor_get_type(); + } + + /** + * Gets a reference to the default #GPowerProfileMonitor for the system. + * + * Returns: a new reference to the default #GPowerProfileMonitor + * + * Since: 2.70 + */ + public static PowerProfileMonitorIF dupDefault() + { + auto __p = g_power_profile_monitor_dup_default(); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PowerProfileMonitorIF)(cast(GPowerProfileMonitor*) __p, true); + } + + /** + * Gets whether the system is in “Power Saver” mode. + * + * You are expected to listen to the + * #GPowerProfileMonitor::notify::power-saver-enabled signal to know when the profile has + * changed. + * + * Returns: Whether the system is in “Power Saver” mode. + * + * Since: 2.70 + */ + public bool getPowerSaverEnabled(); +} diff --git a/source/generated/gio/gio/PowerProfileMonitorT.d b/source/generated/gio/gio/PowerProfileMonitorT.d new file mode 100644 index 000000000..092cd4075 --- /dev/null +++ b/source/generated/gio/gio/PowerProfileMonitorT.d @@ -0,0 +1,85 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module gio.PowerProfileMonitorT; + +public import gio.PowerProfileMonitorIF; +public import gio.c.functions; +public import gio.c.types; +public import gobject.ObjectG; + + +/** + * #GPowerProfileMonitor makes it possible for applications as well as OS components + * to monitor system power profiles and act upon them. It currently only exports + * whether the system is in “Power Saver” mode (known as “Low Power” mode on + * some systems). + * + * When in “Low Power” mode, it is recommended that applications: + * - disabling automatic downloads + * - reduce the rate of refresh from online sources such as calendar or + * email synchronisation + * - if the application has expensive visual effects, reduce them + * + * It is also likely that OS components providing services to applications will + * lower their own background activity, for the sake of the system. + * + * There are a variety of tools that exist for power consumption analysis, but those + * usually depend on the OS and hardware used. On Linux, one could use `upower` to + * monitor the battery discharge rate, `powertop` to check on the background activity + * or activity at all), `sysprof` to inspect CPU usage, and `intel_gpu_time` to + * profile GPU usage. + * + * Don't forget to disconnect the #GPowerProfileMonitor::notify::power-saver-enabled + * signal, and unref the #GPowerProfileMonitor itself when exiting. + * + * Since: 2.70 + */ +public template PowerProfileMonitorT(TStruct) +{ + /** Get the main Gtk struct */ + public GPowerProfileMonitor* getPowerProfileMonitorStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return cast(GPowerProfileMonitor*)getStruct(); + } + + + /** + * Gets whether the system is in “Power Saver” mode. + * + * You are expected to listen to the + * #GPowerProfileMonitor::notify::power-saver-enabled signal to know when the profile has + * changed. + * + * Returns: Whether the system is in “Power Saver” mode. + * + * Since: 2.70 + */ + public bool getPowerSaverEnabled() + { + return g_power_profile_monitor_get_power_saver_enabled(getPowerProfileMonitorStruct()) != 0; + } +} diff --git a/generated/gtkd/gio/PropertyAction.d b/source/generated/gio/gio/PropertyAction.d similarity index 100% rename from generated/gtkd/gio/PropertyAction.d rename to source/generated/gio/gio/PropertyAction.d diff --git a/generated/gtkd/gio/ProxyAddress.d b/source/generated/gio/gio/ProxyAddress.d similarity index 100% rename from generated/gtkd/gio/ProxyAddress.d rename to source/generated/gio/gio/ProxyAddress.d diff --git a/generated/gtkd/gio/ProxyAddressEnumerator.d b/source/generated/gio/gio/ProxyAddressEnumerator.d similarity index 100% rename from generated/gtkd/gio/ProxyAddressEnumerator.d rename to source/generated/gio/gio/ProxyAddressEnumerator.d diff --git a/generated/gtkd/gio/ProxyIF.d b/source/generated/gio/gio/ProxyIF.d similarity index 100% rename from generated/gtkd/gio/ProxyIF.d rename to source/generated/gio/gio/ProxyIF.d diff --git a/generated/gtkd/gio/ProxyResolverIF.d b/source/generated/gio/gio/ProxyResolverIF.d similarity index 100% rename from generated/gtkd/gio/ProxyResolverIF.d rename to source/generated/gio/gio/ProxyResolverIF.d diff --git a/generated/gtkd/gio/ProxyResolverT.d b/source/generated/gio/gio/ProxyResolverT.d similarity index 100% rename from generated/gtkd/gio/ProxyResolverT.d rename to source/generated/gio/gio/ProxyResolverT.d diff --git a/generated/gtkd/gio/ProxyT.d b/source/generated/gio/gio/ProxyT.d similarity index 100% rename from generated/gtkd/gio/ProxyT.d rename to source/generated/gio/gio/ProxyT.d diff --git a/generated/gtkd/gio/RemoteActionGroupIF.d b/source/generated/gio/gio/RemoteActionGroupIF.d similarity index 100% rename from generated/gtkd/gio/RemoteActionGroupIF.d rename to source/generated/gio/gio/RemoteActionGroupIF.d diff --git a/generated/gtkd/gio/RemoteActionGroupT.d b/source/generated/gio/gio/RemoteActionGroupT.d similarity index 100% rename from generated/gtkd/gio/RemoteActionGroupT.d rename to source/generated/gio/gio/RemoteActionGroupT.d diff --git a/generated/gtkd/gio/Resolver.d b/source/generated/gio/gio/Resolver.d similarity index 99% rename from generated/gtkd/gio/Resolver.d rename to source/generated/gio/gio/Resolver.d index 294eb1235..b3a1e5c31 100644 --- a/generated/gtkd/gio/Resolver.d +++ b/source/generated/gio/gio/Resolver.d @@ -342,7 +342,7 @@ public class Resolver : ObjectG /** * This differs from g_resolver_lookup_by_name() in that you can modify * the lookup behavior with @flags. For example this can be used to limit - * results with #G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY. + * results with %G_RESOLVER_NAME_LOOKUP_FLAGS_IPV4_ONLY. * * Params: * hostname = the hostname to look up diff --git a/generated/gtkd/gio/Resource.d b/source/generated/gio/gio/Resource.d similarity index 99% rename from generated/gtkd/gio/Resource.d rename to source/generated/gio/gio/Resource.d index 2a99d1f8c..ddbab1e65 100644 --- a/generated/gtkd/gio/Resource.d +++ b/source/generated/gio/gio/Resource.d @@ -34,7 +34,7 @@ private import glib.GException; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -208,7 +208,7 @@ public class Resource ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_resource_unref(gResource); } diff --git a/generated/gtkd/gio/SeekableIF.d b/source/generated/gio/gio/SeekableIF.d similarity index 97% rename from generated/gtkd/gio/SeekableIF.d rename to source/generated/gio/gio/SeekableIF.d index 8245c2831..10475770a 100644 --- a/generated/gtkd/gio/SeekableIF.d +++ b/source/generated/gio/gio/SeekableIF.d @@ -108,7 +108,8 @@ public interface SeekableIF{ /** * Tells the current position within the stream. * - * Returns: the offset from the beginning of the buffer. + * Returns: the (positive or zero) offset from the beginning of the + * buffer, zero if the target is not seekable. */ public long tell(); diff --git a/generated/gtkd/gio/SeekableT.d b/source/generated/gio/gio/SeekableT.d similarity index 97% rename from generated/gtkd/gio/SeekableT.d rename to source/generated/gio/gio/SeekableT.d index c1594e95b..14bf243e3 100644 --- a/generated/gtkd/gio/SeekableT.d +++ b/source/generated/gio/gio/SeekableT.d @@ -123,7 +123,8 @@ public template SeekableT(TStruct) /** * Tells the current position within the stream. * - * Returns: the offset from the beginning of the buffer. + * Returns: the (positive or zero) offset from the beginning of the + * buffer, zero if the target is not seekable. */ public long tell() { diff --git a/generated/gtkd/gio/Settings.d b/source/generated/gio/gio/Settings.d similarity index 98% rename from generated/gtkd/gio/Settings.d rename to source/generated/gio/gio/Settings.d index 8db79d0d1..0e52c8d43 100644 --- a/generated/gtkd/gio/Settings.d +++ b/source/generated/gio/gio/Settings.d @@ -121,7 +121,7 @@ private import std.algorithm; * utility. The input is a schema description in an XML format. * * A DTD for the gschema XML format can be found here: - * [gschema.dtd](https://git.gnome.org/browse/glib/tree/gio/gschema.dtd) + * [gschema.dtd](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/gschema.dtd) * * The [glib-compile-schemas][glib-compile-schemas] tool expects schema * files to have the extension `.gschema.xml`. @@ -248,7 +248,7 @@ private import std.algorithm; * looks for a boolean property with the name "sensitivity" and * automatically binds it to the writability of the bound setting. * If this 'magic' gets in the way, it can be suppressed with the - * #G_SETTINGS_BIND_NO_SENSITIVITY flag. + * %G_SETTINGS_BIND_NO_SENSITIVITY flag. * * ## Relocatable schemas # {#gsettings-relocatable} * @@ -550,9 +550,9 @@ public class Settings : ObjectG * * Deprecated: Use g_settings_schema_source_list_schemas() instead * - * Returns: a list of relocatable - * #GSettings schemas that are available, in no defined order. The list must - * not be modified or freed. + * Returns: a list of + * relocatable #GSettings schemas that are available, in no defined order. + * The list must not be modified or freed. * * Since: 2.28 */ @@ -569,9 +569,9 @@ public class Settings : ObjectG * a particular schema, use g_settings_schema_source_lookup() instead * of your whole loop. * - * Returns: a list of #GSettings - * schemas that are available, in no defined order. The list must not be - * modified or freed. + * Returns: a list of + * #GSettings schemas that are available, in no defined order. The list + * must not be modified or freed. * * Since: 2.26 */ @@ -797,7 +797,10 @@ public class Settings : ObjectG * @settings. * * The schema for the child settings object must have been declared - * in the schema of @settings using a element. + * in the schema of @settings using a `` element. + * + * The created child settings object will inherit the #GSettings:delay-apply + * mode from @settings. * * Params: * name = the name of the child schema @@ -1229,8 +1232,8 @@ public class Settings : ObjectG * You should free the return value with g_strfreev() when you are done * with it. * - * Returns: a list of the children on - * @settings, in no defined order + * Returns: a list of the children + * on @settings, in no defined order */ public string[] listChildren() { @@ -1252,8 +1255,8 @@ public class Settings : ObjectG * * Deprecated: Use g_settings_schema_list_keys() instead. * - * Returns: a list of the keys on - * @settings, in no defined order + * Returns: a list + * of the keys on @settings, in no defined order */ public string[] listKeys() { diff --git a/generated/gtkd/gio/SettingsBackend.d b/source/generated/gio/gio/SettingsBackend.d similarity index 99% rename from generated/gtkd/gio/SettingsBackend.d rename to source/generated/gio/gio/SettingsBackend.d index 5af50a988..b44e54b9a 100644 --- a/generated/gtkd/gio/SettingsBackend.d +++ b/source/generated/gio/gio/SettingsBackend.d @@ -38,7 +38,7 @@ private import gobject.ObjectG; * non-strictly-typed data that is stored in a hierarchy. To implement * an alternative storage backend for #GSettings, you need to implement * the #GSettingsBackend interface and then make it implement the - * extension point #G_SETTINGS_BACKEND_EXTENSION_POINT_NAME. + * extension point %G_SETTINGS_BACKEND_EXTENSION_POINT_NAME. * * The interface defines methods for reading and writing values, a * method for determining if writing of certain values will fail diff --git a/generated/gtkd/gio/SettingsSchema.d b/source/generated/gio/gio/SettingsSchema.d similarity index 97% rename from generated/gtkd/gio/SettingsSchema.d rename to source/generated/gio/gio/SettingsSchema.d index 90b42f54b..390eace19 100644 --- a/generated/gtkd/gio/SettingsSchema.d +++ b/source/generated/gio/gio/SettingsSchema.d @@ -30,7 +30,7 @@ public import gio.c.types; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -158,7 +158,7 @@ public class SettingsSchema ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_settings_schema_unref(gSettingsSchema); } @@ -245,8 +245,8 @@ public class SettingsSchema * You should free the return value with g_strfreev() when you are done * with it. * - * Returns: a list of the children on - * @settings, in no defined order + * Returns: a list of + * the children on @settings, in no defined order * * Since: 2.44 */ @@ -265,8 +265,8 @@ public class SettingsSchema * (since you should already know what keys are in your schema). This * function is intended for introspection reasons. * - * Returns: a list of the keys on - * @schema, in no defined order + * Returns: a list + * of the keys on @schema, in no defined order * * Since: 2.46 */ diff --git a/generated/gtkd/gio/SettingsSchemaKey.d b/source/generated/gio/gio/SettingsSchemaKey.d similarity index 98% rename from generated/gtkd/gio/SettingsSchemaKey.d rename to source/generated/gio/gio/SettingsSchemaKey.d index 1f2490b7a..194f6967f 100644 --- a/generated/gtkd/gio/SettingsSchemaKey.d +++ b/source/generated/gio/gio/SettingsSchemaKey.d @@ -31,7 +31,7 @@ private import glib.Variant; private import glib.VariantType; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -69,7 +69,7 @@ public class SettingsSchemaKey ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_settings_schema_key_unref(gSettingsSchemaKey); } @@ -237,10 +237,10 @@ public class SettingsSchemaKey } /** - * Checks if the given @value is of the correct type and within the + * Checks if the given @value is within the * permitted range for @key. * - * It is a programmer error if @value is not of the correct type -- you + * It is a programmer error if @value is not of the correct type — you * must check for this first. * * Params: diff --git a/generated/gtkd/gio/SettingsSchemaSource.d b/source/generated/gio/gio/SettingsSchemaSource.d similarity index 98% rename from generated/gtkd/gio/SettingsSchemaSource.d rename to source/generated/gio/gio/SettingsSchemaSource.d index 6e45fd45a..1297c834c 100644 --- a/generated/gtkd/gio/SettingsSchemaSource.d +++ b/source/generated/gio/gio/SettingsSchemaSource.d @@ -32,7 +32,7 @@ private import glib.ErrorG; private import glib.GException; private import glib.Str; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -71,7 +71,7 @@ public class SettingsSchemaSource ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_settings_schema_source_unref(gSettingsSchemaSource); } diff --git a/generated/gtkd/gio/SimpleAction.d b/source/generated/gio/gio/SimpleAction.d similarity index 100% rename from generated/gtkd/gio/SimpleAction.d rename to source/generated/gio/gio/SimpleAction.d diff --git a/generated/gtkd/gio/SimpleActionGroup.d b/source/generated/gio/gio/SimpleActionGroup.d similarity index 100% rename from generated/gtkd/gio/SimpleActionGroup.d rename to source/generated/gio/gio/SimpleActionGroup.d diff --git a/generated/gtkd/gio/SimpleAsyncResult.d b/source/generated/gio/gio/SimpleAsyncResult.d similarity index 99% rename from generated/gtkd/gio/SimpleAsyncResult.d rename to source/generated/gio/gio/SimpleAsyncResult.d index 1abcd69f3..24f565d5c 100644 --- a/generated/gtkd/gio/SimpleAsyncResult.d +++ b/source/generated/gio/gio/SimpleAsyncResult.d @@ -499,7 +499,7 @@ public class SimpleAsyncResult : ObjectG, AsyncResultIF * Deprecated: Use #GTask and g_task_return_error() instead. * * Params: - * domain = a #GQuark (usually #G_IO_ERROR). + * domain = a #GQuark (usually %G_IO_ERROR). * code = an error code. * format = a formatted error reporting string. * args = va_list of arguments. diff --git a/generated/gtkd/gio/SimpleIOStream.d b/source/generated/gio/gio/SimpleIOStream.d similarity index 100% rename from generated/gtkd/gio/SimpleIOStream.d rename to source/generated/gio/gio/SimpleIOStream.d diff --git a/generated/gtkd/gio/SimplePermission.d b/source/generated/gio/gio/SimplePermission.d similarity index 100% rename from generated/gtkd/gio/SimplePermission.d rename to source/generated/gio/gio/SimplePermission.d diff --git a/generated/gtkd/gio/SimpleProxyResolver.d b/source/generated/gio/gio/SimpleProxyResolver.d similarity index 100% rename from generated/gtkd/gio/SimpleProxyResolver.d rename to source/generated/gio/gio/SimpleProxyResolver.d diff --git a/generated/gtkd/gio/Socket.d b/source/generated/gio/gio/Socket.d similarity index 100% rename from generated/gtkd/gio/Socket.d rename to source/generated/gio/gio/Socket.d diff --git a/generated/gtkd/gio/SocketAddress.d b/source/generated/gio/gio/SocketAddress.d similarity index 100% rename from generated/gtkd/gio/SocketAddress.d rename to source/generated/gio/gio/SocketAddress.d diff --git a/generated/gtkd/gio/SocketAddressEnumerator.d b/source/generated/gio/gio/SocketAddressEnumerator.d similarity index 100% rename from generated/gtkd/gio/SocketAddressEnumerator.d rename to source/generated/gio/gio/SocketAddressEnumerator.d diff --git a/generated/gtkd/gio/SocketClient.d b/source/generated/gio/gio/SocketClient.d similarity index 98% rename from generated/gtkd/gio/SocketClient.d rename to source/generated/gio/gio/SocketClient.d index 18afec155..7b6568364 100644 --- a/generated/gtkd/gio/SocketClient.d +++ b/source/generated/gio/gio/SocketClient.d @@ -694,6 +694,12 @@ public class SocketClient : ObjectG * Gets the TLS validation flags used creating TLS connections via * @client. * + * This function does not work as originally designed and is impossible + * to use correctly. See #GSocketClient:tls-validation-flags for more + * information. + * + * Deprecated: Do not attempt to ignore validation errors. + * * Returns: the TLS validation flags * * Since: 2.28 @@ -868,6 +874,12 @@ public class SocketClient : ObjectG * Sets the TLS validation flags used when creating TLS connections * via @client. The default value is %G_TLS_CERTIFICATE_VALIDATE_ALL. * + * This function does not work as originally designed and is impossible + * to use correctly. See #GSocketClient:tls-validation-flags for more + * information. + * + * Deprecated: Do not attempt to ignore validation errors. + * * Params: * flags = the validation flags * diff --git a/generated/gtkd/gio/SocketConnectableIF.d b/source/generated/gio/gio/SocketConnectableIF.d similarity index 100% rename from generated/gtkd/gio/SocketConnectableIF.d rename to source/generated/gio/gio/SocketConnectableIF.d diff --git a/generated/gtkd/gio/SocketConnectableT.d b/source/generated/gio/gio/SocketConnectableT.d similarity index 100% rename from generated/gtkd/gio/SocketConnectableT.d rename to source/generated/gio/gio/SocketConnectableT.d diff --git a/generated/gtkd/gio/SocketConnection.d b/source/generated/gio/gio/SocketConnection.d similarity index 100% rename from generated/gtkd/gio/SocketConnection.d rename to source/generated/gio/gio/SocketConnection.d diff --git a/generated/gtkd/gio/SocketControlMessage.d b/source/generated/gio/gio/SocketControlMessage.d similarity index 100% rename from generated/gtkd/gio/SocketControlMessage.d rename to source/generated/gio/gio/SocketControlMessage.d diff --git a/generated/gtkd/gio/SocketListener.d b/source/generated/gio/gio/SocketListener.d similarity index 99% rename from generated/gtkd/gio/SocketListener.d rename to source/generated/gio/gio/SocketListener.d index 0c197a64d..f46e5b776 100644 --- a/generated/gtkd/gio/SocketListener.d +++ b/source/generated/gio/gio/SocketListener.d @@ -164,7 +164,7 @@ public class SocketListener : ObjectG * This is the asynchronous version of g_socket_listener_accept(). * * When the operation is finished @callback will be - * called. You can then call g_socket_listener_accept_socket() + * called. You can then call g_socket_listener_accept_finish() * to get the result of the operation. * * Params: diff --git a/generated/gtkd/gio/SocketService.d b/source/generated/gio/gio/SocketService.d similarity index 100% rename from generated/gtkd/gio/SocketService.d rename to source/generated/gio/gio/SocketService.d diff --git a/generated/gtkd/gio/SrvTarget.d b/source/generated/gio/gio/SrvTarget.d similarity index 98% rename from generated/gtkd/gio/SrvTarget.d rename to source/generated/gio/gio/SrvTarget.d index 4443e7c2e..f12a42d87 100644 --- a/generated/gtkd/gio/SrvTarget.d +++ b/source/generated/gio/gio/SrvTarget.d @@ -31,7 +31,7 @@ private import glib.ListG; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -81,7 +81,7 @@ public class SrvTarget ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_srv_target_free(gSrvTarget); } diff --git a/generated/gtkd/gio/StaticResource.d b/source/generated/gio/gio/StaticResource.d similarity index 100% rename from generated/gtkd/gio/StaticResource.d rename to source/generated/gio/gio/StaticResource.d diff --git a/generated/gtkd/gio/Subprocess.d b/source/generated/gio/gio/Subprocess.d similarity index 98% rename from generated/gtkd/gio/Subprocess.d rename to source/generated/gio/gio/Subprocess.d index 0a64d19a3..f94d37196 100644 --- a/generated/gtkd/gio/Subprocess.d +++ b/source/generated/gio/gio/Subprocess.d @@ -82,7 +82,10 @@ private import gobject.ObjectG; * As a matter of principle, #GSubprocess has no API that accepts * shell-style space-separated strings. It will, however, match the * typical shell behaviour of searching the PATH for executables that do - * not contain a directory separator in their name. + * not contain a directory separator in their name. By default, the `PATH` + * of the current process is used. You can specify + * %G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP to use the `PATH` of the + * launcher environment instead. * * #GSubprocess attempts to have a very simple API for most uses (ie: * spawning a subprocess with arguments and support for most typical @@ -459,7 +462,7 @@ public class Subprocess : ObjectG, InitableIF * * This value has no particular meaning, but it can be used with the * macros defined by the system headers such as WIFEXITED. It can also - * be used with g_spawn_check_exit_status(). + * be used with g_spawn_check_wait_status(). * * It is more likely that you want to use g_subprocess_get_if_exited() * followed by g_subprocess_get_exit_status(). @@ -653,7 +656,7 @@ public class Subprocess : ObjectG, InitableIF } /** - * Combines g_subprocess_wait() with g_spawn_check_exit_status(). + * Combines g_subprocess_wait() with g_spawn_check_wait_status(). * * Params: * cancellable = a #GCancellable @@ -680,7 +683,7 @@ public class Subprocess : ObjectG, InitableIF } /** - * Combines g_subprocess_wait_async() with g_spawn_check_exit_status(). + * Combines g_subprocess_wait_async() with g_spawn_check_wait_status(). * * This is the asynchronous version of g_subprocess_wait_check(). * diff --git a/generated/gtkd/gio/SubprocessLauncher.d b/source/generated/gio/gio/SubprocessLauncher.d similarity index 100% rename from generated/gtkd/gio/SubprocessLauncher.d rename to source/generated/gio/gio/SubprocessLauncher.d diff --git a/generated/gtkd/gio/Task.d b/source/generated/gio/gio/Task.d similarity index 97% rename from generated/gtkd/gio/Task.d rename to source/generated/gio/gio/Task.d index 436748c7f..3eb633c4f 100644 --- a/generated/gtkd/gio/Task.d +++ b/source/generated/gio/gio/Task.d @@ -63,6 +63,10 @@ private import gobject.Value; * use g_task_propagate_pointer() or the like to extract the * return value. * + * Using #GTask requires the thread-default #GMainContext from when the + * #GTask was constructed to be running at least until the task has completed + * and its data has been freed. + * * Here is an example for using GTask as a GAsyncResult: * |[ * typedef struct { @@ -1075,7 +1079,7 @@ public class Task : ObjectG, AsyncResultIF /** * Sets @task's result to @result (by copying it) and completes the task. * - * If @result is %NULL then a #GValue of type #G_TYPE_POINTER + * If @result is %NULL then a #GValue of type %G_TYPE_POINTER * with a value of %NULL will be used for the result. * * This is a very generic low-level method intended primarily for use @@ -1103,9 +1107,9 @@ public class Task : ObjectG, AsyncResultIF * * Although GLib currently rate-limits the tasks queued via * g_task_run_in_thread(), you should not assume that it will always - * do this. If you have a very large number of tasks to run, but don't - * want them to all run at once, you should only queue a limited - * number of them at a time. + * do this. If you have a very large number of tasks to run (several tens of + * tasks), but don't want them to all run at once, you should only queue a + * limited number of them (around ten) at a time. * * Params: * taskFunc = a #GTaskThreadFunc @@ -1181,7 +1185,8 @@ public class Task : ObjectG, AsyncResultIF * name of the #GSource used for idle completion of the task. * * This function may only be called before the @task is first used in a thread - * other than the one it was constructed in. + * other than the one it was constructed in. It is called automatically by + * g_task_set_source_tag() if not called already. * * Params: * name = a human readable name for the task, or %NULL to unset it @@ -1258,13 +1263,19 @@ public class Task : ObjectG, AsyncResultIF } /** - * Sets @task's source tag. You can use this to tag a task return + * Sets @task's source tag. + * + * You can use this to tag a task return * value with a particular pointer (usually a pointer to the function * doing the tagging) and then later check it using * g_task_get_source_tag() (or g_async_result_is_tagged()) in the * task's "finish" function, to figure out if the response came from a * particular place. * + * A macro wrapper around this function will automatically set the + * task’s name to the string form of @source_tag if it’s not already + * set, for convenience. + * * Params: * sourceTag = an opaque pointer indicating the source of this task * diff --git a/generated/gtkd/gio/TcpConnection.d b/source/generated/gio/gio/TcpConnection.d similarity index 100% rename from generated/gtkd/gio/TcpConnection.d rename to source/generated/gio/gio/TcpConnection.d diff --git a/generated/gtkd/gio/TcpWrapperConnection.d b/source/generated/gio/gio/TcpWrapperConnection.d similarity index 100% rename from generated/gtkd/gio/TcpWrapperConnection.d rename to source/generated/gio/gio/TcpWrapperConnection.d diff --git a/generated/gtkd/gio/TestDBus.d b/source/generated/gio/gio/TestDBus.d similarity index 98% rename from generated/gtkd/gio/TestDBus.d rename to source/generated/gio/gio/TestDBus.d index f33b48d29..e5ccbd3fe 100644 --- a/generated/gtkd/gio/TestDBus.d +++ b/source/generated/gio/gio/TestDBus.d @@ -77,7 +77,7 @@ private import gobject.ObjectG; * * An example of a test fixture for D-Bus services can be found * here: - * [gdbus-test-fixture.c](https://git.gnome.org/browse/glib/tree/gio/tests/gdbus-test-fixture.c) + * [gdbus-test-fixture.c](https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gdbus-test-fixture.c) * * Note that these examples only deal with isolating the D-Bus aspect of your * service. To successfully run isolated unit tests on your service you may need diff --git a/generated/gtkd/gio/ThemedIcon.d b/source/generated/gio/gio/ThemedIcon.d similarity index 100% rename from generated/gtkd/gio/ThemedIcon.d rename to source/generated/gio/gio/ThemedIcon.d diff --git a/generated/gtkd/gio/ThreadedSocketService.d b/source/generated/gio/gio/ThreadedSocketService.d similarity index 100% rename from generated/gtkd/gio/ThreadedSocketService.d rename to source/generated/gio/gio/ThreadedSocketService.d diff --git a/generated/gtkd/gio/TlsBackendIF.d b/source/generated/gio/gio/TlsBackendIF.d similarity index 100% rename from generated/gtkd/gio/TlsBackendIF.d rename to source/generated/gio/gio/TlsBackendIF.d diff --git a/generated/gtkd/gio/TlsBackendT.d b/source/generated/gio/gio/TlsBackendT.d similarity index 100% rename from generated/gtkd/gio/TlsBackendT.d rename to source/generated/gio/gio/TlsBackendT.d diff --git a/generated/gtkd/gio/TlsCertificate.d b/source/generated/gio/gio/TlsCertificate.d similarity index 64% rename from generated/gtkd/gio/TlsCertificate.d rename to source/generated/gio/gio/TlsCertificate.d index 96fc27506..a4f14b7a4 100644 --- a/generated/gtkd/gio/TlsCertificate.d +++ b/source/generated/gio/gio/TlsCertificate.d @@ -28,10 +28,13 @@ private import gio.SocketConnectableIF; private import gio.c.functions; public import gio.c.types; private import glib.ConstructionException; +private import glib.DateTime; private import glib.ErrorG; private import glib.GException; private import glib.ListG; +private import glib.PtrArray; private import glib.Str; +private import glib.c.functions; private import gobject.ObjectG; @@ -72,6 +75,54 @@ public class TlsCertificate : ObjectG super(cast(GObject*)gTlsCertificate, ownedRef); } + /** + * Creates a #GTlsCertificate from the PEM-encoded data in @cert_file + * and @key_file. The returned certificate will be the first certificate + * found in @cert_file. As of GLib 2.44, if @cert_file contains more + * certificates it will try to load a certificate chain. All + * certificates will be verified in the order found (top-level + * certificate should be the last one in the file) and the + * #GTlsCertificate:issuer property of each certificate will be set + * accordingly if the verification succeeds. If any certificate in the + * chain cannot be verified, the first certificate in the file will + * still be returned. + * + * If either file cannot be read or parsed, the function will return + * %NULL and set @error. Otherwise, this behaves like + * g_tls_certificate_new_from_pem(). + * + * Params: + * certFile = file containing one or more PEM-encoded + * certificates to import + * keyFile = file containing a PEM-encoded private key + * to import + * + * Returns: the new certificate, or %NULL on error + * + * Since: 2.28 + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public static TlsCertificate newFromFiles(string certFile, string keyFile) + { + GError* err = null; + + auto __p = g_tls_certificate_new_from_files(Str.toStringz(certFile), Str.toStringz(keyFile), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_files"); + } + + return new TlsCertificate(cast(GTlsCertificate*) __p, true); + } + /** * Creates a #GTlsCertificate from a PKCS \#11 URI. * @@ -137,22 +188,18 @@ public class TlsCertificate : ObjectG } /** - * Creates a #GTlsCertificate from the PEM-encoded data in @file. The - * returned certificate will be the first certificate found in @file. As - * of GLib 2.44, if @file contains more certificates it will try to load - * a certificate chain. All certificates will be verified in the order - * found (top-level certificate should be the last one in the file) and - * the #GTlsCertificate:issuer property of each certificate will be set - * accordingly if the verification succeeds. If any certificate in the - * chain cannot be verified, the first certificate in the file will - * still be returned. + * Creates a #GTlsCertificate from the data in @file. + * + * As of 2.72, if the filename ends in `.p12` or `.pfx` the data is loaded by + * g_tls_certificate_new_from_pkcs12() otherwise it is loaded by + * g_tls_certificate_new_from_pem(). See those functions for + * exact details. * * If @file cannot be read or parsed, the function will return %NULL and - * set @error. Otherwise, this behaves like - * g_tls_certificate_new_from_pem(). + * set @error. * * Params: - * file = file containing a PEM-encoded certificate to import + * file = file containing a certificate to import * * Returns: the new certificate, or %NULL on error * @@ -181,39 +228,31 @@ public class TlsCertificate : ObjectG } /** - * Creates a #GTlsCertificate from the PEM-encoded data in @cert_file - * and @key_file. The returned certificate will be the first certificate - * found in @cert_file. As of GLib 2.44, if @cert_file contains more - * certificates it will try to load a certificate chain. All - * certificates will be verified in the order found (top-level - * certificate should be the last one in the file) and the - * #GTlsCertificate:issuer property of each certificate will be set - * accordingly if the verification succeeds. If any certificate in the - * chain cannot be verified, the first certificate in the file will - * still be returned. + * Creates a #GTlsCertificate from the data in @file. * - * If either file cannot be read or parsed, the function will return - * %NULL and set @error. Otherwise, this behaves like - * g_tls_certificate_new_from_pem(). + * If @file cannot be read or parsed, the function will return %NULL and + * set @error. + * + * Any unknown file types will error with %G_IO_ERROR_NOT_SUPPORTED. + * Currently only `.p12` and `.pfx` files are supported. + * See g_tls_certificate_new_from_pkcs12() for more details. * * Params: - * certFile = file containing one or more PEM-encoded - * certificates to import - * keyFile = file containing a PEM-encoded private key - * to import + * file = file containing a certificate to import + * password = password for PKCS #12 files * * Returns: the new certificate, or %NULL on error * - * Since: 2.28 + * Since: 2.72 * * Throws: GException on failure. * Throws: ConstructionException GTK+ fails to create the object. */ - public this(string certFile, string keyFile) + public this(string file, string password) { GError* err = null; - auto __p = g_tls_certificate_new_from_files(Str.toStringz(certFile), Str.toStringz(keyFile), &err); + auto __p = g_tls_certificate_new_from_file_with_password(Str.toStringz(file), Str.toStringz(password), &err); if (err !is null) { @@ -222,7 +261,7 @@ public class TlsCertificate : ObjectG if(__p is null) { - throw new ConstructionException("null returned by new_from_files"); + throw new ConstructionException("null returned by new_from_file_with_password"); } this(cast(GTlsCertificate*) __p, true); @@ -274,6 +313,55 @@ public class TlsCertificate : ObjectG this(cast(GTlsCertificate*) __p, true); } + /** + * Creates a #GTlsCertificate from the data in @data. It must contain + * a certificate and matching private key. + * + * If extra certificates are included they will be verified as a chain + * and the #GTlsCertificate:issuer property will be set. + * All other data will be ignored. + * + * You can pass as single password for all of the data which will be + * used both for the PKCS #12 container as well as encrypted + * private keys. If decryption fails it will error with + * %G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD. + * + * This constructor requires support in the current #GTlsBackend. + * If support is missing it will error with + * %G_IO_ERROR_NOT_SUPPORTED. + * + * Other parsing failures will error with %G_TLS_ERROR_BAD_CERTIFICATE. + * + * Params: + * data = DER-encoded PKCS #12 format certificate data + * password = optional password for encrypted certificate data + * + * Returns: the new certificate, or %NULL if @data is invalid + * + * Since: 2.72 + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(ubyte[] data, string password) + { + GError* err = null; + + auto __p = g_tls_certificate_new_from_pkcs12(data.ptr, cast(size_t)data.length, Str.toStringz(password), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_pkcs12"); + } + + this(cast(GTlsCertificate*) __p, true); + } + /** * Creates one or more #GTlsCertificates from the PEM-encoded * data in @file. If @file cannot be read or parsed, the function will @@ -311,6 +399,46 @@ public class TlsCertificate : ObjectG return new ListG(cast(GList*) __p, true); } + /** + * Gets the value of #GTlsCertificate:dns-names. + * + * Returns: A #GPtrArray of + * #GBytes elements, or %NULL if it's not available. + * + * Since: 2.70 + */ + public PtrArray getDnsNames() + { + auto __p = g_tls_certificate_get_dns_names(gTlsCertificate); + + if(__p is null) + { + return null; + } + + return new PtrArray(cast(GPtrArray*) __p); + } + + /** + * Gets the value of #GTlsCertificate:ip-addresses. + * + * Returns: A #GPtrArray + * of #GInetAddress elements, or %NULL if it's not available. + * + * Since: 2.70 + */ + public PtrArray getIpAddresses() + { + auto __p = g_tls_certificate_get_ip_addresses(gTlsCertificate); + + if(__p is null) + { + return null; + } + + return new PtrArray(cast(GPtrArray*) __p); + } + /** * Gets the #GTlsCertificate representing @cert's issuer, if known * @@ -332,6 +460,74 @@ public class TlsCertificate : ObjectG return ObjectG.getDObject!(TlsCertificate)(cast(GTlsCertificate*) __p); } + /** + * Returns the issuer name from the certificate. + * + * Returns: The issuer name, or %NULL if it's not available. + * + * Since: 2.70 + */ + public string getIssuerName() + { + auto retStr = g_tls_certificate_get_issuer_name(gTlsCertificate); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Returns the time at which the certificate became or will become invalid. + * + * Returns: The not-valid-after date, or %NULL if it's not available. + * + * Since: 2.70 + */ + public DateTime getNotValidAfter() + { + auto __p = g_tls_certificate_get_not_valid_after(gTlsCertificate); + + if(__p is null) + { + return null; + } + + return new DateTime(cast(GDateTime*) __p, true); + } + + /** + * Returns the time at which the certificate became or will become valid. + * + * Returns: The not-valid-before date, or %NULL if it's not available. + * + * Since: 2.70 + */ + public DateTime getNotValidBefore() + { + auto __p = g_tls_certificate_get_not_valid_before(gTlsCertificate); + + if(__p is null) + { + return null; + } + + return new DateTime(cast(GDateTime*) __p, true); + } + + /** + * Returns the subject name from the certificate. + * + * Returns: The subject name, or %NULL if it's not available. + * + * Since: 2.70 + */ + public string getSubjectName() + { + auto retStr = g_tls_certificate_get_subject_name(gTlsCertificate); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + /** * Check if two #GTlsCertificate objects represent the same certificate. * The raw DER byte data of the two certificates are checked for equality. @@ -369,8 +565,20 @@ public class TlsCertificate : ObjectG * @trusted_ca is %NULL, that bit will never be set in the return * value. * - * (All other #GTlsCertificateFlags values will always be set or unset - * as appropriate.) + * GLib guarantees that if certificate verification fails, at least one + * error will be set in the return value, but it does not guarantee + * that all possible errors will be set. Accordingly, you may not safely + * decide to ignore any particular type of error. For example, it would + * be incorrect to mask %G_TLS_CERTIFICATE_EXPIRED if you want to allow + * expired certificates, because this could potentially be the only + * error flag set even if other problems exist with the certificate. + * + * Because TLS session context is not used, #GTlsCertificate may not + * perform as many checks on the certificates as #GTlsConnection would. + * For example, certificate constraints may not be honored, and + * revocation checks may not be performed. The best way to verify TLS + * certificates used by a TLS connection is to let #GTlsConnection + * handle the verification. * * Params: * identity = the expected peer identity diff --git a/generated/gtkd/gio/TlsClientConnectionIF.d b/source/generated/gio/gio/TlsClientConnectionIF.d similarity index 93% rename from generated/gtkd/gio/TlsClientConnectionIF.d rename to source/generated/gio/gio/TlsClientConnectionIF.d index bfa12353a..f94648485 100644 --- a/generated/gtkd/gio/TlsClientConnectionIF.d +++ b/source/generated/gio/gio/TlsClientConnectionIF.d @@ -135,6 +135,12 @@ public interface TlsClientConnectionIF{ /** * Gets @conn's validation flags * + * This function does not work as originally designed and is impossible + * to use correctly. See #GTlsClientConnection:validation-flags for more + * information. + * + * Deprecated: Do not attempt to ignore validation errors. + * * Returns: the validation flags * * Since: 2.28 @@ -180,6 +186,12 @@ public interface TlsClientConnectionIF{ * checks performed when validating a server certificate. By default, * %G_TLS_CERTIFICATE_VALIDATE_ALL is used. * + * This function does not work as originally designed and is impossible + * to use correctly. See #GTlsClientConnection:validation-flags for more + * information. + * + * Deprecated: Do not attempt to ignore validation errors. + * * Params: * flags = the #GTlsCertificateFlags to use * diff --git a/generated/gtkd/gio/TlsClientConnectionT.d b/source/generated/gio/gio/TlsClientConnectionT.d similarity index 94% rename from generated/gtkd/gio/TlsClientConnectionT.d rename to source/generated/gio/gio/TlsClientConnectionT.d index bb709b140..2ae9628fb 100644 --- a/generated/gtkd/gio/TlsClientConnectionT.d +++ b/source/generated/gio/gio/TlsClientConnectionT.d @@ -158,6 +158,12 @@ public template TlsClientConnectionT(TStruct) /** * Gets @conn's validation flags * + * This function does not work as originally designed and is impossible + * to use correctly. See #GTlsClientConnection:validation-flags for more + * information. + * + * Deprecated: Do not attempt to ignore validation errors. + * * Returns: the validation flags * * Since: 2.28 @@ -212,6 +218,12 @@ public template TlsClientConnectionT(TStruct) * checks performed when validating a server certificate. By default, * %G_TLS_CERTIFICATE_VALIDATE_ALL is used. * + * This function does not work as originally designed and is impossible + * to use correctly. See #GTlsClientConnection:validation-flags for more + * information. + * + * Deprecated: Do not attempt to ignore validation errors. + * * Params: * flags = the #GTlsCertificateFlags to use * diff --git a/generated/gtkd/gio/TlsConnection.d b/source/generated/gio/gio/TlsConnection.d similarity index 91% rename from generated/gtkd/gio/TlsConnection.d rename to source/generated/gio/gio/TlsConnection.d index 1254f6c1f..a8da54144 100644 --- a/generated/gtkd/gio/TlsConnection.d +++ b/source/generated/gio/gio/TlsConnection.d @@ -169,6 +169,28 @@ public class TlsConnection : IOStream return __p; } + /** + * Returns the name of the current TLS ciphersuite, or %NULL if the + * connection has not handshaked or has been closed. Beware that the TLS + * backend may use any of multiple different naming conventions, because + * OpenSSL and GnuTLS have their own ciphersuite naming conventions that + * are different from each other and different from the standard, IANA- + * registered ciphersuite names. The ciphersuite name is intended to be + * displayed to the user for informative purposes only, and parsing it + * is not recommended. + * + * Returns: The name of the current TLS ciphersuite, or %NULL + * + * Since: 2.70 + */ + public string getCiphersuiteName() + { + auto retStr = g_tls_connection_get_ciphersuite_name(gTlsConnection); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + /** * Gets the certificate database that @conn uses to verify * peer certificates. See g_tls_connection_set_database(). @@ -254,6 +276,8 @@ public class TlsConnection : IOStream * certificate, after the handshake has completed or failed. (It is * not set during the emission of #GTlsConnection::accept-certificate.) * + * See #GTlsConnection:peer-certificate-errors for more information. + * * Returns: @conn's peer's certificate errors * * Since: 2.28 @@ -263,6 +287,21 @@ public class TlsConnection : IOStream return g_tls_connection_get_peer_certificate_errors(gTlsConnection); } + /** + * Returns the current TLS protocol version, which may be + * %G_TLS_PROTOCOL_VERSION_UNKNOWN if the connection has not handshaked, or + * has been closed, or if the TLS backend has implemented a protocol version + * that is not a recognized #GTlsProtocolVersion. + * + * Returns: The current TLS protocol version + * + * Since: 2.70 + */ + public GTlsProtocolVersion getProtocolVersion() + { + return g_tls_connection_get_protocol_version(gTlsConnection); + } + /** * Gets @conn rehandshaking mode. See * g_tls_connection_set_rehandshake_mode() for details. @@ -472,6 +511,9 @@ public class TlsConnection : IOStream * client-side connections, unless that bit is not set in * #GTlsClientConnection:validation-flags). * + * There are nonintuitive security implications when using a non-default + * database. See #GDtlsConnection:database for details. + * * Params: * database = a #GTlsDatabase * @@ -591,6 +633,15 @@ public class TlsConnection : IOStream * signal handler. Otherwise, if no handler accepts the certificate, * the handshake will fail with %G_TLS_ERROR_BAD_CERTIFICATE. * + * GLib guarantees that if certificate verification fails, this signal + * will be emitted with at least one error will be set in @errors, but + * it does not guarantee that all possible errors will be set. + * Accordingly, you may not safely decide to ignore any particular + * type of error. For example, it would be incorrect to ignore + * %G_TLS_CERTIFICATE_EXPIRED if you want to allow expired + * certificates, because this could potentially be the only error flag + * set even if other problems exist with the certificate. + * * For a server-side connection, @peer_cert is the certificate * presented by the client, if this was requested via the server's * #GTlsServerConnection:authentication_mode. On the server side, diff --git a/generated/gtkd/gio/TlsDatabase.d b/source/generated/gio/gio/TlsDatabase.d similarity index 84% rename from generated/gtkd/gio/TlsDatabase.d rename to source/generated/gio/gio/TlsDatabase.d index 4b6807b5f..4da83ce02 100644 --- a/generated/gtkd/gio/TlsDatabase.d +++ b/source/generated/gio/gio/TlsDatabase.d @@ -216,14 +216,26 @@ public class TlsDatabase : ObjectG } /** - * Look up the issuer of @certificate in the database. - * - * The #GTlsCertificate:issuer property - * of @certificate is not modified, and the two certificates are not hooked - * into a chain. - * - * This function can block, use g_tls_database_lookup_certificate_issuer_async() to perform - * the lookup operation asynchronously. + * Look up the issuer of @certificate in the database. The + * #GTlsCertificate:issuer property of @certificate is not modified, and + * the two certificates are not hooked into a chain. + * + * This function can block. Use g_tls_database_lookup_certificate_issuer_async() + * to perform the lookup operation asynchronously. + * + * Beware this function cannot be used to build certification paths. The + * issuer certificate returned by this function may not be the same as + * the certificate that would actually be used to construct a valid + * certification path during certificate verification. + * [RFC 4158](https://datatracker.ietf.org/doc/html/rfc4158) explains + * why an issuer certificate cannot be naively assumed to be part of the + * the certification path (though GLib's TLS backends may not follow the + * path building strategies outlined in this RFC). Due to the complexity + * of certification path building, GLib does not provide any way to know + * which certification path will actually be used when verifying a TLS + * certificate. Accordingly, this function cannot be used to make + * security-related decisions. Only GLib itself should make security + * decisions about TLS certificates. * * Params: * certificate = a #GTlsCertificate @@ -404,18 +416,14 @@ public class TlsDatabase : ObjectG } /** - * Determines the validity of a certificate chain after looking up and - * adding any missing certificates to the chain. + * Determines the validity of a certificate chain, outside the context + * of a TLS session. * * @chain is a chain of #GTlsCertificate objects each pointing to the next - * certificate in the chain by its #GTlsCertificate:issuer property. The chain may initially - * consist of one or more certificates. After the verification process is - * complete, @chain may be modified by adding missing certificates, or removing - * extra certificates. If a certificate anchor was found, then it is added to - * the @chain. + * certificate in the chain by its #GTlsCertificate:issuer property. * * @purpose describes the purpose (or usage) for which the certificate - * is being used. Typically @purpose will be set to #G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER + * is being used. Typically @purpose will be set to %G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER * which means that the certificate is being used to authenticate a server * (and we are acting as the client). * @@ -431,16 +439,43 @@ public class TlsDatabase : ObjectG * used. * * If @chain is found to be valid, then the return value will be 0. If - * @chain is found to be invalid, then the return value will indicate - * the problems found. If the function is unable to determine whether - * @chain is valid or not (eg, because @cancellable is triggered - * before it completes) then the return value will be - * %G_TLS_CERTIFICATE_GENERIC_ERROR and @error will be set - * accordingly. @error is not set when @chain is successfully analyzed - * but found to be invalid. - * - * This function can block, use g_tls_database_verify_chain_async() to perform - * the verification operation asynchronously. + * @chain is found to be invalid, then the return value will indicate at + * least one problem found. If the function is unable to determine + * whether @chain is valid (for example, because @cancellable is + * triggered before it completes) then the return value will be + * %G_TLS_CERTIFICATE_GENERIC_ERROR and @error will be set accordingly. + * @error is not set when @chain is successfully analyzed but found to + * be invalid. + * + * GLib guarantees that if certificate verification fails, at least one + * error will be set in the return value, but it does not guarantee + * that all possible errors will be set. Accordingly, you may not safely + * decide to ignore any particular type of error. For example, it would + * be incorrect to mask %G_TLS_CERTIFICATE_EXPIRED if you want to allow + * expired certificates, because this could potentially be the only + * error flag set even if other problems exist with the certificate. + * + * Prior to GLib 2.48, GLib's default TLS backend modified @chain to + * represent the certification path built by #GTlsDatabase during + * certificate verification by adjusting the #GTlsCertificate:issuer + * property of each certificate in @chain. Since GLib 2.48, this no + * longer occurs, so you cannot rely on #GTlsCertificate:issuer to + * represent the actual certification path used during certificate + * verification. + * + * Because TLS session context is not used, #GTlsDatabase may not + * perform as many checks on the certificates as #GTlsConnection would. + * For example, certificate constraints may not be honored, and + * revocation checks may not be performed. The best way to verify TLS + * certificates used by a TLS connection is to let #GTlsConnection + * handle the verification. + * + * The TLS backend may attempt to look up and add missing certificates + * to the chain. This may involve HTTP requests to download missing + * certificates. + * + * This function can block. Use g_tls_database_verify_chain_async() to + * perform the verification operation asynchronously. * * Params: * chain = a #GTlsCertificate chain diff --git a/generated/gtkd/gio/TlsFileDatabaseIF.d b/source/generated/gio/gio/TlsFileDatabaseIF.d similarity index 100% rename from generated/gtkd/gio/TlsFileDatabaseIF.d rename to source/generated/gio/gio/TlsFileDatabaseIF.d diff --git a/generated/gtkd/gio/TlsFileDatabaseT.d b/source/generated/gio/gio/TlsFileDatabaseT.d similarity index 100% rename from generated/gtkd/gio/TlsFileDatabaseT.d rename to source/generated/gio/gio/TlsFileDatabaseT.d diff --git a/generated/gtkd/gio/TlsInteraction.d b/source/generated/gio/gio/TlsInteraction.d similarity index 100% rename from generated/gtkd/gio/TlsInteraction.d rename to source/generated/gio/gio/TlsInteraction.d diff --git a/generated/gtkd/gio/TlsPassword.d b/source/generated/gio/gio/TlsPassword.d similarity index 100% rename from generated/gtkd/gio/TlsPassword.d rename to source/generated/gio/gio/TlsPassword.d diff --git a/generated/gtkd/gio/TlsServerConnectionIF.d b/source/generated/gio/gio/TlsServerConnectionIF.d similarity index 100% rename from generated/gtkd/gio/TlsServerConnectionIF.d rename to source/generated/gio/gio/TlsServerConnectionIF.d diff --git a/generated/gtkd/gio/TlsServerConnectionT.d b/source/generated/gio/gio/TlsServerConnectionT.d similarity index 100% rename from generated/gtkd/gio/TlsServerConnectionT.d rename to source/generated/gio/gio/TlsServerConnectionT.d diff --git a/generated/gtkd/gio/UnixConnection.d b/source/generated/gio/gio/UnixConnection.d similarity index 96% rename from generated/gtkd/gio/UnixConnection.d rename to source/generated/gio/gio/UnixConnection.d index 00f60de6e..da4d6be4c 100644 --- a/generated/gtkd/gio/UnixConnection.d +++ b/source/generated/gio/gio/UnixConnection.d @@ -42,9 +42,12 @@ private import gobject.ObjectG; * It contains functions to do some of the UNIX socket specific * functionality like passing file descriptors. * - * Note that `` belongs to the UNIX-specific - * GIO interfaces, thus you have to use the `gio-unix-2.0.pc` - * pkg-config file when using it. + * Since GLib 2.72, #GUnixConnection is available on all platforms. It requires + * underlying system support (such as Windows 10 with `AF_UNIX`) at run time. + * + * Before GLib 2.72, `` belonged to the UNIX-specific GIO + * interfaces, thus you had to use the `gio-unix-2.0.pc` pkg-config file when + * using it. This is no longer necessary since GLib 2.72. * * Since: 2.22 */ diff --git a/generated/gtkd/gio/UnixCredentialsMessage.d b/source/generated/gio/gio/UnixCredentialsMessage.d similarity index 91% rename from generated/gtkd/gio/UnixCredentialsMessage.d rename to source/generated/gio/gio/UnixCredentialsMessage.d index 2c993f6e7..e6a3a02b8 100644 --- a/generated/gtkd/gio/UnixCredentialsMessage.d +++ b/source/generated/gio/gio/UnixCredentialsMessage.d @@ -44,6 +44,14 @@ private import gobject.ObjectG; * g_unix_connection_receive_credentials(). To receive credentials of * a foreign process connected to a socket, use * g_socket_get_credentials(). + * + * Since GLib 2.72, #GUnixCredentialMessage is available on all platforms. It + * requires underlying system support (such as Windows 10 with `AF_UNIX`) at run + * time. + * + * Before GLib 2.72, `` belonged to the UNIX-specific + * GIO interfaces, thus you had to use the `gio-unix-2.0.pc` pkg-config file + * when using it. This is no longer necessary since GLib 2.72. * * Since: 2.26 */ diff --git a/generated/gtkd/gio/UnixFDList.d b/source/generated/gio/gio/UnixFDList.d similarity index 100% rename from generated/gtkd/gio/UnixFDList.d rename to source/generated/gio/gio/UnixFDList.d diff --git a/generated/gtkd/gio/UnixFDMessage.d b/source/generated/gio/gio/UnixFDMessage.d similarity index 100% rename from generated/gtkd/gio/UnixFDMessage.d rename to source/generated/gio/gio/UnixFDMessage.d diff --git a/generated/gtkd/gio/UnixInputStream.d b/source/generated/gio/gio/UnixInputStream.d similarity index 100% rename from generated/gtkd/gio/UnixInputStream.d rename to source/generated/gio/gio/UnixInputStream.d diff --git a/generated/gtkd/gio/UnixMountEntry.d b/source/generated/gio/gio/UnixMountEntry.d similarity index 98% rename from generated/gtkd/gio/UnixMountEntry.d rename to source/generated/gio/gio/UnixMountEntry.d index 71c00c216..f91abcaaa 100644 --- a/generated/gtkd/gio/UnixMountEntry.d +++ b/source/generated/gio/gio/UnixMountEntry.d @@ -98,6 +98,8 @@ public class UnixMountEntry * If more mounts have the same mount path, the last matching mount * is returned. * + * This will return %NULL if there is no mount point at @mount_path. + * * Params: * mountPath = path for a possible unix mount. * timeRead = guint64 to contain a timestamp. @@ -363,6 +365,9 @@ public class UnixMountEntry * If more mounts have the same mount path, the last matching mount * is returned. * + * This will return %NULL if looking up the mount entry fails, if + * @file_path doesn’t exist or there is an I/O error. + * * Params: * filePath = file path on some unix mount. * timeRead = guint64 to contain a timestamp. diff --git a/generated/gtkd/gio/UnixMountMonitor.d b/source/generated/gio/gio/UnixMountMonitor.d similarity index 100% rename from generated/gtkd/gio/UnixMountMonitor.d rename to source/generated/gio/gio/UnixMountMonitor.d diff --git a/generated/gtkd/gio/UnixMountPoint.d b/source/generated/gio/gio/UnixMountPoint.d similarity index 98% rename from generated/gtkd/gio/UnixMountPoint.d rename to source/generated/gio/gio/UnixMountPoint.d index 3d457bd7a..be14d07a7 100644 --- a/generated/gtkd/gio/UnixMountPoint.d +++ b/source/generated/gio/gio/UnixMountPoint.d @@ -30,7 +30,7 @@ public import gio.c.types; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; /** @@ -68,7 +68,7 @@ public class UnixMountPoint ~this () { - if ( Linker.isLoaded(LIBRARY_GIO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GIO[0]) && ownedRef ) g_unix_mount_point_free(gUnixMountPoint); } diff --git a/generated/gtkd/gio/UnixOutputStream.d b/source/generated/gio/gio/UnixOutputStream.d similarity index 100% rename from generated/gtkd/gio/UnixOutputStream.d rename to source/generated/gio/gio/UnixOutputStream.d diff --git a/generated/gtkd/gio/UnixSocketAddress.d b/source/generated/gio/gio/UnixSocketAddress.d similarity index 94% rename from generated/gtkd/gio/UnixSocketAddress.d rename to source/generated/gio/gio/UnixSocketAddress.d index 45afb7138..72794aaca 100644 --- a/generated/gtkd/gio/UnixSocketAddress.d +++ b/source/generated/gio/gio/UnixSocketAddress.d @@ -45,9 +45,13 @@ private import gobject.ObjectG; * errors. You can use g_unix_socket_address_abstract_names_supported() * to see if abstract names are supported. * - * Note that `` belongs to the UNIX-specific GIO - * interfaces, thus you have to use the `gio-unix-2.0.pc` pkg-config file - * when using it. + * Since GLib 2.72, #GUnixSocketAddress is available on all platforms. It + * requires underlying system support (such as Windows 10 with `AF_UNIX`) at + * run time. + * + * Before GLib 2.72, `` belonged to the UNIX-specific + * GIO interfaces, thus you had to use the `gio-unix-2.0.pc` pkg-config file + * when using it. This is no longer necessary since GLib 2.72. */ public class UnixSocketAddress : SocketAddress { diff --git a/generated/gtkd/gio/Vfs.d b/source/generated/gio/gio/Vfs.d similarity index 100% rename from generated/gtkd/gio/Vfs.d rename to source/generated/gio/gio/Vfs.d diff --git a/generated/gtkd/gio/VolumeIF.d b/source/generated/gio/gio/VolumeIF.d similarity index 98% rename from generated/gtkd/gio/VolumeIF.d rename to source/generated/gio/gio/VolumeIF.d index 1bbf6ee7a..d133f450c 100644 --- a/generated/gtkd/gio/VolumeIF.d +++ b/source/generated/gio/gio/VolumeIF.d @@ -75,13 +75,13 @@ private import std.algorithm; * different kinds of identifiers, such as Hal UDIs, filesystem labels, * traditional Unix devices (e.g. `/dev/sda2`), UUIDs. GIO uses predefined * strings as names for the different kinds of identifiers: - * #G_VOLUME_IDENTIFIER_KIND_UUID, #G_VOLUME_IDENTIFIER_KIND_LABEL, etc. + * %G_VOLUME_IDENTIFIER_KIND_UUID, %G_VOLUME_IDENTIFIER_KIND_LABEL, etc. * Use g_volume_get_identifier() to obtain an identifier for a volume. * * - * Note that #G_VOLUME_IDENTIFIER_KIND_HAL_UDI will only be available + * Note that %G_VOLUME_IDENTIFIER_KIND_HAL_UDI will only be available * when the gvfs hal volume monitor is in use. Other volume monitors - * will generally be able to provide the #G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE + * will generally be able to provide the %G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE * identifier, which can be used to obtain a hal device by means of * libhal_manager_find_device_string_match(). */ diff --git a/generated/gtkd/gio/VolumeMonitor.d b/source/generated/gio/gio/VolumeMonitor.d similarity index 100% rename from generated/gtkd/gio/VolumeMonitor.d rename to source/generated/gio/gio/VolumeMonitor.d diff --git a/generated/gtkd/gio/VolumeT.d b/source/generated/gio/gio/VolumeT.d similarity index 98% rename from generated/gtkd/gio/VolumeT.d rename to source/generated/gio/gio/VolumeT.d index 4b5b35088..622bdcc6c 100644 --- a/generated/gtkd/gio/VolumeT.d +++ b/source/generated/gio/gio/VolumeT.d @@ -75,13 +75,13 @@ public import std.algorithm; * different kinds of identifiers, such as Hal UDIs, filesystem labels, * traditional Unix devices (e.g. `/dev/sda2`), UUIDs. GIO uses predefined * strings as names for the different kinds of identifiers: - * #G_VOLUME_IDENTIFIER_KIND_UUID, #G_VOLUME_IDENTIFIER_KIND_LABEL, etc. + * %G_VOLUME_IDENTIFIER_KIND_UUID, %G_VOLUME_IDENTIFIER_KIND_LABEL, etc. * Use g_volume_get_identifier() to obtain an identifier for a volume. * * - * Note that #G_VOLUME_IDENTIFIER_KIND_HAL_UDI will only be available + * Note that %G_VOLUME_IDENTIFIER_KIND_HAL_UDI will only be available * when the gvfs hal volume monitor is in use. Other volume monitors - * will generally be able to provide the #G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE + * will generally be able to provide the %G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE * identifier, which can be used to obtain a hal device by means of * libhal_manager_find_device_string_match(). */ diff --git a/generated/gtkd/gio/ZlibCompressor.d b/source/generated/gio/gio/ZlibCompressor.d similarity index 97% rename from generated/gtkd/gio/ZlibCompressor.d rename to source/generated/gio/gio/ZlibCompressor.d index 7565b7df4..ca6475750 100644 --- a/generated/gtkd/gio/ZlibCompressor.d +++ b/source/generated/gio/gio/ZlibCompressor.d @@ -34,7 +34,8 @@ private import gobject.ObjectG; /** - * Zlib decompression + * #GZlibCompressor is an implementation of #GConverter that + * compresses data using zlib. */ public class ZlibCompressor : ObjectG, ConverterIF { diff --git a/generated/gtkd/gio/ZlibDecompressor.d b/source/generated/gio/gio/ZlibDecompressor.d similarity index 96% rename from generated/gtkd/gio/ZlibDecompressor.d rename to source/generated/gio/gio/ZlibDecompressor.d index c37d0f1f3..c807151ef 100644 --- a/generated/gtkd/gio/ZlibDecompressor.d +++ b/source/generated/gio/gio/ZlibDecompressor.d @@ -34,7 +34,8 @@ private import gobject.ObjectG; /** - * Zlib decompression + * #GZlibDecompressor is an implementation of #GConverter that + * decompresses data compressed with zlib. */ public class ZlibDecompressor : ObjectG, ConverterIF { diff --git a/generated/gtkd/gio/c/functions.d b/source/generated/gio/gio/c/functions.d similarity index 98% rename from generated/gtkd/gio/c/functions.d rename to source/generated/gio/gio/c/functions.d index 8d448cf92..c85d2a0e0 100644 --- a/generated/gtkd/gio/c/functions.d +++ b/source/generated/gio/gio/c/functions.d @@ -26,7 +26,7 @@ module gio.c.functions; import std.stdio; import gio.c.types; -import gtkd.Loader; +import linker.Loader; version (Windows) static immutable LIBRARY_GIO = ["libgio-2.0-0.dll;gio-2.0-0.dll;gio-2.dll"]; @@ -667,6 +667,18 @@ shared static this() Linker.link(g_datagram_based_receive_messages, "g_datagram_based_receive_messages", LIBRARY_GIO); Linker.link(g_datagram_based_send_messages, "g_datagram_based_send_messages", LIBRARY_GIO); + // gio.DebugController + + Linker.link(g_debug_controller_get_type, "g_debug_controller_get_type", LIBRARY_GIO); + Linker.link(g_debug_controller_get_debug_enabled, "g_debug_controller_get_debug_enabled", LIBRARY_GIO); + Linker.link(g_debug_controller_set_debug_enabled, "g_debug_controller_set_debug_enabled", LIBRARY_GIO); + + // gio.DebugControllerDBus + + Linker.link(g_debug_controller_dbus_get_type, "g_debug_controller_dbus_get_type", LIBRARY_GIO); + Linker.link(g_debug_controller_dbus_new, "g_debug_controller_dbus_new", LIBRARY_GIO); + Linker.link(g_debug_controller_dbus_stop, "g_debug_controller_dbus_stop", LIBRARY_GIO); + // gio.DesktopAppInfo Linker.link(g_desktop_app_info_get_type, "g_desktop_app_info_get_type", LIBRARY_GIO); @@ -751,11 +763,13 @@ shared static this() Linker.link(g_dtls_connection_emit_accept_certificate, "g_dtls_connection_emit_accept_certificate", LIBRARY_GIO); Linker.link(g_dtls_connection_get_certificate, "g_dtls_connection_get_certificate", LIBRARY_GIO); Linker.link(g_dtls_connection_get_channel_binding_data, "g_dtls_connection_get_channel_binding_data", LIBRARY_GIO); + Linker.link(g_dtls_connection_get_ciphersuite_name, "g_dtls_connection_get_ciphersuite_name", LIBRARY_GIO); Linker.link(g_dtls_connection_get_database, "g_dtls_connection_get_database", LIBRARY_GIO); Linker.link(g_dtls_connection_get_interaction, "g_dtls_connection_get_interaction", LIBRARY_GIO); Linker.link(g_dtls_connection_get_negotiated_protocol, "g_dtls_connection_get_negotiated_protocol", LIBRARY_GIO); Linker.link(g_dtls_connection_get_peer_certificate, "g_dtls_connection_get_peer_certificate", LIBRARY_GIO); Linker.link(g_dtls_connection_get_peer_certificate_errors, "g_dtls_connection_get_peer_certificate_errors", LIBRARY_GIO); + Linker.link(g_dtls_connection_get_protocol_version, "g_dtls_connection_get_protocol_version", LIBRARY_GIO); Linker.link(g_dtls_connection_get_rehandshake_mode, "g_dtls_connection_get_rehandshake_mode", LIBRARY_GIO); Linker.link(g_dtls_connection_get_require_close_notify, "g_dtls_connection_get_require_close_notify", LIBRARY_GIO); Linker.link(g_dtls_connection_handshake, "g_dtls_connection_handshake", LIBRARY_GIO); @@ -870,6 +884,8 @@ shared static this() Linker.link(g_file_mount_mountable, "g_file_mount_mountable", LIBRARY_GIO); Linker.link(g_file_mount_mountable_finish, "g_file_mount_mountable_finish", LIBRARY_GIO); Linker.link(g_file_move, "g_file_move", LIBRARY_GIO); + Linker.link(g_file_move_async, "g_file_move_async", LIBRARY_GIO); + Linker.link(g_file_move_finish, "g_file_move_finish", LIBRARY_GIO); Linker.link(g_file_open_readwrite, "g_file_open_readwrite", LIBRARY_GIO); Linker.link(g_file_open_readwrite_async, "g_file_open_readwrite_async", LIBRARY_GIO); Linker.link(g_file_open_readwrite_finish, "g_file_open_readwrite_finish", LIBRARY_GIO); @@ -994,6 +1010,7 @@ shared static this() Linker.link(g_file_info_clear_status, "g_file_info_clear_status", LIBRARY_GIO); Linker.link(g_file_info_copy_into, "g_file_info_copy_into", LIBRARY_GIO); Linker.link(g_file_info_dup, "g_file_info_dup", LIBRARY_GIO); + Linker.link(g_file_info_get_access_date_time, "g_file_info_get_access_date_time", LIBRARY_GIO); Linker.link(g_file_info_get_attribute_as_string, "g_file_info_get_attribute_as_string", LIBRARY_GIO); Linker.link(g_file_info_get_attribute_boolean, "g_file_info_get_attribute_boolean", LIBRARY_GIO); Linker.link(g_file_info_get_attribute_byte_string, "g_file_info_get_attribute_byte_string", LIBRARY_GIO); @@ -1008,6 +1025,7 @@ shared static this() Linker.link(g_file_info_get_attribute_uint32, "g_file_info_get_attribute_uint32", LIBRARY_GIO); Linker.link(g_file_info_get_attribute_uint64, "g_file_info_get_attribute_uint64", LIBRARY_GIO); Linker.link(g_file_info_get_content_type, "g_file_info_get_content_type", LIBRARY_GIO); + Linker.link(g_file_info_get_creation_date_time, "g_file_info_get_creation_date_time", LIBRARY_GIO); Linker.link(g_file_info_get_deletion_date, "g_file_info_get_deletion_date", LIBRARY_GIO); Linker.link(g_file_info_get_display_name, "g_file_info_get_display_name", LIBRARY_GIO); Linker.link(g_file_info_get_edit_name, "g_file_info_get_edit_name", LIBRARY_GIO); @@ -1028,6 +1046,7 @@ shared static this() Linker.link(g_file_info_has_namespace, "g_file_info_has_namespace", LIBRARY_GIO); Linker.link(g_file_info_list_attributes, "g_file_info_list_attributes", LIBRARY_GIO); Linker.link(g_file_info_remove_attribute, "g_file_info_remove_attribute", LIBRARY_GIO); + Linker.link(g_file_info_set_access_date_time, "g_file_info_set_access_date_time", LIBRARY_GIO); Linker.link(g_file_info_set_attribute, "g_file_info_set_attribute", LIBRARY_GIO); Linker.link(g_file_info_set_attribute_boolean, "g_file_info_set_attribute_boolean", LIBRARY_GIO); Linker.link(g_file_info_set_attribute_byte_string, "g_file_info_set_attribute_byte_string", LIBRARY_GIO); @@ -1041,6 +1060,7 @@ shared static this() Linker.link(g_file_info_set_attribute_uint32, "g_file_info_set_attribute_uint32", LIBRARY_GIO); Linker.link(g_file_info_set_attribute_uint64, "g_file_info_set_attribute_uint64", LIBRARY_GIO); Linker.link(g_file_info_set_content_type, "g_file_info_set_content_type", LIBRARY_GIO); + Linker.link(g_file_info_set_creation_date_time, "g_file_info_set_creation_date_time", LIBRARY_GIO); Linker.link(g_file_info_set_display_name, "g_file_info_set_display_name", LIBRARY_GIO); Linker.link(g_file_info_set_edit_name, "g_file_info_set_edit_name", LIBRARY_GIO); Linker.link(g_file_info_set_file_type, "g_file_info_set_file_type", LIBRARY_GIO); @@ -1469,6 +1489,7 @@ shared static this() Linker.link(g_notification_add_button_with_target, "g_notification_add_button_with_target", LIBRARY_GIO); Linker.link(g_notification_add_button_with_target_value, "g_notification_add_button_with_target_value", LIBRARY_GIO); Linker.link(g_notification_set_body, "g_notification_set_body", LIBRARY_GIO); + Linker.link(g_notification_set_category, "g_notification_set_category", LIBRARY_GIO); Linker.link(g_notification_set_default_action, "g_notification_set_default_action", LIBRARY_GIO); Linker.link(g_notification_set_default_action_and_target, "g_notification_set_default_action_and_target", LIBRARY_GIO); Linker.link(g_notification_set_default_action_and_target_value, "g_notification_set_default_action_and_target_value", LIBRARY_GIO); @@ -1543,6 +1564,12 @@ shared static this() Linker.link(g_pollable_output_stream_write_nonblocking, "g_pollable_output_stream_write_nonblocking", LIBRARY_GIO); Linker.link(g_pollable_output_stream_writev_nonblocking, "g_pollable_output_stream_writev_nonblocking", LIBRARY_GIO); + // gio.PowerProfileMonitor + + Linker.link(g_power_profile_monitor_get_type, "g_power_profile_monitor_get_type", LIBRARY_GIO); + Linker.link(g_power_profile_monitor_dup_default, "g_power_profile_monitor_dup_default", LIBRARY_GIO); + Linker.link(g_power_profile_monitor_get_power_saver_enabled, "g_power_profile_monitor_get_power_saver_enabled", LIBRARY_GIO); + // gio.PropertyAction Linker.link(g_property_action_get_type, "g_property_action_get_type", LIBRARY_GIO); @@ -2142,11 +2169,19 @@ shared static this() Linker.link(g_tls_certificate_get_type, "g_tls_certificate_get_type", LIBRARY_GIO); Linker.link(g_tls_certificate_new_from_file, "g_tls_certificate_new_from_file", LIBRARY_GIO); + Linker.link(g_tls_certificate_new_from_file_with_password, "g_tls_certificate_new_from_file_with_password", LIBRARY_GIO); Linker.link(g_tls_certificate_new_from_files, "g_tls_certificate_new_from_files", LIBRARY_GIO); Linker.link(g_tls_certificate_new_from_pem, "g_tls_certificate_new_from_pem", LIBRARY_GIO); Linker.link(g_tls_certificate_new_from_pkcs11_uris, "g_tls_certificate_new_from_pkcs11_uris", LIBRARY_GIO); + Linker.link(g_tls_certificate_new_from_pkcs12, "g_tls_certificate_new_from_pkcs12", LIBRARY_GIO); Linker.link(g_tls_certificate_list_new_from_file, "g_tls_certificate_list_new_from_file", LIBRARY_GIO); + Linker.link(g_tls_certificate_get_dns_names, "g_tls_certificate_get_dns_names", LIBRARY_GIO); + Linker.link(g_tls_certificate_get_ip_addresses, "g_tls_certificate_get_ip_addresses", LIBRARY_GIO); Linker.link(g_tls_certificate_get_issuer, "g_tls_certificate_get_issuer", LIBRARY_GIO); + Linker.link(g_tls_certificate_get_issuer_name, "g_tls_certificate_get_issuer_name", LIBRARY_GIO); + Linker.link(g_tls_certificate_get_not_valid_after, "g_tls_certificate_get_not_valid_after", LIBRARY_GIO); + Linker.link(g_tls_certificate_get_not_valid_before, "g_tls_certificate_get_not_valid_before", LIBRARY_GIO); + Linker.link(g_tls_certificate_get_subject_name, "g_tls_certificate_get_subject_name", LIBRARY_GIO); Linker.link(g_tls_certificate_is_same, "g_tls_certificate_is_same", LIBRARY_GIO); Linker.link(g_tls_certificate_verify, "g_tls_certificate_verify", LIBRARY_GIO); @@ -2169,11 +2204,13 @@ shared static this() Linker.link(g_tls_connection_emit_accept_certificate, "g_tls_connection_emit_accept_certificate", LIBRARY_GIO); Linker.link(g_tls_connection_get_certificate, "g_tls_connection_get_certificate", LIBRARY_GIO); Linker.link(g_tls_connection_get_channel_binding_data, "g_tls_connection_get_channel_binding_data", LIBRARY_GIO); + Linker.link(g_tls_connection_get_ciphersuite_name, "g_tls_connection_get_ciphersuite_name", LIBRARY_GIO); Linker.link(g_tls_connection_get_database, "g_tls_connection_get_database", LIBRARY_GIO); Linker.link(g_tls_connection_get_interaction, "g_tls_connection_get_interaction", LIBRARY_GIO); Linker.link(g_tls_connection_get_negotiated_protocol, "g_tls_connection_get_negotiated_protocol", LIBRARY_GIO); Linker.link(g_tls_connection_get_peer_certificate, "g_tls_connection_get_peer_certificate", LIBRARY_GIO); Linker.link(g_tls_connection_get_peer_certificate_errors, "g_tls_connection_get_peer_certificate_errors", LIBRARY_GIO); + Linker.link(g_tls_connection_get_protocol_version, "g_tls_connection_get_protocol_version", LIBRARY_GIO); Linker.link(g_tls_connection_get_rehandshake_mode, "g_tls_connection_get_rehandshake_mode", LIBRARY_GIO); Linker.link(g_tls_connection_get_require_close_notify, "g_tls_connection_get_require_close_notify", LIBRARY_GIO); Linker.link(g_tls_connection_get_use_system_certdb, "g_tls_connection_get_use_system_certdb", LIBRARY_GIO); @@ -3130,6 +3167,18 @@ __gshared extern(C) int function(GDatagramBased* datagramBased, GInputMessage* messages, uint numMessages, int flags, long timeout, GCancellable* cancellable, GError** err) c_g_datagram_based_receive_messages; int function(GDatagramBased* datagramBased, GOutputMessage* messages, uint numMessages, int flags, long timeout, GCancellable* cancellable, GError** err) c_g_datagram_based_send_messages; + // gio.DebugController + + GType function() c_g_debug_controller_get_type; + int function(GDebugController* self) c_g_debug_controller_get_debug_enabled; + void function(GDebugController* self, int debugEnabled) c_g_debug_controller_set_debug_enabled; + + // gio.DebugControllerDBus + + GType function() c_g_debug_controller_dbus_get_type; + GDebugControllerDBus* function(GDBusConnection* connection, GCancellable* cancellable, GError** err) c_g_debug_controller_dbus_new; + void function(GDebugControllerDBus* self) c_g_debug_controller_dbus_stop; + // gio.DesktopAppInfo GType function() c_g_desktop_app_info_get_type; @@ -3214,11 +3263,13 @@ __gshared extern(C) int function(GDtlsConnection* conn, GTlsCertificate* peerCert, GTlsCertificateFlags errors) c_g_dtls_connection_emit_accept_certificate; GTlsCertificate* function(GDtlsConnection* conn) c_g_dtls_connection_get_certificate; int function(GDtlsConnection* conn, GTlsChannelBindingType type, GByteArray* data, GError** err) c_g_dtls_connection_get_channel_binding_data; + char* function(GDtlsConnection* conn) c_g_dtls_connection_get_ciphersuite_name; GTlsDatabase* function(GDtlsConnection* conn) c_g_dtls_connection_get_database; GTlsInteraction* function(GDtlsConnection* conn) c_g_dtls_connection_get_interaction; const(char)* function(GDtlsConnection* conn) c_g_dtls_connection_get_negotiated_protocol; GTlsCertificate* function(GDtlsConnection* conn) c_g_dtls_connection_get_peer_certificate; GTlsCertificateFlags function(GDtlsConnection* conn) c_g_dtls_connection_get_peer_certificate_errors; + GTlsProtocolVersion function(GDtlsConnection* conn) c_g_dtls_connection_get_protocol_version; GTlsRehandshakeMode function(GDtlsConnection* conn) c_g_dtls_connection_get_rehandshake_mode; int function(GDtlsConnection* conn) c_g_dtls_connection_get_require_close_notify; int function(GDtlsConnection* conn, GCancellable* cancellable, GError** err) c_g_dtls_connection_handshake; @@ -3333,6 +3384,8 @@ __gshared extern(C) void function(GFile* file, GMountMountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) c_g_file_mount_mountable; GFile* function(GFile* file, GAsyncResult* result, GError** err) c_g_file_mount_mountable_finish; int function(GFile* source, GFile* destination, GFileCopyFlags flags, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GError** err) c_g_file_move; + void function(GFile* source, GFile* destination, GFileCopyFlags flags, int ioPriority, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GAsyncReadyCallback callback, void* userData) c_g_file_move_async; + int function(GFile* file, GAsyncResult* result, GError** err) c_g_file_move_finish; GFileIOStream* function(GFile* file, GCancellable* cancellable, GError** err) c_g_file_open_readwrite; void function(GFile* file, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) c_g_file_open_readwrite_async; GFileIOStream* function(GFile* file, GAsyncResult* res, GError** err) c_g_file_open_readwrite_finish; @@ -3457,6 +3510,7 @@ __gshared extern(C) void function(GFileInfo* info) c_g_file_info_clear_status; void function(GFileInfo* srcInfo, GFileInfo* destInfo) c_g_file_info_copy_into; GFileInfo* function(GFileInfo* other) c_g_file_info_dup; + GDateTime* function(GFileInfo* info) c_g_file_info_get_access_date_time; char* function(GFileInfo* info, const(char)* attribute) c_g_file_info_get_attribute_as_string; int function(GFileInfo* info, const(char)* attribute) c_g_file_info_get_attribute_boolean; const(char)* function(GFileInfo* info, const(char)* attribute) c_g_file_info_get_attribute_byte_string; @@ -3471,6 +3525,7 @@ __gshared extern(C) uint function(GFileInfo* info, const(char)* attribute) c_g_file_info_get_attribute_uint32; ulong function(GFileInfo* info, const(char)* attribute) c_g_file_info_get_attribute_uint64; const(char)* function(GFileInfo* info) c_g_file_info_get_content_type; + GDateTime* function(GFileInfo* info) c_g_file_info_get_creation_date_time; GDateTime* function(GFileInfo* info) c_g_file_info_get_deletion_date; const(char)* function(GFileInfo* info) c_g_file_info_get_display_name; const(char)* function(GFileInfo* info) c_g_file_info_get_edit_name; @@ -3491,6 +3546,7 @@ __gshared extern(C) int function(GFileInfo* info, const(char)* nameSpace) c_g_file_info_has_namespace; char** function(GFileInfo* info, const(char)* nameSpace) c_g_file_info_list_attributes; void function(GFileInfo* info, const(char)* attribute) c_g_file_info_remove_attribute; + void function(GFileInfo* info, GDateTime* atime) c_g_file_info_set_access_date_time; void function(GFileInfo* info, const(char)* attribute, GFileAttributeType type, void* valueP) c_g_file_info_set_attribute; void function(GFileInfo* info, const(char)* attribute, int attrValue) c_g_file_info_set_attribute_boolean; void function(GFileInfo* info, const(char)* attribute, const(char)* attrValue) c_g_file_info_set_attribute_byte_string; @@ -3504,6 +3560,7 @@ __gshared extern(C) void function(GFileInfo* info, const(char)* attribute, uint attrValue) c_g_file_info_set_attribute_uint32; void function(GFileInfo* info, const(char)* attribute, ulong attrValue) c_g_file_info_set_attribute_uint64; void function(GFileInfo* info, const(char)* contentType) c_g_file_info_set_content_type; + void function(GFileInfo* info, GDateTime* creationTime) c_g_file_info_set_creation_date_time; void function(GFileInfo* info, const(char)* displayName) c_g_file_info_set_display_name; void function(GFileInfo* info, const(char)* editName) c_g_file_info_set_edit_name; void function(GFileInfo* info, GFileType type) c_g_file_info_set_file_type; @@ -3932,6 +3989,7 @@ __gshared extern(C) void function(GNotification* notification, const(char)* label, const(char)* action, const(char)* targetFormat, ... ) c_g_notification_add_button_with_target; void function(GNotification* notification, const(char)* label, const(char)* action, GVariant* target) c_g_notification_add_button_with_target_value; void function(GNotification* notification, const(char)* body_) c_g_notification_set_body; + void function(GNotification* notification, const(char)* category) c_g_notification_set_category; void function(GNotification* notification, const(char)* detailedAction) c_g_notification_set_default_action; void function(GNotification* notification, const(char)* action, const(char)* targetFormat, ... ) c_g_notification_set_default_action_and_target; void function(GNotification* notification, const(char)* action, GVariant* target) c_g_notification_set_default_action_and_target_value; @@ -4006,6 +4064,12 @@ __gshared extern(C) ptrdiff_t function(GPollableOutputStream* stream, void* buffer, size_t count, GCancellable* cancellable, GError** err) c_g_pollable_output_stream_write_nonblocking; GPollableReturn function(GPollableOutputStream* stream, GOutputVector* vectors, size_t nVectors, size_t* bytesWritten, GCancellable* cancellable, GError** err) c_g_pollable_output_stream_writev_nonblocking; + // gio.PowerProfileMonitor + + GType function() c_g_power_profile_monitor_get_type; + GPowerProfileMonitor* function() c_g_power_profile_monitor_dup_default; + int function(GPowerProfileMonitor* monitor) c_g_power_profile_monitor_get_power_saver_enabled; + // gio.PropertyAction GType function() c_g_property_action_get_type; @@ -4605,11 +4669,19 @@ __gshared extern(C) GType function() c_g_tls_certificate_get_type; GTlsCertificate* function(char* file, GError** err) c_g_tls_certificate_new_from_file; + GTlsCertificate* function(char* file, const(char)* password, GError** err) c_g_tls_certificate_new_from_file_with_password; GTlsCertificate* function(char* certFile, char* keyFile, GError** err) c_g_tls_certificate_new_from_files; GTlsCertificate* function(const(char)* data, ptrdiff_t length, GError** err) c_g_tls_certificate_new_from_pem; GTlsCertificate* function(const(char)* pkcs11Uri, const(char)* privateKeyPkcs11Uri, GError** err) c_g_tls_certificate_new_from_pkcs11_uris; + GTlsCertificate* function(ubyte* data, size_t length, const(char)* password, GError** err) c_g_tls_certificate_new_from_pkcs12; GList* function(char* file, GError** err) c_g_tls_certificate_list_new_from_file; + GPtrArray* function(GTlsCertificate* cert) c_g_tls_certificate_get_dns_names; + GPtrArray* function(GTlsCertificate* cert) c_g_tls_certificate_get_ip_addresses; GTlsCertificate* function(GTlsCertificate* cert) c_g_tls_certificate_get_issuer; + char* function(GTlsCertificate* cert) c_g_tls_certificate_get_issuer_name; + GDateTime* function(GTlsCertificate* cert) c_g_tls_certificate_get_not_valid_after; + GDateTime* function(GTlsCertificate* cert) c_g_tls_certificate_get_not_valid_before; + char* function(GTlsCertificate* cert) c_g_tls_certificate_get_subject_name; int function(GTlsCertificate* certOne, GTlsCertificate* certTwo) c_g_tls_certificate_is_same; GTlsCertificateFlags function(GTlsCertificate* cert, GSocketConnectable* identity, GTlsCertificate* trustedCa) c_g_tls_certificate_verify; @@ -4632,11 +4704,13 @@ __gshared extern(C) int function(GTlsConnection* conn, GTlsCertificate* peerCert, GTlsCertificateFlags errors) c_g_tls_connection_emit_accept_certificate; GTlsCertificate* function(GTlsConnection* conn) c_g_tls_connection_get_certificate; int function(GTlsConnection* conn, GTlsChannelBindingType type, GByteArray* data, GError** err) c_g_tls_connection_get_channel_binding_data; + char* function(GTlsConnection* conn) c_g_tls_connection_get_ciphersuite_name; GTlsDatabase* function(GTlsConnection* conn) c_g_tls_connection_get_database; GTlsInteraction* function(GTlsConnection* conn) c_g_tls_connection_get_interaction; const(char)* function(GTlsConnection* conn) c_g_tls_connection_get_negotiated_protocol; GTlsCertificate* function(GTlsConnection* conn) c_g_tls_connection_get_peer_certificate; GTlsCertificateFlags function(GTlsConnection* conn) c_g_tls_connection_get_peer_certificate_errors; + GTlsProtocolVersion function(GTlsConnection* conn) c_g_tls_connection_get_protocol_version; GTlsRehandshakeMode function(GTlsConnection* conn) c_g_tls_connection_get_rehandshake_mode; int function(GTlsConnection* conn) c_g_tls_connection_get_require_close_notify; int function(GTlsConnection* conn) c_g_tls_connection_get_use_system_certdb; @@ -4915,7 +4989,7 @@ __gshared extern(C) GIcon* function(const(char)* type) c_g_content_type_get_icon; char* function(const(char)* type) c_g_content_type_get_mime_type; GIcon* function(const(char)* type) c_g_content_type_get_symbolic_icon; - char* function(const(char)* filename, char* data, size_t dataSize, int* resultUncertain) c_g_content_type_guess; + char* function(char* filename, char* data, size_t dataSize, int* resultUncertain) c_g_content_type_guess; char** function(GFile* root) c_g_content_type_guess_for_tree; int function(const(char)* type, const(char)* supertype) c_g_content_type_is_a; int function(const(char)* type) c_g_content_type_is_unknown; @@ -5591,6 +5665,18 @@ alias c_g_datagram_based_create_source g_datagram_based_create_source; alias c_g_datagram_based_receive_messages g_datagram_based_receive_messages; alias c_g_datagram_based_send_messages g_datagram_based_send_messages; +// gio.DebugController + +alias c_g_debug_controller_get_type g_debug_controller_get_type; +alias c_g_debug_controller_get_debug_enabled g_debug_controller_get_debug_enabled; +alias c_g_debug_controller_set_debug_enabled g_debug_controller_set_debug_enabled; + +// gio.DebugControllerDBus + +alias c_g_debug_controller_dbus_get_type g_debug_controller_dbus_get_type; +alias c_g_debug_controller_dbus_new g_debug_controller_dbus_new; +alias c_g_debug_controller_dbus_stop g_debug_controller_dbus_stop; + // gio.DesktopAppInfo alias c_g_desktop_app_info_get_type g_desktop_app_info_get_type; @@ -5675,11 +5761,13 @@ alias c_g_dtls_connection_close_finish g_dtls_connection_close_finish; alias c_g_dtls_connection_emit_accept_certificate g_dtls_connection_emit_accept_certificate; alias c_g_dtls_connection_get_certificate g_dtls_connection_get_certificate; alias c_g_dtls_connection_get_channel_binding_data g_dtls_connection_get_channel_binding_data; +alias c_g_dtls_connection_get_ciphersuite_name g_dtls_connection_get_ciphersuite_name; alias c_g_dtls_connection_get_database g_dtls_connection_get_database; alias c_g_dtls_connection_get_interaction g_dtls_connection_get_interaction; alias c_g_dtls_connection_get_negotiated_protocol g_dtls_connection_get_negotiated_protocol; alias c_g_dtls_connection_get_peer_certificate g_dtls_connection_get_peer_certificate; alias c_g_dtls_connection_get_peer_certificate_errors g_dtls_connection_get_peer_certificate_errors; +alias c_g_dtls_connection_get_protocol_version g_dtls_connection_get_protocol_version; alias c_g_dtls_connection_get_rehandshake_mode g_dtls_connection_get_rehandshake_mode; alias c_g_dtls_connection_get_require_close_notify g_dtls_connection_get_require_close_notify; alias c_g_dtls_connection_handshake g_dtls_connection_handshake; @@ -5794,6 +5882,8 @@ alias c_g_file_mount_enclosing_volume_finish g_file_mount_enclosing_volume_finis alias c_g_file_mount_mountable g_file_mount_mountable; alias c_g_file_mount_mountable_finish g_file_mount_mountable_finish; alias c_g_file_move g_file_move; +alias c_g_file_move_async g_file_move_async; +alias c_g_file_move_finish g_file_move_finish; alias c_g_file_open_readwrite g_file_open_readwrite; alias c_g_file_open_readwrite_async g_file_open_readwrite_async; alias c_g_file_open_readwrite_finish g_file_open_readwrite_finish; @@ -5918,6 +6008,7 @@ alias c_g_file_info_new g_file_info_new; alias c_g_file_info_clear_status g_file_info_clear_status; alias c_g_file_info_copy_into g_file_info_copy_into; alias c_g_file_info_dup g_file_info_dup; +alias c_g_file_info_get_access_date_time g_file_info_get_access_date_time; alias c_g_file_info_get_attribute_as_string g_file_info_get_attribute_as_string; alias c_g_file_info_get_attribute_boolean g_file_info_get_attribute_boolean; alias c_g_file_info_get_attribute_byte_string g_file_info_get_attribute_byte_string; @@ -5932,6 +6023,7 @@ alias c_g_file_info_get_attribute_type g_file_info_get_attribute_type; alias c_g_file_info_get_attribute_uint32 g_file_info_get_attribute_uint32; alias c_g_file_info_get_attribute_uint64 g_file_info_get_attribute_uint64; alias c_g_file_info_get_content_type g_file_info_get_content_type; +alias c_g_file_info_get_creation_date_time g_file_info_get_creation_date_time; alias c_g_file_info_get_deletion_date g_file_info_get_deletion_date; alias c_g_file_info_get_display_name g_file_info_get_display_name; alias c_g_file_info_get_edit_name g_file_info_get_edit_name; @@ -5952,6 +6044,7 @@ alias c_g_file_info_has_attribute g_file_info_has_attribute; alias c_g_file_info_has_namespace g_file_info_has_namespace; alias c_g_file_info_list_attributes g_file_info_list_attributes; alias c_g_file_info_remove_attribute g_file_info_remove_attribute; +alias c_g_file_info_set_access_date_time g_file_info_set_access_date_time; alias c_g_file_info_set_attribute g_file_info_set_attribute; alias c_g_file_info_set_attribute_boolean g_file_info_set_attribute_boolean; alias c_g_file_info_set_attribute_byte_string g_file_info_set_attribute_byte_string; @@ -5965,6 +6058,7 @@ alias c_g_file_info_set_attribute_stringv g_file_info_set_attribute_stringv; alias c_g_file_info_set_attribute_uint32 g_file_info_set_attribute_uint32; alias c_g_file_info_set_attribute_uint64 g_file_info_set_attribute_uint64; alias c_g_file_info_set_content_type g_file_info_set_content_type; +alias c_g_file_info_set_creation_date_time g_file_info_set_creation_date_time; alias c_g_file_info_set_display_name g_file_info_set_display_name; alias c_g_file_info_set_edit_name g_file_info_set_edit_name; alias c_g_file_info_set_file_type g_file_info_set_file_type; @@ -6393,6 +6487,7 @@ alias c_g_notification_add_button g_notification_add_button; alias c_g_notification_add_button_with_target g_notification_add_button_with_target; alias c_g_notification_add_button_with_target_value g_notification_add_button_with_target_value; alias c_g_notification_set_body g_notification_set_body; +alias c_g_notification_set_category g_notification_set_category; alias c_g_notification_set_default_action g_notification_set_default_action; alias c_g_notification_set_default_action_and_target g_notification_set_default_action_and_target; alias c_g_notification_set_default_action_and_target_value g_notification_set_default_action_and_target_value; @@ -6467,6 +6562,12 @@ alias c_g_pollable_output_stream_is_writable g_pollable_output_stream_is_writabl alias c_g_pollable_output_stream_write_nonblocking g_pollable_output_stream_write_nonblocking; alias c_g_pollable_output_stream_writev_nonblocking g_pollable_output_stream_writev_nonblocking; +// gio.PowerProfileMonitor + +alias c_g_power_profile_monitor_get_type g_power_profile_monitor_get_type; +alias c_g_power_profile_monitor_dup_default g_power_profile_monitor_dup_default; +alias c_g_power_profile_monitor_get_power_saver_enabled g_power_profile_monitor_get_power_saver_enabled; + // gio.PropertyAction alias c_g_property_action_get_type g_property_action_get_type; @@ -7066,11 +7167,19 @@ alias c_g_tls_backend_supports_tls g_tls_backend_supports_tls; alias c_g_tls_certificate_get_type g_tls_certificate_get_type; alias c_g_tls_certificate_new_from_file g_tls_certificate_new_from_file; +alias c_g_tls_certificate_new_from_file_with_password g_tls_certificate_new_from_file_with_password; alias c_g_tls_certificate_new_from_files g_tls_certificate_new_from_files; alias c_g_tls_certificate_new_from_pem g_tls_certificate_new_from_pem; alias c_g_tls_certificate_new_from_pkcs11_uris g_tls_certificate_new_from_pkcs11_uris; +alias c_g_tls_certificate_new_from_pkcs12 g_tls_certificate_new_from_pkcs12; alias c_g_tls_certificate_list_new_from_file g_tls_certificate_list_new_from_file; +alias c_g_tls_certificate_get_dns_names g_tls_certificate_get_dns_names; +alias c_g_tls_certificate_get_ip_addresses g_tls_certificate_get_ip_addresses; alias c_g_tls_certificate_get_issuer g_tls_certificate_get_issuer; +alias c_g_tls_certificate_get_issuer_name g_tls_certificate_get_issuer_name; +alias c_g_tls_certificate_get_not_valid_after g_tls_certificate_get_not_valid_after; +alias c_g_tls_certificate_get_not_valid_before g_tls_certificate_get_not_valid_before; +alias c_g_tls_certificate_get_subject_name g_tls_certificate_get_subject_name; alias c_g_tls_certificate_is_same g_tls_certificate_is_same; alias c_g_tls_certificate_verify g_tls_certificate_verify; @@ -7093,11 +7202,13 @@ alias c_g_tls_connection_get_type g_tls_connection_get_type; alias c_g_tls_connection_emit_accept_certificate g_tls_connection_emit_accept_certificate; alias c_g_tls_connection_get_certificate g_tls_connection_get_certificate; alias c_g_tls_connection_get_channel_binding_data g_tls_connection_get_channel_binding_data; +alias c_g_tls_connection_get_ciphersuite_name g_tls_connection_get_ciphersuite_name; alias c_g_tls_connection_get_database g_tls_connection_get_database; alias c_g_tls_connection_get_interaction g_tls_connection_get_interaction; alias c_g_tls_connection_get_negotiated_protocol g_tls_connection_get_negotiated_protocol; alias c_g_tls_connection_get_peer_certificate g_tls_connection_get_peer_certificate; alias c_g_tls_connection_get_peer_certificate_errors g_tls_connection_get_peer_certificate_errors; +alias c_g_tls_connection_get_protocol_version g_tls_connection_get_protocol_version; alias c_g_tls_connection_get_rehandshake_mode g_tls_connection_get_rehandshake_mode; alias c_g_tls_connection_get_require_close_notify g_tls_connection_get_require_close_notify; alias c_g_tls_connection_get_use_system_certdb g_tls_connection_get_use_system_certdb; diff --git a/generated/gtkd/gio/c/types.d b/source/generated/gio/gio/c/types.d similarity index 96% rename from generated/gtkd/gio/c/types.d rename to source/generated/gio/gio/c/types.d index 29d044134..0283e5d17 100644 --- a/generated/gtkd/gio/c/types.d +++ b/source/generated/gio/gio/c/types.d @@ -180,7 +180,7 @@ public enum GBusNameOwnerFlags ALLOW_REPLACEMENT = 1, /** * If another message bus connection owns the name and have - * specified #G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection. + * specified %G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection. */ REPLACE = 2, /** @@ -320,6 +320,10 @@ public enum GCredentialsType * The native credentials type is a `struct xucred`. Added in 2.66. */ APPLE_XUCRED = 6, + /** + * The native credentials type is a PID `DWORD`. Added in 2.72. + */ + WIN32_PID = 7, } alias GCredentialsType CredentialsType; @@ -837,6 +841,12 @@ public enum GDBusProxyFlags * and only if %G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is not also specified. */ DO_NOT_AUTO_START_AT_CONSTRUCTION = 16, + /** + * Don't actually send the AddMatch D-Bus + * call for this signal subscription. This gives you more control + * over which match rules you add (but you must add them manually). (Since: 2.72) + */ + NO_MATCH_RULE = 32, } alias GDBusProxyFlags DBusProxyFlags; @@ -1413,7 +1423,7 @@ alias GFileType FileType; /** * Indicates a hint from the file system whether files should be * previewed in a file manager. Returned as the value of the key - * #G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW. + * %G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW. */ public enum GFilesystemPreviewType { @@ -1447,7 +1457,7 @@ alias GFilesystemPreviewType FilesystemPreviewType; * } * ]| * but should instead treat all unrecognized error codes the same as - * #G_IO_ERROR_FAILED. + * %G_IO_ERROR_FAILED. * * See also #GPollableReturn for a cheaper way of returning * %G_IO_ERROR_WOULD_BLOCK to callers without allocating a #GError. @@ -2124,7 +2134,7 @@ public enum GSettingsBindFlags */ NO_SENSITIVITY = 4, /** - * When set in addition to #G_SETTINGS_BIND_GET, set the #GObject property + * When set in addition to %G_SETTINGS_BIND_GET, set the #GObject property * value initially from the setting, but do not listen for changes of the setting */ GET_NO_CHANGES = 8, @@ -2414,6 +2424,12 @@ public enum GSubprocessFlags * over the "standard" file descriptors (stdin, stdout, stderr). */ INHERIT_FDS = 128, + /** + * if path searching is + * needed when spawning the subprocess, use the `PATH` in the launcher + * environment. (Since: 2.72) + */ + SEARCH_PATH_FROM_ENVP = 256, } alias GSubprocessFlags SubprocessFlags; @@ -2455,10 +2471,16 @@ alias GTlsAuthenticationMode TlsAuthenticationMode; /** * A set of flags describing TLS certification validation. This can be - * used to set which validation steps to perform (eg, with - * g_tls_client_connection_set_validation_flags()), or to describe why - * a particular certificate was rejected (eg, in - * #GTlsConnection::accept-certificate). + * used to describe why a particular certificate was rejected (for + * example, in #GTlsConnection::accept-certificate). + * + * GLib guarantees that if certificate verification fails, at least one + * flag will be set, but it does not guarantee that all possible flags + * will be set. Accordingly, you may not safely decide to ignore any + * particular type of error. For example, it would be incorrect to mask + * %G_TLS_CERTIFICATE_EXPIRED if you want to allow expired certificates, + * because this could potentially be the only error flag set even if + * other problems exist with the certificate. * * Since: 2.28 */ @@ -2671,6 +2693,11 @@ public enum GTlsError * downgrade attack. Since: 2.60 */ INAPPROPRIATE_FALLBACK = 7, + /** + * The certificate failed + * to load because a password was incorrect. Since: 2.72 + */ + BAD_CERTIFICATE_PASSWORD = 8, } alias GTlsError TlsError; @@ -2725,9 +2752,74 @@ public enum GTlsPasswordFlags * this password right. */ FINAL_TRY = 8, + /** + * For PKCS #11, the user PIN is required. + * Since: 2.70. + */ + PKCS11_USER = 16, + /** + * For PKCS #11, the security officer + * PIN is required. Since: 2.70. + */ + PKCS11_SECURITY_OFFICER = 32, + /** + * For PKCS #11, the context-specific + * PIN is required. Since: 2.70. + */ + PKCS11_CONTEXT_SPECIFIC = 64, } alias GTlsPasswordFlags TlsPasswordFlags; +/** + * The TLS or DTLS protocol version used by a #GTlsConnection or + * #GDtlsConnection. The integer values of these versions are sequential + * to ensure newer known protocol versions compare greater than older + * known versions. Any known DTLS protocol version will compare greater + * than any SSL or TLS protocol version. The protocol version may be + * %G_TLS_PROTOCOL_VERSION_UNKNOWN if the TLS backend supports a newer + * protocol version that GLib does not yet know about. This means that + * it's possible for an unknown DTLS protocol version to compare less + * than the TLS protocol versions. + * + * Since: 2.70 + */ +public enum GTlsProtocolVersion +{ + /** + * No protocol version or unknown protocol version + */ + UNKNOWN = 0, + /** + * SSL 3.0, which is insecure and should not be used + */ + SSL_3_0 = 1, + /** + * TLS 1.0, which is insecure and should not be used + */ + TLS_1_0 = 2, + /** + * TLS 1.1, which is insecure and should not be used + */ + TLS_1_1 = 3, + /** + * TLS 1.2, defined by [RFC 5246](https://datatracker.ietf.org/doc/html/rfc5246) + */ + TLS_1_2 = 4, + /** + * TLS 1.3, defined by [RFC 8446](https://datatracker.ietf.org/doc/html/rfc8446) + */ + TLS_1_3 = 5, + /** + * DTLS 1.0, which is insecure and should not be used + */ + DTLS_1_0 = 201, + /** + * DTLS 1.2, defined by [RFC 6347](https://datatracker.ietf.org/doc/html/rfc6347) + */ + DTLS_1_2 = 202, +} +alias GTlsProtocolVersion TlsProtocolVersion; + /** * When to allow rehandshaking. See * g_tls_connection_set_rehandshake_mode(). @@ -3287,13 +3379,13 @@ struct GAppLaunchContextClass /** */ extern(C) void function(GAppLaunchContext* context, GAppInfo* info, GVariant* platformData) launched; /** */ + extern(C) void function(GAppLaunchContext* context, GAppInfo* info, GVariant* platformData) launchStarted; + /** */ extern(C) void function() GReserved1; /** */ extern(C) void function() GReserved2; /** */ extern(C) void function() GReserved3; - /** */ - extern(C) void function() GReserved4; } struct GAppLaunchContextPrivate; @@ -4358,6 +4450,42 @@ struct GDatagramBasedInterface extern(C) int function(GDatagramBased* datagramBased, GIOCondition condition, long timeout, GCancellable* cancellable, GError** err) conditionWait; } +struct GDebugController; + +struct GDebugControllerDBus +{ + GObject parentInstance; +} + +/** + * The virtual function table for #GDebugControllerDBus. + * + * Since: 2.72 + */ +struct GDebugControllerDBusClass +{ + /** + * The parent class. + */ + GObjectClass parentClass; + /** */ + extern(C) int function(GDebugControllerDBus* controller, GDBusMethodInvocation* invocation) authorize; + void*[12] padding; +} + +/** + * The virtual function table for #GDebugController. + * + * Since: 2.72 + */ +struct GDebugControllerInterface +{ + /** + * The parent interface. + */ + GTypeInterface gIface; +} + struct GDesktopAppInfo; struct GDesktopAppInfoClass @@ -5050,9 +5178,7 @@ struct GFileIface * Params: * file = input #GFile * relativePath = a given relative path string - * Returns: #GFile to the resolved path. - * %NULL if @relative_path is %NULL or if @file is invalid. - * Free the returned object with g_object_unref(). + * Returns: a #GFile for the resolved path. */ extern(C) GFile* function(GFile* file, char* relativePath) resolveRelativePath; /** @@ -5518,9 +5644,17 @@ struct GFileIface */ extern(C) int function(GFile* source, GFile* destination, GFileCopyFlags flags, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GError** err) move; /** */ - extern(C) void function() MoveAsync; - /** */ - extern(C) void function() MoveFinish; + extern(C) void function(GFile* source, GFile* destination, GFileCopyFlags flags, int ioPriority, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GAsyncReadyCallback callback, void* userData) moveAsync; + /** + * + * Params: + * file = input source #GFile + * result = a #GAsyncResult + * Returns: %TRUE on successful file move, %FALSE otherwise. + * + * Throws: GException on failure. + */ + extern(C) int function(GFile* file, GAsyncResult* result, GError** err) moveFinish; /** */ extern(C) void function(GFile* file, GMountMountFlags flags, GMountOperation* mountOperation, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) mountMountable; /** @@ -7262,8 +7396,8 @@ struct GPollableInputStreamInterface * * Params: * stream = a #GPollableInputStream - * buffer = a buffer to - * read data into (which should be at least @count bytes long). + * buffer = a + * buffer to read data into (which should be at least @count bytes long). * count = the number of bytes you want to read * Returns: the number of bytes read, or -1 on error (including * %G_IO_ERROR_WOULD_BLOCK). @@ -7357,6 +7491,21 @@ struct GPollableOutputStreamInterface extern(C) GPollableReturn function(GPollableOutputStream* stream, GOutputVector* vectors, size_t nVectors, size_t* bytesWritten, GError** err) writevNonblocking; } +struct GPowerProfileMonitor; + +/** + * The virtual function table for #GPowerProfileMonitor. + * + * Since: 2.70 + */ +struct GPowerProfileMonitorInterface +{ + /** + * The parent interface. + */ + GTypeInterface gIface; +} + struct GPropertyAction; struct GProxy; @@ -7678,7 +7827,8 @@ struct GSeekableIface * * Params: * seekable = a #GSeekable. - * Returns: the offset from the beginning of the buffer. + * Returns: the (positive or zero) offset from the beginning of the + * buffer, zero if the target is not seekable. */ extern(C) long function(GSeekable* seekable) tell; /** @@ -8306,8 +8456,16 @@ struct GTlsConnection GTlsConnectionPrivate* priv; } +/** + * The class structure for the #GTlsConnection type. + * + * Since: 2.28 + */ struct GTlsConnectionClass { + /** + * The parent class. + */ GIOStreamClass parentClass; /** */ extern(C) int function(GTlsConnection* connection, GTlsCertificate* peerCert, GTlsCertificateFlags errors) acceptCertificate; @@ -8336,7 +8494,14 @@ struct GTlsConnectionClass extern(C) int function(GTlsConnection* conn, GAsyncResult* result, GError** err) handshakeFinish; /** */ extern(C) int function(GTlsConnection* conn, GTlsChannelBindingType type, GByteArray* data, GError** err) getBindingData; - void*[7] padding; + /** + * + * Params: + * conn = a #GTlsConnection + * Returns: the negotiated protocol, or %NULL + */ + extern(C) const(char)* function(GTlsConnection* conn) getNegotiatedProtocol; + void*[6] padding; } struct GTlsConnectionPrivate; @@ -8590,7 +8755,6 @@ struct GTlsPasswordClass * * Params: * password = a #GTlsPassword object - * length = location to place the length of the password. * Returns: The password value (owned by the password object). */ extern(C) char* function(GTlsPassword* password, size_t* length) getValue; @@ -9117,6 +9281,10 @@ struct GZlibDecompressorClass * #GAsyncReadyCallback must likewise call it asynchronously in a * later iteration of the main context. * + * The asynchronous operation is guaranteed to have held a reference to + * @source_object from the time when the `*_async()` function was called, until + * after this callback returns. + * * Params: * sourceObject = the object the asynchronous operation was started with. * res = a #GAsyncResult. @@ -9748,6 +9916,13 @@ alias G_DBUS_METHOD_INVOCATION_HANDLED = DBUS_METHOD_INVOCATION_HANDLED; enum DBUS_METHOD_INVOCATION_UNHANDLED = false; alias G_DBUS_METHOD_INVOCATION_UNHANDLED = DBUS_METHOD_INVOCATION_UNHANDLED; +/** + * Extension point for debug control functionality. + * See [Extending GIO][extending-gio]. + */ +enum DEBUG_CONTROLLER_EXTENSION_POINT_NAME = "gio-debug-controller"; +alias G_DEBUG_CONTROLLER_EXTENSION_POINT_NAME = DEBUG_CONTROLLER_EXTENSION_POINT_NAME; + /** * Extension point for default handler to URI association. See * [Extending GIO][extending-gio]. @@ -9766,7 +9941,9 @@ alias G_DRIVE_IDENTIFIER_KIND_UNIX_DEVICE = DRIVE_IDENTIFIER_KIND_UNIX_DEVICE; /** * A key in the "access" namespace for checking deletion privileges. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * * This attribute will be %TRUE if the user is able to delete the file. */ enum FILE_ATTRIBUTE_ACCESS_CAN_DELETE = "access::can-delete"; @@ -9774,7 +9951,9 @@ alias G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE = FILE_ATTRIBUTE_ACCESS_CAN_DELETE; /** * A key in the "access" namespace for getting execution privileges. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * * This attribute will be %TRUE if the user is able to execute the file. */ enum FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE = "access::can-execute"; @@ -9782,7 +9961,9 @@ alias G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE = FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE; /** * A key in the "access" namespace for getting read privileges. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * * This attribute will be %TRUE if the user is able to read the file. */ enum FILE_ATTRIBUTE_ACCESS_CAN_READ = "access::can-read"; @@ -9790,7 +9971,9 @@ alias G_FILE_ATTRIBUTE_ACCESS_CAN_READ = FILE_ATTRIBUTE_ACCESS_CAN_READ; /** * A key in the "access" namespace for checking renaming privileges. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * * This attribute will be %TRUE if the user is able to rename the file. */ enum FILE_ATTRIBUTE_ACCESS_CAN_RENAME = "access::can-rename"; @@ -9798,7 +9981,9 @@ alias G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME = FILE_ATTRIBUTE_ACCESS_CAN_RENAME; /** * A key in the "access" namespace for checking trashing privileges. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * * This attribute will be %TRUE if the user is able to move the file to * the trash. */ @@ -9807,7 +9992,9 @@ alias G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH = FILE_ATTRIBUTE_ACCESS_CAN_TRASH; /** * A key in the "access" namespace for getting write privileges. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * * This attribute will be %TRUE if the user is able to write to the file. */ enum FILE_ATTRIBUTE_ACCESS_CAN_WRITE = "access::can-write"; @@ -9815,9 +10002,13 @@ alias G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE = FILE_ATTRIBUTE_ACCESS_CAN_WRITE; /** * A key in the "dos" namespace for checking if the file's archive flag - * is set. This attribute is %TRUE if the archive flag is set. This attribute - * is only available for DOS file systems. Corresponding #GFileAttributeType - * is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * is set. + * + * This attribute is %TRUE if the archive flag is set. + * + * This attribute is only available for DOS file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_DOS_IS_ARCHIVE = "dos::is-archive"; alias G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE = FILE_ATTRIBUTE_DOS_IS_ARCHIVE; @@ -9825,9 +10016,12 @@ alias G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE = FILE_ATTRIBUTE_DOS_IS_ARCHIVE; /** * A key in the "dos" namespace for checking if the file is a NTFS mount point * (a volume mount or a junction point). + * * This attribute is %TRUE if file is a reparse point of type * [IO_REPARSE_TAG_MOUNT_POINT](https://msdn.microsoft.com/en-us/library/dd541667.aspx). + * * This attribute is only available for DOS file systems. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT = "dos::is-mountpoint"; @@ -9835,42 +10029,54 @@ alias G_FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT = FILE_ATTRIBUTE_DOS_IS_MOUNTPOINT; /** * A key in the "dos" namespace for checking if the file's backup flag - * is set. This attribute is %TRUE if the backup flag is set. This attribute - * is only available for DOS file systems. Corresponding #GFileAttributeType - * is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * is set. + * + * This attribute is %TRUE if the backup flag is set. + * + * This attribute is only available for DOS file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_DOS_IS_SYSTEM = "dos::is-system"; alias G_FILE_ATTRIBUTE_DOS_IS_SYSTEM = FILE_ATTRIBUTE_DOS_IS_SYSTEM; /** * A key in the "dos" namespace for getting the file NTFS reparse tag. + * * This value is 0 for files that are not reparse points. + * * See the [Reparse Tags](https://msdn.microsoft.com/en-us/library/dd541667.aspx) - * page for possible reparse tag values. Corresponding #GFileAttributeType - * is %G_FILE_ATTRIBUTE_TYPE_UINT32. + * page for possible reparse tag values. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG = "dos::reparse-point-tag"; alias G_FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG = FILE_ATTRIBUTE_DOS_REPARSE_POINT_TAG; /** * A key in the "etag" namespace for getting the value of the file's - * entity tag. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_STRING. + * entity tag. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. */ enum FILE_ATTRIBUTE_ETAG_VALUE = "etag::value"; alias G_FILE_ATTRIBUTE_ETAG_VALUE = FILE_ATTRIBUTE_ETAG_VALUE; /** - * A key in the "filesystem" namespace for getting the number of bytes of free space left on the - * file system. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_UINT64. + * A key in the "filesystem" namespace for getting the number of bytes + * of free space left on the file system. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. */ enum FILE_ATTRIBUTE_FILESYSTEM_FREE = "filesystem::free"; alias G_FILE_ATTRIBUTE_FILESYSTEM_FREE = FILE_ATTRIBUTE_FILESYSTEM_FREE; /** * A key in the "filesystem" namespace for checking if the file system - * is read only. Is set to %TRUE if the file system is read only. + * is read only. + * + * Is set to %TRUE if the file system is read only. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_FILESYSTEM_READONLY = "filesystem::readonly"; @@ -9878,31 +10084,37 @@ alias G_FILE_ATTRIBUTE_FILESYSTEM_READONLY = FILE_ATTRIBUTE_FILESYSTEM_READONLY; /** * A key in the "filesystem" namespace for checking if the file system - * is remote. Is set to %TRUE if the file system is remote. + * is remote. + * + * Is set to %TRUE if the file system is remote. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_FILESYSTEM_REMOTE = "filesystem::remote"; alias G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE = FILE_ATTRIBUTE_FILESYSTEM_REMOTE; /** - * A key in the "filesystem" namespace for getting the total size (in bytes) of the file system, - * used in g_file_query_filesystem_info(). Corresponding #GFileAttributeType - * is %G_FILE_ATTRIBUTE_TYPE_UINT64. + * A key in the "filesystem" namespace for getting the total size (in + * bytes) of the file system, used in g_file_query_filesystem_info(). + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. */ enum FILE_ATTRIBUTE_FILESYSTEM_SIZE = "filesystem::size"; alias G_FILE_ATTRIBUTE_FILESYSTEM_SIZE = FILE_ATTRIBUTE_FILESYSTEM_SIZE; /** * A key in the "filesystem" namespace for getting the file system's type. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. */ enum FILE_ATTRIBUTE_FILESYSTEM_TYPE = "filesystem::type"; alias G_FILE_ATTRIBUTE_FILESYSTEM_TYPE = FILE_ATTRIBUTE_FILESYSTEM_TYPE; /** - * A key in the "filesystem" namespace for getting the number of bytes of used on the - * file system. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_UINT64. + * A key in the "filesystem" namespace for getting the number of bytes + * used by data on the file system. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. */ enum FILE_ATTRIBUTE_FILESYSTEM_USED = "filesystem::used"; alias G_FILE_ATTRIBUTE_FILESYSTEM_USED = FILE_ATTRIBUTE_FILESYSTEM_USED; @@ -9910,23 +10122,27 @@ alias G_FILE_ATTRIBUTE_FILESYSTEM_USED = FILE_ATTRIBUTE_FILESYSTEM_USED; /** * A key in the "filesystem" namespace for hinting a file manager * application whether it should preview (e.g. thumbnail) files on the - * file system. The value for this key contain a - * #GFilesystemPreviewType. + * file system. + * + * The value for this key contain a #GFilesystemPreviewType. */ enum FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW = "filesystem::use-preview"; alias G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW = FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW; /** * A key in the "gvfs" namespace that gets the name of the current - * GVFS backend in use. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_STRING. + * GVFS backend in use. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. */ enum FILE_ATTRIBUTE_GVFS_BACKEND = "gvfs::backend"; alias G_FILE_ATTRIBUTE_GVFS_BACKEND = FILE_ATTRIBUTE_GVFS_BACKEND; /** * A key in the "id" namespace for getting a file identifier. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + * * An example use would be during listing files, to avoid recursive * directory scanning. */ @@ -9935,7 +10151,9 @@ alias G_FILE_ATTRIBUTE_ID_FILE = FILE_ATTRIBUTE_ID_FILE; /** * A key in the "id" namespace for getting the file system identifier. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + * * An example use would be during drag and drop to see if the source * and target are on the same filesystem (default to move) or not (default * to copy). @@ -9944,50 +10162,63 @@ enum FILE_ATTRIBUTE_ID_FILESYSTEM = "id::filesystem"; alias G_FILE_ATTRIBUTE_ID_FILESYSTEM = FILE_ATTRIBUTE_ID_FILESYSTEM; /** - * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be ejected. + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) can be ejected. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT = "mountable::can-eject"; alias G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT = FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT; /** - * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) is mountable. + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) is mountable. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT = "mountable::can-mount"; alias G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT = FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT; /** - * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be polled. + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) can be polled. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL = "mountable::can-poll"; alias G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL = FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL; /** - * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be started. + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) can be started. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_MOUNTABLE_CAN_START = "mountable::can-start"; alias G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START = FILE_ATTRIBUTE_MOUNTABLE_CAN_START; /** - * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be started - * degraded. + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) can be started degraded. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED = "mountable::can-start-degraded"; alias G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED = FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED; /** - * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) can be stopped. + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) can be stopped. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP = "mountable::can-stop"; alias G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP = FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP; /** - * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) is unmountable. + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) is unmountable. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT = "mountable::can-unmount"; @@ -9995,14 +10226,17 @@ alias G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT = FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMO /** * A key in the "mountable" namespace for getting the HAL UDI for the mountable - * file. Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + * file. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. */ enum FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI = "mountable::hal-udi"; alias G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI = FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI; /** - * A key in the "mountable" namespace for checking if a file (of type G_FILE_TYPE_MOUNTABLE) - * is automatically polled for media. + * A key in the "mountable" namespace for checking if a file (of + * type G_FILE_TYPE_MOUNTABLE) is automatically polled for media. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC = "mountable::is-media-check-automatic"; @@ -10010,6 +10244,7 @@ alias G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC = FILE_ATTRIBUTE_MOUNT /** * A key in the "mountable" namespace for getting the #GDriveStartStopType. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE = "mountable::start-stop-type"; @@ -10017,6 +10252,7 @@ alias G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE = FILE_ATTRIBUTE_MOUNTABLE_STAR /** * A key in the "mountable" namespace for getting the unix device. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE = "mountable::unix-device"; @@ -10024,6 +10260,7 @@ alias G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE = FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEV /** * A key in the "mountable" namespace for getting the unix device file. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. */ enum FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE = "mountable::unix-device-file"; @@ -10031,6 +10268,7 @@ alias G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE = FILE_ATTRIBUTE_MOUNTABLE_UNI /** * A key in the "owner" namespace for getting the file owner's group. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. */ enum FILE_ATTRIBUTE_OWNER_GROUP = "owner::group"; @@ -10038,52 +10276,63 @@ alias G_FILE_ATTRIBUTE_OWNER_GROUP = FILE_ATTRIBUTE_OWNER_GROUP; /** * A key in the "owner" namespace for getting the user name of the - * file's owner. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_STRING. + * file's owner. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. */ enum FILE_ATTRIBUTE_OWNER_USER = "owner::user"; alias G_FILE_ATTRIBUTE_OWNER_USER = FILE_ATTRIBUTE_OWNER_USER; /** * A key in the "owner" namespace for getting the real name of the - * user that owns the file. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_STRING. + * user that owns the file. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. */ enum FILE_ATTRIBUTE_OWNER_USER_REAL = "owner::user-real"; alias G_FILE_ATTRIBUTE_OWNER_USER_REAL = FILE_ATTRIBUTE_OWNER_USER_REAL; /** * A key in the "preview" namespace for getting a #GIcon that can be - * used to get preview of the file. For example, it may be a low - * resolution thumbnail without metadata. Corresponding - * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT. The value - * for this key should contain a #GIcon. + * used to get preview of the file. + * + * For example, it may be a low resolution thumbnail without metadata. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT. + * + * The value for this key should contain a #GIcon. */ enum FILE_ATTRIBUTE_PREVIEW_ICON = "preview::icon"; alias G_FILE_ATTRIBUTE_PREVIEW_ICON = FILE_ATTRIBUTE_PREVIEW_ICON; /** * A key in the "recent" namespace for getting time, when the metadata for the - * file in `recent:///` was last changed. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_INT64. + * file in `recent:///` was last changed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_INT64. */ enum FILE_ATTRIBUTE_RECENT_MODIFIED = "recent::modified"; alias G_FILE_ATTRIBUTE_RECENT_MODIFIED = FILE_ATTRIBUTE_RECENT_MODIFIED; /** * A key in the "selinux" namespace for getting the file's SELinux - * context. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_STRING. Note that this attribute is only - * available if GLib has been built with SELinux support. + * context. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + * + * Note that this attribute is only available if GLib has been built + * with SELinux support. */ enum FILE_ATTRIBUTE_SELINUX_CONTEXT = "selinux::context"; alias G_FILE_ATTRIBUTE_SELINUX_CONTEXT = FILE_ATTRIBUTE_SELINUX_CONTEXT; /** * A key in the "standard" namespace for getting the amount of disk space - * that is consumed by the file (in bytes). This will generally be larger - * than the file size (due to block size overhead) but can occasionally be - * smaller (for example, for sparse files). + * that is consumed by the file (in bytes). + * + * This will generally be larger than the file size (due to block size + * overhead) but can occasionally be smaller (for example, for sparse files). + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. */ enum FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE = "standard::allocated-size"; @@ -10091,7 +10340,9 @@ alias G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE = FILE_ATTRIBUTE_STANDARD_ALLOCAT /** * A key in the "standard" namespace for getting the content type of the file. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. + * * The value for this key should contain a valid content type. */ enum FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE = "standard::content-type"; @@ -10099,6 +10350,7 @@ alias G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE = FILE_ATTRIBUTE_STANDARD_CONTENT_T /** * A key in the "standard" namespace for getting the copy name of the file. + * * The copy name is an optional version of the name. If available it's always * in UTF8, and corresponds directly to the original filename (only transcoded to * UTF8). This is useful if you want to copy the file to another filesystem that @@ -10112,6 +10364,7 @@ alias G_FILE_ATTRIBUTE_STANDARD_COPY_NAME = FILE_ATTRIBUTE_STANDARD_COPY_NAME; /** * A key in the "standard" namespace for getting the description of the file. + * * The description is a utf8 string that describes the file, generally containing * the filename, but can also contain further information. Example descriptions * could be "filename (on hostname)" for a remote file or "filename (in trash)" @@ -10125,8 +10378,10 @@ alias G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION = FILE_ATTRIBUTE_STANDARD_DESCRIPTIO /** * A key in the "standard" namespace for getting the display name of the file. + * * A display name is guaranteed to be in UTF-8 and can thus be displayed in * the UI. It is guaranteed to be set on every file. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. */ enum FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME = "standard::display-name"; @@ -10134,6 +10389,7 @@ alias G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME = FILE_ATTRIBUTE_STANDARD_DISPLAY_N /** * A key in the "standard" namespace for edit name of the file. + * * An edit name is similar to the display name, but it is meant to be * used when you want to rename the file in the UI. The display name * might contain information you don't want in the new filename (such as @@ -10146,9 +10402,11 @@ alias G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME = FILE_ATTRIBUTE_STANDARD_EDIT_NAME; /** * A key in the "standard" namespace for getting the fast content type. + * * The fast content type isn't as reliable as the regular one, as it * only uses the filename to guess it, but it is faster to calculate than the * regular content type. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. */ enum FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE = "standard::fast-content-type"; @@ -10156,7 +10414,9 @@ alias G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE = FILE_ATTRIBUTE_STANDARD_FAST /** * A key in the "standard" namespace for getting the icon for the file. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT. + * * The value for this key should contain a #GIcon. */ enum FILE_ATTRIBUTE_STANDARD_ICON = "standard::icon"; @@ -10164,6 +10424,7 @@ alias G_FILE_ATTRIBUTE_STANDARD_ICON = FILE_ATTRIBUTE_STANDARD_ICON; /** * A key in the "standard" namespace for checking if a file is a backup file. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_STANDARD_IS_BACKUP = "standard::is-backup"; @@ -10171,6 +10432,7 @@ alias G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP = FILE_ATTRIBUTE_STANDARD_IS_BACKUP; /** * A key in the "standard" namespace for checking if a file is hidden. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_STANDARD_IS_HIDDEN = "standard::is-hidden"; @@ -10180,7 +10442,9 @@ alias G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN = FILE_ATTRIBUTE_STANDARD_IS_HIDDEN; * A key in the "standard" namespace for checking if the file is a symlink. * Typically the actual type is something else, if we followed the symlink * to get the type. + * * On Windows NTFS mountpoints are considered to be symlinks as well. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_STANDARD_IS_SYMLINK = "standard::is-symlink"; @@ -10188,6 +10452,7 @@ alias G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK = FILE_ATTRIBUTE_STANDARD_IS_SYMLINK; /** * A key in the "standard" namespace for checking if a file is virtual. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL = "standard::is-virtual"; @@ -10197,7 +10462,7 @@ alias G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL = FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL; * A key in the "standard" namespace for checking if a file is * volatile. This is meant for opaque, non-POSIX-like backends to * indicate that the URI is not persistent. Applications should look - * at #G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET for the persistent URI. + * at %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET for the persistent URI. * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ @@ -10206,11 +10471,14 @@ alias G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE = FILE_ATTRIBUTE_STANDARD_IS_VOLATIL /** * A key in the "standard" namespace for getting the name of the file. + * * The name is the on-disk filename which may not be in any known encoding, * and can thus not be generally displayed as is. It is guaranteed to be set on * every file. - * Use #G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME if you need to display the + * + * Use %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME if you need to display the * name in a user interface. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. */ enum FILE_ATTRIBUTE_STANDARD_NAME = "standard::name"; @@ -10218,6 +10486,7 @@ alias G_FILE_ATTRIBUTE_STANDARD_NAME = FILE_ATTRIBUTE_STANDARD_NAME; /** * A key in the "standard" namespace for getting the file's size (in bytes). + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. */ enum FILE_ATTRIBUTE_STANDARD_SIZE = "standard::size"; @@ -10225,7 +10494,9 @@ alias G_FILE_ATTRIBUTE_STANDARD_SIZE = FILE_ATTRIBUTE_STANDARD_SIZE; /** * A key in the "standard" namespace for setting the sort order of a file. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_INT32. + * * An example use would be in file managers, which would use this key * to set the order files are displayed. Files with smaller sort order * should be sorted first, and files without sort order as if sort order @@ -10236,7 +10507,9 @@ alias G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER = FILE_ATTRIBUTE_STANDARD_SORT_ORDER; /** * A key in the "standard" namespace for getting the symbolic icon for the file. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_OBJECT. + * * The value for this key should contain a #GIcon. */ enum FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON = "standard::symbolic-icon"; @@ -10244,8 +10517,9 @@ alias G_FILE_ATTRIBUTE_STANDARD_SYMBOLIC_ICON = FILE_ATTRIBUTE_STANDARD_SYMBOLIC /** * A key in the "standard" namespace for getting the symlink target, if the file - * is a symlink. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. + * is a symlink. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. */ enum FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET = "standard::symlink-target"; alias G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET = FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET; @@ -10253,6 +10527,7 @@ alias G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET = FILE_ATTRIBUTE_STANDARD_SYMLINK /** * A key in the "standard" namespace for getting the target URI for the file, in * the case of %G_FILE_TYPE_SHORTCUT or %G_FILE_TYPE_MOUNTABLE files. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. */ enum FILE_ATTRIBUTE_STANDARD_TARGET_URI = "standard::target-uri"; @@ -10260,7 +10535,9 @@ alias G_FILE_ATTRIBUTE_STANDARD_TARGET_URI = FILE_ATTRIBUTE_STANDARD_TARGET_URI; /** * A key in the "standard" namespace for storing file types. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. + * * The value for this key should contain a #GFileType. */ enum FILE_ATTRIBUTE_STANDARD_TYPE = "standard::type"; @@ -10268,14 +10545,17 @@ alias G_FILE_ATTRIBUTE_STANDARD_TYPE = FILE_ATTRIBUTE_STANDARD_TYPE; /** * A key in the "thumbnail" namespace for checking if thumbnailing failed. - * This attribute is %TRUE if thumbnailing failed. Corresponding - * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. + * + * This attribute is %TRUE if thumbnailing failed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_THUMBNAILING_FAILED = "thumbnail::failed"; alias G_FILE_ATTRIBUTE_THUMBNAILING_FAILED = FILE_ATTRIBUTE_THUMBNAILING_FAILED; /** * A key in the "thumbnail" namespace for checking whether the thumbnail is outdated. + * * This attribute is %TRUE if the thumbnail is up-to-date with the file it represents, * and %FALSE if the file has been modified since the thumbnail was generated. * @@ -10289,35 +10569,42 @@ alias G_FILE_ATTRIBUTE_THUMBNAIL_IS_VALID = FILE_ATTRIBUTE_THUMBNAIL_IS_VALID; /** * A key in the "thumbnail" namespace for getting the path to the thumbnail - * image. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. + * image. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. */ enum FILE_ATTRIBUTE_THUMBNAIL_PATH = "thumbnail::path"; alias G_FILE_ATTRIBUTE_THUMBNAIL_PATH = FILE_ATTRIBUTE_THUMBNAIL_PATH; /** * A key in the "time" namespace for getting the time the file was last - * accessed. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_UINT64, and contains the time since the - * file was last accessed, in seconds since the UNIX epoch. + * accessed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, and + * contains the time since the file was last accessed, in seconds since the + * UNIX epoch. */ enum FILE_ATTRIBUTE_TIME_ACCESS = "time::access"; alias G_FILE_ATTRIBUTE_TIME_ACCESS = FILE_ATTRIBUTE_TIME_ACCESS; /** * A key in the "time" namespace for getting the microseconds of the time - * the file was last accessed. This should be used in conjunction with - * #G_FILE_ATTRIBUTE_TIME_ACCESS. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_UINT32. + * the file was last accessed. + * + * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_ACCESS. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_TIME_ACCESS_USEC = "time::access-usec"; alias G_FILE_ATTRIBUTE_TIME_ACCESS_USEC = FILE_ATTRIBUTE_TIME_ACCESS_USEC; /** * A key in the "time" namespace for getting the time the file was last - * changed. Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, - * and contains the time since the file was last changed, in seconds since the - * UNIX epoch. + * changed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, + * and contains the time since the file was last changed, in seconds since + * the UNIX epoch. * * This corresponds to the traditional UNIX ctime. */ @@ -10326,81 +10613,96 @@ alias G_FILE_ATTRIBUTE_TIME_CHANGED = FILE_ATTRIBUTE_TIME_CHANGED; /** * A key in the "time" namespace for getting the microseconds of the time - * the file was last changed. This should be used in conjunction with - * #G_FILE_ATTRIBUTE_TIME_CHANGED. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_UINT32. + * the file was last changed. + * + * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_CHANGED. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_TIME_CHANGED_USEC = "time::changed-usec"; alias G_FILE_ATTRIBUTE_TIME_CHANGED_USEC = FILE_ATTRIBUTE_TIME_CHANGED_USEC; /** * A key in the "time" namespace for getting the time the file was created. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, * and contains the time since the file was created, in seconds since the UNIX * epoch. * - * This may correspond to Linux stx_btime, FreeBSD st_birthtim, NetBSD - * st_birthtime or NTFS ctime. + * This may correspond to Linux `stx_btime`, FreeBSD `st_birthtim`, NetBSD + * `st_birthtime` or NTFS `ctime`. */ enum FILE_ATTRIBUTE_TIME_CREATED = "time::created"; alias G_FILE_ATTRIBUTE_TIME_CREATED = FILE_ATTRIBUTE_TIME_CREATED; /** * A key in the "time" namespace for getting the microseconds of the time - * the file was created. This should be used in conjunction with - * #G_FILE_ATTRIBUTE_TIME_CREATED. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_UINT32. + * the file was created. + * + * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_CREATED. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_TIME_CREATED_USEC = "time::created-usec"; alias G_FILE_ATTRIBUTE_TIME_CREATED_USEC = FILE_ATTRIBUTE_TIME_CREATED_USEC; /** * A key in the "time" namespace for getting the time the file was last - * modified. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_UINT64, and contains the time since the - * file was modified, in seconds since the UNIX epoch. + * modified. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64, and + * contains the time since the file was modified, in seconds since the UNIX + * epoch. */ enum FILE_ATTRIBUTE_TIME_MODIFIED = "time::modified"; alias G_FILE_ATTRIBUTE_TIME_MODIFIED = FILE_ATTRIBUTE_TIME_MODIFIED; /** * A key in the "time" namespace for getting the microseconds of the time - * the file was last modified. This should be used in conjunction with - * #G_FILE_ATTRIBUTE_TIME_MODIFIED. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_UINT32. + * the file was last modified. + * + * This should be used in conjunction with %G_FILE_ATTRIBUTE_TIME_MODIFIED. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_TIME_MODIFIED_USEC = "time::modified-usec"; alias G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC = FILE_ATTRIBUTE_TIME_MODIFIED_USEC; /** - * A key in the "trash" namespace. When requested against - * items in `trash:///`, will return the date and time when the file - * was trashed. The format of the returned string is YYYY-MM-DDThh:mm:ss. + * A key in the "trash" namespace for getting the deletion date and time + * of a file inside the `trash:///` folder. + * + * The format of the returned string is `YYYY-MM-DDThh:mm:ss`. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_STRING. */ enum FILE_ATTRIBUTE_TRASH_DELETION_DATE = "trash::deletion-date"; alias G_FILE_ATTRIBUTE_TRASH_DELETION_DATE = FILE_ATTRIBUTE_TRASH_DELETION_DATE; /** - * A key in the "trash" namespace. When requested against - * `trash:///` returns the number of (toplevel) items in the trash folder. + * A key in the "trash" namespace for getting the number of (toplevel) items + * that are present in the `trash:///` folder. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_TRASH_ITEM_COUNT = "trash::item-count"; alias G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT = FILE_ATTRIBUTE_TRASH_ITEM_COUNT; /** - * A key in the "trash" namespace. When requested against - * items in `trash:///`, will return the original path to the file before it - * was trashed. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. + * A key in the "trash" namespace for getting the original path of a file + * inside the `trash:///` folder before it was trashed. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING. */ enum FILE_ATTRIBUTE_TRASH_ORIG_PATH = "trash::orig-path"; alias G_FILE_ATTRIBUTE_TRASH_ORIG_PATH = FILE_ATTRIBUTE_TRASH_ORIG_PATH; /** * A key in the "unix" namespace for getting the number of blocks allocated - * for the file. This attribute is only available for UNIX file systems. + * for the file. + * + * This attribute is only available for UNIX file systems. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. */ enum FILE_ATTRIBUTE_UNIX_BLOCKS = "unix::blocks"; @@ -10408,7 +10710,10 @@ alias G_FILE_ATTRIBUTE_UNIX_BLOCKS = FILE_ATTRIBUTE_UNIX_BLOCKS; /** * A key in the "unix" namespace for getting the block size for the file - * system. This attribute is only available for UNIX file systems. + * system. + * + * This attribute is only available for UNIX file systems. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_UNIX_BLOCK_SIZE = "unix::block-size"; @@ -10416,16 +10721,20 @@ alias G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE = FILE_ATTRIBUTE_UNIX_BLOCK_SIZE; /** * A key in the "unix" namespace for getting the device id of the device the - * file is located on (see stat() documentation). This attribute is only - * available for UNIX file systems. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_UINT32. + * file is located on (see stat() documentation). + * + * This attribute is only available for UNIX file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_UNIX_DEVICE = "unix::device"; alias G_FILE_ATTRIBUTE_UNIX_DEVICE = FILE_ATTRIBUTE_UNIX_DEVICE; /** * A key in the "unix" namespace for getting the group ID for the file. + * * This attribute is only available for UNIX file systems. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_UNIX_GID = "unix::gid"; @@ -10433,17 +10742,24 @@ alias G_FILE_ATTRIBUTE_UNIX_GID = FILE_ATTRIBUTE_UNIX_GID; /** * A key in the "unix" namespace for getting the inode of the file. - * This attribute is only available for UNIX file systems. Corresponding - * #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. + * + * This attribute is only available for UNIX file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64. */ enum FILE_ATTRIBUTE_UNIX_INODE = "unix::inode"; alias G_FILE_ATTRIBUTE_UNIX_INODE = FILE_ATTRIBUTE_UNIX_INODE; /** * A key in the "unix" namespace for checking if the file represents a - * UNIX mount point. This attribute is %TRUE if the file is a UNIX mount - * point. Since 2.58, `/` is considered to be a mount point. + * UNIX mount point. + * + * This attribute is %TRUE if the file is a UNIX mount point. + * + * Since 2.58, `/` is considered to be a mount point. + * * This attribute is only available for UNIX file systems. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_BOOLEAN. */ enum FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT = "unix::is-mountpoint"; @@ -10451,10 +10767,14 @@ alias G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT = FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT; /** * A key in the "unix" namespace for getting the mode of the file - * (e.g. whether the file is a regular file, symlink, etc). See the - * documentation for `lstat()`: this attribute is equivalent to the `st_mode` - * member of `struct stat`, and includes both the file type and permissions. + * (e.g. whether the file is a regular file, symlink, etc). + * + * See the documentation for `lstat()`: this attribute is equivalent to + * the `st_mode` member of `struct stat`, and includes both the file type + * and permissions. + * * This attribute is only available for UNIX file systems. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_UNIX_MODE = "unix::mode"; @@ -10462,25 +10782,35 @@ alias G_FILE_ATTRIBUTE_UNIX_MODE = FILE_ATTRIBUTE_UNIX_MODE; /** * A key in the "unix" namespace for getting the number of hard links - * for a file. See lstat() documentation. This attribute is only available - * for UNIX file systems. Corresponding #GFileAttributeType is - * %G_FILE_ATTRIBUTE_TYPE_UINT32. + * for a file. + * + * See the documentation for `lstat()`. + * + * This attribute is only available for UNIX file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_UNIX_NLINK = "unix::nlink"; alias G_FILE_ATTRIBUTE_UNIX_NLINK = FILE_ATTRIBUTE_UNIX_NLINK; /** * A key in the "unix" namespace for getting the device ID for the file - * (if it is a special file). See lstat() documentation. This attribute - * is only available for UNIX file systems. Corresponding #GFileAttributeType - * is %G_FILE_ATTRIBUTE_TYPE_UINT32. + * (if it is a special file). + * + * See the documentation for `lstat()`. + * + * This attribute is only available for UNIX file systems. + * + * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_UNIX_RDEV = "unix::rdev"; alias G_FILE_ATTRIBUTE_UNIX_RDEV = FILE_ATTRIBUTE_UNIX_RDEV; /** * A key in the "unix" namespace for getting the user ID for the file. + * * This attribute is only available for UNIX file systems. + * * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT32. */ enum FILE_ATTRIBUTE_UNIX_UID = "unix::uid"; @@ -10566,6 +10896,13 @@ alias G_NATIVE_VOLUME_MONITOR_EXTENSION_POINT_NAME = NATIVE_VOLUME_MONITOR_EXTEN enum NETWORK_MONITOR_EXTENSION_POINT_NAME = "gio-network-monitor"; alias G_NETWORK_MONITOR_EXTENSION_POINT_NAME = NETWORK_MONITOR_EXTENSION_POINT_NAME; +/** + * Extension point for power profile usage monitoring functionality. + * See [Extending GIO][extending-gio]. + */ +enum POWER_PROFILE_MONITOR_EXTENSION_POINT_NAME = "gio-power-profile-monitor"; +alias G_POWER_PROFILE_MONITOR_EXTENSION_POINT_NAME = POWER_PROFILE_MONITOR_EXTENSION_POINT_NAME; + /** * Extension point for proxy functionality. * See [Extending GIO][extending-gio]. diff --git a/generated/gtkd/glib/ArrayG.d b/source/generated/glib/glib/ArrayG.d similarity index 96% rename from generated/gtkd/glib/ArrayG.d rename to source/generated/glib/glib/ArrayG.d index ba3b06008..b08466e33 100644 --- a/generated/gtkd/glib/ArrayG.d +++ b/source/generated/glib/glib/ArrayG.d @@ -378,6 +378,27 @@ public class ArrayG * functions, @clear_func is expected to clear the contents of * the array element it is given, but not free the element itself. * + * |[ + * typedef struct + * { + * gchar *str; + * GObject *obj; + * } ArrayElement; + * + * static void + * array_element_clear (ArrayElement *element) + * { + * g_clear_pointer (&element->str, g_free); + * g_clear_object (&element->obj); + * } + * + * // main code + * GArray *garray = g_array_new (FALSE, FALSE, sizeof (ArrayElement)); + * g_array_set_clear_func (garray, (GDestroyNotify) array_element_clear); + * // assign data to the structure + * g_array_free (garray, TRUE); + * ]| + * * Params: * clearFunc = a function to clear an element of @array * diff --git a/generated/gtkd/glib/AsyncQueue.d b/source/generated/glib/glib/AsyncQueue.d similarity index 98% rename from generated/gtkd/glib/AsyncQueue.d rename to source/generated/glib/glib/AsyncQueue.d index 8c5519c16..a971e8ed3 100644 --- a/generated/gtkd/glib/AsyncQueue.d +++ b/source/generated/glib/glib/AsyncQueue.d @@ -28,13 +28,13 @@ private import glib.ConstructionException; private import glib.TimeVal; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** - * The GAsyncQueue struct is an opaque data structure which represents - * an asynchronous queue. It should only be accessed through the - * g_async_queue_* functions. + * An opaque data structure which represents an asynchronous queue. + * + * It should only be accessed through the `g_async_queue_*` functions. */ public class AsyncQueue { @@ -67,7 +67,7 @@ public class AsyncQueue ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_async_queue_unref(gAsyncQueue); } diff --git a/generated/gtkd/glib/Atomic.d b/source/generated/glib/glib/Atomic.d similarity index 100% rename from generated/gtkd/glib/Atomic.d rename to source/generated/glib/glib/Atomic.d diff --git a/generated/gtkd/glib/BBTree.d b/source/generated/glib/glib/BBTree.d similarity index 98% rename from generated/gtkd/glib/BBTree.d rename to source/generated/glib/glib/BBTree.d index a9f9fcecb..04f28b402 100644 --- a/generated/gtkd/glib/BBTree.d +++ b/source/generated/glib/glib/BBTree.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import glib.TreeNode; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -67,7 +67,7 @@ public class BBTree ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_tree_unref(gTree); } @@ -456,6 +456,17 @@ public class BBTree return g_tree_remove(gTree, key) != 0; } + /** + * Removes all nodes from a #GTree and destroys their keys and values, + * then resets the #GTree’s root to %NULL. + * + * Since: 2.70 + */ + public void removeAll() + { + g_tree_remove_all(gTree); + } + /** * Inserts a new key and value into a #GTree as g_tree_replace_node() does, * only this function does not return the inserted or set node. diff --git a/generated/gtkd/glib/Base64.d b/source/generated/glib/glib/Base64.d similarity index 100% rename from generated/gtkd/glib/Base64.d rename to source/generated/glib/glib/Base64.d diff --git a/generated/gtkd/glib/BookmarkFile.d b/source/generated/glib/glib/BookmarkFile.d similarity index 94% rename from generated/gtkd/glib/BookmarkFile.d rename to source/generated/glib/glib/BookmarkFile.d index 47b0050fe..9065f05d3 100644 --- a/generated/gtkd/glib/BookmarkFile.d +++ b/source/generated/glib/glib/BookmarkFile.d @@ -31,12 +31,11 @@ private import glib.GException; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** - * The `GBookmarkFile` structure contains only - * private data and should not be directly accessed. + * An opaque data structure representing a set of bookmarks. */ public class BookmarkFile { @@ -69,7 +68,7 @@ public class BookmarkFile ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_bookmark_file_free(gBookmarkFile); } @@ -143,7 +142,7 @@ public class BookmarkFile * Gets the time the bookmark for @uri was added to @bookmark * * In the event the URI cannot be found, -1 is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * * Deprecated: Use g_bookmark_file_get_added_date_time() instead, as * `time_t` is deprecated due to the year 2038 problem. @@ -175,7 +174,7 @@ public class BookmarkFile * Gets the time the bookmark for @uri was added to @bookmark * * In the event the URI cannot be found, %NULL is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * * Params: * uri = a valid URI @@ -213,11 +212,11 @@ public class BookmarkFile * The string returned in @app_exec must be freed. * * In the event the URI cannot be found, %FALSE is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the * event that no application with name @app_name has registered a bookmark * for @uri, %FALSE is returned and error is set to - * #G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. In the event that unquoting - * the command line fails, an error of the #G_SHELL_ERROR domain is + * %G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. In the event that unquoting + * the command line fails, an error of the %G_SHELL_ERROR domain is * set and %FALSE is returned. * * Deprecated: Use g_bookmark_file_get_application_info() instead, as @@ -261,11 +260,11 @@ public class BookmarkFile * The string returned in @app_exec must be freed. * * In the event the URI cannot be found, %FALSE is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the * event that no application with name @app_name has registered a bookmark * for @uri, %FALSE is returned and error is set to - * #G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. In the event that unquoting - * the command line fails, an error of the #G_SHELL_ERROR domain is + * %G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. In the event that unquoting + * the command line fails, an error of the %G_SHELL_ERROR domain is * set and %FALSE is returned. * * Params: @@ -305,7 +304,7 @@ public class BookmarkFile * bookmark for @uri. * * In the event the URI cannot be found, %NULL is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * * Params: * uri = a valid URI @@ -337,7 +336,7 @@ public class BookmarkFile * Retrieves the description of the bookmark for @uri. * * In the event the URI cannot be found, %NULL is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * * Params: * uri = a valid URI @@ -368,7 +367,7 @@ public class BookmarkFile * Retrieves the list of group names of the bookmark for @uri. * * In the event the URI cannot be found, %NULL is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * * The returned array is %NULL terminated, so @length may optionally * be %NULL. @@ -403,7 +402,7 @@ public class BookmarkFile * Gets the icon of the bookmark for @uri. * * In the event the URI cannot be found, %FALSE is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * * Params: * uri = a valid URI @@ -440,9 +439,9 @@ public class BookmarkFile * Gets whether the private flag of the bookmark for @uri is set. * * In the event the URI cannot be found, %FALSE is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the * event that the private flag cannot be found, %FALSE is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE. + * @error is set to %G_BOOKMARK_FILE_ERROR_INVALID_VALUE. * * Params: * uri = a valid URI @@ -471,9 +470,9 @@ public class BookmarkFile * Retrieves the MIME type of the resource pointed by @uri. * * In the event the URI cannot be found, %NULL is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the * event that the MIME type cannot be found, %NULL is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE. + * @error is set to %G_BOOKMARK_FILE_ERROR_INVALID_VALUE. * * Params: * uri = a valid URI @@ -504,7 +503,7 @@ public class BookmarkFile * Gets the time when the bookmark for @uri was last modified. * * In the event the URI cannot be found, -1 is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * * Deprecated: Use g_bookmark_file_get_modified_date_time() instead, as * `time_t` is deprecated due to the year 2038 problem. @@ -536,7 +535,7 @@ public class BookmarkFile * Gets the time when the bookmark for @uri was last modified. * * In the event the URI cannot be found, %NULL is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * * Params: * uri = a valid URI @@ -584,7 +583,7 @@ public class BookmarkFile * If @uri is %NULL, the title of @bookmark is returned. * * In the event the URI cannot be found, %NULL is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * * Params: * uri = a valid URI or %NULL @@ -635,7 +634,7 @@ public class BookmarkFile * Gets the time the bookmark for @uri was last visited. * * In the event the URI cannot be found, -1 is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * * Deprecated: Use g_bookmark_file_get_visited_date_time() instead, as * `time_t` is deprecated due to the year 2038 problem. @@ -667,7 +666,7 @@ public class BookmarkFile * Gets the time the bookmark for @uri was last visited. * * In the event the URI cannot be found, %NULL is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * * Params: * uri = a valid URI @@ -702,7 +701,7 @@ public class BookmarkFile * registered by application @name. * * In the event the URI cannot be found, %FALSE is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * * Params: * uri = a valid URI @@ -733,7 +732,7 @@ public class BookmarkFile * the bookmark for @uri belongs to. * * In the event the URI cannot be found, %FALSE is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * * Params: * uri = a valid URI @@ -873,7 +872,7 @@ public class BookmarkFile * %NULL, then the bookmark is removed. * * In the event the URI cannot be found, %FALSE is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * * Params: * oldUri = a valid URI @@ -904,10 +903,10 @@ public class BookmarkFile * that have registered a bookmark for @uri inside @bookmark. * * In the event the URI cannot be found, %FALSE is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * In the event that no application with name @app_name has registered * a bookmark for @uri, %FALSE is returned and error is set to - * #G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. + * %G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. * * Params: * uri = a valid URI @@ -938,9 +937,9 @@ public class BookmarkFile * for @uri belongs to. * * In the event the URI cannot be found, %FALSE is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * In the event no group was defined, %FALSE is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_INVALID_VALUE. + * @error is set to %G_BOOKMARK_FILE_ERROR_INVALID_VALUE. * * Params: * uri = a valid URI @@ -1051,10 +1050,10 @@ public class BookmarkFile * * If you try to remove an application by setting its registration count to * zero, and no bookmark for @uri is found, %FALSE is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND; similarly, + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND; similarly, * in the event that no application @name has registered a bookmark * for @uri, %FALSE is returned and error is set to - * #G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. Otherwise, if no bookmark + * %G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. Otherwise, if no bookmark * for @uri is found, one is created. * * Deprecated: Use g_bookmark_file_set_application_info() instead, as @@ -1111,10 +1110,10 @@ public class BookmarkFile * * If you try to remove an application by setting its registration count to * zero, and no bookmark for @uri is found, %FALSE is returned and - * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND; similarly, + * @error is set to %G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND; similarly, * in the event that no application @name has registered a bookmark * for @uri, %FALSE is returned and error is set to - * #G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. Otherwise, if no bookmark + * %G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. Otherwise, if no bookmark * for @uri is found, one is created. * * Params: diff --git a/generated/gtkd/glib/ByteArray.d b/source/generated/glib/glib/ByteArray.d similarity index 100% rename from generated/gtkd/glib/ByteArray.d rename to source/generated/glib/glib/ByteArray.d diff --git a/generated/gtkd/glib/Bytes.d b/source/generated/glib/glib/Bytes.d similarity index 86% rename from generated/gtkd/glib/Bytes.d rename to source/generated/glib/glib/Bytes.d index 534580839..fe2139929 100644 --- a/generated/gtkd/glib/Bytes.d +++ b/source/generated/glib/glib/Bytes.d @@ -28,7 +28,7 @@ private import glib.ByteArray; private import glib.ConstructionException; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -90,7 +90,7 @@ public class Bytes ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_bytes_unref(gBytes); } @@ -221,6 +221,42 @@ public class Bytes return cast(ubyte[])__p[0 .. size]; } + /** + * Gets a pointer to a region in @bytes. + * + * The region starts at @offset many bytes from the start of the data + * and contains @n_elements many elements of @element_size size. + * + * @n_elements may be zero, but @element_size must always be non-zero. + * Ideally, @element_size is a static constant (eg: sizeof a struct). + * + * This function does careful bounds checking (including checking for + * arithmetic overflows) and returns a non-%NULL pointer if the + * specified region lies entirely within the @bytes. If the region is + * in some way out of range, or if an overflow has occurred, then %NULL + * is returned. + * + * Note: it is possible to have a valid zero-size region. In this case, + * the returned pointer will be equal to the base pointer of the data of + * @bytes, plus @offset. This will be non-%NULL except for the case + * where @bytes itself was a zero-sized region. Since it is unlikely + * that you will be using this function to check for a zero-sized region + * in a zero-sized @bytes, %NULL effectively always means "error". + * + * Params: + * elementSize = a non-zero element size + * offset = an offset to the start of the region within the @bytes + * nElements = the number of elements in the region + * + * Returns: the requested region, or %NULL in case of an error + * + * Since: 2.70 + */ + public void* getRegion(size_t elementSize, size_t offset, size_t nElements) + { + return g_bytes_get_region(gBytes, elementSize, offset, nElements); + } + /** * Get the size of the byte data in the #GBytes. * diff --git a/generated/gtkd/glib/CharacterSet.d b/source/generated/glib/glib/CharacterSet.d similarity index 99% rename from generated/gtkd/glib/CharacterSet.d rename to source/generated/glib/glib/CharacterSet.d index d75c0b15b..2cbd4cf89 100644 --- a/generated/gtkd/glib/CharacterSet.d +++ b/source/generated/glib/glib/CharacterSet.d @@ -60,7 +60,7 @@ public struct CharacterSet * Even if the conversion was successful, this may be * less than @len if there were partial characters * at the end of the input. If the error - * #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value + * %G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value * stored will be the byte offset after the last valid * input sequence. * @@ -177,7 +177,7 @@ public struct CharacterSet * Even if the conversion was successful, this may be * less than @len if there were partial characters * at the end of the input. If the error - * #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value + * %G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value * stored will be the byte offset after the last valid * input sequence. * diff --git a/generated/gtkd/glib/Checksum.d b/source/generated/glib/glib/Checksum.d similarity index 98% rename from generated/gtkd/glib/Checksum.d rename to source/generated/glib/glib/Checksum.d index 58546b397..119584878 100644 --- a/generated/gtkd/glib/Checksum.d +++ b/source/generated/glib/glib/Checksum.d @@ -29,11 +29,12 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** * An opaque structure representing a checksumming operation. + * * To create a new GChecksum, use g_checksum_new(). To free * a GChecksum, use g_checksum_free(). * @@ -70,7 +71,7 @@ public class Checksum ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_checksum_free(gChecksum); } diff --git a/generated/gtkd/glib/Child.d b/source/generated/glib/glib/Child.d similarity index 94% rename from generated/gtkd/glib/Child.d rename to source/generated/glib/glib/Child.d index 1f982a27c..e18e6b1fb 100644 --- a/generated/gtkd/glib/Child.d +++ b/source/generated/glib/glib/Child.d @@ -35,10 +35,10 @@ public struct Child /** * Sets a function to be called when the child indicated by @pid - * exits, at a default priority, #G_PRIORITY_DEFAULT. + * exits, at a default priority, %G_PRIORITY_DEFAULT. * * If you obtain @pid from g_spawn_async() or g_spawn_async_with_pipes() - * you will need to pass #G_SPAWN_DO_NOT_REAP_CHILD as flag to + * you will need to pass %G_SPAWN_DO_NOT_REAP_CHILD as flag to * the spawn function for the child watching to work. * * Note that on platforms where #GPid must be explicitly closed @@ -57,8 +57,8 @@ public struct Child * * Params: * pid = process id to watch. On POSIX the positive pid of a child - * process. On Windows a handle for a process (which doesn't have to be - * a child). + * process. On Windows a handle for a process (which doesn't have + * to be a child). * function_ = function to call * data = data to pass to @function * @@ -76,10 +76,10 @@ public struct Child * exits, at the priority @priority. * * If you obtain @pid from g_spawn_async() or g_spawn_async_with_pipes() - * you will need to pass #G_SPAWN_DO_NOT_REAP_CHILD as flag to + * you will need to pass %G_SPAWN_DO_NOT_REAP_CHILD as flag to * the spawn function for the child watching to work. * - * In many programs, you will want to call g_spawn_check_exit_status() + * In many programs, you will want to call g_spawn_check_wait_status() * in the callback to determine whether or not the child exited * successfully. * @@ -99,7 +99,7 @@ public struct Child * * Params: * priority = the priority of the idle source. Typically this will be in the - * range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE. + * range between %G_PRIORITY_DEFAULT_IDLE and %G_PRIORITY_HIGH_IDLE. * pid = process to watch. On POSIX the positive pid of a child process. On * Windows a handle for a process (which doesn't have to be a child). * function_ = function to call diff --git a/generated/gtkd/glib/Cond.d b/source/generated/glib/glib/Cond.d similarity index 100% rename from generated/gtkd/glib/Cond.d rename to source/generated/glib/glib/Cond.d diff --git a/generated/gtkd/glib/ConstructionException.d b/source/generated/glib/glib/ConstructionException.d similarity index 100% rename from generated/gtkd/glib/ConstructionException.d rename to source/generated/glib/glib/ConstructionException.d diff --git a/generated/gtkd/glib/DataList.d b/source/generated/glib/glib/DataList.d similarity index 99% rename from generated/gtkd/glib/DataList.d rename to source/generated/glib/glib/DataList.d index d525bbea9..997af5a96 100644 --- a/generated/gtkd/glib/DataList.d +++ b/source/generated/glib/glib/DataList.d @@ -175,7 +175,7 @@ public struct DataList * If the previous value was replaced then ownership of the * old value (@oldval) is passed to the caller, including * the registered destroy notify for it (passed out in @old_destroy). - * Its up to the caller to free this as he wishes, which may + * Its up to the caller to free this as they wish, which may * or may not include using @old_destroy as sometimes replacement * should not destroy the object in the normal way. * diff --git a/generated/gtkd/glib/DataSet.d b/source/generated/glib/glib/DataSet.d similarity index 100% rename from generated/gtkd/glib/DataSet.d rename to source/generated/glib/glib/DataSet.d diff --git a/generated/gtkd/glib/Date.d b/source/generated/glib/glib/Date.d similarity index 96% rename from generated/gtkd/glib/Date.d rename to source/generated/glib/glib/Date.d index ae70a311a..510d14a5e 100644 --- a/generated/gtkd/glib/Date.d +++ b/source/generated/glib/glib/Date.d @@ -30,14 +30,14 @@ private import glib.Str; private import glib.TimeVal; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** * Represents a day between January 1, Year 1 and a few thousand years in * the future. None of its members should be accessed directly. * - * If the #GDate-struct is obtained from g_date_new(), it will be safe + * If the `GDate` is obtained from g_date_new(), it will be safe * to mutate but invalid and thus not safe for calendrical computations. * * If it's declared on the stack, it will contain garbage so must be @@ -77,7 +77,7 @@ public final class Date ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_date_free(gDate); } @@ -191,16 +191,19 @@ public final class Date } /** - * Like g_date_new(), but also sets the value of the date. Assuming the - * day-month-year triplet you pass in represents an existing day, the - * returned date will be valid. + * Create a new #GDate representing the given day-month-year triplet. + * + * The triplet you pass in must represent a valid date. Use g_date_valid_dmy() + * if needed to validate it. The returned #GDate is guaranteed to be non-%NULL + * and valid. * * Params: * day = day of the month * month = month of the year * year = year * - * Returns: a newly-allocated #GDate initialized with @day, @month, and @year + * Returns: a newly-allocated #GDate + * initialized with @day, @month, and @year * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -217,14 +220,17 @@ public final class Date } /** - * Like g_date_new(), but also sets the value of the date. Assuming the - * Julian day number you pass in is valid (greater than 0, less than an - * unreasonably large number), the returned date will be valid. + * Create a new #GDate representing the given Julian date. + * + * The @julian_day you pass in must be valid. Use g_date_valid_julian() if + * needed to validate it. The returned #GDate is guaranteed to be non-%NULL and + * valid. * * Params: * julianDay = days since January 1, Year 1 * - * Returns: a newly-allocated #GDate initialized with @julian_day + * Returns: a newly-allocated #GDate initialized + * with @julian_day * * Throws: ConstructionException GTK+ fails to create the object. */ diff --git a/generated/gtkd/glib/DateTime.d b/source/generated/glib/glib/DateTime.d similarity index 99% rename from generated/gtkd/glib/DateTime.d rename to source/generated/glib/glib/DateTime.d index 9579358f3..dd26063bf 100644 --- a/generated/gtkd/glib/DateTime.d +++ b/source/generated/glib/glib/DateTime.d @@ -30,12 +30,11 @@ private import glib.TimeVal; private import glib.TimeZone; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** - * `GDateTime` is an opaque structure whose members - * cannot be accessed directly. + * An opaque structure that represents a date and time, including a time zone. * * Since: 2.26 */ @@ -70,7 +69,7 @@ public class DateTime ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_date_time_unref(gDateTime); } diff --git a/generated/gtkd/glib/Directory.d b/source/generated/glib/glib/Directory.d similarity index 100% rename from generated/gtkd/glib/Directory.d rename to source/generated/glib/glib/Directory.d diff --git a/generated/gtkd/glib/ErrorG.d b/source/generated/glib/glib/ErrorG.d similarity index 98% rename from generated/gtkd/glib/ErrorG.d rename to source/generated/glib/glib/ErrorG.d index eeb22dd0f..6474cb3bb 100644 --- a/generated/gtkd/glib/ErrorG.d +++ b/source/generated/glib/glib/ErrorG.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -66,7 +66,7 @@ public class ErrorG ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_error_free(gError); } diff --git a/generated/gtkd/glib/FileUtils.d b/source/generated/glib/glib/FileUtils.d similarity index 98% rename from generated/gtkd/glib/FileUtils.d rename to source/generated/glib/glib/FileUtils.d index 68aed32e9..6bac24104 100644 --- a/generated/gtkd/glib/FileUtils.d +++ b/source/generated/glib/glib/FileUtils.d @@ -118,8 +118,9 @@ public struct FileUtils /** * Gets a #GFileError constant based on the passed-in @err_no. + * * For example, if you pass in `EEXIST` this function returns - * #G_FILE_ERROR_EXIST. Unlike `errno` values, you can portably + * %G_FILE_ERROR_EXIST. Unlike `errno` values, you can portably * assume that all #GFileError values will exist. * * Normally a #GFileError value goes into a #GError returned @@ -129,7 +130,7 @@ public struct FileUtils * Params: * errNo = an "errno" value * - * Returns: #GFileError corresponding to the given @errno + * Returns: #GFileError corresponding to the given @err_no */ public static GFileError fileErrorFromErrno(int errNo) { @@ -150,7 +151,7 @@ public struct FileUtils * contents and @length to the length of the file contents in bytes. The string * stored in @contents will be nul-terminated, so for text files you can pass * %NULL for the @length argument. If the call was not successful, it returns - * %FALSE and sets @error. The error domain is #G_FILE_ERROR. Possible error + * %FALSE and sets @error. The error domain is %G_FILE_ERROR. Possible error * codes are those in the #GFileError enumeration. In the error case, * @contents is set to %NULL and @length is set to zero. * @@ -237,8 +238,8 @@ public struct FileUtils * Params: * filename = the symbolic link * - * Returns: A newly-allocated string with the contents of - * the symbolic link, or %NULL if an error occurred. + * Returns: A newly-allocated string with + * the contents of the symbolic link, or %NULL if an error occurred. * * Since: 2.4 * diff --git a/generated/gtkd/glib/GException.d b/source/generated/glib/glib/GException.d similarity index 100% rename from generated/gtkd/glib/GException.d rename to source/generated/glib/glib/GException.d diff --git a/generated/gtkd/glib/GLib.d b/source/generated/glib/glib/GLib.d similarity index 100% rename from generated/gtkd/glib/GLib.d rename to source/generated/glib/glib/GLib.d diff --git a/generated/gtkd/glib/HashTable.d b/source/generated/glib/glib/HashTable.d similarity index 96% rename from generated/gtkd/glib/HashTable.d rename to source/generated/glib/glib/HashTable.d index e8ab9dfae..5f163f293 100644 --- a/generated/gtkd/glib/HashTable.d +++ b/source/generated/glib/glib/HashTable.d @@ -445,6 +445,34 @@ public class HashTable this(cast(GHashTable*) __p); } + /** + * Creates a new #GHashTable like g_hash_table_new_full() with a reference + * count of 1. + * + * It inherits the hash function, the key equal function, the key destroy function, + * as well as the value destroy function, from @other_hash_table. + * + * The returned hash table will be empty; it will not contain the keys + * or values from @other_hash_table. + * + * Returns: a new #GHashTable + * + * Since: 2.72 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(HashTable otherHashTable) + { + auto __p = g_hash_table_new_similar((otherHashTable is null) ? null : otherHashTable.getHashTableStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new_similar"); + } + + this(cast(GHashTable*) __p); + } + alias doref = ref_; /** * Atomically increments the reference count of @hash_table by one. diff --git a/generated/gtkd/glib/HashTableIter.d b/source/generated/glib/glib/HashTableIter.d similarity index 100% rename from generated/gtkd/glib/HashTableIter.d rename to source/generated/glib/glib/HashTableIter.d diff --git a/generated/gtkd/glib/Hmac.d b/source/generated/glib/glib/Hmac.d similarity index 98% rename from generated/gtkd/glib/Hmac.d rename to source/generated/glib/glib/Hmac.d index 48b71b6cc..a77c38069 100644 --- a/generated/gtkd/glib/Hmac.d +++ b/source/generated/glib/glib/Hmac.d @@ -29,7 +29,7 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -70,7 +70,7 @@ public class Hmac ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_hmac_unref(gHmac); } diff --git a/generated/gtkd/glib/Hook.d b/source/generated/glib/glib/Hook.d similarity index 99% rename from generated/gtkd/glib/Hook.d rename to source/generated/glib/glib/Hook.d index fb8190b22..bcdf5d710 100644 --- a/generated/gtkd/glib/Hook.d +++ b/source/generated/glib/glib/Hook.d @@ -28,7 +28,7 @@ private import glib.HookList; private import glib.MemorySlice; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -65,7 +65,7 @@ public final class Hook ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) sliceFree(gHook); } diff --git a/generated/gtkd/glib/HookList.d b/source/generated/glib/glib/HookList.d similarity index 98% rename from generated/gtkd/glib/HookList.d rename to source/generated/glib/glib/HookList.d index 6477f93b1..c62fdbbf8 100644 --- a/generated/gtkd/glib/HookList.d +++ b/source/generated/glib/glib/HookList.d @@ -28,7 +28,7 @@ private import glib.Hook; private import glib.MemorySlice; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -65,7 +65,7 @@ public final class HookList ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) sliceFree(gHookList); } diff --git a/generated/gtkd/glib/Hostname.d b/source/generated/glib/glib/Hostname.d similarity index 100% rename from generated/gtkd/glib/Hostname.d rename to source/generated/glib/glib/Hostname.d diff --git a/generated/gtkd/glib/IConv.d b/source/generated/glib/glib/IConv.d similarity index 100% rename from generated/gtkd/glib/IConv.d rename to source/generated/glib/glib/IConv.d diff --git a/generated/gtkd/glib/IOChannel.d b/source/generated/glib/glib/IOChannel.d similarity index 99% rename from generated/gtkd/glib/IOChannel.d rename to source/generated/glib/glib/IOChannel.d index d7697fa89..1c9a039f2 100644 --- a/generated/gtkd/glib/IOChannel.d +++ b/source/generated/glib/glib/IOChannel.d @@ -32,7 +32,7 @@ private import glib.Str; private import glib.StringG; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -71,7 +71,7 @@ public class IOChannel ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_io_channel_unref(gIOChannel); } @@ -171,8 +171,8 @@ public class IOChannel * Flushes the write buffer for the GIOChannel. * * Returns: the status of the operation: One of - * #G_IO_STATUS_NORMAL, #G_IO_STATUS_AGAIN, or - * #G_IO_STATUS_ERROR. + * %G_IO_STATUS_NORMAL, %G_IO_STATUS_AGAIN, or + * %G_IO_STATUS_ERROR. * * Throws: GException on failure. */ @@ -867,7 +867,7 @@ public class IOChannel /** * Creates a #GSource that's dispatched when @condition is met for the - * given @channel. For example, if condition is #G_IO_IN, the source will + * given @channel. For example, if condition is %G_IO_IN, the source will * be dispatched when there's data available for reading. * * The callback function invoked by the #GSource should be added with diff --git a/generated/gtkd/glib/Idle.d b/source/generated/glib/glib/Idle.d similarity index 96% rename from generated/gtkd/glib/Idle.d rename to source/generated/glib/glib/Idle.d index 7699cf3f2..582ec41d5 100644 --- a/generated/gtkd/glib/Idle.d +++ b/source/generated/glib/glib/Idle.d @@ -144,7 +144,7 @@ public class Idle /** * Adds a function to be called whenever there are no higher priority * events pending to the default main loop. The function is given the - * default idle priority, #G_PRIORITY_DEFAULT_IDLE. If the function + * default idle priority, %G_PRIORITY_DEFAULT_IDLE. If the function * returns %FALSE it is automatically removed from the list of event * sources and will not be called again. * @@ -170,7 +170,9 @@ public class Idle /** * Adds a function to be called whenever there are no higher priority - * events pending. If the function returns %FALSE it is automatically + * events pending. + * + * If the function returns %G_SOURCE_REMOVE or %FALSE it is automatically * removed from the list of event sources and will not be called again. * * See [memory management of sources][mainloop-memory-management] for details @@ -184,7 +186,7 @@ public class Idle * * Params: * priority = the priority of the idle source. Typically this will be in the - * range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE. + * range between %G_PRIORITY_DEFAULT_IDLE and %G_PRIORITY_HIGH_IDLE. * function_ = function to call * data = data to pass to @function * notify = function to call when the idle is removed, or %NULL diff --git a/generated/gtkd/glib/Internationalization.d b/source/generated/glib/glib/Internationalization.d similarity index 100% rename from generated/gtkd/glib/Internationalization.d rename to source/generated/glib/glib/Internationalization.d diff --git a/generated/gtkd/glib/KeyFile.d b/source/generated/glib/glib/KeyFile.d similarity index 96% rename from generated/gtkd/glib/KeyFile.d rename to source/generated/glib/glib/KeyFile.d index bba2e6d13..7ffcedf9f 100644 --- a/generated/gtkd/glib/KeyFile.d +++ b/source/generated/glib/glib/KeyFile.d @@ -31,7 +31,7 @@ private import glib.GException; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -69,7 +69,7 @@ public class KeyFile ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_key_file_unref(gKeyFile); } @@ -116,9 +116,9 @@ public class KeyFile * boolean. * * If @key cannot be found then %FALSE is returned and @error is set - * to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value + * to %G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value * associated with @key cannot be interpreted as a boolean then %FALSE - * is returned and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. + * is returned and @error is set to %G_KEY_FILE_ERROR_INVALID_VALUE. * * Params: * groupName = a group name @@ -150,9 +150,9 @@ public class KeyFile * booleans. * * If @key cannot be found then %NULL is returned and @error is set to - * #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated + * %G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated * with @key cannot be interpreted as booleans then %NULL is returned - * and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. + * and @error is set to %G_KEY_FILE_ERROR_INVALID_VALUE. * * Params: * groupName = a group name @@ -226,9 +226,9 @@ public class KeyFile * double. If @group_name is %NULL, the start_group is used. * * If @key cannot be found then 0.0 is returned and @error is set to - * #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value associated + * %G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value associated * with @key cannot be interpreted as a double then 0.0 is returned - * and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. + * and @error is set to %G_KEY_FILE_ERROR_INVALID_VALUE. * * Params: * groupName = a group name @@ -260,9 +260,9 @@ public class KeyFile * doubles. * * If @key cannot be found then %NULL is returned and @error is set to - * #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated + * %G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated * with @key cannot be interpreted as doubles then %NULL is returned - * and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. + * and @error is set to %G_KEY_FILE_ERROR_INVALID_VALUE. * * Params: * groupName = a group name @@ -347,10 +347,10 @@ public class KeyFile * integer. * * If @key cannot be found then 0 is returned and @error is set to - * #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value associated + * %G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value associated * with @key cannot be interpreted as an integer, or is out of range * for a #gint, then 0 is returned - * and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. + * and @error is set to %G_KEY_FILE_ERROR_INVALID_VALUE. * * Params: * groupName = a group name @@ -382,10 +382,10 @@ public class KeyFile * integers. * * If @key cannot be found then %NULL is returned and @error is set to - * #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated + * %G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated * with @key cannot be interpreted as integers, or are out of range for * #gint, then %NULL is returned - * and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. + * and @error is set to %G_KEY_FILE_ERROR_INVALID_VALUE. * * Params: * groupName = a group name @@ -419,7 +419,7 @@ public class KeyFile * returned keys will be %NULL-terminated, so @length may * optionally be %NULL. In the event that the @group_name cannot * be found, %NULL is returned and @error is set to - * #G_KEY_FILE_ERROR_GROUP_NOT_FOUND. + * %G_KEY_FILE_ERROR_GROUP_NOT_FOUND. * * Params: * groupName = a group name @@ -486,7 +486,7 @@ public class KeyFile * %G_KEY_FILE_KEEP_TRANSLATIONS in order to load strings for all locales. * * If @key cannot be found then %NULL is returned and @error is set - * to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. If the value associated + * to %G_KEY_FILE_ERROR_KEY_NOT_FOUND. If the value associated * with @key cannot be interpreted or no suitable translation can * be found then the untranslated value is returned. * @@ -527,7 +527,7 @@ public class KeyFile * %G_KEY_FILE_KEEP_TRANSLATIONS in order to load strings for all locales. * * If @key cannot be found then %NULL is returned and @error is set - * to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. If the values associated + * to %G_KEY_FILE_ERROR_KEY_NOT_FOUND. If the values associated * with @key cannot be interpreted or no suitable translations * can be found then the untranslated values are returned. The * returned array is %NULL-terminated, so @length may optionally @@ -583,9 +583,9 @@ public class KeyFile * like \s. * * In the event the key cannot be found, %NULL is returned and - * @error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the + * @error is set to %G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the * event that the @group_name cannot be found, %NULL is returned - * and @error is set to #G_KEY_FILE_ERROR_GROUP_NOT_FOUND. + * and @error is set to %G_KEY_FILE_ERROR_GROUP_NOT_FOUND. * * Params: * groupName = a group name @@ -617,9 +617,9 @@ public class KeyFile * Returns the values associated with @key under @group_name. * * In the event the key cannot be found, %NULL is returned and - * @error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the + * @error is set to %G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the * event that the @group_name cannot be found, %NULL is returned - * and @error is set to #G_KEY_FILE_ERROR_GROUP_NOT_FOUND. + * and @error is set to %G_KEY_FILE_ERROR_GROUP_NOT_FOUND. * * Params: * groupName = a group name @@ -683,9 +683,9 @@ public class KeyFile * Use g_key_file_get_string() to retrieve an unescaped UTF-8 string. * * In the event the key cannot be found, %NULL is returned and - * @error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the + * @error is set to %G_KEY_FILE_ERROR_KEY_NOT_FOUND. In the * event that the @group_name cannot be found, %NULL is returned - * and @error is set to #G_KEY_FILE_ERROR_GROUP_NOT_FOUND. + * and @error is set to %G_KEY_FILE_ERROR_GROUP_NOT_FOUND. * * Params: * groupName = a group name diff --git a/generated/gtkd/glib/ListG.d b/source/generated/glib/glib/ListG.d similarity index 100% rename from generated/gtkd/glib/ListG.d rename to source/generated/glib/glib/ListG.d diff --git a/generated/gtkd/glib/ListSG.d b/source/generated/glib/glib/ListSG.d similarity index 100% rename from generated/gtkd/glib/ListSG.d rename to source/generated/glib/glib/ListSG.d diff --git a/generated/gtkd/glib/MainContext.d b/source/generated/glib/glib/MainContext.d similarity index 96% rename from generated/gtkd/glib/MainContext.d rename to source/generated/glib/glib/MainContext.d index 430634a24..bc82a0e57 100644 --- a/generated/gtkd/glib/MainContext.d +++ b/source/generated/glib/glib/MainContext.d @@ -30,7 +30,7 @@ private import glib.Mutex; private import glib.Source; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -68,7 +68,7 @@ public class MainContext ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_main_context_unref(gMainContext); } @@ -92,6 +92,31 @@ public class MainContext this(cast(GMainContext*) __p); } + /** + * Creates a new #GMainContext structure. + * + * Params: + * flags = a bitwise-OR combination of #GMainContextFlags flags that can only be + * set at creation time. + * + * Returns: the new #GMainContext + * + * Since: 2.72 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(GMainContextFlags flags) + { + auto __p = g_main_context_new_with_flags(flags); + + if(__p is null) + { + throw new ConstructionException("null returned by new_with_flags"); + } + + this(cast(GMainContext*) __p); + } + /** * Tries to become the owner of the specified context. * If some other thread is the owner of the context, @@ -262,7 +287,7 @@ public class MainContext * * In any other case, an idle source is created to call @function and * that source is attached to @context (presumably to be run in another - * thread). The idle source is attached with #G_PRIORITY_DEFAULT + * thread). The idle source is attached with %G_PRIORITY_DEFAULT * priority. If you want a different priority, use * g_main_context_invoke_full(). * diff --git a/generated/gtkd/glib/MainLoop.d b/source/generated/glib/glib/MainLoop.d similarity index 99% rename from generated/gtkd/glib/MainLoop.d rename to source/generated/glib/glib/MainLoop.d index 8a153883c..dcad41fc7 100644 --- a/generated/gtkd/glib/MainLoop.d +++ b/source/generated/glib/glib/MainLoop.d @@ -29,7 +29,7 @@ private import glib.MainContext; private import glib.Source; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -67,7 +67,7 @@ public class MainLoop ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_main_loop_unref(gMainLoop); } diff --git a/generated/gtkd/glib/MappedFile.d b/source/generated/glib/glib/MappedFile.d similarity index 98% rename from generated/gtkd/glib/MappedFile.d rename to source/generated/glib/glib/MappedFile.d index dd0914bd8..e6af97ae2 100644 --- a/generated/gtkd/glib/MappedFile.d +++ b/source/generated/glib/glib/MappedFile.d @@ -31,7 +31,7 @@ private import glib.GException; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -70,7 +70,7 @@ public class MappedFile ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_mapped_file_unref(gMappedFile); } @@ -91,7 +91,7 @@ public class MappedFile * If @filename is the name of an empty, regular file, the function * will successfully return an empty #GMappedFile. In other cases of * size 0 (e.g. device files such as /dev/null), @error will be set - * to the #GFileError value #G_FILE_ERROR_INVAL. + * to the #GFileError value %G_FILE_ERROR_INVAL. * * Params: * filename = The path of the file to load, in the GLib diff --git a/generated/gtkd/glib/MatchInfo.d b/source/generated/glib/glib/MatchInfo.d similarity index 96% rename from generated/gtkd/glib/MatchInfo.d rename to source/generated/glib/glib/MatchInfo.d index 9719454c2..4573e75b5 100644 --- a/generated/gtkd/glib/MatchInfo.d +++ b/source/generated/glib/glib/MatchInfo.d @@ -30,7 +30,7 @@ private import glib.Regex; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -68,7 +68,7 @@ public class MatchInfo ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_match_info_unref(gMatchInfo); } @@ -79,7 +79,7 @@ public class MatchInfo * match done with @string against @regex and have the same syntax used by * g_regex_replace(). * - * The @string_to_expand must be UTF-8 encoded even if #G_REGEX_RAW was + * The @string_to_expand must be UTF-8 encoded even if %G_REGEX_RAW was * passed to g_regex_new(). * * The backreferences are extracted from the string passed to the match @@ -347,19 +347,19 @@ public class MatchInfo * able to raise an error as soon as a mistake is made. * * GRegex supports the concept of partial matching by means of the - * #G_REGEX_MATCH_PARTIAL_SOFT and #G_REGEX_MATCH_PARTIAL_HARD flags. + * %G_REGEX_MATCH_PARTIAL_SOFT and %G_REGEX_MATCH_PARTIAL_HARD flags. * When they are used, the return code for * g_regex_match() or g_regex_match_full() is, as usual, %TRUE * for a complete match, %FALSE otherwise. But, when these functions * return %FALSE, you can check if the match was partial calling * g_match_info_is_partial_match(). * - * The difference between #G_REGEX_MATCH_PARTIAL_SOFT and - * #G_REGEX_MATCH_PARTIAL_HARD is that when a partial match is encountered - * with #G_REGEX_MATCH_PARTIAL_SOFT, matching continues to search for a - * possible complete match, while with #G_REGEX_MATCH_PARTIAL_HARD matching + * The difference between %G_REGEX_MATCH_PARTIAL_SOFT and + * %G_REGEX_MATCH_PARTIAL_HARD is that when a partial match is encountered + * with %G_REGEX_MATCH_PARTIAL_SOFT, matching continues to search for a + * possible complete match, while with %G_REGEX_MATCH_PARTIAL_HARD matching * stops at the partial match. - * When both #G_REGEX_MATCH_PARTIAL_SOFT and #G_REGEX_MATCH_PARTIAL_HARD + * When both %G_REGEX_MATCH_PARTIAL_SOFT and %G_REGEX_MATCH_PARTIAL_HARD * are set, the latter takes precedence. * * There were formerly some restrictions on the pattern for partial matching. diff --git a/generated/gtkd/glib/Memory.d b/source/generated/glib/glib/Memory.d similarity index 100% rename from generated/gtkd/glib/Memory.d rename to source/generated/glib/glib/Memory.d diff --git a/generated/gtkd/glib/MemorySlice.d b/source/generated/glib/glib/MemorySlice.d similarity index 93% rename from generated/gtkd/glib/MemorySlice.d rename to source/generated/glib/glib/MemorySlice.d index e8364f1ef..3ae68f5a5 100644 --- a/generated/gtkd/glib/MemorySlice.d +++ b/source/generated/glib/glib/MemorySlice.d @@ -63,11 +63,13 @@ public void sliceFree(T)(T* memBlock) /** * Allocates a block of memory from the slice allocator. + * * The block address handed out can be expected to be aligned - * to at least 1 * sizeof (void*), - * though in general slices are 2 * sizeof (void*) bytes aligned, - * if a malloc() fallback implementation is used instead, - * the alignment may be reduced in a libc dependent fashion. + * to at least `1 * sizeof (void*)`, though in general slices + * are `2 * sizeof (void*)` bytes aligned; if a `malloc()` + * fallback implementation is used instead, the alignment may + * be reduced in a libc dependent fashion. + * * Note that the underlying slice allocation mechanism can * be changed with the [`G_SLICE=always-malloc`][G_SLICE] * environment variable. @@ -75,8 +77,8 @@ public void sliceFree(T)(T* memBlock) * Params: * blockSize = the number of bytes to allocate * - * Returns: a pointer to the allocated memory block, which will be %NULL if and - * only if @mem_size is 0 + * Returns: a pointer to the allocated memory block, which will + * be %NULL if and only if @mem_size is 0 * * Since: 2.10 */ diff --git a/generated/gtkd/glib/MessageLog.d b/source/generated/glib/glib/MessageLog.d similarity index 96% rename from generated/gtkd/glib/MessageLog.d rename to source/generated/glib/glib/MessageLog.d index 9ce460fd0..f0c7c0555 100644 --- a/generated/gtkd/glib/MessageLog.d +++ b/source/generated/glib/glib/MessageLog.d @@ -168,31 +168,35 @@ public struct MessageLog /** * Sets the log handler for a domain and a set of log levels. + * * To handle fatal and recursive messages the @log_levels parameter - * must be combined with the #G_LOG_FLAG_FATAL and #G_LOG_FLAG_RECURSION + * must be combined with the %G_LOG_FLAG_FATAL and %G_LOG_FLAG_RECURSION * bit flags. * - * Note that since the #G_LOG_LEVEL_ERROR log level is always fatal, if + * Note that since the %G_LOG_LEVEL_ERROR log level is always fatal, if * you want to set a handler for this log level you must combine it with - * #G_LOG_FLAG_FATAL. + * %G_LOG_FLAG_FATAL. * * This has no effect if structured logging is enabled; see * [Using Structured Logging][using-structured-logging]. * * Here is an example for adding a log handler for all warning messages * in the default domain: + * * |[ * g_log_set_handler (NULL, G_LOG_LEVEL_WARNING | G_LOG_FLAG_FATAL * | G_LOG_FLAG_RECURSION, my_log_handler, NULL); * ]| * * This example adds a log handler for all critical messages from GTK+: + * * |[ * g_log_set_handler ("Gtk", G_LOG_LEVEL_CRITICAL | G_LOG_FLAG_FATAL * | G_LOG_FLAG_RECURSION, my_log_handler, NULL); * ]| * * This example adds a log handler for all messages from GLib: + * * |[ * g_log_set_handler ("GLib", G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL * | G_LOG_FLAG_RECURSION, my_log_handler, NULL); @@ -203,8 +207,8 @@ public struct MessageLog * application domain * logLevels = the log levels to apply the log handler for. * To handle fatal and recursive messages as well, combine - * the log levels with the #G_LOG_FLAG_FATAL and - * #G_LOG_FLAG_RECURSION bit flags. + * the log levels with the %G_LOG_FLAG_FATAL and + * %G_LOG_FLAG_RECURSION bit flags. * logFunc = the log handler function * userData = data passed to the log handler * @@ -226,8 +230,8 @@ public struct MessageLog * application domain * logLevels = the log levels to apply the log handler for. * To handle fatal and recursive messages as well, combine - * the log levels with the #G_LOG_FLAG_FATAL and - * #G_LOG_FLAG_RECURSION bit flags. + * the log levels with the %G_LOG_FLAG_FATAL and + * %G_LOG_FLAG_RECURSION bit flags. * logFunc = the log handler function * userData = data passed to the log handler * destroy = destroy notify for @user_data, or %NULL diff --git a/generated/gtkd/glib/Messages.d b/source/generated/glib/glib/Messages.d similarity index 100% rename from generated/gtkd/glib/Messages.d rename to source/generated/glib/glib/Messages.d diff --git a/generated/gtkd/glib/Module.d b/source/generated/glib/glib/Module.d similarity index 82% rename from generated/gtkd/glib/Module.d rename to source/generated/glib/glib/Module.d index 7c2634df9..90f9a45b1 100644 --- a/generated/gtkd/glib/Module.d +++ b/source/generated/glib/glib/Module.d @@ -24,6 +24,8 @@ module glib.Module; +private import glib.ErrorG; +private import glib.GException; private import glib.Str; private import glib.c.functions; public import glib.c.types; @@ -97,7 +99,7 @@ public class Module /** * Gets a symbol pointer from a module, such as one exported - * by #G_MODULE_EXPORT. Note that a valid symbol can be %NULL. + * by %G_MODULE_EXPORT. Note that a valid symbol can be %NULL. * * Params: * symbolName = the name of the symbol to find @@ -152,17 +154,46 @@ public class Module return Str.toString(g_module_error()); } + /** */ + public static GQuark errorQuark() + { + return g_module_error_quark(); + } + + /** + * A thin wrapper function around g_module_open_full() + * + * Params: + * fileName = the name of the file containing the module, or %NULL + * to obtain a #GModule representing the main program itself + * flags = the flags used for opening the module. This can be the + * logical OR of any of the #GModuleFlags. + * + * Returns: a #GModule on success, or %NULL on failure + */ + public static Module open(string fileName, GModuleFlags flags) + { + auto __p = g_module_open(Str.toStringz(fileName), flags); + + if(__p is null) + { + return null; + } + + return new Module(cast(GModule*) __p); + } + /** * Opens a module. If the module has already been opened, * its reference count is incremented. * - * First of all g_module_open() tries to open @file_name as a module. + * First of all g_module_open_full() tries to open @file_name as a module. * If that fails and @file_name has the ".la"-suffix (and is a libtool * archive) it tries to open the corresponding module. If that fails * and it doesn't have the proper module suffix for the platform - * (#G_MODULE_SUFFIX), this suffix will be appended and the corresponding + * (%G_MODULE_SUFFIX), this suffix will be appended and the corresponding * module will be opened. If that fails and @file_name doesn't have the - * ".la"-suffix, this suffix is appended and g_module_open() tries to open + * ".la"-suffix, this suffix is appended and g_module_open_full() tries to open * the corresponding module. If eventually that fails as well, %NULL is * returned. * @@ -173,10 +204,21 @@ public class Module * logical OR of any of the #GModuleFlags * * Returns: a #GModule on success, or %NULL on failure + * + * Since: 2.70 + * + * Throws: GException on failure. */ - public static Module open(string fileName, GModuleFlags flags) + public static Module openFull(string fileName, GModuleFlags flags) { - auto __p = g_module_open(Str.toStringz(fileName), flags); + GError* err = null; + + auto __p = g_module_open_full(Str.toStringz(fileName), flags, &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } if(__p is null) { diff --git a/generated/gtkd/glib/Mutex.d b/source/generated/glib/glib/Mutex.d similarity index 100% rename from generated/gtkd/glib/Mutex.d rename to source/generated/glib/glib/Mutex.d diff --git a/generated/gtkd/glib/Node.d b/source/generated/glib/glib/Node.d similarity index 99% rename from generated/gtkd/glib/Node.d rename to source/generated/glib/glib/Node.d index cdc42c320..e1a5ca444 100644 --- a/generated/gtkd/glib/Node.d +++ b/source/generated/glib/glib/Node.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import glib.MemorySlice; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -65,7 +65,7 @@ public final class Node ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) sliceFree(gNode); } diff --git a/generated/gtkd/glib/Once.d b/source/generated/glib/glib/Once.d similarity index 98% rename from generated/gtkd/glib/Once.d rename to source/generated/glib/glib/Once.d index 5651b9723..b290e381f 100644 --- a/generated/gtkd/glib/Once.d +++ b/source/generated/glib/glib/Once.d @@ -27,7 +27,7 @@ module glib.Once; private import glib.MemorySlice; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -68,7 +68,7 @@ public final class Once ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) sliceFree(gOnce); } diff --git a/generated/gtkd/glib/OptionContext.d b/source/generated/glib/glib/OptionContext.d similarity index 99% rename from generated/gtkd/glib/OptionContext.d rename to source/generated/glib/glib/OptionContext.d index 5180b250e..65f0d3d97 100644 --- a/generated/gtkd/glib/OptionContext.d +++ b/source/generated/glib/glib/OptionContext.d @@ -31,7 +31,7 @@ private import glib.OptionGroup; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -70,7 +70,7 @@ public class OptionContext ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_option_context_free(gOptionContext); } @@ -501,7 +501,7 @@ public class OptionContext * The @parameter_string can serve multiple purposes. It can be used * to add descriptions for "rest" arguments, which are not parsed by * the #GOptionContext, typically something like "FILES" or - * "FILE1 FILE2...". If you are using #G_OPTION_REMAINING for + * "FILE1 FILE2...". If you are using %G_OPTION_REMAINING for * collecting "rest" arguments, GLib handles this automatically by * using the @arg_description of the corresponding #GOptionEntry in * the usage summary. diff --git a/generated/gtkd/glib/OptionGroup.d b/source/generated/glib/glib/OptionGroup.d similarity index 98% rename from generated/gtkd/glib/OptionGroup.d rename to source/generated/glib/glib/OptionGroup.d index a101172f3..5790d05aa 100644 --- a/generated/gtkd/glib/OptionGroup.d +++ b/source/generated/glib/glib/OptionGroup.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -71,7 +71,7 @@ public class OptionGroup ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_option_group_unref(gOptionGroup); } diff --git a/generated/gtkd/glib/Pattern.d b/source/generated/glib/glib/Pattern.d similarity index 69% rename from generated/gtkd/glib/Pattern.d rename to source/generated/glib/glib/Pattern.d index 369ce99d6..65f339796 100644 --- a/generated/gtkd/glib/Pattern.d +++ b/source/generated/glib/glib/Pattern.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -66,11 +66,52 @@ public class Pattern ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_pattern_spec_free(gPatternSpec); } + /** + * Compiles a pattern to a #GPatternSpec. + * + * Params: + * pattern = a zero-terminated UTF-8 encoded string + * + * Returns: a newly-allocated #GPatternSpec + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string pattern) + { + auto __p = g_pattern_spec_new(Str.toStringz(pattern)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GPatternSpec*) __p); + } + + /** + * Copies @pspec in a new #GPatternSpec. + * + * Returns: a copy of @pspec. + * + * Since: 2.70 + */ + public Pattern copy() + { + auto __p = g_pattern_spec_copy(gPatternSpec); + + if(__p is null) + { + return null; + } + + return new Pattern(cast(GPatternSpec*) __p, true); + } + /** * Compares two compiled pattern specs and returns whether they will * match the same set of strings. @@ -95,25 +136,54 @@ public class Pattern } /** - * Compiles a pattern to a #GPatternSpec. + * Matches a string against a compiled pattern. Passing the correct + * length of the string given is mandatory. The reversed string can be + * omitted by passing %NULL, this is more efficient if the reversed + * version of the string to be matched is not at hand, as + * g_pattern_match() will only construct it if the compiled pattern + * requires reverse matches. + * + * Note that, if the user code will (possibly) match a string against a + * multitude of patterns containing wildcards, chances are high that + * some patterns will require a reversed string. In this case, it's + * more efficient to provide the reversed string to avoid multiple + * constructions thereof in the various calls to g_pattern_match(). + * + * Note also that the reverse of a UTF-8 encoded string can in general + * not be obtained by g_strreverse(). This works only if the string + * does not contain any multibyte characters. GLib offers the + * g_utf8_strreverse() function to reverse UTF-8 encoded strings. * * Params: - * pattern = a zero-terminated UTF-8 encoded string + * stringLength = the length of @string (in bytes, i.e. strlen(), + * not g_utf8_strlen()) + * string_ = the UTF-8 encoded string to match + * stringReversed = the reverse of @string or %NULL * - * Returns: a newly-allocated #GPatternSpec + * Returns: %TRUE if @string matches @pspec * - * Throws: ConstructionException GTK+ fails to create the object. + * Since: 2.70 */ - public this(string pattern) + public bool match(size_t stringLength, string string_, string stringReversed) { - auto __p = g_pattern_spec_new(Str.toStringz(pattern)); - - if(__p is null) - { - throw new ConstructionException("null returned by new"); - } + return g_pattern_spec_match(gPatternSpec, stringLength, Str.toStringz(string_), Str.toStringz(stringReversed)) != 0; + } - this(cast(GPatternSpec*) __p); + /** + * Matches a string against a compiled pattern. If the string is to be + * matched against more than one pattern, consider using + * g_pattern_match() instead while supplying the reversed string. + * + * Params: + * string_ = the UTF-8 encoded string to match + * + * Returns: %TRUE if @string matches @pspec + * + * Since: 2.70 + */ + public bool matchString(string string_) + { + return g_pattern_spec_match_string(gPatternSpec, Str.toStringz(string_)) != 0; } /** @@ -135,6 +205,8 @@ public class Pattern * does not contain any multibyte characters. GLib offers the * g_utf8_strreverse() function to reverse UTF-8 encoded strings. * + * Deprecated: Use g_pattern_spec_match() instead + * * Params: * pspec = a #GPatternSpec * stringLength = the length of @string (in bytes, i.e. strlen(), @@ -171,6 +243,8 @@ public class Pattern * matched against more than one pattern, consider using * g_pattern_match() instead while supplying the reversed string. * + * Deprecated: Use g_pattern_spec_match_string() instead + * * Params: * pspec = a #GPatternSpec * string_ = the UTF-8 encoded string to match diff --git a/generated/gtkd/glib/Private.d b/source/generated/glib/glib/Private.d similarity index 100% rename from generated/gtkd/glib/Private.d rename to source/generated/glib/glib/Private.d diff --git a/generated/gtkd/glib/PtrArray.d b/source/generated/glib/glib/PtrArray.d similarity index 100% rename from generated/gtkd/glib/PtrArray.d rename to source/generated/glib/glib/PtrArray.d diff --git a/generated/gtkd/glib/Quark.d b/source/generated/glib/glib/Quark.d similarity index 100% rename from generated/gtkd/glib/Quark.d rename to source/generated/glib/glib/Quark.d diff --git a/generated/gtkd/glib/QueueG.d b/source/generated/glib/glib/QueueG.d similarity index 99% rename from generated/gtkd/glib/QueueG.d rename to source/generated/glib/glib/QueueG.d index 07fafcb4d..d1e6a8745 100644 --- a/generated/gtkd/glib/QueueG.d +++ b/source/generated/glib/glib/QueueG.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import glib.ListG; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -66,7 +66,7 @@ public class QueueG ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_queue_free(gQueue); } @@ -263,7 +263,7 @@ public class QueueG /** * A statically-allocated #GQueue must be initialized with this function * before it can be used. Alternatively you can initialize it with - * #G_QUEUE_INIT. It is not necessary to initialize queues created with + * %G_QUEUE_INIT. It is not necessary to initialize queues created with * g_queue_new(). * * Since: 2.14 diff --git a/generated/gtkd/glib/RWLock.d b/source/generated/glib/glib/RWLock.d similarity index 100% rename from generated/gtkd/glib/RWLock.d rename to source/generated/glib/glib/RWLock.d diff --git a/generated/gtkd/glib/RandG.d b/source/generated/glib/glib/RandG.d similarity index 98% rename from generated/gtkd/glib/RandG.d rename to source/generated/glib/glib/RandG.d index e93598fca..8eee5132e 100644 --- a/generated/gtkd/glib/RandG.d +++ b/source/generated/glib/glib/RandG.d @@ -27,7 +27,7 @@ module glib.RandG; private import glib.ConstructionException; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -65,7 +65,7 @@ public class RandG ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_rand_free(gRand); } diff --git a/generated/gtkd/glib/RecMutex.d b/source/generated/glib/glib/RecMutex.d similarity index 100% rename from generated/gtkd/glib/RecMutex.d rename to source/generated/glib/glib/RecMutex.d diff --git a/generated/gtkd/glib/Regex.d b/source/generated/glib/glib/Regex.d similarity index 96% rename from generated/gtkd/glib/Regex.d rename to source/generated/glib/glib/Regex.d index 1aab22cf6..e8140ec3d 100644 --- a/generated/gtkd/glib/Regex.d +++ b/source/generated/glib/glib/Regex.d @@ -31,7 +31,7 @@ private import glib.MatchInfo; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -40,7 +40,7 @@ private import gtkd.Loader; * Perl regular expression. * * Some functions accept a @start_position argument, setting it differs - * from just passing over a shortened string and setting #G_REGEX_MATCH_NOTBOL + * from just passing over a shortened string and setting %G_REGEX_MATCH_NOTBOL * in the case of a pattern that begins with any kind of lookbehind assertion. * For example, consider the pattern "\Biss\B" which finds occurrences of "iss" * in the middle of words. ("\B" matches only if the current position in the @@ -52,11 +52,11 @@ private import gtkd.Loader; * it is able to look behind the starting point to discover that it is * preceded by a letter. * - * Note that, unless you set the #G_REGEX_RAW flag, all the strings passed + * Note that, unless you set the %G_REGEX_RAW flag, all the strings passed * to these functions must be encoded in UTF-8. The lengths and the positions * inside the strings are in bytes and not in characters, so, for instance, * "\xc3\xa0" (i.e. "à") is two bytes long but it is treated as a - * single character. If you set #G_REGEX_RAW the strings can be non-valid + * single character. If you set %G_REGEX_RAW the strings can be non-valid * UTF-8 strings and a byte is treated as a character, so "\xc3\xa0" is two * bytes and two characters long. * @@ -71,11 +71,11 @@ private import gtkd.Loader; * The behaviour of the dot, circumflex, and dollar metacharacters are * affected by newline characters, the default is to recognize any newline * character (the same characters recognized by "\R"). This can be changed - * with #G_REGEX_NEWLINE_CR, #G_REGEX_NEWLINE_LF and #G_REGEX_NEWLINE_CRLF - * compile options, and with #G_REGEX_MATCH_NEWLINE_ANY, - * #G_REGEX_MATCH_NEWLINE_CR, #G_REGEX_MATCH_NEWLINE_LF and - * #G_REGEX_MATCH_NEWLINE_CRLF match options. These settings are also - * relevant when compiling a pattern if #G_REGEX_EXTENDED is set, and an + * with %G_REGEX_NEWLINE_CR, %G_REGEX_NEWLINE_LF and %G_REGEX_NEWLINE_CRLF + * compile options, and with %G_REGEX_MATCH_NEWLINE_ANY, + * %G_REGEX_MATCH_NEWLINE_CR, %G_REGEX_MATCH_NEWLINE_LF and + * %G_REGEX_MATCH_NEWLINE_CRLF match options. These settings are also + * relevant when compiling a pattern if %G_REGEX_EXTENDED is set, and an * unescaped "#" outside a character class is encountered. This indicates * a comment that lasts until after the next newline. * @@ -134,7 +134,7 @@ public class Regex ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_regex_unref(gRegex); } @@ -409,7 +409,7 @@ public class Regex * is not able to capture substrings, so backreferences do not work. * * Setting @start_position differs from just passing over a shortened - * string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern + * string and setting %G_REGEX_MATCH_NOTBOL in the case of a pattern * that begins with any kind of lookbehind assertion, such as "\b". * * Unless %G_REGEX_RAW is specified in the options, @string must be valid UTF-8. @@ -461,7 +461,7 @@ public class Regex * flexibility in reusing #GRegex structures. * * Setting @start_position differs from just passing over a shortened - * string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern + * string and setting %G_REGEX_MATCH_NOTBOL in the case of a pattern * that begins with any kind of lookbehind assertion, such as "\b". * * Unless %G_REGEX_RAW is specified in the options, @string must be valid UTF-8. @@ -577,12 +577,12 @@ public class Regex * * If you do not need to use backreferences use g_regex_replace_literal(). * - * The @replacement string must be UTF-8 encoded even if #G_REGEX_RAW was + * The @replacement string must be UTF-8 encoded even if %G_REGEX_RAW was * passed to g_regex_new(). If you want to use not UTF-8 encoded strings * you can use g_regex_replace_literal(). * * Setting @start_position differs from just passing over a shortened - * string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern that + * string and setting %G_REGEX_MATCH_NOTBOL in the case of a pattern that * begins with any kind of lookbehind assertion, such as "\b". * * Params: @@ -617,7 +617,7 @@ public class Regex * @eval for that occurrence. * * Setting @start_position differs from just passing over a shortened - * string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern + * string and setting %G_REGEX_MATCH_NOTBOL in the case of a pattern * that begins with any kind of lookbehind assertion, such as "\b". * * The following example uses g_regex_replace_eval() to replace multiple @@ -693,7 +693,7 @@ public class Regex * include backreferences use g_regex_replace(). * * Setting @start_position differs from just passing over a - * shortened string and setting #G_REGEX_MATCH_NOTBOL in the + * shortened string and setting %G_REGEX_MATCH_NOTBOL in the * case of a pattern that begins with any kind of lookbehind * assertion, such as "\b". * @@ -780,7 +780,7 @@ public class Regex * "a", "b" and "c". * * Setting @start_position differs from just passing over a shortened - * string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern + * string and setting %G_REGEX_MATCH_NOTBOL in the case of a pattern * that begins with any kind of lookbehind assertion, such as "\b". * * Params: diff --git a/generated/gtkd/glib/ScannerG.d b/source/generated/glib/glib/ScannerG.d similarity index 100% rename from generated/gtkd/glib/ScannerG.d rename to source/generated/glib/glib/ScannerG.d diff --git a/generated/gtkd/glib/Sequence.d b/source/generated/glib/glib/Sequence.d similarity index 99% rename from generated/gtkd/glib/Sequence.d rename to source/generated/glib/glib/Sequence.d index 6f1735583..b520fabd7 100644 --- a/generated/gtkd/glib/Sequence.d +++ b/source/generated/glib/glib/Sequence.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import glib.SequenceIter; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -66,7 +66,7 @@ public class Sequence ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_sequence_free(gSequence); } diff --git a/generated/gtkd/glib/SequenceIter.d b/source/generated/glib/glib/SequenceIter.d similarity index 100% rename from generated/gtkd/glib/SequenceIter.d rename to source/generated/glib/glib/SequenceIter.d diff --git a/generated/gtkd/glib/ShellUtils.d b/source/generated/glib/glib/ShellUtils.d similarity index 59% rename from generated/gtkd/glib/ShellUtils.d rename to source/generated/glib/glib/ShellUtils.d index d53735e71..4367dd706 100644 --- a/generated/gtkd/glib/ShellUtils.d +++ b/source/generated/glib/glib/ShellUtils.d @@ -45,12 +45,21 @@ public struct ShellUtils * Parses a command line into an argument vector, in much the same way * the shell would, but without many of the expansions the shell would * perform (variable expansion, globs, operators, filename expansion, - * etc. are not supported). The results are defined to be the same as - * those you would get from a UNIX98 /bin/sh, as long as the input - * contains none of the unsupported shell expansions. If the input - * does contain such expansions, they are passed through - * literally. Possible errors are those from the #G_SHELL_ERROR - * domain. Free the returned vector with g_strfreev(). + * etc. are not supported). + * + * The results are defined to be the same as those you would get from + * a UNIX98 `/bin/sh`, as long as the input contains none of the + * unsupported shell expansions. If the input does contain such expansions, + * they are passed through literally. + * + * Possible errors are those from the %G_SHELL_ERROR domain. + * + * In particular, if @command_line is an empty string (or a string containing + * only whitespace), %G_SHELL_ERROR_EMPTY_STRING will be returned. It’s + * guaranteed that @argvp will be a non-empty array if this function returns + * successfully. + * + * Free the returned vector with g_strfreev(). * * Params: * commandLine = command line to parse @@ -80,10 +89,14 @@ public struct ShellUtils /** * Quotes a string so that the shell (/bin/sh) will interpret the - * quoted string to mean @unquoted_string. If you pass a filename to - * the shell, for example, you should first quote it with this - * function. The return value must be freed with g_free(). The - * quoting style used is undefined (single or double quotes may be + * quoted string to mean @unquoted_string. + * + * If you pass a filename to the shell, for example, you should first + * quote it with this function. + * + * The return value must be freed with g_free(). + * + * The quoting style used is undefined (single or double quotes may be * used). * * Params: @@ -100,27 +113,33 @@ public struct ShellUtils } /** - * Unquotes a string as the shell (/bin/sh) would. Only handles - * quotes; if a string contains file globs, arithmetic operators, - * variables, backticks, redirections, or other special-to-the-shell - * features, the result will be different from the result a real shell - * would produce (the variables, backticks, etc. will be passed - * through literally instead of being expanded). This function is - * guaranteed to succeed if applied to the result of + * Unquotes a string as the shell (/bin/sh) would. + * + * This function only handles quotes; if a string contains file globs, + * arithmetic operators, variables, backticks, redirections, or other + * special-to-the-shell features, the result will be different from the + * result a real shell would produce (the variables, backticks, etc. + * will be passed through literally instead of being expanded). + * + * This function is guaranteed to succeed if applied to the result of * g_shell_quote(). If it fails, it returns %NULL and sets the - * error. The @quoted_string need not actually contain quoted or - * escaped text; g_shell_unquote() simply goes through the string and - * unquotes/unescapes anything that the shell would. Both single and - * double quotes are handled, as are escapes including escaped - * newlines. The return value must be freed with g_free(). Possible - * errors are in the #G_SHELL_ERROR domain. + * error. + * + * The @quoted_string need not actually contain quoted or escaped text; + * g_shell_unquote() simply goes through the string and unquotes/unescapes + * anything that the shell would. Both single and double quotes are + * handled, as are escapes including escaped newlines. + * + * The return value must be freed with g_free(). + * + * Possible errors are in the %G_SHELL_ERROR domain. * * Shell quoting rules are a bit strange. Single quotes preserve the * literal string exactly. escape sequences are not allowed; not even - * \' - if you want a ' in the quoted text, you have to do something - * like 'foo'\''bar'. Double quotes allow $, `, ", \, and newline to - * be escaped with backslash. Otherwise double quotes preserve things - * literally. + * `\'` - if you want a `'` in the quoted text, you have to do something + * like `'foo'\''bar'`. Double quotes allow `$`, ```, `"`, `\`, and + * newline to be escaped with backslash. Otherwise double quotes + * preserve things literally. * * Params: * quotedString = shell-quoted string diff --git a/generated/gtkd/glib/SimpleXML.d b/source/generated/glib/glib/SimpleXML.d similarity index 99% rename from generated/gtkd/glib/SimpleXML.d rename to source/generated/glib/glib/SimpleXML.d index 84112ab96..aeb6e5872 100644 --- a/generated/gtkd/glib/SimpleXML.d +++ b/source/generated/glib/glib/SimpleXML.d @@ -31,7 +31,7 @@ private import glib.ListSG; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -72,7 +72,7 @@ public class SimpleXML ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_markup_parse_context_unref(gMarkupParseContext); } diff --git a/generated/gtkd/glib/Source.d b/source/generated/glib/glib/Source.d similarity index 96% rename from generated/gtkd/glib/Source.d rename to source/generated/glib/glib/Source.d index 359c704d1..0118e9e23 100644 --- a/generated/gtkd/glib/Source.d +++ b/source/generated/glib/glib/Source.d @@ -30,7 +30,7 @@ private import glib.Str; private import glib.TimeVal; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -68,7 +68,7 @@ public class Source ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_source_unref(gSource); } @@ -213,6 +213,10 @@ public class Source * * This function is safe to call from any thread, regardless of which thread * the #GMainContext is running in. + * + * If the source is currently attached to a #GMainContext, destroying it + * will effectively unset the callback similar to calling g_source_set_callback(). + * This can mean, that the data's #GDestroyNotify gets called right away. */ public void destroy() { @@ -571,6 +575,9 @@ public class Source * been attached to a context. The changes will take effect for the next time * the source is dispatched after this call returns. * + * Note that g_source_destroy() for a currently attached source has the effect + * of also unsetting the callback. + * * Params: * func = a callback function * data = the data to pass to callback function @@ -677,6 +684,8 @@ public class Source * the value, and changing the value will free it while the other thread * may be attempting to use it. * + * Also see g_source_set_static_name(). + * * Params: * name = debug name for the source * @@ -740,6 +749,21 @@ public class Source g_source_set_ready_time(gSource, readyTime); } + /** + * A variant of g_source_set_name() that does not + * duplicate the @name, and can only be used with + * string literals. + * + * Params: + * name = debug name for the source + * + * Since: 2.70 + */ + public void setStaticName(string name) + { + g_source_set_static_name(gSource, Str.toStringz(name)); + } + /** * Decreases the reference count of a source by one. If the * resulting reference count is zero the source and associated @@ -774,7 +798,7 @@ public class Source * Params: * tag = the ID of the source to remove. * - * Returns: For historical reasons, this function always returns %TRUE + * Returns: %TRUE if the source was found and removed. */ public static bool remove(uint tag) { diff --git a/generated/gtkd/glib/Spawn.d b/source/generated/glib/glib/Spawn.d similarity index 81% rename from generated/gtkd/glib/Spawn.d rename to source/generated/glib/glib/Spawn.d index b3977de9b..8c7ecab04 100644 --- a/generated/gtkd/glib/Spawn.d +++ b/source/generated/glib/glib/Spawn.d @@ -340,13 +340,15 @@ public class Spawn */ /** + * Executes a child program asynchronously. + * * See g_spawn_async_with_pipes() for a full description; this function * simply calls the g_spawn_async_with_pipes() without any pipes. * * You should call g_spawn_close_pid() on the returned child process * reference when you don't need it any more. * - * If you are writing a GTK+ application, and the program you are spawning is a + * If you are writing a GTK application, and the program you are spawning is a * graphical application too, then to ensure that the spawned program opens its * windows on the right screen, you may want to use #GdkAppLaunchContext, * #GAppLaunchContext, or set the %DISPLAY environment variable. @@ -384,45 +386,19 @@ public class Spawn } /** - * Set @error if @exit_status indicates the child exited abnormally - * (e.g. with a nonzero exit code, or via a fatal signal). - * - * The g_spawn_sync() and g_child_watch_add() family of APIs return an - * exit status for subprocesses encoded in a platform-specific way. - * On Unix, this is guaranteed to be in the same format waitpid() returns, - * and on Windows it is guaranteed to be the result of GetExitCodeProcess(). - * - * Prior to the introduction of this function in GLib 2.34, interpreting - * @exit_status required use of platform-specific APIs, which is problematic - * for software using GLib as a cross-platform layer. - * - * Additionally, many programs simply want to determine whether or not - * the child exited successfully, and either propagate a #GError or - * print a message to standard error. In that common case, this function - * can be used. Note that the error message in @error will contain - * human-readable information about the exit status. - * - * The @domain and @code of @error have special semantics in the case - * where the process has an "exit code", as opposed to being killed by - * a signal. On Unix, this happens if WIFEXITED() would be true of - * @exit_status. On Windows, it is always the case. - * - * The special semantics are that the actual exit code will be the - * code set in @error, and the domain will be %G_SPAWN_EXIT_ERROR. - * This allows you to differentiate between different exit codes. - * - * If the process was terminated by some means other than an exit - * status, the domain will be %G_SPAWN_ERROR, and the code will be - * %G_SPAWN_ERROR_FAILED. - * - * This function just offers convenience; you can of course also check - * the available platform via a macro such as %G_OS_UNIX, and use - * WIFEXITED() and WEXITSTATUS() on @exit_status directly. Do not attempt - * to scan or parse the error message string; it may be translated and/or - * change in future versions of GLib. + * An old name for g_spawn_check_wait_status(), deprecated because its + * name is misleading. + * + * Despite the name of the function, @wait_status must be the wait status + * as returned by g_spawn_sync(), g_subprocess_get_status(), `waitpid()`, + * etc. On Unix platforms, it is incorrect for it to be the exit status + * as passed to `exit()` or returned by g_subprocess_get_exit_status() or + * `WEXITSTATUS()`. + * + * Deprecated: Use g_spawn_check_wait_status() instead, and check whether your code is conflating wait and exit statuses. * * Params: - * exitStatus = An exit code as returned from g_spawn_sync() + * waitStatus = A status as returned from g_spawn_sync() * * Returns: %TRUE if child exited successfully, %FALSE otherwise (and * @error will be set) @@ -431,11 +407,11 @@ public class Spawn * * Throws: GException on failure. */ - public static bool checkExitStatus(int exitStatus) + public static bool checkExitStatus(int waitStatus) { GError* err = null; - auto __p = g_spawn_check_exit_status(exitStatus, &err) != 0; + auto __p = g_spawn_check_exit_status(waitStatus, &err) != 0; if (err !is null) { @@ -461,8 +437,9 @@ public class Spawn /** * A simple version of g_spawn_async() that parses a command line with - * g_shell_parse_argv() and passes it to g_spawn_async(). Runs a - * command line in the background. Unlike g_spawn_async(), the + * g_shell_parse_argv() and passes it to g_spawn_async(). + * + * Runs a command line in the background. Unlike g_spawn_async(), the * %G_SPAWN_SEARCH_PATH flag is enabled, other flags are not. Note * that %G_SPAWN_SEARCH_PATH can have security implications, so * consider using g_spawn_async() directly if appropriate. Possible @@ -493,17 +470,24 @@ public class Spawn /** * A simple version of g_spawn_sync() with little-used parameters - * removed, taking a command line instead of an argument vector. See - * g_spawn_sync() for full details. @command_line will be parsed by - * g_shell_parse_argv(). Unlike g_spawn_sync(), the %G_SPAWN_SEARCH_PATH flag - * is enabled. Note that %G_SPAWN_SEARCH_PATH can have security - * implications, so consider using g_spawn_sync() directly if - * appropriate. Possible errors are those from g_spawn_sync() and those + * removed, taking a command line instead of an argument vector. + * + * See g_spawn_sync() for full details. + * + * The @command_line argument will be parsed by g_shell_parse_argv(). + * + * Unlike g_spawn_sync(), the %G_SPAWN_SEARCH_PATH flag is enabled. + * Note that %G_SPAWN_SEARCH_PATH can have security implications, so + * consider using g_spawn_sync() directly if appropriate. + * + * Possible errors are those from g_spawn_sync() and those * from g_shell_parse_argv(). * - * If @exit_status is non-%NULL, the platform-specific exit status of + * If @wait_status is non-%NULL, the platform-specific status of * the child is stored there; see the documentation of - * g_spawn_check_exit_status() for how to use and interpret this. + * g_spawn_check_wait_status() for how to use and interpret this. + * On Unix platforms, note that it is usually not equal + * to the integer passed to `exit()` or returned from `main()`. * * On Windows, please note the implications of g_shell_parse_argv() * parsing @command_line. Parsing is done according to Unix shell rules, not @@ -519,19 +503,19 @@ public class Spawn * commandLine = a command line * standardOutput = return location for child output * standardError = return location for child errors - * exitStatus = return location for child exit status, as returned by waitpid() + * waitStatus = return location for child wait status, as returned by waitpid() * * Returns: %TRUE on success, %FALSE if an error was set * * Throws: GException on failure. */ - public static bool commandLineSync(string commandLine, out string standardOutput, out string standardError, out int exitStatus) + public static bool commandLineSync(string commandLine, out string standardOutput, out string standardError, out int waitStatus) { char* outstandardOutput = null; char* outstandardError = null; GError* err = null; - auto __p = g_spawn_command_line_sync(Str.toStringz(commandLine), &outstandardOutput, &outstandardError, &exitStatus, &err) != 0; + auto __p = g_spawn_command_line_sync(Str.toStringz(commandLine), &outstandardOutput, &outstandardError, &waitStatus, &err) != 0; if (err !is null) { @@ -558,20 +542,24 @@ public class Spawn /** * Executes a child synchronously (waits for the child to exit before returning). + * * All output from the child is stored in @standard_output and @standard_error, * if those parameters are non-%NULL. Note that you must set the * %G_SPAWN_STDOUT_TO_DEV_NULL and %G_SPAWN_STDERR_TO_DEV_NULL flags when * passing %NULL for @standard_output and @standard_error. * - * If @exit_status is non-%NULL, the platform-specific exit status of + * If @wait_status is non-%NULL, the platform-specific status of * the child is stored there; see the documentation of - * g_spawn_check_exit_status() for how to use and interpret this. + * g_spawn_check_wait_status() for how to use and interpret this. + * On Unix platforms, note that it is usually not equal + * to the integer passed to `exit()` or returned from `main()`. + * * Note that it is invalid to pass %G_SPAWN_DO_NOT_REAP_CHILD in * @flags, and on POSIX platforms, the same restrictions as for * g_child_watch_source_new() apply. * * If an error occurs, no data is returned in @standard_output, - * @standard_error, or @exit_status. + * @standard_error, or @wait_status. * * This function calls g_spawn_async_with_pipes() internally; see that * function for full details on the other parameters and details on @@ -580,26 +568,26 @@ public class Spawn * Params: * workingDirectory = child's current working * directory, or %NULL to inherit parent's - * argv = child's argument vector + * argv = child's argument vector, which must be non-empty and %NULL-terminated * envp = child's environment, or %NULL to inherit parent's * flags = flags from #GSpawnFlags * childSetup = function to run in the child just before exec() * userData = user data for @child_setup * standardOutput = return location for child output, or %NULL * standardError = return location for child error messages, or %NULL - * exitStatus = return location for child exit status, as returned by waitpid(), or %NULL + * waitStatus = return location for child wait status, as returned by waitpid(), or %NULL * * Returns: %TRUE on success, %FALSE if an error was set * * Throws: GException on failure. */ - public static bool sync(string workingDirectory, string[] argv, string[] envp, GSpawnFlags flags, GSpawnChildSetupFunc childSetup, void* userData, out string standardOutput, out string standardError, out int exitStatus) + public static bool sync(string workingDirectory, string[] argv, string[] envp, GSpawnFlags flags, GSpawnChildSetupFunc childSetup, void* userData, out string standardOutput, out string standardError, out int waitStatus) { char* outstandardOutput = null; char* outstandardError = null; GError* err = null; - auto __p = g_spawn_sync(Str.toStringz(workingDirectory), Str.toStringzArray(argv), Str.toStringzArray(envp), flags, childSetup, userData, &outstandardOutput, &outstandardError, &exitStatus, &err) != 0; + auto __p = g_spawn_sync(Str.toStringz(workingDirectory), Str.toStringzArray(argv), Str.toStringzArray(envp), flags, childSetup, userData, &outstandardOutput, &outstandardError, &waitStatus, &err) != 0; if (err !is null) { @@ -613,12 +601,15 @@ public class Spawn } /** + * Executes a child program asynchronously. + * * Identical to g_spawn_async_with_pipes_and_fds() but with `n_fds` set to zero, * so no FD assignments are used. * * Params: * workingDirectory = child's current working directory, or %NULL to inherit parent's, in the GLib file name encoding - * argv = child's argument vector, in the GLib file name encoding + * argv = child's argument vector, in the GLib file name encoding; + * it must be non-empty and %NULL-terminated * envp = child's environment, or %NULL to inherit parent's, in the GLib file name encoding * flags = flags from #GSpawnFlags * childSetup = function to run in the child just before exec() diff --git a/generated/gtkd/glib/Str.d b/source/generated/glib/glib/Str.d similarity index 98% rename from generated/gtkd/glib/Str.d rename to source/generated/glib/glib/Str.d index a57686f7c..b64562965 100644 --- a/generated/gtkd/glib/Str.d +++ b/source/generated/glib/glib/Str.d @@ -213,7 +213,7 @@ public struct Str * the string back using g_ascii_strtod() gives the same machine-number * (on machines with IEEE compatible 64bit doubles). It is * guaranteed that the size of the resulting string will never - * be larger than @G_ASCII_DTOSTR_BUF_SIZE bytes, including the terminating + * be larger than %G_ASCII_DTOSTR_BUF_SIZE bytes, including the terminating * nul character, which is always added. * * Params: @@ -237,6 +237,9 @@ public struct Str * a printf()-style format string. Allowed conversion * specifiers are 'e', 'E', 'f', 'F', 'g' and 'G'. * + * The @format must just be a single format specifier + * starting with `%`, expecting a #gdouble argument. + * * The returned buffer is guaranteed to be nul-terminated. * * If you just want to want to serialize the value into a @@ -246,7 +249,7 @@ public struct Str * buffer = A buffer to place the resulting string in * bufLen = The length of the buffer. * format = The printf()-style format to use for the - * code to use for converting. + * code to use for converting * d = The #gdouble to convert * * Returns: The pointer to the buffer with the converted string. @@ -310,7 +313,9 @@ public struct Str /** * Compare @s1 and @s2, ignoring the case of ASCII characters and any - * characters after the first @n in each string. + * characters after the first @n in each string. If either string is + * less than @n bytes long, comparison will stop at the first nul byte + * encountered. * * Unlike the BSD strcasecmp() function, this only recognizes standard * ASCII letters and ignores the locale, treating all non-ASCII @@ -741,14 +746,17 @@ public struct Str /** * For each character in @string, if the character is not in @valid_chars, - * replaces the character with @substitutor. Modifies @string in place, - * and return @string itself, not a copy. The return value is to allow - * nesting such as + * replaces the character with @substitutor. + * + * Modifies @string in place, and return @string itself, not a copy. The + * return value is to allow nesting such as: + * * |[ * g_ascii_strup (g_strcanon (str, "abc", '?')) * ]| * - * In order to modify a copy, you may use `g_strdup()`: + * In order to modify a copy, you may use g_strdup(): + * * |[ * reformatted = g_strcanon (g_strdup (const_str), "abc", '?'); * ... @@ -760,7 +768,7 @@ public struct Str * validChars = bytes permitted in @string * substitutor = replacement character for disallowed bytes * - * Returns: @string + * Returns: the modified @string */ public static string strcanon(string string_, string validChars, char substitutor) { @@ -877,15 +885,19 @@ public struct Str /** * Converts any delimiter characters in @string to @new_delimiter. + * * Any characters in @string which are found in @delimiters are * changed to the @new_delimiter character. Modifies @string in place, - * and returns @string itself, not a copy. The return value is to - * allow nesting such as + * and returns @string itself, not a copy. + * + * The return value is to allow nesting such as: + * * |[ * g_ascii_strup (g_strdelimit (str, "abc", '?')) * ]| * - * In order to modify a copy, you may use `g_strdup()`: + * In order to modify a copy, you may use g_strdup(): + * * |[ * reformatted = g_strdelimit (g_strdup (const_str), "abc", '?'); * ... @@ -895,10 +907,10 @@ public struct Str * Params: * string_ = the string to convert * delimiters = a string containing the current delimiters, - * or %NULL to use the standard delimiters defined in #G_STR_DELIMITERS + * or %NULL to use the standard delimiters defined in %G_STR_DELIMITERS * newDelimiter = the new delimiter character * - * Returns: @string + * Returns: the modified @string */ public static string strdelimit(string string_, string delimiters, char newDelimiter) { @@ -1498,12 +1510,13 @@ public struct Str * `glib/gprintf.h` must be explicitly included in order to use this function. * * Params: - * string_ = the return location for the newly-allocated string. + * string_ = the return location for the newly-allocated string, + * which will be %NULL if (and only if) this function fails * format = a standard printf() format string, but notice * [string precision pitfalls][string-precision] * args = the list of arguments to insert in the output. * - * Returns: the number of bytes printed. + * Returns: the number of bytes printed, or `-1` on failure * * Since: 2.4 */ diff --git a/generated/gtkd/glib/StringChunk.d b/source/generated/glib/glib/StringChunk.d similarity index 98% rename from generated/gtkd/glib/StringChunk.d rename to source/generated/glib/glib/StringChunk.d index 993dd02e5..a2fa0d5f6 100644 --- a/generated/gtkd/glib/StringChunk.d +++ b/source/generated/glib/glib/StringChunk.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -66,7 +66,7 @@ public class StringChunk ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_string_chunk_free(gStringChunk); } diff --git a/generated/gtkd/glib/StringG.d b/source/generated/glib/glib/StringG.d similarity index 89% rename from generated/gtkd/glib/StringG.d rename to source/generated/glib/glib/StringG.d index 1c3965650..fa8a58046 100644 --- a/generated/gtkd/glib/StringG.d +++ b/source/generated/glib/glib/StringG.d @@ -25,6 +25,7 @@ module glib.StringG; private import glib.Bytes; +private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; public import glib.c.types; @@ -63,6 +64,83 @@ public class StringG } + /** + * Creates a new #GString, initialized with the given string. + * + * Params: + * init = the initial text to copy into the string, or %NULL to + * start with an empty string + * + * Returns: the new #GString + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string init) + { + auto __p = g_string_new(Str.toStringz(init)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GString*) __p); + } + + /** + * Creates a new #GString with @len bytes of the @init buffer. + * Because a length is provided, @init need not be nul-terminated, + * and can contain embedded nul bytes. + * + * Since this function does not stop at nul bytes, it is the caller's + * responsibility to ensure that @init has at least @len addressable + * bytes. + * + * Params: + * init = initial contents of the string + * len = length of @init to use + * + * Returns: a new #GString + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string init, ptrdiff_t len) + { + auto __p = g_string_new_len(Str.toStringz(init), len); + + if(__p is null) + { + throw new ConstructionException("null returned by new_len"); + } + + this(cast(GString*) __p); + } + + /** + * Creates a new #GString, with enough space for @dfl_size + * bytes. This is useful if you are going to add a lot of + * text to the string and don't want it to be reallocated + * too often. + * + * Params: + * dflSize = the default size of the space allocated to hold the string + * + * Returns: the new #GString + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(size_t dflSize) + { + auto __p = g_string_sized_new(dflSize); + + if(__p is null) + { + throw new ConstructionException("null returned by sized_new"); + } + + this(cast(GString*) __p); + } + /** * Adds a string onto the end of a #GString, expanding * it if necessary. @@ -615,8 +693,13 @@ public class StringG /** * Replaces the string @find with the string @replace in a #GString up to * @limit times. If the number of instances of @find in the #GString is - * less than @limit, all instances are replaced. If the number of - * instances is `0`, all instances of @find are replaced. + * less than @limit, all instances are replaced. If @limit is `0`, + * all instances of @find are replaced. + * + * If @find is the empty string, since versions 2.69.1 and 2.68.4 the + * replacement will be inserted no more than once per possible position + * (beginning of string, end of string and between characters). This did + * not work correctly in earlier versions. * * Params: * find = the string to find in @string @@ -715,74 +798,44 @@ public class StringG } /** - * Creates a new #GString, initialized with the given string. + * Creates a new reference counted string and copies the contents of @str + * into it. * * Params: - * init = the initial text to copy into the string, or %NULL to - * start with an empty string + * str = a NUL-terminated string * - * Returns: the new #GString + * Returns: the newly created reference counted string + * + * Since: 2.58 */ - public static StringG stringNew(string init) + public static string refStringNew(string str) { - auto __p = g_string_new(Str.toStringz(init)); + auto retStr = g_ref_string_new(Str.toStringz(str)); - if(__p is null) - { - return null; - } - - return new StringG(cast(GString*) __p, true); + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); } /** - * Creates a new #GString with @len bytes of the @init buffer. - * Because a length is provided, @init need not be nul-terminated, - * and can contain embedded nul bytes. + * Creates a new reference counted string and copies the contents of @str + * into it, up to @len bytes. * * Since this function does not stop at nul bytes, it is the caller's - * responsibility to ensure that @init has at least @len addressable - * bytes. + * responsibility to ensure that @str has at least @len addressable bytes. * * Params: - * init = initial contents of the string - * len = length of @init to use + * str = a string + * len = length of @str to use, or -1 if @str is nul-terminated * - * Returns: a new #GString - */ - public static StringG stringNewLen(string init, ptrdiff_t len) - { - auto __p = g_string_new_len(Str.toStringz(init), len); - - if(__p is null) - { - return null; - } - - return new StringG(cast(GString*) __p, true); - } - - /** - * Creates a new #GString, with enough space for @dfl_size - * bytes. This is useful if you are going to add a lot of - * text to the string and don't want it to be reallocated - * too often. + * Returns: the newly created reference counted string * - * Params: - * dflSize = the default size of the space allocated to - * hold the string - * - * Returns: the new #GString + * Since: 2.58 */ - public static StringG stringSizedNew(size_t dflSize) + public static string refStringNewLen(string str, ptrdiff_t len) { - auto __p = g_string_sized_new(dflSize); + auto retStr = g_ref_string_new_len(Str.toStringz(str), len); - if(__p is null) - { - return null; - } - - return new StringG(cast(GString*) __p, true); + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); } } diff --git a/generated/gtkd/glib/StrvBuilder.d b/source/generated/glib/glib/StrvBuilder.d similarity index 92% rename from generated/gtkd/glib/StrvBuilder.d rename to source/generated/glib/glib/StrvBuilder.d index e902eafe5..7750d2e48 100644 --- a/generated/gtkd/glib/StrvBuilder.d +++ b/source/generated/glib/glib/StrvBuilder.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -77,7 +77,7 @@ public class StrvBuilder ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_strv_builder_unref(gStrvBuilder); } @@ -95,6 +95,19 @@ public class StrvBuilder g_strv_builder_add(gStrvBuilder, Str.toStringz(value)); } + /** + * Appends all the strings in the given vector to the builder. + * + * Since 2.70 + * + * Params: + * value = the vector of strings to add + */ + public void addv(string[] value) + { + g_strv_builder_addv(gStrvBuilder, Str.toStringzArray(value)); + } + /** * Ends the builder process and returns the constructed NULL-terminated string * array. The returned value should be freed with g_strfreev() when no longer diff --git a/generated/gstreamer/gstreamer/PollFD.d b/source/generated/glib/glib/TestCase.d similarity index 67% rename from generated/gstreamer/gstreamer/PollFD.d rename to source/generated/glib/glib/TestCase.d index 8a7581806..c5453794f 100644 --- a/generated/gstreamer/gstreamer/PollFD.d +++ b/source/generated/glib/glib/TestCase.d @@ -22,51 +22,60 @@ // implement new conversion functionalities on the wrap.utils pakage -module gstreamer.PollFD; +module glib.TestCase; -private import gstreamer.c.functions; -public import gstreamer.c.types; +private import glib.c.functions; +public import glib.c.types; +private import linker.Loader; /** - * A file descriptor object. + * An opaque structure representing a test case. */ -public class PollFD +public class TestCase { /** the main Gtk struct */ - protected GstPollFD* gstPollFD; + protected GTestCase* gTestCase; protected bool ownedRef; /** Get the main Gtk struct */ - public GstPollFD* getPollFDStruct(bool transferOwnership = false) + public GTestCase* getTestCaseStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gstPollFD; + return gTestCase; } /** the main Gtk struct as a void* */ protected void* getStruct() { - return cast(void*)gstPollFD; + return cast(void*)gTestCase; } /** * Sets our main struct and passes it to the parent class. */ - public this (GstPollFD* gstPollFD, bool ownedRef = false) + public this (GTestCase* gTestCase, bool ownedRef = false) { - this.gstPollFD = gstPollFD; + this.gTestCase = gTestCase; this.ownedRef = ownedRef; } + ~this () + { + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) + g_test_case_free(gTestCase); + } + /** - * Initializes @fd. Alternatively you can initialize it with - * #GST_POLL_FD_INIT. + * Free the @test_case. + * + * Since: 2.70 */ - public void init() + public void free() { - gst_poll_fd_init(gstPollFD); + g_test_case_free(gTestCase); + ownedRef = false; } } diff --git a/generated/gtkd/glib/TestLogBuffer.d b/source/generated/glib/glib/TestLogBuffer.d similarity index 97% rename from generated/gtkd/glib/TestLogBuffer.d rename to source/generated/glib/glib/TestLogBuffer.d index acbfeeaf2..948bdeae0 100644 --- a/generated/gtkd/glib/TestLogBuffer.d +++ b/source/generated/glib/glib/TestLogBuffer.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import glib.TestLogMsg; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** */ @@ -63,7 +63,7 @@ public class TestLogBuffer ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_test_log_buffer_free(gTestLogBuffer); } diff --git a/generated/gtkd/glib/TestLogMsg.d b/source/generated/glib/glib/TestLogMsg.d similarity index 95% rename from generated/gtkd/glib/TestLogMsg.d rename to source/generated/glib/glib/TestLogMsg.d index 3e63aa90d..9c84ac21e 100644 --- a/generated/gtkd/glib/TestLogMsg.d +++ b/source/generated/glib/glib/TestLogMsg.d @@ -26,7 +26,7 @@ module glib.TestLogMsg; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** */ @@ -61,7 +61,7 @@ public class TestLogMsg ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_test_log_msg_free(gTestLogMsg); } diff --git a/generated/gtkd/glib/TestSuite.d b/source/generated/glib/glib/TestSuite.d similarity index 82% rename from generated/gtkd/glib/TestSuite.d rename to source/generated/glib/glib/TestSuite.d index 2704aa99a..4fe9caaf5 100644 --- a/generated/gtkd/glib/TestSuite.d +++ b/source/generated/glib/glib/TestSuite.d @@ -24,8 +24,10 @@ module glib.TestSuite; +private import glib.TestCase; private import glib.c.functions; public import glib.c.types; +private import linker.Loader; /** @@ -60,6 +62,12 @@ public class TestSuite this.ownedRef = ownedRef; } + ~this () + { + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) + g_test_suite_free(gTestSuite); + } + /** * Adds @test_case to @suite. @@ -69,9 +77,9 @@ public class TestSuite * * Since: 2.16 */ - public void add(GTestCase* testCase) + public void add(TestCase testCase) { - g_test_suite_add(gTestSuite, testCase); + g_test_suite_add(gTestSuite, (testCase is null) ? null : testCase.getTestCaseStruct()); } /** @@ -86,4 +94,15 @@ public class TestSuite { g_test_suite_add_suite(gTestSuite, (nestedsuite is null) ? null : nestedsuite.getTestSuiteStruct()); } + + /** + * Free the @suite and all nested #GTestSuites. + * + * Since: 2.70 + */ + public void free() + { + g_test_suite_free(gTestSuite); + ownedRef = false; + } } diff --git a/generated/gtkd/glib/Thread.d b/source/generated/glib/glib/Thread.d similarity index 91% rename from generated/gtkd/glib/Thread.d rename to source/generated/glib/glib/Thread.d index bc4a96a3b..7adc92c64 100644 --- a/generated/gtkd/glib/Thread.d +++ b/source/generated/glib/glib/Thread.d @@ -30,7 +30,7 @@ private import glib.GException; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -79,7 +79,7 @@ public class Thread ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_thread_unref(gThread); } @@ -260,7 +260,8 @@ public class Thread * * This function accesses @address atomically. All other accesses to * @address must be atomic in order for this function to work - * reliably. + * reliably. While @address has a `volatile` qualifier, this is a historical + * artifact and the argument passed to it should not be `volatile`. * * Params: * address = a pointer to an integer @@ -285,7 +286,8 @@ public class Thread * * This function accesses @address atomically. All other accesses to * @address must be atomic in order for this function to work - * reliably. + * reliably. While @address has a `volatile` qualifier, this is a historical + * artifact and the argument passed to it should not be `volatile`. * * Params: * address = a pointer to an integer @@ -307,7 +309,8 @@ public class Thread * * This function accesses @address atomically. All other accesses to * @address must be atomic in order for this function to work - * reliably. + * reliably. While @address has a `volatile` qualifier, this is a historical + * artifact and the argument passed to it should not be `volatile`. * * Params: * address = a pointer to an integer @@ -342,6 +345,9 @@ public class Thread * For portability reasons, you may only lock on the bottom 32 bits of * the pointer. * + * While @address has a `volatile` qualifier, this is a historical + * artifact and the argument passed to it should not be `volatile`. + * * Params: * address = a pointer to a #gpointer-sized value * lockBit = a bit value between 0 and 31 @@ -354,12 +360,15 @@ public class Thread } /** - * This is equivalent to g_bit_trylock, but working on pointers (or + * This is equivalent to g_bit_trylock(), but working on pointers (or * other pointer-sized values). * * For portability reasons, you may only lock on the bottom 32 bits of * the pointer. * + * While @address has a `volatile` qualifier, this is a historical + * artifact and the argument passed to it should not be `volatile`. + * * Params: * address = a pointer to a #gpointer-sized value * lockBit = a bit value between 0 and 31 @@ -380,6 +389,9 @@ public class Thread * For portability reasons, you may only lock on the bottom 32 bits of * the pointer. * + * While @address has a `volatile` qualifier, this is a historical + * artifact and the argument passed to it should not be `volatile`. + * * Params: * address = a pointer to a #gpointer-sized value * lockBit = a bit value between 0 and 31 diff --git a/generated/gtkd/glib/ThreadPool.d b/source/generated/glib/glib/ThreadPool.d similarity index 90% rename from generated/gtkd/glib/ThreadPool.d rename to source/generated/glib/glib/ThreadPool.d index 7f1bfef2e..61a45cf69 100644 --- a/generated/gtkd/glib/ThreadPool.d +++ b/source/generated/glib/glib/ThreadPool.d @@ -30,7 +30,7 @@ private import glib.GException; private import glib.MemorySlice; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -69,7 +69,7 @@ public final class ThreadPool ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) sliceFree(gThreadPool); } @@ -399,6 +399,48 @@ public final class ThreadPool this(cast(GThreadPool*) __p); } + /** + * This function creates a new thread pool similar to g_thread_pool_new() + * but allowing @item_free_func to be specified to free the data passed + * to g_thread_pool_push() in the case that the #GThreadPool is stopped + * and freed before all tasks have been executed. + * + * Params: + * func = a function to execute in the threads of the new thread pool + * userData = user data that is handed over to @func every time it + * is called + * itemFreeFunc = used to pass as a free function to + * g_async_queue_new_full() + * maxThreads = the maximal number of threads to execute concurrently + * in the new thread pool, `-1` means no limit + * exclusive = should this thread pool be exclusive? + * + * Returns: the new #GThreadPool + * + * Since: 2.70 + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(GFunc func, void* userData, GDestroyNotify itemFreeFunc, int maxThreads, bool exclusive) + { + GError* err = null; + + auto __p = g_thread_pool_new_full(func, userData, itemFreeFunc, maxThreads, exclusive, &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new_full"); + } + + this(cast(GThreadPool*) __p); + } + /** * This function will set the maximum @interval that a thread * waiting in the pool for new tasks can be idle for before diff --git a/generated/gtkd/glib/TimeVal.d b/source/generated/glib/glib/TimeVal.d similarity index 97% rename from generated/gtkd/glib/TimeVal.d rename to source/generated/glib/glib/TimeVal.d index 756315d57..a6ffeb39f 100644 --- a/generated/gtkd/glib/TimeVal.d +++ b/source/generated/glib/glib/TimeVal.d @@ -28,12 +28,13 @@ private import glib.MemorySlice; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** * Represents a precise time, with seconds and microseconds. - * Similar to the struct timeval returned by the gettimeofday() + * + * Similar to the struct timeval returned by the `gettimeofday()` * UNIX system call. * * GLib is attempting to unify around the use of 64-bit integers to @@ -75,7 +76,7 @@ public final class TimeVal ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) sliceFree(gTimeVal); } @@ -277,7 +278,7 @@ public final class TimeVal * Pauses the current thread for the given number of microseconds. * * There are 1 million microseconds per second (represented by the - * #G_USEC_PER_SEC macro). g_usleep() may have limited precision, + * %G_USEC_PER_SEC macro). g_usleep() may have limited precision, * depending on hardware and operating system; don't rely on the exact * length of the sleep. * diff --git a/generated/gtkd/glib/TimeZone.d b/source/generated/glib/glib/TimeZone.d similarity index 98% rename from generated/gtkd/glib/TimeZone.d rename to source/generated/glib/glib/TimeZone.d index e5524e815..be3d84625 100644 --- a/generated/gtkd/glib/TimeZone.d +++ b/source/generated/glib/glib/TimeZone.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -68,7 +68,7 @@ public class TimeZone ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_time_zone_unref(gTimeZone); } diff --git a/generated/gtkd/glib/Timeout.d b/source/generated/glib/glib/Timeout.d similarity index 93% rename from generated/gtkd/glib/Timeout.d rename to source/generated/glib/glib/Timeout.d index fc7c37fe1..7238802f6 100644 --- a/generated/gtkd/glib/Timeout.d +++ b/source/generated/glib/glib/Timeout.d @@ -204,10 +204,12 @@ public class Timeout /** * Sets a function to be called at regular intervals, with the default - * priority, #G_PRIORITY_DEFAULT. The function is called repeatedly - * until it returns %FALSE, at which point the timeout is automatically - * destroyed and the function will not be called again. The first call - * to the function will be at the end of the first @interval. + * priority, %G_PRIORITY_DEFAULT. + * + * The given @function is called repeatedly until it returns %G_SOURCE_REMOVE + * or %FALSE, at which point the timeout is automatically destroyed and the + * function will not be called again. The first call to the function will be + * at the end of the first @interval. * * Note that timeout functions may be delayed, due to the processing of other * event sources. Thus they should not be relied on for precise timing. @@ -275,7 +277,7 @@ public class Timeout * * Params: * priority = the priority of the timeout source. Typically this will be in - * the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH. + * the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH. * interval = the time between calls to the function, in milliseconds * (1/1000ths of a second) * function_ = function to call @@ -291,8 +293,10 @@ public class Timeout /** * Sets a function to be called at regular intervals with the default - * priority, #G_PRIORITY_DEFAULT. The function is called repeatedly until - * it returns %FALSE, at which point the timeout is automatically destroyed + * priority, %G_PRIORITY_DEFAULT. + * + * The function is called repeatedly until it returns %G_SOURCE_REMOVE + * or %FALSE, at which point the timeout is automatically destroyed * and the function will not be called again. * * This internally creates a main loop source using @@ -328,17 +332,18 @@ public class Timeout /** * Sets a function to be called at regular intervals, with @priority. - * The function is called repeatedly until it returns %FALSE, at which - * point the timeout is automatically destroyed and the function will - * not be called again. + * + * The function is called repeatedly until it returns %G_SOURCE_REMOVE + * or %FALSE, at which point the timeout is automatically destroyed and + * the function will not be called again. * * Unlike g_timeout_add(), this function operates at whole second granularity. * The initial starting point of the timer is determined by the implementation * and the implementation is expected to group multiple timers together so that - * they fire all at the same time. - * To allow this grouping, the @interval to the first timer is rounded - * and can deviate up to one second from the specified interval. - * Subsequent timer iterations will generally run at the specified interval. + * they fire all at the same time. To allow this grouping, the @interval to the + * first timer is rounded and can deviate up to one second from the specified + * interval. Subsequent timer iterations will generally run at the specified + * interval. * * Note that timeout functions may be delayed, due to the processing of other * event sources. Thus they should not be relied on for precise timing. @@ -368,7 +373,7 @@ public class Timeout * * Params: * priority = the priority of the timeout source. Typically this will be in - * the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH. + * the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH. * interval = the time between calls to the function, in seconds * function_ = function to call * data = data to pass to @function diff --git a/generated/gtkd/glib/Timer.d b/source/generated/glib/glib/Timer.d similarity index 100% rename from generated/gtkd/glib/Timer.d rename to source/generated/glib/glib/Timer.d diff --git a/generated/gtkd/glib/TrashStack.d b/source/generated/glib/glib/TrashStack.d similarity index 98% rename from generated/gtkd/glib/TrashStack.d rename to source/generated/glib/glib/TrashStack.d index 24ffd03f8..4aeaa78d1 100644 --- a/generated/gtkd/glib/TrashStack.d +++ b/source/generated/glib/glib/TrashStack.d @@ -27,7 +27,7 @@ module glib.TrashStack; private import glib.MemorySlice; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** diff --git a/generated/gtkd/glib/TreeNode.d b/source/generated/glib/glib/TreeNode.d similarity index 100% rename from generated/gtkd/glib/TreeNode.d rename to source/generated/glib/glib/TreeNode.d diff --git a/generated/gtkd/glib/URI.d b/source/generated/glib/glib/URI.d similarity index 100% rename from generated/gtkd/glib/URI.d rename to source/generated/glib/glib/URI.d diff --git a/generated/gtkd/glib/Unicode.d b/source/generated/glib/glib/Unicode.d similarity index 98% rename from generated/gtkd/glib/Unicode.d rename to source/generated/glib/glib/Unicode.d index 7cc958f39..fdbcd4609 100644 --- a/generated/gtkd/glib/Unicode.d +++ b/source/generated/glib/glib/Unicode.d @@ -836,9 +836,10 @@ public struct Unicode * words read, or %NULL. If %NULL, then %G_CONVERT_ERROR_PARTIAL_INPUT will * be returned in case @str contains a trailing partial character. If * an error occurs then the index of the invalid input is stored here. + * It’s guaranteed to be non-negative. * itemsWritten = location to store number * of bytes written, or %NULL. The value stored here does not include the - * trailing 0 byte. + * trailing 0 byte. It’s guaranteed to be non-negative. * * Returns: a pointer to a newly allocated UTF-8 string. * This value must be freed with g_free(). If an error occurs, @@ -897,6 +898,10 @@ public struct Unicode * compare the keys with strcmp() when sorting instead of sorting * the original strings. * + * If the two strings are not comparable due to being in different collation + * sequences, the result is undefined. This can happen if the strings are in + * different language scripts, for example. + * * Params: * str1 = a UTF-8 encoded string * str2 = a UTF-8 encoded string @@ -1317,10 +1322,14 @@ public struct Unicode * Copies a substring out of a UTF-8 encoded string. * The substring will contain @end_pos - @start_pos characters. * + * Since GLib 2.72, `-1` can be passed to @end_pos to indicate the + * end of the string. + * * Params: * str = a UTF-8 encoded string * startPos = a character offset within @str - * endPos = another character offset within @str + * endPos = another character offset within @str, + * or `-1` to indicate the end of the string * * Returns: a newly allocated copy of the requested * substring. Free with g_free() when no longer needed. diff --git a/generated/gtkd/glib/UnixUtils.d b/source/generated/glib/glib/UnixUtils.d similarity index 99% rename from generated/gtkd/glib/UnixUtils.d rename to source/generated/glib/glib/UnixUtils.d index 18ba50249..71d8323e0 100644 --- a/generated/gtkd/glib/UnixUtils.d +++ b/source/generated/glib/glib/UnixUtils.d @@ -211,7 +211,7 @@ public struct UnixUtils * * Params: * priority = the priority of the signal source. Typically this will be in - * the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH. + * the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH. * signum = Signal number * handler = Callback * userData = Data for @handler diff --git a/generated/gtkd/glib/UriParamsIter.d b/source/generated/glib/glib/UriParamsIter.d similarity index 100% rename from generated/gtkd/glib/UriParamsIter.d rename to source/generated/glib/glib/UriParamsIter.d diff --git a/generated/gtkd/glib/Util.d b/source/generated/glib/glib/Util.d similarity index 97% rename from generated/gtkd/glib/Util.d rename to source/generated/glib/glib/Util.d index add33f02b..b5f5bf2a2 100644 --- a/generated/gtkd/glib/Util.d +++ b/source/generated/glib/glib/Util.d @@ -537,7 +537,7 @@ public struct Util * This folder is used for application data * that is not user specific. For example, an application can store * a spell-check dictionary, a database of clip art, or a log file in the - * CSIDL_COMMON_APPDATA folder. This information will not roam and is available + * FOLDERID_ProgramData folder. This information will not roam and is available * to anyone using the computer. * * The return value is cached and modifying it at runtime is not supported, as @@ -567,8 +567,8 @@ public struct Util * the first elements in the list are the Application Data * and Documents folders for All Users. (These can be determined only * on Windows 2000 or later and are not present in the list on other - * Windows versions.) See documentation for CSIDL_COMMON_APPDATA and - * CSIDL_COMMON_DOCUMENTS. + * Windows versions.) See documentation for FOLDERID_ProgramData and + * FOLDERID_PublicDocuments. * * Then follows the "share" subfolder in the installation folder for * the package containing the DLL that calls this function, if it can @@ -635,7 +635,7 @@ public struct Util * If `XDG_CACHE_HOME` is undefined, the directory that serves as a common * repository for temporary Internet files is used instead. A typical path is * `C:\Documents and Settings\username\Local Settings\Temporary Internet Files`. - * See the [documentation for `CSIDL_INTERNET_CACHE`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_internet_cache). + * See the [documentation for `FOLDERID_InternetCache`](https://docs.microsoft.com/en-us/windows/win32/shell/knownfolderid). * * The return value is cached and modifying it at runtime is not supported, as * it’s not thread-safe to modify environment variables at runtime. @@ -662,7 +662,7 @@ public struct Util * On Windows it follows XDG Base Directory Specification if `XDG_CONFIG_HOME` is defined. * If `XDG_CONFIG_HOME` is undefined, the folder to use for local (as opposed * to roaming) application data is used instead. See the - * [documentation for `CSIDL_LOCAL_APPDATA`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_local_appdata). + * [documentation for `FOLDERID_LocalAppData`](https://docs.microsoft.com/en-us/windows/win32/shell/knownfolderid). * Note that in this case on Windows it will be the same * as what g_get_user_data_dir() returns. * @@ -691,7 +691,7 @@ public struct Util * On Windows it follows XDG Base Directory Specification if `XDG_DATA_HOME` * is defined. If `XDG_DATA_HOME` is undefined, the folder to use for local (as * opposed to roaming) application data is used instead. See the - * [documentation for `CSIDL_LOCAL_APPDATA`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_local_appdata). + * [documentation for `FOLDERID_LocalAppData`](https://docs.microsoft.com/en-us/windows/win32/shell/knownfolderid). * Note that in this case on Windows it will be the same * as what g_get_user_config_dir() returns. * @@ -761,9 +761,9 @@ public struct Util * Params: * directory = the logical id of special directory * - * Returns: the path to the specified special directory, or - * %NULL if the logical id was not found. The returned string is owned by - * GLib and should not be modified or freed. + * Returns: the path to the specified special + * directory, or %NULL if the logical id was not found. The returned string is + * owned by GLib and should not be modified or freed. * * Since: 2.14 */ @@ -866,8 +866,8 @@ public struct Util * Params: * fileName = the name of the file * - * Returns: a newly allocated string containing the last - * component of the filename + * Returns: a newly allocated string + * containing the last component of the filename */ public static string pathGetBasename(string fileName) { @@ -1018,7 +1018,9 @@ public struct Util * #GtkApplication::startup handler. The program name is found by * taking the last component of @argv[0]. * - * Note that for thread-safety reasons this function can only be called once. + * Since GLib 2.72, this function can be called multiple times + * and is fully thread safe. Prior to GLib 2.72, this function + * could only be called once per process. * * Params: * prgname = the name of the program. diff --git a/generated/gtkd/glib/Uuid.d b/source/generated/glib/glib/Uuid.d similarity index 100% rename from generated/gtkd/glib/Uuid.d rename to source/generated/glib/glib/Uuid.d diff --git a/generated/gtkd/glib/Variant.d b/source/generated/glib/glib/Variant.d similarity index 96% rename from generated/gtkd/glib/Variant.d rename to source/generated/glib/glib/Variant.d index c09c22a47..8f5cdfc55 100644 --- a/generated/gtkd/glib/Variant.d +++ b/source/generated/glib/glib/Variant.d @@ -34,7 +34,7 @@ private import glib.VariantIter; private import glib.VariantType; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -82,19 +82,19 @@ private import gtkd.Loader; * concurrently accessed in any way from any number of threads without * problems. * - * #GVariant is heavily optimised for dealing with data in serialised + * #GVariant is heavily optimised for dealing with data in serialized * form. It works particularly well with data located in memory-mapped - * files. It can perform nearly all deserialisation operations in a + * files. It can perform nearly all deserialization operations in a * small constant time, usually touching only a single memory page. - * Serialised #GVariant data can also be sent over the network. + * Serialized #GVariant data can also be sent over the network. * * #GVariant is largely compatible with D-Bus. Almost all types of * #GVariant instances can be sent over D-Bus. See #GVariantType for - * exceptions. (However, #GVariant's serialisation format is not the same - * as the serialisation format of a D-Bus message body: use #GDBusMessage, + * exceptions. (However, #GVariant's serialization format is not the same + * as the serialization format of a D-Bus message body: use #GDBusMessage, * in the gio library, for those.) * - * For space-efficiency, the #GVariant serialisation format does not + * For space-efficiency, the #GVariant serialization format does not * automatically include the variant's length, type or endianness, * which must either be implied from context (such as knowledge that a * particular file format always contains a little-endian @@ -124,14 +124,14 @@ private import gtkd.Loader; * in the future. * * The memory allocated by #GVariant can be grouped into 4 broad - * purposes: memory for serialised data, memory for the type + * purposes: memory for serialized data, memory for the type * information cache, buffer management memory and memory for the * #GVariant structure itself. * - * ## Serialised Data Memory + * ## Serialized Data Memory * * This is the memory that is used for storing GVariant data in - * serialised form. This is what would be sent over the network or + * serialized form. This is what would be sent over the network or * what would end up on disk, not counting any indicator of the * endianness, or of the length or type of the top-level variant. * @@ -165,7 +165,7 @@ private import gtkd.Loader; * * As an example, consider a dictionary mapping strings to variants. * In the case that the dictionary is empty, 0 bytes are required for - * the serialisation. + * the serialization. * * If we add an item "width" that maps to the int32 value of 500 then * we will use 4 byte to store the int32 (so 6 for the variant @@ -191,7 +191,7 @@ private import gtkd.Loader; * * For each GVariant type that currently exists in the program a type * information structure is kept in the type information cache. The - * type information structure is required for rapid deserialisation. + * type information structure is required for rapid deserialization. * * Continuing with the above example, if a #GVariant exists with the * type "a{sv}" then a type information struct will exist for @@ -236,14 +236,14 @@ private import gtkd.Loader; * ## Buffer Management Memory * * #GVariant uses an internal buffer management structure to deal - * with the various different possible sources of serialised data + * with the various different possible sources of serialized data * that it uses. The buffer is responsible for ensuring that the * correct call is made when the data is no longer in use by * #GVariant. This may involve a g_free() or a g_slice_free() or * even g_mapped_file_unref(). * * One buffer management structure is used for each chunk of - * serialised data. The size of the buffer management structure + * serialized data. The size of the buffer management structure * is 4 * (void *). On 32-bit systems, that's 16 bytes. * * ## GVariant structure @@ -253,7 +253,7 @@ private import gtkd.Loader; * * #GVariant structures only exist if they are explicitly created * with API calls. For example, if a #GVariant is constructed out of - * serialised data for the example given above (with the dictionary) + * serialized data for the example given above (with the dictionary) * then although there are 9 individual values that comprise the * entire dictionary (two keys, two values, two variants containing * the values, two dictionary entries, plus the dictionary itself), @@ -263,8 +263,8 @@ private import gtkd.Loader; * If calls are made to start accessing the other values then * #GVariant instances will exist for those values only for as long * as they are in use (ie: until you call g_variant_unref()). The - * type information is shared. The serialised data and the buffer - * management structure for that serialised data is shared by the + * type information is shared. The serialized data and the buffer + * management structure for that serialized data is shared by the * child. * * ## Summary @@ -272,12 +272,12 @@ private import gtkd.Loader; * To put the entire example together, for our dictionary mapping * strings to variants (with two entries, as given above), we are * using 91 bytes of memory for type information, 29 bytes of memory - * for the serialised data, 16 bytes for buffer management and 24 + * for the serialized data, 16 bytes for buffer management and 24 * bytes for the #GVariant instance, or a total of 160 bytes, plus * malloc overhead. If we were to use g_variant_get_child_value() to * access the two dictionary entries, we would use an additional 48 * bytes. If we were to have other dictionaries of the same type, we - * would use more memory for the serialised data and buffer + * would use more memory for the serialized data and buffer * management for those dictionaries, but the type information would * be shared. * @@ -314,7 +314,7 @@ public class Variant ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_variant_unref(gVariant); } @@ -581,7 +581,7 @@ public class Variant * @element_size must be the size of a single element in the array. * For example, if calling this function for an array of 32-bit integers, * you might say sizeof(gint32). This value isn't used except for the purpose - * of a double-check that the form of the serialised data matches the caller's + * of a double-check that the form of the serialized data matches the caller's * expectation. * * @n_elements must be the length of the @elements array. @@ -611,8 +611,8 @@ public class Variant } /** - * Constructs a new serialised-mode #GVariant instance. This is the - * inner interface for creation of new serialised values that gets + * Constructs a new serialized-mode #GVariant instance. This is the + * inner interface for creation of new serialized values that gets * called from various functions in gvariant.c. * * A reference is taken on @bytes. @@ -645,7 +645,7 @@ public class Variant } /** - * Creates a new #GVariant instance from serialised data. + * Creates a new #GVariant instance from serialized data. * * @type is the type of #GVariant instance that will be constructed. * The interpretation of @data depends on knowing the type. @@ -655,8 +655,8 @@ public class Variant * @user_data. If the contents of @data change before that time then * the result is undefined. * - * If @data is trusted to be serialised data in normal form then - * @trusted should be %TRUE. This applies to serialised data created + * If @data is trusted to be serialized data in normal form then + * @trusted should be %TRUE. This applies to serialized data created * within this process or read from a trusted location on the disk (such * as a file installed in /usr/lib alongside your application). You * should set trusted to %FALSE if @data is read from the network, a @@ -677,7 +677,7 @@ public class Variant * * Params: * type = a definite #GVariantType - * data = the serialised data + * data = the serialized data * trusted = %TRUE if @data is definitely in normal form * notify = function to call when @data is no longer needed * userData = data for @notify @@ -1446,7 +1446,7 @@ public class Variant * * Note that values borrowed from the returned child are not guaranteed to * still be valid after the child is freed even if you still hold a reference - * to @value, if @value has not been serialised at the time this function is + * to @value, if @value has not been serialized at the time this function is * called. To avoid this, you can serialize @value by calling * g_variant_get_data() and optionally ignoring the return value. * @@ -1477,33 +1477,33 @@ public class Variant } /** - * Returns a pointer to the serialised form of a #GVariant instance. + * Returns a pointer to the serialized form of a #GVariant instance. * The returned data may not be in fully-normalised form if read from an * untrusted source. The returned data must not be freed; it remains * valid for as long as @value exists. * - * If @value is a fixed-sized value that was deserialised from a - * corrupted serialised container then %NULL may be returned. In this + * If @value is a fixed-sized value that was deserialized from a + * corrupted serialized container then %NULL may be returned. In this * case, the proper thing to do is typically to use the appropriate * number of nul bytes in place of @value. If @value is not fixed-sized * then %NULL is never returned. * - * In the case that @value is already in serialised form, this function - * is O(1). If the value is not already in serialised form, - * serialisation occurs implicitly and is approximately O(n) in the size + * In the case that @value is already in serialized form, this function + * is O(1). If the value is not already in serialized form, + * serialization occurs implicitly and is approximately O(n) in the size * of the result. * - * To deserialise the data returned by this function, in addition to the - * serialised data, you must know the type of the #GVariant, and (if the + * To deserialize the data returned by this function, in addition to the + * serialized data, you must know the type of the #GVariant, and (if the * machine might be different) the endianness of the machine that stored * it. As a result, file formats or network messages that incorporate - * serialised #GVariants must include this information either + * serialized #GVariants must include this information either * implicitly (for instance "the file always contains a * %G_VARIANT_TYPE_VARIANT and it is always in little-endian order") or * explicitly (by storing the type and/or endianness in addition to the - * serialised data). + * serialized data). * - * Returns: the serialised form of @value, or %NULL + * Returns: the serialized form of @value, or %NULL * * Since: 2.24 */ @@ -1513,7 +1513,7 @@ public class Variant } /** - * Returns a pointer to the serialised form of a #GVariant instance. + * Returns a pointer to the serialized form of a #GVariant instance. * The semantics of this function are exactly the same as * g_variant_get_data(), except that the returned #GBytes holds * a reference to the variant data. @@ -1550,7 +1550,7 @@ public class Variant } /** - * Provides access to the serialised data for an array of fixed-sized + * Provides access to the serialized data for an array of fixed-sized * items. * * @value must be an array with fixed-sized elements. Numeric types are @@ -1558,7 +1558,7 @@ public class Variant * * @element_size must be the size of a single element in the array, * as given by the section on - * [serialized data memory][gvariant-serialised-data-memory]. + * [serialized data memory][gvariant-serialized-data-memory]. * * In particular, arrays of these fixed-sized types can be interpreted * as an array of the given C type, with @element_size set to the size @@ -1571,7 +1571,7 @@ public class Variant * * For example, if calling this function for an array of 32-bit integers, * you might say `sizeof(gint32)`. This value isn't used except for the purpose - * of a double-check that the form of the serialised data matches the caller's + * of a double-check that the form of the serialized data matches the caller's * expectation. * * @n_elements, which must be non-%NULL, is set equal to the number of @@ -1693,7 +1693,7 @@ public class Variant * #GVariant is created with the same value as @value. * * It makes sense to call this function if you've received #GVariant - * data from untrusted sources and you want to ensure your serialised + * data from untrusted sources and you want to ensure your serialized * output is definitely in normal form. * * If @value is already in normal form, a new reference will be returned @@ -1752,13 +1752,13 @@ public class Variant * If @value has a fixed-sized type then this function always returned * that fixed size. * - * In the case that @value is already in serialised form or the size has + * In the case that @value is already in serialized form or the size has * already been calculated (ie: this function has been called before) * then this function is O(1). Otherwise, the size is calculated, an * operation which is approximately O(n) in the number of values * involved. * - * Returns: the serialised size of @value + * Returns: the serialized size of @value * * Since: 2.24 */ @@ -2022,7 +2022,7 @@ public class Variant * Checks if @value is in normal form. * * The main reason to do this is to detect if a given chunk of - * serialised data is in normal form: load the data into a #GVariant + * serialized data is in normal form: load the data into a #GVariant * using g_variant_new_from_data() and then use this function to * check. * @@ -2260,21 +2260,21 @@ public class Variant } /** - * Stores the serialised form of @value at @data. @data should be + * Stores the serialized form of @value at @data. @data should be * large enough. See g_variant_get_size(). * * The stored data is in machine native byte order but may not be in * fully-normalised form if read from an untrusted source. See * g_variant_get_normal_form() for a solution. * - * As with g_variant_get_data(), to be able to deserialise the - * serialised variant successfully, its type and (if the destination + * As with g_variant_get_data(), to be able to deserialize the + * serialized variant successfully, its type and (if the destination * machine might be different) its endianness must also be available. * * This function is approximately O(n) in the size of @data. * * Params: - * data = the location to store the serialised data at + * data = the location to store the serialized data at * * Since: 2.24 */ diff --git a/generated/gtkd/glib/VariantBuilder.d b/source/generated/glib/glib/VariantBuilder.d similarity index 99% rename from generated/gtkd/glib/VariantBuilder.d rename to source/generated/glib/glib/VariantBuilder.d index 039b2f232..c476de7f8 100644 --- a/generated/gtkd/glib/VariantBuilder.d +++ b/source/generated/glib/glib/VariantBuilder.d @@ -30,7 +30,7 @@ private import glib.Variant; private import glib.VariantType; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -73,7 +73,7 @@ public class VariantBuilder ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_variant_builder_unref(gVariantBuilder); } diff --git a/generated/gtkd/glib/VariantDict.d b/source/generated/glib/glib/VariantDict.d similarity index 99% rename from generated/gtkd/glib/VariantDict.d rename to source/generated/glib/glib/VariantDict.d index 2cc5da39a..74edc4543 100644 --- a/generated/gtkd/glib/VariantDict.d +++ b/source/generated/glib/glib/VariantDict.d @@ -30,7 +30,7 @@ private import glib.Variant; private import glib.VariantType; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -157,7 +157,7 @@ public class VariantDict ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_variant_dict_unref(gVariantDict); } diff --git a/generated/gtkd/glib/VariantIter.d b/source/generated/glib/glib/VariantIter.d similarity index 98% rename from generated/gtkd/glib/VariantIter.d rename to source/generated/glib/glib/VariantIter.d index 11f461a88..a18c73de3 100644 --- a/generated/gtkd/glib/VariantIter.d +++ b/source/generated/glib/glib/VariantIter.d @@ -28,7 +28,7 @@ private import glib.Str; private import glib.Variant; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -66,7 +66,7 @@ public class VariantIter ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_variant_iter_free(gVariantIter); } diff --git a/generated/gtkd/glib/VariantType.d b/source/generated/glib/glib/VariantType.d similarity index 99% rename from generated/gtkd/glib/VariantType.d rename to source/generated/glib/glib/VariantType.d index cd2e8f384..16abbbbbe 100644 --- a/generated/gtkd/glib/VariantType.d +++ b/source/generated/glib/glib/VariantType.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; public import glib.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -211,7 +211,7 @@ public class VariantType ~this () { - if ( Linker.isLoaded(LIBRARY_GLIB) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GLIB[0]) && ownedRef ) g_variant_type_free(gVariantType); } diff --git a/generated/gtkd/glib/Version.d b/source/generated/glib/glib/Version.d similarity index 72% rename from generated/gtkd/glib/Version.d rename to source/generated/glib/glib/Version.d index e4a17c2b2..50360a60e 100644 --- a/generated/gtkd/glib/Version.d +++ b/source/generated/glib/glib/Version.d @@ -35,18 +35,19 @@ public struct Version /** * Checks that the GLib library in use is compatible with the - * given version. Generally you would pass in the constants - * #GLIB_MAJOR_VERSION, #GLIB_MINOR_VERSION, #GLIB_MICRO_VERSION - * as the three arguments to this function; that produces - * a check that the library in use is compatible with - * the version of GLib the application or module was compiled - * against. + * given version. + * + * Generally you would pass in the constants %GLIB_MAJOR_VERSION, + * %GLIB_MINOR_VERSION, %GLIB_MICRO_VERSION as the three arguments + * to this function; that produces a check that the library in use + * is compatible with the version of GLib the application or module + * was compiled against. * * Compatibility is defined by two things: first the version * of the running library is newer than the version - * @required_major.required_minor.@required_micro. Second + * `@required_major.required_minor.@required_micro`. Second * the running library must be binary compatible with the - * version @required_major.required_minor.@required_micro + * version `@required_major.@required_minor.@required_micro` * (same major version.) * * Params: @@ -54,10 +55,10 @@ public struct Version * requiredMinor = the required minor version * requiredMicro = the required micro version * - * Returns: %NULL if the GLib library is compatible with the - * given version, or a string describing the version mismatch. - * The returned string is owned by GLib and must not be modified - * or freed. + * Returns: %NULL if the GLib library is + * compatible with the given version, or a string describing the + * version mismatch. The returned string is owned by GLib and must + * not be modified or freed. * * Since: 2.6 */ diff --git a/generated/gtkd/glib/c/functions.d b/source/generated/glib/glib/c/functions.d similarity index 98% rename from generated/gtkd/glib/c/functions.d rename to source/generated/glib/glib/c/functions.d index 9fdd7921f..3c713533d 100644 --- a/generated/gtkd/glib/c/functions.d +++ b/source/generated/glib/glib/c/functions.d @@ -27,7 +27,7 @@ module glib.c.functions; import std.stdio; import glib.c.types; import gobject.c.types; -import gtkd.Loader; +import linker.Loader; version (Windows) static immutable LIBRARY_GLIB = ["libglib-2.0-0.dll;g-2.0-0.dll;g-2.dll", "libgmodule-2.0-0.dll;gmodule-2.0-0.dll;gmodule-2.dll", "libgobject-2.0-0.dll;gobject-2.0-0.dll;gobject-2.dll"]; @@ -170,6 +170,7 @@ shared static this() Linker.link(g_bytes_compare, "g_bytes_compare", LIBRARY_GLIB); Linker.link(g_bytes_equal, "g_bytes_equal", LIBRARY_GLIB); Linker.link(g_bytes_get_data, "g_bytes_get_data", LIBRARY_GLIB); + Linker.link(g_bytes_get_region, "g_bytes_get_region", LIBRARY_GLIB); Linker.link(g_bytes_get_size, "g_bytes_get_size", LIBRARY_GLIB); Linker.link(g_bytes_hash, "g_bytes_hash", LIBRARY_GLIB); Linker.link(g_bytes_new_from_bytes, "g_bytes_new_from_bytes", LIBRARY_GLIB); @@ -347,6 +348,7 @@ shared static this() Linker.link(g_hash_table_lookup_extended, "g_hash_table_lookup_extended", LIBRARY_GLIB); Linker.link(g_hash_table_new, "g_hash_table_new", LIBRARY_GLIB); Linker.link(g_hash_table_new_full, "g_hash_table_new_full", LIBRARY_GLIB); + Linker.link(g_hash_table_new_similar, "g_hash_table_new_similar", LIBRARY_GLIB); Linker.link(g_hash_table_ref, "g_hash_table_ref", LIBRARY_GLIB); Linker.link(g_hash_table_remove, "g_hash_table_remove", LIBRARY_GLIB); Linker.link(g_hash_table_remove_all, "g_hash_table_remove_all", LIBRARY_GLIB); @@ -557,6 +559,7 @@ shared static this() // glib.MainContext Linker.link(g_main_context_new, "g_main_context_new", LIBRARY_GLIB); + Linker.link(g_main_context_new_with_flags, "g_main_context_new_with_flags", LIBRARY_GLIB); Linker.link(g_main_context_acquire, "g_main_context_acquire", LIBRARY_GLIB); Linker.link(g_main_context_add_poll, "g_main_context_add_poll", LIBRARY_GLIB); Linker.link(g_main_context_check, "g_main_context_check", LIBRARY_GLIB); @@ -729,9 +732,12 @@ shared static this() // glib.Pattern + Linker.link(g_pattern_spec_new, "g_pattern_spec_new", LIBRARY_GLIB); + Linker.link(g_pattern_spec_copy, "g_pattern_spec_copy", LIBRARY_GLIB); Linker.link(g_pattern_spec_equal, "g_pattern_spec_equal", LIBRARY_GLIB); Linker.link(g_pattern_spec_free, "g_pattern_spec_free", LIBRARY_GLIB); - Linker.link(g_pattern_spec_new, "g_pattern_spec_new", LIBRARY_GLIB); + Linker.link(g_pattern_spec_match, "g_pattern_spec_match", LIBRARY_GLIB); + Linker.link(g_pattern_spec_match_string, "g_pattern_spec_match_string", LIBRARY_GLIB); Linker.link(g_pattern_match, "g_pattern_match", LIBRARY_GLIB); Linker.link(g_pattern_match_simple, "g_pattern_match_simple", LIBRARY_GLIB); Linker.link(g_pattern_match_string, "g_pattern_match_string", LIBRARY_GLIB); @@ -1017,6 +1023,7 @@ shared static this() Linker.link(g_source_set_name, "g_source_set_name", LIBRARY_GLIB); Linker.link(g_source_set_priority, "g_source_set_priority", LIBRARY_GLIB); Linker.link(g_source_set_ready_time, "g_source_set_ready_time", LIBRARY_GLIB); + Linker.link(g_source_set_static_name, "g_source_set_static_name", LIBRARY_GLIB); Linker.link(g_source_unref, "g_source_unref", LIBRARY_GLIB); Linker.link(g_source_remove, "g_source_remove", LIBRARY_GLIB); Linker.link(g_source_remove_by_funcs_user_data, "g_source_remove_by_funcs_user_data", LIBRARY_GLIB); @@ -1025,6 +1032,9 @@ shared static this() // glib.StringG + Linker.link(g_string_new, "g_string_new", LIBRARY_GLIB); + Linker.link(g_string_new_len, "g_string_new_len", LIBRARY_GLIB); + Linker.link(g_string_sized_new, "g_string_sized_new", LIBRARY_GLIB); Linker.link(g_string_append, "g_string_append", LIBRARY_GLIB); Linker.link(g_string_append_c, "g_string_append_c", LIBRARY_GLIB); Linker.link(g_string_append_len, "g_string_append_len", LIBRARY_GLIB); @@ -1057,9 +1067,8 @@ shared static this() Linker.link(g_string_truncate, "g_string_truncate", LIBRARY_GLIB); Linker.link(g_string_up, "g_string_up", LIBRARY_GLIB); Linker.link(g_string_vprintf, "g_string_vprintf", LIBRARY_GLIB); - Linker.link(g_string_new, "g_string_new", LIBRARY_GLIB); - Linker.link(g_string_new_len, "g_string_new_len", LIBRARY_GLIB); - Linker.link(g_string_sized_new, "g_string_sized_new", LIBRARY_GLIB); + Linker.link(g_ref_string_new, "g_ref_string_new", LIBRARY_GLIB); + Linker.link(g_ref_string_new_len, "g_ref_string_new_len", LIBRARY_GLIB); // glib.StringChunk @@ -1073,11 +1082,17 @@ shared static this() // glib.StrvBuilder Linker.link(g_strv_builder_add, "g_strv_builder_add", LIBRARY_GLIB); + Linker.link(g_strv_builder_add_many, "g_strv_builder_add_many", LIBRARY_GLIB); + Linker.link(g_strv_builder_addv, "g_strv_builder_addv", LIBRARY_GLIB); Linker.link(g_strv_builder_end, "g_strv_builder_end", LIBRARY_GLIB); Linker.link(g_strv_builder_ref, "g_strv_builder_ref", LIBRARY_GLIB); Linker.link(g_strv_builder_unref, "g_strv_builder_unref", LIBRARY_GLIB); Linker.link(g_strv_builder_new, "g_strv_builder_new", LIBRARY_GLIB); + // glib.TestCase + + Linker.link(g_test_case_free, "g_test_case_free", LIBRARY_GLIB); + // glib.TestLogBuffer Linker.link(g_test_log_buffer_free, "g_test_log_buffer_free", LIBRARY_GLIB); @@ -1093,6 +1108,7 @@ shared static this() Linker.link(g_test_suite_add, "g_test_suite_add", LIBRARY_GLIB); Linker.link(g_test_suite_add_suite, "g_test_suite_add_suite", LIBRARY_GLIB); + Linker.link(g_test_suite_free, "g_test_suite_free", LIBRARY_GLIB); // glib.Thread @@ -1127,6 +1143,7 @@ shared static this() Linker.link(g_thread_pool_get_max_unused_threads, "g_thread_pool_get_max_unused_threads", LIBRARY_GLIB); Linker.link(g_thread_pool_get_num_unused_threads, "g_thread_pool_get_num_unused_threads", LIBRARY_GLIB); Linker.link(g_thread_pool_new, "g_thread_pool_new", LIBRARY_GLIB); + Linker.link(g_thread_pool_new_full, "g_thread_pool_new_full", LIBRARY_GLIB); Linker.link(g_thread_pool_set_max_idle_time, "g_thread_pool_set_max_idle_time", LIBRARY_GLIB); Linker.link(g_thread_pool_set_max_unused_threads, "g_thread_pool_set_max_unused_threads", LIBRARY_GLIB); Linker.link(g_thread_pool_stop_unused_threads, "g_thread_pool_stop_unused_threads", LIBRARY_GLIB); @@ -1195,6 +1212,7 @@ shared static this() Linker.link(g_tree_node_last, "g_tree_node_last", LIBRARY_GLIB); Linker.link(g_tree_ref, "g_tree_ref", LIBRARY_GLIB); Linker.link(g_tree_remove, "g_tree_remove", LIBRARY_GLIB); + Linker.link(g_tree_remove_all, "g_tree_remove_all", LIBRARY_GLIB); Linker.link(g_tree_replace, "g_tree_replace", LIBRARY_GLIB); Linker.link(g_tree_replace_node, "g_tree_replace_node", LIBRARY_GLIB); Linker.link(g_tree_search, "g_tree_search", LIBRARY_GLIB); @@ -1430,7 +1448,9 @@ shared static this() Linker.link(g_module_symbol, "g_module_symbol", LIBRARY_GLIB); Linker.link(g_module_build_path, "g_module_build_path", LIBRARY_GLIB); Linker.link(g_module_error, "g_module_error", LIBRARY_GLIB); + Linker.link(g_module_error_quark, "g_module_error_quark", LIBRARY_GLIB); Linker.link(g_module_open, "g_module_open", LIBRARY_GLIB); + Linker.link(g_module_open_full, "g_module_open_full", LIBRARY_GLIB); Linker.link(g_module_supported, "g_module_supported", LIBRARY_GLIB); // glib.Base64 @@ -2005,6 +2025,7 @@ __gshared extern(C) int function(void* bytes1, void* bytes2) c_g_bytes_compare; int function(void* bytes1, void* bytes2) c_g_bytes_equal; void* function(GBytes* bytes, size_t* size) c_g_bytes_get_data; + void* function(GBytes* bytes, size_t elementSize, size_t offset, size_t nElements) c_g_bytes_get_region; size_t function(GBytes* bytes) c_g_bytes_get_size; uint function(void* bytes) c_g_bytes_hash; GBytes* function(GBytes* bytes, size_t offset, size_t length) c_g_bytes_new_from_bytes; @@ -2182,6 +2203,7 @@ __gshared extern(C) int function(GHashTable* hashTable, void* lookupKey, void** origKey, void** value) c_g_hash_table_lookup_extended; GHashTable* function(GHashFunc hashFunc, GEqualFunc keyEqualFunc) c_g_hash_table_new; GHashTable* function(GHashFunc hashFunc, GEqualFunc keyEqualFunc, GDestroyNotify keyDestroyFunc, GDestroyNotify valueDestroyFunc) c_g_hash_table_new_full; + GHashTable* function(GHashTable* otherHashTable) c_g_hash_table_new_similar; GHashTable* function(GHashTable* hashTable) c_g_hash_table_ref; int function(GHashTable* hashTable, void* key) c_g_hash_table_remove; void function(GHashTable* hashTable) c_g_hash_table_remove_all; @@ -2392,6 +2414,7 @@ __gshared extern(C) // glib.MainContext GMainContext* function() c_g_main_context_new; + GMainContext* function(GMainContextFlags flags) c_g_main_context_new_with_flags; int function(GMainContext* context) c_g_main_context_acquire; void function(GMainContext* context, GPollFD* fd, int priority) c_g_main_context_add_poll; int function(GMainContext* context, int maxPriority, GPollFD* fds, int nFds) c_g_main_context_check; @@ -2564,9 +2587,12 @@ __gshared extern(C) // glib.Pattern + GPatternSpec* function(const(char)* pattern) c_g_pattern_spec_new; + GPatternSpec* function(GPatternSpec* pspec) c_g_pattern_spec_copy; int function(GPatternSpec* pspec1, GPatternSpec* pspec2) c_g_pattern_spec_equal; void function(GPatternSpec* pspec) c_g_pattern_spec_free; - GPatternSpec* function(const(char)* pattern) c_g_pattern_spec_new; + int function(GPatternSpec* pspec, size_t stringLength, const(char)* string_, const(char)* stringReversed) c_g_pattern_spec_match; + int function(GPatternSpec* pspec, const(char)* string_) c_g_pattern_spec_match_string; int function(GPatternSpec* pspec, uint stringLength, const(char)* string_, const(char)* stringReversed) c_g_pattern_match; int function(const(char)* pattern, const(char)* string_) c_g_pattern_match_simple; int function(GPatternSpec* pspec, const(char)* string_) c_g_pattern_match_string; @@ -2852,6 +2878,7 @@ __gshared extern(C) void function(GSource* source, const(char)* name) c_g_source_set_name; void function(GSource* source, int priority) c_g_source_set_priority; void function(GSource* source, long readyTime) c_g_source_set_ready_time; + void function(GSource* source, const(char)* name) c_g_source_set_static_name; void function(GSource* source) c_g_source_unref; int function(uint tag) c_g_source_remove; int function(GSourceFuncs* funcs, void* userData) c_g_source_remove_by_funcs_user_data; @@ -2860,6 +2887,9 @@ __gshared extern(C) // glib.StringG + GString* function(const(char)* init) c_g_string_new; + GString* function(const(char)* init, ptrdiff_t len) c_g_string_new_len; + GString* function(size_t dflSize) c_g_string_sized_new; GString* function(GString* string_, const(char)* val) c_g_string_append; GString* function(GString* string_, char c) c_g_string_append_c; GString* function(GString* string_, const(char)* val, ptrdiff_t len) c_g_string_append_len; @@ -2892,9 +2922,8 @@ __gshared extern(C) GString* function(GString* string_, size_t len) c_g_string_truncate; GString* function(GString* string_) c_g_string_up; void function(GString* string_, const(char)* format, void* args) c_g_string_vprintf; - GString* function(const(char)* init) c_g_string_new; - GString* function(const(char)* init, ptrdiff_t len) c_g_string_new_len; - GString* function(size_t dflSize) c_g_string_sized_new; + char* function(const(char)* str) c_g_ref_string_new; + char* function(const(char)* str, ptrdiff_t len) c_g_ref_string_new_len; // glib.StringChunk @@ -2908,11 +2937,17 @@ __gshared extern(C) // glib.StrvBuilder void function(GStrvBuilder* builder, const(char)* value) c_g_strv_builder_add; + void function(GStrvBuilder* builder, ... ) c_g_strv_builder_add_many; + void function(GStrvBuilder* builder, char** value) c_g_strv_builder_addv; GStrv function(GStrvBuilder* builder) c_g_strv_builder_end; GStrvBuilder* function(GStrvBuilder* builder) c_g_strv_builder_ref; void function(GStrvBuilder* builder) c_g_strv_builder_unref; GStrvBuilder* function() c_g_strv_builder_new; + // glib.TestCase + + void function(GTestCase* testCase) c_g_test_case_free; + // glib.TestLogBuffer void function(GTestLogBuffer* tbuffer) c_g_test_log_buffer_free; @@ -2928,6 +2963,7 @@ __gshared extern(C) void function(GTestSuite* suite, GTestCase* testCase) c_g_test_suite_add; void function(GTestSuite* suite, GTestSuite* nestedsuite) c_g_test_suite_add_suite; + void function(GTestSuite* suite) c_g_test_suite_free; // glib.Thread @@ -2962,6 +2998,7 @@ __gshared extern(C) int function() c_g_thread_pool_get_max_unused_threads; uint function() c_g_thread_pool_get_num_unused_threads; GThreadPool* function(GFunc func, void* userData, int maxThreads, int exclusive, GError** err) c_g_thread_pool_new; + GThreadPool* function(GFunc func, void* userData, GDestroyNotify itemFreeFunc, int maxThreads, int exclusive, GError** err) c_g_thread_pool_new_full; void function(uint interval) c_g_thread_pool_set_max_idle_time; void function(int maxThreads) c_g_thread_pool_set_max_unused_threads; void function() c_g_thread_pool_stop_unused_threads; @@ -3030,6 +3067,7 @@ __gshared extern(C) GTreeNode* function(GTree* tree) c_g_tree_node_last; GTree* function(GTree* tree) c_g_tree_ref; int function(GTree* tree, void* key) c_g_tree_remove; + void function(GTree* tree) c_g_tree_remove_all; void function(GTree* tree, void* key, void* value) c_g_tree_replace; GTreeNode* function(GTree* tree, void* key, void* value) c_g_tree_replace_node; void* function(GTree* tree, GCompareFunc searchFunc, void* userData) c_g_tree_search; @@ -3265,7 +3303,9 @@ __gshared extern(C) int function(GModule* module_, const(char)* symbolName, void** symbol) c_g_module_symbol; char* function(const(char)* directory, const(char)* moduleName) c_g_module_build_path; const(char)* function() c_g_module_error; + GQuark function() c_g_module_error_quark; GModule* function(const(char)* fileName, GModuleFlags flags) c_g_module_open; + GModule* function(const(char)* fileName, GModuleFlags flags, GError** err) c_g_module_open_full; int function() c_g_module_supported; // glib.Base64 @@ -3299,13 +3339,13 @@ __gshared extern(C) int function(char* workingDirectory, char** argv, char** envp, GSpawnFlags flags, GSpawnChildSetupFunc childSetup, void* userData, GPid* childPid, GError** err) c_g_spawn_async; int function(char* workingDirectory, char** argv, char** envp, GSpawnFlags flags, GSpawnChildSetupFunc childSetup, void* userData, GPid* childPid, int* standardInput, int* standardOutput, int* standardError, GError** err) c_g_spawn_async_with_pipes; - int function(int exitStatus, GError** err) c_g_spawn_check_exit_status; + int function(int waitStatus, GError** err) c_g_spawn_check_exit_status; void function(GPid pid) c_g_spawn_close_pid; int function(char* commandLine, GError** err) c_g_spawn_command_line_async; - int function(char* commandLine, char** standardOutput, char** standardError, int* exitStatus, GError** err) c_g_spawn_command_line_sync; + int function(char* commandLine, char** standardOutput, char** standardError, int* waitStatus, GError** err) c_g_spawn_command_line_sync; GQuark function() c_g_spawn_error_quark; GQuark function() c_g_spawn_exit_error_quark; - int function(char* workingDirectory, char** argv, char** envp, GSpawnFlags flags, GSpawnChildSetupFunc childSetup, void* userData, char** standardOutput, char** standardError, int* exitStatus, GError** err) c_g_spawn_sync; + int function(char* workingDirectory, char** argv, char** envp, GSpawnFlags flags, GSpawnChildSetupFunc childSetup, void* userData, char** standardOutput, char** standardError, int* waitStatus, GError** err) c_g_spawn_sync; int function(char* workingDirectory, char** argv, char** envp, GSpawnFlags flags, GSpawnChildSetupFunc childSetup, void* userData, GPid* childPid, int stdinFd, int stdoutFd, int stderrFd, GError** err) c_g_spawn_async_with_fds; // glib.Str @@ -3832,6 +3872,7 @@ alias c_g_bytes_new_with_free_func g_bytes_new_with_free_func; alias c_g_bytes_compare g_bytes_compare; alias c_g_bytes_equal g_bytes_equal; alias c_g_bytes_get_data g_bytes_get_data; +alias c_g_bytes_get_region g_bytes_get_region; alias c_g_bytes_get_size g_bytes_get_size; alias c_g_bytes_hash g_bytes_hash; alias c_g_bytes_new_from_bytes g_bytes_new_from_bytes; @@ -4009,6 +4050,7 @@ alias c_g_hash_table_lookup g_hash_table_lookup; alias c_g_hash_table_lookup_extended g_hash_table_lookup_extended; alias c_g_hash_table_new g_hash_table_new; alias c_g_hash_table_new_full g_hash_table_new_full; +alias c_g_hash_table_new_similar g_hash_table_new_similar; alias c_g_hash_table_ref g_hash_table_ref; alias c_g_hash_table_remove g_hash_table_remove; alias c_g_hash_table_remove_all g_hash_table_remove_all; @@ -4219,6 +4261,7 @@ alias c_g_clear_list g_clear_list; // glib.MainContext alias c_g_main_context_new g_main_context_new; +alias c_g_main_context_new_with_flags g_main_context_new_with_flags; alias c_g_main_context_acquire g_main_context_acquire; alias c_g_main_context_add_poll g_main_context_add_poll; alias c_g_main_context_check g_main_context_check; @@ -4391,9 +4434,12 @@ alias c_g_option_group_unref g_option_group_unref; // glib.Pattern +alias c_g_pattern_spec_new g_pattern_spec_new; +alias c_g_pattern_spec_copy g_pattern_spec_copy; alias c_g_pattern_spec_equal g_pattern_spec_equal; alias c_g_pattern_spec_free g_pattern_spec_free; -alias c_g_pattern_spec_new g_pattern_spec_new; +alias c_g_pattern_spec_match g_pattern_spec_match; +alias c_g_pattern_spec_match_string g_pattern_spec_match_string; alias c_g_pattern_match g_pattern_match; alias c_g_pattern_match_simple g_pattern_match_simple; alias c_g_pattern_match_string g_pattern_match_string; @@ -4679,6 +4725,7 @@ alias c_g_source_set_funcs g_source_set_funcs; alias c_g_source_set_name g_source_set_name; alias c_g_source_set_priority g_source_set_priority; alias c_g_source_set_ready_time g_source_set_ready_time; +alias c_g_source_set_static_name g_source_set_static_name; alias c_g_source_unref g_source_unref; alias c_g_source_remove g_source_remove; alias c_g_source_remove_by_funcs_user_data g_source_remove_by_funcs_user_data; @@ -4687,6 +4734,9 @@ alias c_g_source_set_name_by_id g_source_set_name_by_id; // glib.StringG +alias c_g_string_new g_string_new; +alias c_g_string_new_len g_string_new_len; +alias c_g_string_sized_new g_string_sized_new; alias c_g_string_append g_string_append; alias c_g_string_append_c g_string_append_c; alias c_g_string_append_len g_string_append_len; @@ -4719,9 +4769,8 @@ alias c_g_string_set_size g_string_set_size; alias c_g_string_truncate g_string_truncate; alias c_g_string_up g_string_up; alias c_g_string_vprintf g_string_vprintf; -alias c_g_string_new g_string_new; -alias c_g_string_new_len g_string_new_len; -alias c_g_string_sized_new g_string_sized_new; +alias c_g_ref_string_new g_ref_string_new; +alias c_g_ref_string_new_len g_ref_string_new_len; // glib.StringChunk @@ -4735,11 +4784,17 @@ alias c_g_string_chunk_new g_string_chunk_new; // glib.StrvBuilder alias c_g_strv_builder_add g_strv_builder_add; +alias c_g_strv_builder_add_many g_strv_builder_add_many; +alias c_g_strv_builder_addv g_strv_builder_addv; alias c_g_strv_builder_end g_strv_builder_end; alias c_g_strv_builder_ref g_strv_builder_ref; alias c_g_strv_builder_unref g_strv_builder_unref; alias c_g_strv_builder_new g_strv_builder_new; +// glib.TestCase + +alias c_g_test_case_free g_test_case_free; + // glib.TestLogBuffer alias c_g_test_log_buffer_free g_test_log_buffer_free; @@ -4755,6 +4810,7 @@ alias c_g_test_log_msg_free g_test_log_msg_free; alias c_g_test_suite_add g_test_suite_add; alias c_g_test_suite_add_suite g_test_suite_add_suite; +alias c_g_test_suite_free g_test_suite_free; // glib.Thread @@ -4789,6 +4845,7 @@ alias c_g_thread_pool_get_max_idle_time g_thread_pool_get_max_idle_time; alias c_g_thread_pool_get_max_unused_threads g_thread_pool_get_max_unused_threads; alias c_g_thread_pool_get_num_unused_threads g_thread_pool_get_num_unused_threads; alias c_g_thread_pool_new g_thread_pool_new; +alias c_g_thread_pool_new_full g_thread_pool_new_full; alias c_g_thread_pool_set_max_idle_time g_thread_pool_set_max_idle_time; alias c_g_thread_pool_set_max_unused_threads g_thread_pool_set_max_unused_threads; alias c_g_thread_pool_stop_unused_threads g_thread_pool_stop_unused_threads; @@ -4857,6 +4914,7 @@ alias c_g_tree_node_first g_tree_node_first; alias c_g_tree_node_last g_tree_node_last; alias c_g_tree_ref g_tree_ref; alias c_g_tree_remove g_tree_remove; +alias c_g_tree_remove_all g_tree_remove_all; alias c_g_tree_replace g_tree_replace; alias c_g_tree_replace_node g_tree_replace_node; alias c_g_tree_search g_tree_search; @@ -5092,7 +5150,9 @@ alias c_g_module_name g_module_name; alias c_g_module_symbol g_module_symbol; alias c_g_module_build_path g_module_build_path; alias c_g_module_error g_module_error; +alias c_g_module_error_quark g_module_error_quark; alias c_g_module_open g_module_open; +alias c_g_module_open_full g_module_open_full; alias c_g_module_supported g_module_supported; // glib.Base64 diff --git a/generated/gtkd/glib/c/types.d b/source/generated/glib/glib/c/types.d similarity index 96% rename from generated/gtkd/glib/c/types.d rename to source/generated/glib/glib/c/types.d index c9cb4b6d7..0cfd93ad7 100644 --- a/generated/gtkd/glib/c/types.d +++ b/source/generated/glib/glib/c/types.d @@ -103,14 +103,19 @@ alias void* GIConv; /** * Integer representing a day of the month; between 1 and 31. - * #G_DATE_BAD_DAY represents an invalid day of the month. + * + * The %G_DATE_BAD_DAY value represents an invalid day of the month. */ public alias ubyte GDateDay; /** - * Integer representing a year; #G_DATE_BAD_YEAR is the invalid - * value. The year must be 1 or higher; negative (BC) years are not - * allowed. The year is represented with four digits. + * Integer type representing a year. + * + * The %G_DATE_BAD_YEAR value is the invalid value. The year + * must be 1 or higher; negative ([BCE](https://en.wikipedia.org/wiki/Common_Era)) + * years are not allowed. + * + * The year is represented with four digits. */ public alias ushort GDateYear; @@ -176,7 +181,9 @@ public alias char** GStrv; /** * Simply a replacement for `time_t`. It has been deprecated * since it is not equivalent to `time_t` on 64-bit platforms - * with a 64-bit `time_t`. Unrelated to #GTimer. + * with a 64-bit `time_t`. + * + * Unrelated to #GTimer. * * Note that #GTime is defined to always be a 32-bit integer, * unlike `time_t` which may be 64-bit on some systems. Therefore, @@ -185,6 +192,7 @@ public alias char** GStrv; * function. * * Instead, do the following: + * * |[ * time_t ttime; * GTime gtime; @@ -372,8 +380,8 @@ public enum GDateDMY alias GDateDMY DateDMY; /** - * Enumeration representing a month; values are #G_DATE_JANUARY, - * #G_DATE_FEBRUARY, etc. #G_DATE_BAD_MONTH is the invalid value. + * Enumeration representing a month; values are %G_DATE_JANUARY, + * %G_DATE_FEBRUARY, etc. %G_DATE_BAD_MONTH is the invalid value. */ public enum GDateMonth { @@ -433,8 +441,8 @@ public enum GDateMonth alias GDateMonth DateMonth; /** - * Enumeration representing a day of the week; #G_DATE_MONDAY, - * #G_DATE_TUESDAY, etc. #G_DATE_BAD_WEEKDAY is an invalid weekday. + * Enumeration representing a day of the week; %G_DATE_MONDAY, + * %G_DATE_TUESDAY, etc. %G_DATE_BAD_WEEKDAY is an invalid weekday. */ public enum GDateWeekday { @@ -1112,6 +1120,28 @@ public enum GLogWriterOutput } alias GLogWriterOutput LogWriterOutput; +/** + * Flags to pass to g_main_context_new_with_flags() which affect the behaviour + * of a #GMainContext. + * + * Since: 2.72 + */ +public enum GMainContextFlags +{ + /** + * Default behaviour. + */ + NONE = 0, + /** + * Assume that polling for events will + * free the thread to process other jobs. That's useful if you're using + * `g_main_context_{prepare,query,check,dispatch}` to integrate GMainContext in + * other event loops. + */ + OWNERLESS_POLLING = 1, +} +alias GMainContextFlags MainContextFlags; + /** * A mixed enumerated type and flags field. You must specify one type * (string, strdup, boolean, tristate). Additionally, you may optionally @@ -1482,8 +1512,8 @@ public enum GRegexCompileFlags * newlines). The "start of line" metacharacter ("^") matches only * at the start of the string, while the "end of line" metacharacter * ("$") matches only at the end of the string, or before a terminating - * newline (unless #G_REGEX_DOLLAR_ENDONLY is set). When - * #G_REGEX_MULTILINE is set, the "start of line" and "end of line" + * newline (unless %G_REGEX_DOLLAR_ENDONLY is set). When + * %G_REGEX_MULTILINE is set, the "start of line" and "end of line" * constructs match immediately following or immediately before any * newline in the string, respectively, as well as at the very start * and end. This can be changed within a pattern by a "(?m)" option @@ -1518,7 +1548,7 @@ public enum GRegexCompileFlags * matches only at the end of the string. Without this option, a * dollar also matches immediately before the final character if * it is a newline (but not before any other newlines). This option - * is ignored if #G_REGEX_MULTILINE is set. + * is ignored if %G_REGEX_MULTILINE is set. */ DOLLAR_ENDONLY = 32, /** @@ -1895,7 +1925,7 @@ public enum GRegexMatchFlags /** * Specifies that first character of the string is * not the beginning of a line, so the circumflex metacharacter should - * not match before it. Setting this without #G_REGEX_MULTILINE (at + * not match before it. Setting this without %G_REGEX_MULTILINE (at * compile time) causes circumflex never to match. This option affects * only the behaviour of the circumflex metacharacter, it does not * affect "\A". @@ -1905,7 +1935,7 @@ public enum GRegexMatchFlags * Specifies that the end of the subject string is * not the end of a line, so the dollar metacharacter should not match * it nor (except in multiline mode) a newline immediately before it. - * Setting this without #G_REGEX_MULTILINE (at compile time) causes + * Setting this without %G_REGEX_MULTILINE (at compile time) causes * dollar never to match. This option affects only the behaviour of * the dollar metacharacter, it does not affect "\Z" or "\z". */ @@ -1972,18 +2002,18 @@ public enum GRegexMatchFlags */ BSR_ANY = 16777216, /** - * An alias for #G_REGEX_MATCH_PARTIAL. Since: 2.34 + * An alias for %G_REGEX_MATCH_PARTIAL. Since: 2.34 */ PARTIAL_SOFT = 32768, /** * Turns on the partial matching feature. In contrast to - * to #G_REGEX_MATCH_PARTIAL_SOFT, this stops matching as soon as a partial match + * to %G_REGEX_MATCH_PARTIAL_SOFT, this stops matching as soon as a partial match * is found, without continuing to search for a possible complete match. See * g_match_info_is_partial_match() for more information. Since: 2.34 */ PARTIAL_HARD = 134217728, /** - * Like #G_REGEX_MATCH_NOTEMPTY, but only applied to + * Like %G_REGEX_MATCH_NOTEMPTY, but only applied to * the start of the matched string. For anchored * patterns this can only happen for pattern containing "\K". Since: 2.34 */ @@ -2691,9 +2721,13 @@ public enum GUnicodeBreakType */ HANGUL_LVT_SYLLABLE = 35, /** - * Closing Parenthesis (CP). Since 2.28 + * Closing Parenthesis (CP). Since 2.28. Deprecated: 2.70: Use %G_UNICODE_BREAK_CLOSE_PARENTHESIS instead. */ CLOSE_PARANTHESIS = 36, + /** + * Closing Parenthesis (CP). Since 2.70 + */ + CLOSE_PARENTHESIS = 36, /** * Conditional Japanese Starter (CJ). Since: 2.32 */ @@ -3366,6 +3400,30 @@ public enum GUnicodeScript * Yezidi. Since: 2.66 */ YEZIDI = 156, + /** + * Cypro-Minoan. Since: 2.72 + */ + CYPRO_MINOAN = 157, + /** + * Old Uyghur. Since: 2.72 + */ + OLD_UYGHUR = 158, + /** + * Tangsa. Since: 2.72 + */ + TANGSA = 159, + /** + * Toto. Since: 2.72 + */ + TOTO = 160, + /** + * Vithkuqi. Since: 2.72 + */ + VITHKUQI = 161, + /** + * Mathematical notation. Since: 2.72 + */ + MATH = 162, } alias GUnicodeScript UnicodeScript; @@ -3909,6 +3967,24 @@ public enum GVariantParseError } alias GVariantParseError VariantParseError; +/** + * Errors returned by g_module_open_full(). + * + * Since: 2.70 + */ +public enum GModuleError +{ + /** + * there was an error loading or opening a module file + */ + FAILED = 0, + /** + * a module returned an error from its `g_module_check_init()` function + */ + CHECK_FAILED = 1, +} +alias GModuleError ModuleError; + /** * Flags passed to g_module_open(). * Note that these flags are not supported on all platforms. @@ -3983,9 +4059,9 @@ struct GCond } /** - * The #GData struct is an opaque data structure to represent a - * [Keyed Data List][glib-Keyed-Data-Lists]. It should only be - * accessed via the following functions. + * An opaque data structure that represents a keyed data list. + * + * See also: [Keyed data lists][glib-Keyed-Data-Lists]. */ struct GData; @@ -4054,7 +4130,7 @@ struct GDoubleIEEE754 struct GError { /** - * error domain, e.g. #G_FILE_ERROR + * error domain, e.g. %G_FILE_ERROR */ GQuark domain; /** @@ -4644,14 +4720,14 @@ struct GScannerConfig char* csetSkipCharacters; /** * specifies the characters which can start - * identifiers (the default is #G_CSET_a_2_z, "_", and #G_CSET_A_2_Z). + * identifiers (the default is %G_CSET_a_2_z, "_", and %G_CSET_A_2_Z). */ char* csetIdentifierFirst; /** * specifies the characters which can be used * in identifiers, after the first character (the default is - * #G_CSET_a_2_z, "_0123456789", #G_CSET_A_2_Z, #G_CSET_LATINS, - * #G_CSET_LATINC). + * %G_CSET_a_2_z, "_0123456789", %G_CSET_A_2_Z, %G_CSET_LATINS, + * %G_CSET_LATINC). */ char* csetIdentifierNth; /** @@ -4795,9 +4871,6 @@ struct GStringChunk; struct GStrvBuilder; -/** - * An opaque structure representing a test case. - */ struct GTestCase; struct GTestConfig @@ -4994,16 +5067,20 @@ struct GModule; /** * Prototype of a #GChildWatchSource callback, called when a child - * process has exited. To interpret @status, see the documentation - * for g_spawn_check_exit_status(). + * process has exited. + * + * To interpret @wait_status, see the documentation + * for g_spawn_check_wait_status(). In particular, + * on Unix platforms, note that it is usually not equal + * to the integer passed to `exit()` or returned from `main()`. * * Params: * pid = the process id of the child process - * status = Status information about the child process, encoded + * waitStatus = Status information about the child process, encoded * in a platform-specific manner * userData = user data passed to g_child_watch_add() */ -public alias extern(C) void function(GPid pid, int status, void* userData) GChildWatchFunc; +public alias extern(C) void function(GPid pid, int waitStatus, void* userData) GChildWatchFunc; /** * Specifies the type of function passed to g_clear_handle_id(). @@ -5563,8 +5640,8 @@ public alias extern(C) void function() GSourceDummyMarshal; * userData = data passed to the function, set when the source was * created with one of the above functions * - * Returns: %FALSE if the source should be removed. #G_SOURCE_CONTINUE and - * #G_SOURCE_REMOVE are more memorable names for the return value. + * Returns: %FALSE if the source should be removed. %G_SOURCE_CONTINUE and + * %G_SOURCE_REMOVE are more memorable names for the return value. */ public alias extern(C) int function(void* userData) GSourceFunc; @@ -5779,7 +5856,7 @@ alias G_ASCII_DTOSTR_BUF_SIZE = ASCII_DTOSTR_BUF_SIZE; /** * Specifies one of the possible types of byte order. - * See #G_BYTE_ORDER. + * See %G_BYTE_ORDER. */ enum BIG_ENDIAN = 4321; alias G_BIG_ENDIAN = BIG_ENDIAN; @@ -5869,7 +5946,7 @@ alias G_GINT16_MODIFIER = GINT16_MODIFIER; /** * This is the platform dependent conversion specifier for scanning - * and printing values of type #gint32. See also #G_GINT16_FORMAT. + * and printing values of type #gint32. See also %G_GINT16_FORMAT. */ enum GINT32_FORMAT = "i"; alias G_GINT32_FORMAT = GINT32_FORMAT; @@ -5877,14 +5954,14 @@ alias G_GINT32_FORMAT = GINT32_FORMAT; /** * The platform dependent length modifier for conversion specifiers * for scanning and printing values of type #gint32 or #guint32. It - * is a string literal. See also #G_GINT16_MODIFIER. + * is a string literal. See also %G_GINT16_MODIFIER. */ enum GINT32_MODIFIER = ""; alias G_GINT32_MODIFIER = GINT32_MODIFIER; /** * This is the platform dependent conversion specifier for scanning - * and printing values of type #gint64. See also #G_GINT16_FORMAT. + * and printing values of type #gint64. See also %G_GINT16_FORMAT. * * Some platforms do not support scanning and printing 64-bit integers, * even though the types are supported. On such platforms %G_GINT64_FORMAT @@ -5943,7 +6020,7 @@ alias G_GNUC_PRETTY_FUNCTION = GNUC_PRETTY_FUNCTION; /** * This is the platform dependent conversion specifier for scanning - * and printing values of type #gsize. See also #G_GINT16_FORMAT. + * and printing values of type #gsize. See also %G_GINT16_FORMAT. */ enum GSIZE_FORMAT = "lu"; alias G_GSIZE_FORMAT = GSIZE_FORMAT; @@ -5958,7 +6035,7 @@ alias G_GSIZE_MODIFIER = GSIZE_MODIFIER; /** * This is the platform dependent conversion specifier for scanning - * and printing values of type #gssize. See also #G_GINT16_FORMAT. + * and printing values of type #gssize. See also %G_GINT16_FORMAT. */ enum GSSIZE_FORMAT = "li"; alias G_GSSIZE_FORMAT = GSSIZE_FORMAT; @@ -5973,21 +6050,21 @@ alias G_GSSIZE_MODIFIER = GSSIZE_MODIFIER; /** * This is the platform dependent conversion specifier for scanning - * and printing values of type #guint16. See also #G_GINT16_FORMAT + * and printing values of type #guint16. See also %G_GINT16_FORMAT */ enum GUINT16_FORMAT = "hu"; alias G_GUINT16_FORMAT = GUINT16_FORMAT; /** * This is the platform dependent conversion specifier for scanning - * and printing values of type #guint32. See also #G_GINT16_FORMAT. + * and printing values of type #guint32. See also %G_GINT16_FORMAT. */ enum GUINT32_FORMAT = "u"; alias G_GUINT32_FORMAT = GUINT32_FORMAT; /** * This is the platform dependent conversion specifier for scanning - * and printing values of type #guint64. See also #G_GINT16_FORMAT. + * and printing values of type #guint64. See also %G_GINT16_FORMAT. * * Some platforms do not support scanning and printing 64-bit integers, * even though the types are supported. On such platforms %G_GUINT64_FORMAT @@ -6055,14 +6132,14 @@ enum KEY_FILE_DESKTOP_GROUP = "Desktop Entry"; alias G_KEY_FILE_DESKTOP_GROUP = KEY_FILE_DESKTOP_GROUP; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a string list + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a string list * giving the available application actions. */ enum KEY_FILE_DESKTOP_KEY_ACTIONS = "Actions"; alias G_KEY_FILE_DESKTOP_KEY_ACTIONS = KEY_FILE_DESKTOP_KEY_ACTIONS; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a list + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a list * of strings giving the categories in which the desktop entry * should be shown in a menu. */ @@ -6070,21 +6147,21 @@ enum KEY_FILE_DESKTOP_KEY_CATEGORIES = "Categories"; alias G_KEY_FILE_DESKTOP_KEY_CATEGORIES = KEY_FILE_DESKTOP_KEY_CATEGORIES; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a localized + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a localized * string giving the tooltip for the desktop entry. */ enum KEY_FILE_DESKTOP_KEY_COMMENT = "Comment"; alias G_KEY_FILE_DESKTOP_KEY_COMMENT = KEY_FILE_DESKTOP_KEY_COMMENT; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a boolean set to true - * if the application is D-Bus activatable. + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a boolean + * set to true if the application is D-Bus activatable. */ enum KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE = "DBusActivatable"; alias G_KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE = KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a string + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a string * giving the command line to execute. It is only valid for desktop * entries with the `Application` type. */ @@ -6092,21 +6169,21 @@ enum KEY_FILE_DESKTOP_KEY_EXEC = "Exec"; alias G_KEY_FILE_DESKTOP_KEY_EXEC = KEY_FILE_DESKTOP_KEY_EXEC; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a localized + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a localized * string giving the generic name of the desktop entry. */ enum KEY_FILE_DESKTOP_KEY_GENERIC_NAME = "GenericName"; alias G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME = KEY_FILE_DESKTOP_KEY_GENERIC_NAME; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a boolean + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a boolean * stating whether the desktop entry has been deleted by the user. */ enum KEY_FILE_DESKTOP_KEY_HIDDEN = "Hidden"; alias G_KEY_FILE_DESKTOP_KEY_HIDDEN = KEY_FILE_DESKTOP_KEY_HIDDEN; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a localized + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a localized * string giving the name of the icon to be displayed for the desktop * entry. */ @@ -6114,21 +6191,21 @@ enum KEY_FILE_DESKTOP_KEY_ICON = "Icon"; alias G_KEY_FILE_DESKTOP_KEY_ICON = KEY_FILE_DESKTOP_KEY_ICON; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a list + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a list * of strings giving the MIME types supported by this desktop entry. */ enum KEY_FILE_DESKTOP_KEY_MIME_TYPE = "MimeType"; alias G_KEY_FILE_DESKTOP_KEY_MIME_TYPE = KEY_FILE_DESKTOP_KEY_MIME_TYPE; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a localized + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a localized * string giving the specific name of the desktop entry. */ enum KEY_FILE_DESKTOP_KEY_NAME = "Name"; alias G_KEY_FILE_DESKTOP_KEY_NAME = KEY_FILE_DESKTOP_KEY_NAME; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a list of + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a list of * strings identifying the environments that should not display the * desktop entry. */ @@ -6136,14 +6213,14 @@ enum KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN = "NotShowIn"; alias G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN = KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a boolean + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a boolean * stating whether the desktop entry should be shown in menus. */ enum KEY_FILE_DESKTOP_KEY_NO_DISPLAY = "NoDisplay"; alias G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY = KEY_FILE_DESKTOP_KEY_NO_DISPLAY; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a list of + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a list of * strings identifying the environments that should display the * desktop entry. */ @@ -6151,7 +6228,7 @@ enum KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN = "OnlyShowIn"; alias G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN = KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a string + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a string * containing the working directory to run the program in. It is only * valid for desktop entries with the `Application` type. */ @@ -6159,7 +6236,7 @@ enum KEY_FILE_DESKTOP_KEY_PATH = "Path"; alias G_KEY_FILE_DESKTOP_KEY_PATH = KEY_FILE_DESKTOP_KEY_PATH; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a boolean + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a boolean * stating whether the application supports the * [Startup Notification Protocol Specification](http://www.freedesktop.org/Standards/startup-notification-spec). */ @@ -6167,7 +6244,7 @@ enum KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY = "StartupNotify"; alias G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY = KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is string + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is string * identifying the WM class or name hint of a window that the application * will create, which can be used to emulate Startup Notification with * older applications. @@ -6176,16 +6253,16 @@ enum KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS = "StartupWMClass"; alias G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS = KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a boolean + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a boolean * stating whether the program should be run in a terminal window. - * It is only valid for desktop entries with the - * `Application` type. + * + * It is only valid for desktop entries with the `Application` type. */ enum KEY_FILE_DESKTOP_KEY_TERMINAL = "Terminal"; alias G_KEY_FILE_DESKTOP_KEY_TERMINAL = KEY_FILE_DESKTOP_KEY_TERMINAL; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a string + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a string * giving the file name of a binary on disk used to determine if the * program is actually installed. It is only valid for desktop entries * with the `Application` type. @@ -6194,17 +6271,18 @@ enum KEY_FILE_DESKTOP_KEY_TRY_EXEC = "TryExec"; alias G_KEY_FILE_DESKTOP_KEY_TRY_EXEC = KEY_FILE_DESKTOP_KEY_TRY_EXEC; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a string - * giving the type of the desktop entry. Usually - * #G_KEY_FILE_DESKTOP_TYPE_APPLICATION, - * #G_KEY_FILE_DESKTOP_TYPE_LINK, or - * #G_KEY_FILE_DESKTOP_TYPE_DIRECTORY. + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a string + * giving the type of the desktop entry. + * + * Usually %G_KEY_FILE_DESKTOP_TYPE_APPLICATION, + * %G_KEY_FILE_DESKTOP_TYPE_LINK, or + * %G_KEY_FILE_DESKTOP_TYPE_DIRECTORY. */ enum KEY_FILE_DESKTOP_KEY_TYPE = "Type"; alias G_KEY_FILE_DESKTOP_KEY_TYPE = KEY_FILE_DESKTOP_KEY_TYPE; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a string + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a string * giving the URL to access. It is only valid for desktop entries * with the `Link` type. */ @@ -6212,7 +6290,7 @@ enum KEY_FILE_DESKTOP_KEY_URL = "URL"; alias G_KEY_FILE_DESKTOP_KEY_URL = KEY_FILE_DESKTOP_KEY_URL; /** - * A key under #G_KEY_FILE_DESKTOP_GROUP, whose value is a string + * A key under %G_KEY_FILE_DESKTOP_GROUP, whose value is a string * giving the version of the Desktop Entry Specification used for * the desktop entry file. */ @@ -6220,21 +6298,21 @@ enum KEY_FILE_DESKTOP_KEY_VERSION = "Version"; alias G_KEY_FILE_DESKTOP_KEY_VERSION = KEY_FILE_DESKTOP_KEY_VERSION; /** - * The value of the #G_KEY_FILE_DESKTOP_KEY_TYPE, key for desktop + * The value of the %G_KEY_FILE_DESKTOP_KEY_TYPE, key for desktop * entries representing applications. */ enum KEY_FILE_DESKTOP_TYPE_APPLICATION = "Application"; alias G_KEY_FILE_DESKTOP_TYPE_APPLICATION = KEY_FILE_DESKTOP_TYPE_APPLICATION; /** - * The value of the #G_KEY_FILE_DESKTOP_KEY_TYPE, key for desktop + * The value of the %G_KEY_FILE_DESKTOP_KEY_TYPE, key for desktop * entries representing directories. */ enum KEY_FILE_DESKTOP_TYPE_DIRECTORY = "Directory"; alias G_KEY_FILE_DESKTOP_TYPE_DIRECTORY = KEY_FILE_DESKTOP_TYPE_DIRECTORY; /** - * The value of the #G_KEY_FILE_DESKTOP_KEY_TYPE, key for desktop + * The value of the %G_KEY_FILE_DESKTOP_KEY_TYPE, key for desktop * entries representing links to documents. */ enum KEY_FILE_DESKTOP_TYPE_LINK = "Link"; @@ -6242,7 +6320,7 @@ alias G_KEY_FILE_DESKTOP_TYPE_LINK = KEY_FILE_DESKTOP_TYPE_LINK; /** * Specifies one of the possible types of byte order. - * See #G_BYTE_ORDER. + * See %G_BYTE_ORDER. */ enum LITTLE_ENDIAN = 1234; alias G_LITTLE_ENDIAN = LITTLE_ENDIAN; @@ -6390,7 +6468,7 @@ alias G_MININT8 = MININT8; * application compile time, rather than from the library * linked against at application run time. */ -enum MINOR_VERSION = 68; +enum MINOR_VERSION = 72; alias GLIB_MINOR_VERSION = MINOR_VERSION; enum MODULE_SUFFIX = "so"; @@ -6404,7 +6482,7 @@ alias G_MODULE_SUFFIX = MODULE_SUFFIX; * or %G_OPTION_ARG_FILENAME_ARRAY. * * - * Using #G_OPTION_REMAINING instead of simply scanning `argv` + * Using %G_OPTION_REMAINING instead of simply scanning `argv` * for leftover arguments has the advantage that GOption takes care of * necessary encoding conversions for strings or filenames. */ @@ -6413,7 +6491,7 @@ alias G_OPTION_REMAINING = OPTION_REMAINING; /** * Specifies one of the possible types of byte order - * (currently unused). See #G_BYTE_ORDER. + * (currently unused). See %G_BYTE_ORDER. */ enum PDP_ENDIAN = 3412; alias G_PDP_ENDIAN = PDP_ENDIAN; @@ -6462,8 +6540,8 @@ alias G_PRIORITY_HIGH = PRIORITY_HIGH; /** * Use this for high priority idle functions. * - * GTK+ uses #G_PRIORITY_HIGH_IDLE + 10 for resizing operations, - * and #G_PRIORITY_HIGH_IDLE + 20 for redrawing operations. (This is + * GTK+ uses %G_PRIORITY_HIGH_IDLE + 10 for resizing operations, + * and %G_PRIORITY_HIGH_IDLE + 20 for redrawing operations. (This is * done to ensure that any pending resizes are processed before any * pending redraws, so that widgets are not redrawn twice unnecessarily.) */ @@ -6546,6 +6624,7 @@ alias GLIB_SYSDEF_MSG_PEEK = SYSDEF_MSG_PEEK; * - g_get_user_config_dir() * - g_get_system_data_dirs() * - g_get_user_data_dir() + * - g_get_user_state_dir() * - g_get_user_runtime_dir() * * The subdirectories may not be created by the test harness; as with normal @@ -6620,3 +6699,6 @@ alias G_VA_COPY_AS_ARRAY = VA_COPY_AS_ARRAY; enum WIN32_MSG_HANDLE = 19981206; alias G_WIN32_MSG_HANDLE = WIN32_MSG_HANDLE; + +enum macro__has_attribute___noreturn__ = 0; +alias g_macro__has_attribute___noreturn__ = macro__has_attribute___noreturn__; diff --git a/generated/gtkd/gobject/Binding.d b/source/generated/glib/gobject/Binding.d similarity index 98% rename from generated/gtkd/gobject/Binding.d rename to source/generated/glib/gobject/Binding.d index c8cc75e59..737d1f63b 100644 --- a/generated/gtkd/gobject/Binding.d +++ b/source/generated/glib/gobject/Binding.d @@ -34,9 +34,10 @@ public import gobject.c.types; /** * #GBinding is the representation of a binding between a property on a * #GObject instance (or source) and another property on another #GObject - * instance (or target). Whenever the source property changes, the same - * value is applied to the target property; for instance, the following - * binding: + * instance (or target). + * + * Whenever the source property changes, the same value is applied to the + * target property; for instance, the following binding: * * |[ * g_object_bind_property (object1, "property-a", diff --git a/source/generated/glib/gobject/BindingGroup.d b/source/generated/glib/gobject/BindingGroup.d new file mode 100644 index 000000000..595013d4b --- /dev/null +++ b/source/generated/glib/gobject/BindingGroup.d @@ -0,0 +1,219 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module gobject.BindingGroup; + +private import glib.ConstructionException; +private import glib.Str; +private import gobject.Closure; +private import gobject.ObjectG; +private import gobject.c.functions; +public import gobject.c.types; + + +/** + * The #GBindingGroup can be used to bind multiple properties + * from an object collectively. + * + * Use the various methods to bind properties from a single source + * object to multiple destination objects. Properties can be bound + * bidirectionally and are connected when the source object is set + * with g_binding_group_set_source(). + * + * Since: 2.72 + */ +public class BindingGroup : ObjectG +{ + /** the main Gtk struct */ + protected GBindingGroup* gBindingGroup; + + /** Get the main Gtk struct */ + public GBindingGroup* getBindingGroupStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gBindingGroup; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gBindingGroup; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GBindingGroup* gBindingGroup, bool ownedRef = false) + { + this.gBindingGroup = gBindingGroup; + super(cast(GObject*)gBindingGroup, ownedRef); + } + + + /** */ + public static GType getType() + { + return g_binding_group_get_type(); + } + + /** + * Creates a new #GBindingGroup. + * + * Returns: a new #GBindingGroup + * + * Since: 2.72 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = g_binding_group_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GBindingGroup*) __p, true); + } + + /** + * Creates a binding between @source_property on the source object + * and @target_property on @target. Whenever the @source_property + * is changed the @target_property is updated using the same value. + * The binding flag %G_BINDING_SYNC_CREATE is automatically specified. + * + * See g_object_bind_property() for more information. + * + * Params: + * sourceProperty = the property on the source to bind + * target = the target #GObject + * targetProperty = the property on @target to bind + * flags = the flags used to create the #GBinding + * + * Since: 2.72 + */ + public void bind(string sourceProperty, ObjectG target, string targetProperty, GBindingFlags flags) + { + g_binding_group_bind(gBindingGroup, Str.toStringz(sourceProperty), (target is null) ? null : target.getObjectGStruct(), Str.toStringz(targetProperty), flags); + } + + /** + * Creates a binding between @source_property on the source object and + * @target_property on @target, allowing you to set the transformation + * functions to be used by the binding. The binding flag + * %G_BINDING_SYNC_CREATE is automatically specified. + * + * See g_object_bind_property_full() for more information. + * + * Params: + * sourceProperty = the property on the source to bind + * target = the target #GObject + * targetProperty = the property on @target to bind + * flags = the flags used to create the #GBinding + * transformTo = the transformation function + * from the source object to the @target, or %NULL to use the default + * transformFrom = the transformation function + * from the @target to the source object, or %NULL to use the default + * userData = custom data to be passed to the transformation + * functions, or %NULL + * userDataDestroy = function to be called when disposing the binding, + * to free the resources used by the transformation functions + * + * Since: 2.72 + */ + public void bindFull(string sourceProperty, ObjectG target, string targetProperty, GBindingFlags flags, GBindingTransformFunc transformTo, GBindingTransformFunc transformFrom, void* userData, GDestroyNotify userDataDestroy) + { + g_binding_group_bind_full(gBindingGroup, Str.toStringz(sourceProperty), (target is null) ? null : target.getObjectGStruct(), Str.toStringz(targetProperty), flags, transformTo, transformFrom, userData, userDataDestroy); + } + + /** + * Creates a binding between @source_property on the source object and + * @target_property on @target, allowing you to set the transformation + * functions to be used by the binding. The binding flag + * %G_BINDING_SYNC_CREATE is automatically specified. + * + * This function is the language bindings friendly version of + * g_binding_group_bind_property_full(), using #GClosures + * instead of function pointers. + * + * See g_object_bind_property_with_closures() for more information. + * + * Params: + * sourceProperty = the property on the source to bind + * target = the target #GObject + * targetProperty = the property on @target to bind + * flags = the flags used to create the #GBinding + * transformTo = a #GClosure wrapping the + * transformation function from the source object to the @target, + * or %NULL to use the default + * transformFrom = a #GClosure wrapping the + * transformation function from the @target to the source object, + * or %NULL to use the default + * + * Since: 2.72 + */ + public void bindWithClosures(string sourceProperty, ObjectG target, string targetProperty, GBindingFlags flags, Closure transformTo, Closure transformFrom) + { + g_binding_group_bind_with_closures(gBindingGroup, Str.toStringz(sourceProperty), (target is null) ? null : target.getObjectGStruct(), Str.toStringz(targetProperty), flags, (transformTo is null) ? null : transformTo.getClosureStruct(), (transformFrom is null) ? null : transformFrom.getClosureStruct()); + } + + /** + * Gets the source object used for binding properties. + * + * Returns: a #GObject or %NULL. + * + * Since: 2.72 + */ + public ObjectG dupSource() + { + auto __p = g_binding_group_dup_source(gBindingGroup); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ObjectG)(cast(GObject*) __p); + } + + /** + * Sets @source as the source object used for creating property + * bindings. If there is already a source object all bindings from it + * will be removed. + * + * Note that all properties that have been bound must exist on @source. + * + * Params: + * source = the source #GObject, + * or %NULL to clear it + * + * Since: 2.72 + */ + public void setSource(ObjectG source) + { + g_binding_group_set_source(gBindingGroup, (source is null) ? null : source.getObjectGStruct()); + } +} diff --git a/generated/gtkd/gobject/Boxed.d b/source/generated/glib/gobject/Boxed.d similarity index 87% rename from generated/gtkd/gobject/Boxed.d rename to source/generated/glib/gobject/Boxed.d index be324dcd6..9d23f23ca 100644 --- a/generated/gtkd/gobject/Boxed.d +++ b/source/generated/glib/gobject/Boxed.d @@ -62,8 +62,14 @@ public struct Boxed /** * This function creates a new %G_TYPE_BOXED derived type id for a new - * boxed type with name @name. Boxed type handling functions have to be - * provided to copy and free opaque boxed structures of this type. + * boxed type with name @name. + * + * Boxed type handling functions have to be provided to copy and free + * opaque boxed structures of this type. + * + * For the general case, it is recommended to use G_DEFINE_BOXED_TYPE() + * instead of calling g_boxed_type_register_static() directly. The macro + * will create the appropriate `*_get_type()` function for the boxed type. * * Params: * name = Name of the new boxed type. diff --git a/generated/gtkd/gobject/CClosure.d b/source/generated/glib/gobject/CClosure.d similarity index 100% rename from generated/gtkd/gobject/CClosure.d rename to source/generated/glib/gobject/CClosure.d diff --git a/generated/gtkd/gobject/Closure.d b/source/generated/glib/gobject/Closure.d similarity index 86% rename from generated/gtkd/gobject/Closure.d rename to source/generated/glib/gobject/Closure.d index 33068cb2e..893e415cb 100644 --- a/generated/gtkd/gobject/Closure.d +++ b/source/generated/glib/gobject/Closure.d @@ -30,12 +30,13 @@ private import gobject.ObjectG; private import gobject.Value; private import gobject.c.functions; public import gobject.c.types; -private import gtkd.Loader; +private import linker.Loader; /** - * A #GClosure represents a callback supplied by the programmer. It - * will generally comprise a function of some kind and a marshaller + * A #GClosure represents a callback supplied by the programmer. + * + * It will generally comprise a function of some kind and a marshaller * used to call it. It is the responsibility of the marshaller to * convert the arguments for the invocation from #GValues into * a suitable form, perform the callback on the converted arguments, @@ -109,7 +110,7 @@ public class Closure ~this () { - if ( Linker.isLoaded(LIBRARY_GOBJECT) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GOBJECT[0]) && ownedRef ) g_closure_unref(gClosure); } @@ -150,8 +151,9 @@ public class Closure /** * Allocates a struct of the given size and initializes the initial - * part as a #GClosure. This function is mainly useful when - * implementing new types of closures. + * part as a #GClosure. + * + * This function is mainly useful when implementing new types of closures: * * |[ * typedef struct _MyClosure MyClosure; @@ -209,11 +211,12 @@ public class Closure /** * Registers a finalization notifier which will be called when the - * reference count of @closure goes down to 0. Multiple finalization - * notifiers on a single closure are invoked in unspecified order. If - * a single call to g_closure_unref() results in the closure being - * both invalidated and finalized, then the invalidate notifiers will - * be run before the finalize notifiers. + * reference count of @closure goes down to 0. + * + * Multiple finalization notifiers on a single closure are invoked in + * unspecified order. If a single call to g_closure_unref() results in + * the closure being both invalidated and finalized, then the invalidate + * notifiers will be run before the finalize notifiers. * * Params: * notifyData = data to pass to @notify_func @@ -226,9 +229,10 @@ public class Closure /** * Registers an invalidation notifier which will be called when the - * @closure is invalidated with g_closure_invalidate(). Invalidation - * notifiers are invoked before finalization notifiers, in an - * unspecified order. + * @closure is invalidated with g_closure_invalidate(). + * + * Invalidation notifiers are invoked before finalization notifiers, + * in an unspecified order. * * Params: * notifyData = data to pass to @notify_func @@ -241,9 +245,11 @@ public class Closure /** * Adds a pair of notifiers which get invoked before and after the - * closure callback, respectively. This is typically used to protect - * the extra arguments for the duration of the callback. See - * g_object_watch_closure() for an example of marshal guards. + * closure callback, respectively. + * + * This is typically used to protect the extra arguments for the + * duration of the callback. See g_object_watch_closure() for an + * example of marshal guards. * * Params: * preMarshalData = data to pass @@ -262,7 +268,9 @@ public class Closure * Sets a flag on the closure to indicate that its calling * environment has become invalid, and thus causes any future * invocations of g_closure_invoke() on this @closure to be - * ignored. Also, invalidation notifiers installed on the closure will + * ignored. + * + * Also, invalidation notifiers installed on the closure will * be called at this point. Note that unless you are holding a * reference to the closure yourself, the invalidation notifiers may * unref the closure and cause it to be destroyed, so if you need to @@ -351,13 +359,17 @@ public class Closure } /** - * Sets the marshaller of @closure. The `marshal_data` - * of @marshal provides a way for a meta marshaller to provide additional - * information to the marshaller. (See g_closure_set_meta_marshal().) For - * GObject's C predefined marshallers (the g_cclosure_marshal_*() + * Sets the marshaller of @closure. + * + * The `marshal_data` of @marshal provides a way for a meta marshaller to + * provide additional information to the marshaller. + * + * For GObject's C predefined marshallers (the `g_cclosure_marshal_*()` * functions), what it provides is a callback function to use instead of * @closure->callback. * + * See also: g_closure_set_meta_marshal() + * * Params: * marshal = a #GClosureMarshal function */ @@ -367,12 +379,15 @@ public class Closure } /** - * Sets the meta marshaller of @closure. A meta marshaller wraps - * @closure->marshal and modifies the way it is called in some - * fashion. The most common use of this facility is for C callbacks. + * Sets the meta marshaller of @closure. + * + * A meta marshaller wraps the @closure's marshal and modifies the way + * it is called in some fashion. The most common use of this facility + * is for C callbacks. + * * The same marshallers (generated by [glib-genmarshal][glib-genmarshal]), * are used everywhere, but the way that we get the callback function - * differs. In most cases we want to use @closure->callback, but in + * differs. In most cases we want to use the @closure's callback, but in * other cases we want to use some different technique to retrieve the * callback function. * @@ -393,27 +408,34 @@ public class Closure } /** - * Takes over the initial ownership of a closure. Each closure is - * initially created in a "floating" state, which means that the initial - * reference count is not owned by any caller. g_closure_sink() checks - * to see if the object is still floating, and if so, unsets the - * floating state and decreases the reference count. If the closure - * is not floating, g_closure_sink() does nothing. The reason for the - * existence of the floating state is to prevent cumbersome code - * sequences like: + * Takes over the initial ownership of a closure. + * + * Each closure is initially created in a "floating" state, which means + * that the initial reference count is not owned by any caller. + * + * This function checks to see if the object is still floating, and if so, + * unsets the floating state and decreases the reference count. If the + * closure is not floating, g_closure_sink() does nothing. + * + * The reason for the existence of the floating state is to prevent + * cumbersome code sequences like: + * * |[ * closure = g_cclosure_new (cb_func, cb_data); * g_source_set_closure (source, closure); * g_closure_unref (closure); // GObject doesn't really need this * ]| + * * Because g_source_set_closure() (and similar functions) take ownership of the * initial reference count, if it is unowned, we instead can write: + * * |[ * g_source_set_closure (source, g_cclosure_new (cb_func, cb_data)); * ]| * * Generally, this function is used together with g_closure_ref(). An example * of storing a closure for later notification looks like: + * * |[ * static GClosure *notify_closure = NULL; * void @@ -441,8 +463,10 @@ public class Closure /** * Decrements the reference count of a closure after it was previously - * incremented by the same caller. If no other callers are using the - * closure, then the closure will be destroyed and freed. + * incremented by the same caller. + * + * If no other callers are using the closure, then the closure will be + * destroyed and freed. */ public void unref() { diff --git a/generated/gtkd/gobject/DClosure.d b/source/generated/glib/gobject/DClosure.d similarity index 100% rename from generated/gtkd/gobject/DClosure.d rename to source/generated/glib/gobject/DClosure.d diff --git a/generated/gtkd/gobject/Enums.d b/source/generated/glib/gobject/Enums.d similarity index 100% rename from generated/gtkd/gobject/Enums.d rename to source/generated/glib/gobject/Enums.d diff --git a/generated/gtkd/gobject/Flags.d b/source/generated/glib/gobject/Flags.d similarity index 100% rename from generated/gtkd/gobject/Flags.d rename to source/generated/glib/gobject/Flags.d diff --git a/generated/gtkd/gobject/ObjectClass.d b/source/generated/glib/gobject/ObjectClass.d similarity index 100% rename from generated/gtkd/gobject/ObjectClass.d rename to source/generated/glib/gobject/ObjectClass.d diff --git a/generated/gtkd/gobject/ObjectG.d b/source/generated/glib/gobject/ObjectG.d similarity index 93% rename from generated/gtkd/gobject/ObjectG.d rename to source/generated/glib/gobject/ObjectG.d index bbb267e45..bca3546d0 100644 --- a/generated/gtkd/gobject/ObjectG.d +++ b/source/generated/glib/gobject/ObjectG.d @@ -38,13 +38,23 @@ private import gobject.TypeInterface; private import gobject.Value; private import gobject.c.functions; public import gobject.c.types; -private import gtkd.Loader; +private import linker.Loader; private import std.traits; /** - * All the fields in the GObject structure are private - * to the #GObject implementation and should never be accessed directly. + * The base object type. + * + * All the fields in the `GObject` structure are private to the implementation + * and should never be accessed directly. + * + * Since GLib 2.72, all #GObjects are guaranteed to be aligned to at least the + * alignment of the largest basic GLib type (typically this is #guint64 or + * #gdouble). If you need larger alignment for an element in a #GObject, you + * should allocate it on the heap (aligned), or arrange for your #GObject to be + * appropriately padded. This guarantee applies to the #GObject (or derived) + * struct, the #GObjectClass (or derived) struct, and any private data allocated + * by G_ADD_PRIVATE(). */ public class ObjectG { @@ -136,7 +146,7 @@ public class ObjectG ~this() { static if ( isPointer!(typeof(g_object_steal_data)) ) - bool libLoaded = Linker.isLoaded(LIBRARY_GOBJECT); + bool libLoaded = Linker.isLoaded(LIBRARY_GOBJECT[0]); else enum libLoaded = true; @@ -388,7 +398,7 @@ public class ObjectG /** * Creates a new instance of a #GObject subtype and sets its properties. * - * Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY) + * Construction parameters (see %G_PARAM_CONSTRUCT, %G_PARAM_CONSTRUCT_ONLY) * which are not explicitly specified are set to their default values. * * Params: @@ -454,7 +464,7 @@ public class ObjectG /** * Creates a new instance of a #GObject subtype and sets its properties. * - * Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY) + * Construction parameters (see %G_PARAM_CONSTRUCT, %G_PARAM_CONSTRUCT_ONLY) * which are not explicitly specified are set to their default values. * * Deprecated: Use g_object_new_with_properties() instead. @@ -651,10 +661,12 @@ public class ObjectG /** * Creates a binding between @source_property on @source and @target_property - * on @target. Whenever the @source_property is changed the @target_property is + * on @target. + * + * Whenever the @source_property is changed the @target_property is * updated using the same value. For instance: * - * |[ + * |[ * g_object_bind_property (action, "active", widget, "sensitive", 0); * ]| * @@ -1134,7 +1146,8 @@ public class ObjectG * notify = a function to call when this reference is the * last reference to the object, or is no longer * the last reference. - * data = data to pass to @notify + * data = data to pass to @notify, or %NULL to + * match any toggle refs with the @notify argument. * * Since: 2.8 */ @@ -1420,6 +1433,59 @@ public class ObjectG return g_object_steal_qdata(gObject, quark); } + /** + * If @object is floating, sink it. Otherwise, do nothing. + * + * In other words, this function will convert a floating reference (if + * present) into a full reference. + * + * Typically you want to use g_object_ref_sink() in order to + * automatically do the correct thing with respect to floating or + * non-floating references, but there is one specific scenario where + * this function is helpful. + * + * The situation where this function is helpful is when creating an API + * that allows the user to provide a callback function that returns a + * GObject. We certainly want to allow the user the flexibility to + * return a non-floating reference from this callback (for the case + * where the object that is being returned already exists). + * + * At the same time, the API style of some popular GObject-based + * libraries (such as Gtk) make it likely that for newly-created GObject + * instances, the user can be saved some typing if they are allowed to + * return a floating reference. + * + * Using this function on the return value of the user's callback allows + * the user to do whichever is more convenient for them. The caller will + * alway receives exactly one full reference to the value: either the + * one that was returned in the first place, or a floating reference + * that has been converted to a full reference. + * + * This function has an odd interaction when combined with + * g_object_ref_sink() running at the same time in another thread on + * the same #GObject instance. If g_object_ref_sink() runs first then + * the result will be that the floating reference is converted to a hard + * reference. If g_object_take_ref() runs first then the result will be + * that the floating reference is converted to a hard reference and an + * additional reference on top of that one is added. It is best to avoid + * this situation. + * + * Returns: @object + * + * Since: 2.70 + */ + public ObjectG takeRef() + { + auto __p = g_object_take_ref(gObject); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ObjectG)(cast(GObject*) __p, true); + } + /** * Reverts the effect of a previous call to * g_object_freeze_notify(). The freeze count is decreased on @object diff --git a/generated/gtkd/gobject/ParamSpec.d b/source/generated/glib/gobject/ParamSpec.d similarity index 97% rename from generated/gtkd/gobject/ParamSpec.d rename to source/generated/glib/gobject/ParamSpec.d index 7cde19eab..69da1ba3b 100644 --- a/generated/gtkd/gobject/ParamSpec.d +++ b/source/generated/glib/gobject/ParamSpec.d @@ -30,7 +30,7 @@ private import gobject.ObjectG; private import gobject.Value; private import gobject.c.functions; public import gobject.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -79,7 +79,7 @@ public class ParamSpec ~this () { - if ( Linker.isLoaded(LIBRARY_GOBJECT) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GOBJECT[0]) && ownedRef ) g_param_spec_unref(gParamSpec); } @@ -98,7 +98,7 @@ public class ParamSpec * e.g. a tooltip. The @nick and @blurb should ideally be localized. * * Params: - * paramType = the #GType for the property; must be derived from #G_TYPE_PARAM + * paramType = the #GType for the property; must be derived from %G_TYPE_PARAM * name = the canonical name of the property * nick = the nickname of the property * blurb = a short description of the property @@ -355,10 +355,12 @@ public class ParamSpec } /** - * Registers @name as the name of a new static type derived from - * #G_TYPE_PARAM. The type system uses the information contained in - * the #GParamSpecTypeInfo structure pointed to by @info to manage the - * #GParamSpec type and its instances. + * Registers @name as the name of a new static type derived + * from %G_TYPE_PARAM. + * + * The type system uses the information contained in the #GParamSpecTypeInfo + * structure pointed to by @info to manage the #GParamSpec type and its + * instances. * * Params: * name = 0-terminated string used as the name of the new #GParamSpec type. diff --git a/generated/gtkd/gobject/ParamSpecPool.d b/source/generated/glib/gobject/ParamSpecPool.d similarity index 96% rename from generated/gtkd/gobject/ParamSpecPool.d rename to source/generated/glib/gobject/ParamSpecPool.d index 8570d6686..f46a43438 100644 --- a/generated/gtkd/gobject/ParamSpecPool.d +++ b/source/generated/glib/gobject/ParamSpecPool.d @@ -35,9 +35,10 @@ public import gobject.c.types; /** * A #GParamSpecPool maintains a collection of #GParamSpecs which can be - * quickly accessed by owner and name. The implementation of the #GObject property - * system uses such a pool to store the #GParamSpecs of the properties all object - * types. + * quickly accessed by owner and name. + * + * The implementation of the #GObject property system uses such a pool to + * store the #GParamSpecs of the properties all object types. */ public class ParamSpecPool { diff --git a/source/generated/glib/gobject/SignalGroup.d b/source/generated/glib/gobject/SignalGroup.d new file mode 100644 index 000000000..91d443a26 --- /dev/null +++ b/source/generated/glib/gobject/SignalGroup.d @@ -0,0 +1,312 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module gobject.SignalGroup; + +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import gobject.Signals; +private import gobject.c.functions; +public import gobject.c.types; +private import std.algorithm; + + +/** + * #GSignalGroup manages to simplify the process of connecting + * many signals to a #GObject as a group. As such there is no API + * to disconnect a signal from the group. + * + * In particular, this allows you to: + * + * - Change the target instance, which automatically causes disconnection + * of the signals from the old instance and connecting to the new instance. + * - Block and unblock signals as a group + * - Ensuring that blocked state transfers across target instances. + * + * One place you might want to use such a structure is with #GtkTextView and + * #GtkTextBuffer. Often times, you'll need to connect to many signals on + * #GtkTextBuffer from a #GtkTextView subclass. This allows you to create a + * signal group during instance construction, simply bind the + * #GtkTextView:buffer property to #GSignalGroup:target and connect + * all the signals you need. When the #GtkTextView:buffer property changes + * all of the signals will be transitioned correctly. + * + * Since: 2.72 + */ +public class SignalGroup : ObjectG +{ + /** the main Gtk struct */ + protected GSignalGroup* gSignalGroup; + + /** Get the main Gtk struct */ + public GSignalGroup* getSignalGroupStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gSignalGroup; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gSignalGroup; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GSignalGroup* gSignalGroup, bool ownedRef = false) + { + this.gSignalGroup = gSignalGroup; + super(cast(GObject*)gSignalGroup, ownedRef); + } + + + /** */ + public static GType getType() + { + return g_signal_group_get_type(); + } + + /** + * Creates a new #GSignalGroup for target instances of @target_type. + * + * Params: + * targetType = the #GType of the target instance. + * + * Returns: a new #GSignalGroup + * + * Since: 2.72 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(GType targetType) + { + auto __p = g_signal_group_new(targetType); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GSignalGroup*) __p, true); + } + + /** + * Blocks all signal handlers managed by @self so they will not + * be called during any signal emissions. Must be unblocked exactly + * the same number of times it has been blocked to become active again. + * + * This blocked state will be kept across changes of the target instance. + * + * Since: 2.72 + */ + public void block() + { + g_signal_group_block(gSignalGroup); + } + + /** + * Connects @c_handler to the signal @detailed_signal + * on the target instance of @self. + * + * You cannot connect a signal handler after #GSignalGroup:target has been set. + * + * Params: + * detailedSignal = a string of the form "signal-name::detail" + * cHandler = the #GCallback to connect + * data = the data to pass to @c_handler calls + * + * Since: 2.72 + */ + public void connect(string detailedSignal, GCallback cHandler, void* data) + { + g_signal_group_connect(gSignalGroup, Str.toStringz(detailedSignal), cHandler, data); + } + + /** + * Connects @c_handler to the signal @detailed_signal + * on the target instance of @self. + * + * The @c_handler will be called after the default handler of the signal. + * + * You cannot connect a signal handler after #GSignalGroup:target has been set. + * + * Params: + * detailedSignal = a string of the form "signal-name::detail" + * cHandler = the #GCallback to connect + * data = the data to pass to @c_handler calls + * + * Since: 2.72 + */ + public void connectAfter(string detailedSignal, GCallback cHandler, void* data) + { + g_signal_group_connect_after(gSignalGroup, Str.toStringz(detailedSignal), cHandler, data); + } + + /** + * Connects @c_handler to the signal @detailed_signal + * on the target instance of @self. + * + * You cannot connect a signal handler after #GSignalGroup:target has been set. + * + * Params: + * detailedSignal = a string of the form "signal-name::detail" + * cHandler = the #GCallback to connect + * data = the data to pass to @c_handler calls + * notify = function to be called when disposing of @self + * flags = the flags used to create the signal connection + * + * Since: 2.72 + */ + public void connectData(string detailedSignal, GCallback cHandler, void* data, GClosureNotify notify, GConnectFlags flags) + { + g_signal_group_connect_data(gSignalGroup, Str.toStringz(detailedSignal), cHandler, data, notify, flags); + } + + /** + * Connects @c_handler to the signal @detailed_signal on #GSignalGroup:target. + * + * Ensures that the @object stays alive during the call to @c_handler + * by temporarily adding a reference count. When the @object is destroyed + * the signal handler will automatically be removed. + * + * You cannot connect a signal handler after #GSignalGroup:target has been set. + * + * Params: + * detailedSignal = a string of the form `signal-name` with optional `::signal-detail` + * cHandler = the #GCallback to connect + * object = the #GObject to pass as data to @c_handler calls + * flags = #GConnectFlags for the signal connection + * + * Since: 2.72 + */ + public void connectObject(string detailedSignal, GCallback cHandler, void* object, GConnectFlags flags) + { + g_signal_group_connect_object(gSignalGroup, Str.toStringz(detailedSignal), cHandler, object, flags); + } + + /** + * Connects @c_handler to the signal @detailed_signal + * on the target instance of @self. + * + * The instance on which the signal is emitted and @data + * will be swapped when calling @c_handler. + * + * You cannot connect a signal handler after #GSignalGroup:target has been set. + * + * Params: + * detailedSignal = a string of the form "signal-name::detail" + * cHandler = the #GCallback to connect + * data = the data to pass to @c_handler calls + * + * Since: 2.72 + */ + public void connectSwapped(string detailedSignal, GCallback cHandler, void* data) + { + g_signal_group_connect_swapped(gSignalGroup, Str.toStringz(detailedSignal), cHandler, data); + } + + /** + * Gets the target instance used when connecting signals. + * + * Returns: The target instance + * + * Since: 2.72 + */ + public ObjectG dupTarget() + { + auto __p = g_signal_group_dup_target(gSignalGroup); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ObjectG)(cast(GObject*) __p, true); + } + + /** + * Sets the target instance used when connecting signals. Any signal + * that has been registered with g_signal_group_connect_object() or + * similar functions will be connected to this object. + * + * If the target instance was previously set, signals will be + * disconnected from that object prior to connecting to @target. + * + * Params: + * target = The target instance used + * when connecting signals. + * + * Since: 2.72 + */ + public void setTarget(ObjectG target) + { + g_signal_group_set_target(gSignalGroup, (target is null) ? null : target.getObjectGStruct()); + } + + /** + * Unblocks all signal handlers managed by @self so they will be + * called again during any signal emissions unless it is blocked + * again. Must be unblocked exactly the same number of times it + * has been blocked to become active again. + * + * Since: 2.72 + */ + public void unblock() + { + g_signal_group_unblock(gSignalGroup); + } + + /** + * This signal is emitted when #GSignalGroup:target is set to a new value + * other than %NULL. It is similar to #GObject::notify on `target` except it + * will not emit when #GSignalGroup:target is %NULL and also allows for + * receiving the #GObject without a data-race. + * + * Params: + * instance_ = a #GObject containing the new value for #GSignalGroup:target + * + * Since: 2.72 + */ + gulong addOnBind(void delegate(ObjectG, SignalGroup) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "bind", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * This signal is emitted when the target instance of @self is set to a + * new #GObject. + * + * This signal will only be emitted if the previous target of @self is + * non-%NULL. + * + * Since: 2.72 + */ + gulong addOnUnbind(void delegate(SignalGroup) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "unbind", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/generated/gtkd/gobject/Signals.d b/source/generated/glib/gobject/Signals.d similarity index 98% rename from generated/gtkd/gobject/Signals.d rename to source/generated/glib/gobject/Signals.d index 823556b4e..83f2b645b 100644 --- a/generated/gtkd/gobject/Signals.d +++ b/source/generated/glib/gobject/Signals.d @@ -166,7 +166,7 @@ public struct Signals /** * Adds an emission hook for a signal, which will get called for any emission * of that signal, independent of the instance. This is possible only - * for signals which don't have #G_SIGNAL_NO_HOOKS flag set. + * for signals which don't have %G_SIGNAL_NO_HOOKS flag set. * * Params: * signalId = the signal identifier, as returned by g_signal_lookup(). @@ -288,7 +288,8 @@ public struct Signals } /** - * Emits a signal. + * Emits a signal. Signal emission is done synchronously. + * The method will only return control after all handlers are called or signal emission was stopped. * * Note that g_signal_emit_valist() resets the return value to the default * if no handlers are connected, in contrast to g_signal_emitv(). @@ -300,7 +301,7 @@ public struct Signals * detail = the detail * varArgs = a list of parameters to be passed to the signal, followed by a * location for the return value. If the return type of the signal - * is #G_TYPE_NONE, the return value location can be omitted. + * is %G_TYPE_NONE, the return value location can be omitted. */ public static void emitValist(TypeInstance instance_, uint signalId, GQuark detail, void* varArgs) { @@ -308,7 +309,8 @@ public struct Signals } /** - * Emits a signal. + * Emits a signal. Signal emission is done synchronously. + * The method will only return control after all handlers are called or signal emission was stopped. * * Note that g_signal_emitv() doesn't change @return_value if no handlers are * connected, in contrast to g_signal_emit() and g_signal_emit_valist(). @@ -632,7 +634,7 @@ public struct Signals * accuData = user data for the @accumulator. * cMarshaller = the function to translate arrays of parameter * values to signal emissions into C language callback invocations or %NULL. - * returnType = the type of return value, or #G_TYPE_NONE for a signal + * returnType = the type of return value, or %G_TYPE_NONE for a signal * without a return value. * nParams = the number of parameter types in @args. * args = va_list of #GType, one for each parameter. @@ -666,7 +668,7 @@ public struct Signals * cMarshaller = the function to translate arrays of * parameter values to signal emissions into C language callback * invocations or %NULL - * returnType = the type of return value, or #G_TYPE_NONE for a signal + * returnType = the type of return value, or %G_TYPE_NONE for a signal * without a return value * paramTypes = an array of types, one for * each parameter (may be %NULL if @n_params is zero) diff --git a/generated/gtkd/gobject/Type.d b/source/generated/glib/gobject/Type.d similarity index 99% rename from generated/gtkd/gobject/Type.d rename to source/generated/glib/gobject/Type.d index 5d1ae270a..9d6375134 100644 --- a/generated/gtkd/gobject/Type.d +++ b/source/generated/glib/gobject/Type.d @@ -693,7 +693,7 @@ public struct Type * plugin = #GTypePlugin structure to retrieve the #GTypeInfo from * flags = bitwise combination of #GTypeFlags values * - * Returns: the new type identifier or #G_TYPE_INVALID if registration failed + * Returns: the new type identifier or %G_TYPE_INVALID if registration failed */ public static GType registerDynamic(GType parentType, string typeName, TypePluginIF plugin, GTypeFlags flags) { diff --git a/generated/gtkd/gobject/TypeClass.d b/source/generated/glib/gobject/TypeClass.d similarity index 98% rename from generated/gtkd/gobject/TypeClass.d rename to source/generated/glib/gobject/TypeClass.d index 4cec79495..4dd915a33 100644 --- a/generated/gtkd/gobject/TypeClass.d +++ b/source/generated/glib/gobject/TypeClass.d @@ -27,7 +27,7 @@ module gobject.TypeClass; private import gobject.ObjectG; private import gobject.c.functions; public import gobject.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -64,7 +64,7 @@ public class TypeClass ~this () { - if ( Linker.isLoaded(LIBRARY_GOBJECT) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GOBJECT[0]) && ownedRef ) g_type_class_unref(gTypeClass); } diff --git a/generated/gtkd/gobject/TypeInstance.d b/source/generated/glib/gobject/TypeInstance.d similarity index 100% rename from generated/gtkd/gobject/TypeInstance.d rename to source/generated/glib/gobject/TypeInstance.d diff --git a/generated/gtkd/gobject/TypeInterface.d b/source/generated/glib/gobject/TypeInterface.d similarity index 100% rename from generated/gtkd/gobject/TypeInterface.d rename to source/generated/glib/gobject/TypeInterface.d diff --git a/generated/gtkd/gobject/TypeModule.d b/source/generated/glib/gobject/TypeModule.d similarity index 96% rename from generated/gtkd/gobject/TypeModule.d rename to source/generated/glib/gobject/TypeModule.d index 6a9254bc8..52a72a4ed 100644 --- a/generated/gtkd/gobject/TypeModule.d +++ b/source/generated/glib/gobject/TypeModule.d @@ -34,16 +34,20 @@ public import gobject.c.types; /** * #GTypeModule provides a simple implementation of the #GTypePlugin - * interface. The model of #GTypeModule is a dynamically loaded module - * which implements some number of types and interface implementations. + * interface. + * + * The model of #GTypeModule is a dynamically loaded module which + * implements some number of types and interface implementations. + * * When the module is loaded, it registers its types and interfaces * using g_type_module_register_type() and g_type_module_add_interface(). * As long as any instances of these types and interface implementations * are in use, the module is kept loaded. When the types and interfaces * are gone, the module may be unloaded. If the types and interfaces * become used again, the module will be reloaded. Note that the last - * unref cannot happen in module code, since that would lead to the - * caller's code being unloaded before g_object_unref() returns to it. + * reference cannot be released from within the module code, since that + * would lead to the caller's code being unloaded before g_object_unref() + * returns to it. * * Keeping track of whether the module should be loaded or not is done by * using a use count - it starts at zero, and whenever it is greater than diff --git a/generated/gtkd/gobject/TypePluginIF.d b/source/generated/glib/gobject/TypePluginIF.d similarity index 97% rename from generated/gtkd/gobject/TypePluginIF.d rename to source/generated/glib/gobject/TypePluginIF.d index 3bf6019ca..ab1455e6b 100644 --- a/generated/gtkd/gobject/TypePluginIF.d +++ b/source/generated/glib/gobject/TypePluginIF.d @@ -29,9 +29,10 @@ public import gobject.c.types; /** + * An interface that handles the lifecycle of dynamically loaded types. + * * The GObject type system supports dynamic loading of types. - * The #GTypePlugin interface is used to handle the lifecycle - * of dynamically loaded types. It goes as follows: + * It goes as follows: * * 1. The type is initially introduced (usually upon loading the module * the first time, or by your main application that knows what modules diff --git a/generated/gtkd/gobject/TypePluginT.d b/source/generated/glib/gobject/TypePluginT.d similarity index 97% rename from generated/gtkd/gobject/TypePluginT.d rename to source/generated/glib/gobject/TypePluginT.d index 85e348832..f3bf643f3 100644 --- a/generated/gtkd/gobject/TypePluginT.d +++ b/source/generated/glib/gobject/TypePluginT.d @@ -29,9 +29,10 @@ public import gobject.c.types; /** + * An interface that handles the lifecycle of dynamically loaded types. + * * The GObject type system supports dynamic loading of types. - * The #GTypePlugin interface is used to handle the lifecycle - * of dynamically loaded types. It goes as follows: + * It goes as follows: * * 1. The type is initially introduced (usually upon loading the module * the first time, or by your main application that knows what modules diff --git a/generated/gtkd/gobject/TypeValueTable.d b/source/generated/glib/gobject/TypeValueTable.d similarity index 100% rename from generated/gtkd/gobject/TypeValueTable.d rename to source/generated/glib/gobject/TypeValueTable.d diff --git a/generated/gtkd/gobject/Value.d b/source/generated/glib/gobject/Value.d similarity index 99% rename from generated/gtkd/gobject/Value.d rename to source/generated/glib/gobject/Value.d index 05066f912..c3ab6603d 100644 --- a/generated/gtkd/gobject/Value.d +++ b/source/generated/glib/gobject/Value.d @@ -39,10 +39,12 @@ private import std.traits; /** * An opaque structure used to hold different types of values. + * * The data within the structure has protected scope: it is accessible only * to functions within a #GTypeValueTable structure, or implementations of * the g_value_*() API. That is, code portions which implement new fundamental * types. + * * #GValue users cannot make any assumptions about how data is stored * within the 2 element @data union, and the @g_type member should * only be accessed through the G_VALUE_TYPE() macro. @@ -911,6 +913,7 @@ public class Value /** * Set the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed. + * * The boxed value is assumed to be static, and is thus not duplicated * when setting the #GValue. * @@ -939,7 +942,7 @@ public class Value } /** - * Set the contents of a %G_TYPE_STRING #GValue to @v_string. + * Set the contents of a %G_TYPE_STRING #GValue to a copy of @v_string. * * Params: * vString = caller-owned string to be duplicated for the #GValue diff --git a/generated/gtkd/gobject/ValueArray.d b/source/generated/glib/gobject/ValueArray.d similarity index 98% rename from generated/gtkd/gobject/ValueArray.d rename to source/generated/glib/gobject/ValueArray.d index a2cec2d6f..4227ad8f1 100644 --- a/generated/gtkd/gobject/ValueArray.d +++ b/source/generated/glib/gobject/ValueArray.d @@ -29,7 +29,7 @@ private import gobject.ObjectG; private import gobject.Value; private import gobject.c.functions; public import gobject.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -66,7 +66,7 @@ public class ValueArray ~this () { - if ( Linker.isLoaded(LIBRARY_GOBJECT) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GOBJECT[0]) && ownedRef ) g_value_array_free(gValueArray); } diff --git a/generated/gtkd/gobject/WeakRef.d b/source/generated/glib/gobject/WeakRef.d similarity index 83% rename from generated/gtkd/gobject/WeakRef.d rename to source/generated/glib/gobject/WeakRef.d index 419400605..4020f221a 100644 --- a/generated/gtkd/gobject/WeakRef.d +++ b/source/generated/glib/gobject/WeakRef.d @@ -30,11 +30,12 @@ public import gobject.c.types; /** - * A structure containing a weak reference to a #GObject. It can either - * be empty (i.e. point to %NULL), or point to an object for as long as - * at least one "strong" reference to that object exists. Before the - * object's #GObjectClass.dispose method is called, every #GWeakRef - * associated with becomes empty (i.e. points to %NULL). + * A structure containing a weak reference to a #GObject. + * + * A `GWeakRef` can either be empty (i.e. point to %NULL), or point to an + * object for as long as at least one "strong" reference to that object + * exists. Before the object's #GObjectClass.dispose method is called, + * every #GWeakRef associated with becomes empty (i.e. points to %NULL). * * Like #GValue, #GWeakRef can be statically allocated, stack- or * heap-allocated, or embedded in larger structures. @@ -45,11 +46,14 @@ public import gobject.c.types; * objects. * * If the object's #GObjectClass.dispose method results in additional - * references to the object being held, any #GWeakRefs taken - * before it was disposed will continue to point to %NULL. If - * #GWeakRefs are taken after the object is disposed and - * re-referenced, they will continue to point to it until its refcount + * references to the object being held (‘re-referencing’), any #GWeakRefs taken + * before it was disposed will continue to point to %NULL. Any #GWeakRefs taken + * during disposal and after re-referencing, or after disposal has returned due + * to the re-referencing, will continue to point to the object until its refcount * goes back to zero, at which point they too will be invalidated. + * + * It is invalid to take a #GWeakRef on an object during #GObjectClass.dispose + * without first having or creating a strong reference to the object. */ public class WeakRef { diff --git a/generated/gtkd/gobject/c/functions.d b/source/generated/glib/gobject/c/functions.d similarity index 95% rename from generated/gtkd/gobject/c/functions.d rename to source/generated/glib/gobject/c/functions.d index 1aee0eec5..6fa1f4b17 100644 --- a/generated/gtkd/gobject/c/functions.d +++ b/source/generated/glib/gobject/c/functions.d @@ -26,7 +26,7 @@ module gobject.c.functions; import std.stdio; import gobject.c.types; -import gtkd.Loader; +import linker.Loader; version (Windows) static immutable LIBRARY_GOBJECT = ["libgobject-2.0-0.dll;gobject-2.0-0.dll;gobject-2.dll"]; @@ -49,6 +49,16 @@ shared static this() Linker.link(g_binding_get_target_property, "g_binding_get_target_property", LIBRARY_GOBJECT); Linker.link(g_binding_unbind, "g_binding_unbind", LIBRARY_GOBJECT); + // gobject.BindingGroup + + Linker.link(g_binding_group_get_type, "g_binding_group_get_type", LIBRARY_GOBJECT); + Linker.link(g_binding_group_new, "g_binding_group_new", LIBRARY_GOBJECT); + Linker.link(g_binding_group_bind, "g_binding_group_bind", LIBRARY_GOBJECT); + Linker.link(g_binding_group_bind_full, "g_binding_group_bind_full", LIBRARY_GOBJECT); + Linker.link(g_binding_group_bind_with_closures, "g_binding_group_bind_with_closures", LIBRARY_GOBJECT); + Linker.link(g_binding_group_dup_source, "g_binding_group_dup_source", LIBRARY_GOBJECT); + Linker.link(g_binding_group_set_source, "g_binding_group_set_source", LIBRARY_GOBJECT); + // gobject.CClosure Linker.link(g_cclosure_marshal_BOOLEAN__BOXED_BOXED, "g_cclosure_marshal_BOOLEAN__BOXED_BOXED", LIBRARY_GOBJECT); @@ -170,6 +180,7 @@ shared static this() Linker.link(g_object_setv, "g_object_setv", LIBRARY_GOBJECT); Linker.link(g_object_steal_data, "g_object_steal_data", LIBRARY_GOBJECT); Linker.link(g_object_steal_qdata, "g_object_steal_qdata", LIBRARY_GOBJECT); + Linker.link(g_object_take_ref, "g_object_take_ref", LIBRARY_GOBJECT); Linker.link(g_object_thaw_notify, "g_object_thaw_notify", LIBRARY_GOBJECT); Linker.link(g_object_unref, "g_object_unref", LIBRARY_GOBJECT); Linker.link(g_object_watch_closure, "g_object_watch_closure", LIBRARY_GOBJECT); @@ -219,6 +230,20 @@ shared static this() Linker.link(g_param_spec_pool_remove, "g_param_spec_pool_remove", LIBRARY_GOBJECT); Linker.link(g_param_spec_pool_new, "g_param_spec_pool_new", LIBRARY_GOBJECT); + // gobject.SignalGroup + + Linker.link(g_signal_group_get_type, "g_signal_group_get_type", LIBRARY_GOBJECT); + Linker.link(g_signal_group_new, "g_signal_group_new", LIBRARY_GOBJECT); + Linker.link(g_signal_group_block, "g_signal_group_block", LIBRARY_GOBJECT); + Linker.link(g_signal_group_connect, "g_signal_group_connect", LIBRARY_GOBJECT); + Linker.link(g_signal_group_connect_after, "g_signal_group_connect_after", LIBRARY_GOBJECT); + Linker.link(g_signal_group_connect_data, "g_signal_group_connect_data", LIBRARY_GOBJECT); + Linker.link(g_signal_group_connect_object, "g_signal_group_connect_object", LIBRARY_GOBJECT); + Linker.link(g_signal_group_connect_swapped, "g_signal_group_connect_swapped", LIBRARY_GOBJECT); + Linker.link(g_signal_group_dup_target, "g_signal_group_dup_target", LIBRARY_GOBJECT); + Linker.link(g_signal_group_set_target, "g_signal_group_set_target", LIBRARY_GOBJECT); + Linker.link(g_signal_group_unblock, "g_signal_group_unblock", LIBRARY_GOBJECT); + // gobject.TypeClass Linker.link(g_type_class_add_private, "g_type_class_add_private", LIBRARY_GOBJECT); @@ -525,6 +550,16 @@ __gshared extern(C) const(char)* function(GBinding* binding) c_g_binding_get_target_property; void function(GBinding* binding) c_g_binding_unbind; + // gobject.BindingGroup + + GType function() c_g_binding_group_get_type; + GBindingGroup* function() c_g_binding_group_new; + void function(GBindingGroup* self, const(char)* sourceProperty, void* target, const(char)* targetProperty, GBindingFlags flags) c_g_binding_group_bind; + void function(GBindingGroup* self, const(char)* sourceProperty, void* target, const(char)* targetProperty, GBindingFlags flags, GBindingTransformFunc transformTo, GBindingTransformFunc transformFrom, void* userData, GDestroyNotify userDataDestroy) c_g_binding_group_bind_full; + void function(GBindingGroup* self, const(char)* sourceProperty, void* target, const(char)* targetProperty, GBindingFlags flags, GClosure* transformTo, GClosure* transformFrom) c_g_binding_group_bind_with_closures; + void* function(GBindingGroup* self) c_g_binding_group_dup_source; + void function(GBindingGroup* self, void* source) c_g_binding_group_set_source; + // gobject.CClosure void function(GClosure* closure, GValue* returnValue, uint nParamValues, GValue* paramValues, void* invocationHint, void* marshalData) c_g_cclosure_marshal_BOOLEAN__BOXED_BOXED; @@ -646,6 +681,7 @@ __gshared extern(C) void function(GObject* object, uint nProperties, char** names, GValue* values) c_g_object_setv; void* function(GObject* object, const(char)* key) c_g_object_steal_data; void* function(GObject* object, GQuark quark) c_g_object_steal_qdata; + void* function(void* object) c_g_object_take_ref; void function(GObject* object) c_g_object_thaw_notify; void function(void* object) c_g_object_unref; void function(GObject* object, GClosure* closure) c_g_object_watch_closure; @@ -695,6 +731,20 @@ __gshared extern(C) void function(GParamSpecPool* pool, GParamSpec* pspec) c_g_param_spec_pool_remove; GParamSpecPool* function(int typePrefixing) c_g_param_spec_pool_new; + // gobject.SignalGroup + + GType function() c_g_signal_group_get_type; + GSignalGroup* function(GType targetType) c_g_signal_group_new; + void function(GSignalGroup* self) c_g_signal_group_block; + void function(GSignalGroup* self, const(char)* detailedSignal, GCallback cHandler, void* data) c_g_signal_group_connect; + void function(GSignalGroup* self, const(char)* detailedSignal, GCallback cHandler, void* data) c_g_signal_group_connect_after; + void function(GSignalGroup* self, const(char)* detailedSignal, GCallback cHandler, void* data, GClosureNotify notify, GConnectFlags flags) c_g_signal_group_connect_data; + void function(GSignalGroup* self, const(char)* detailedSignal, GCallback cHandler, void* object, GConnectFlags flags) c_g_signal_group_connect_object; + void function(GSignalGroup* self, const(char)* detailedSignal, GCallback cHandler, void* data) c_g_signal_group_connect_swapped; + void* function(GSignalGroup* self) c_g_signal_group_dup_target; + void function(GSignalGroup* self, void* target) c_g_signal_group_set_target; + void function(GSignalGroup* self) c_g_signal_group_unblock; + // gobject.TypeClass void function(void* gClass, size_t privateSize) c_g_type_class_add_private; @@ -999,6 +1049,16 @@ alias c_g_binding_get_target g_binding_get_target; alias c_g_binding_get_target_property g_binding_get_target_property; alias c_g_binding_unbind g_binding_unbind; +// gobject.BindingGroup + +alias c_g_binding_group_get_type g_binding_group_get_type; +alias c_g_binding_group_new g_binding_group_new; +alias c_g_binding_group_bind g_binding_group_bind; +alias c_g_binding_group_bind_full g_binding_group_bind_full; +alias c_g_binding_group_bind_with_closures g_binding_group_bind_with_closures; +alias c_g_binding_group_dup_source g_binding_group_dup_source; +alias c_g_binding_group_set_source g_binding_group_set_source; + // gobject.CClosure alias c_g_cclosure_marshal_BOOLEAN__BOXED_BOXED g_cclosure_marshal_BOOLEAN__BOXED_BOXED; @@ -1120,6 +1180,7 @@ alias c_g_object_set_valist g_object_set_valist; alias c_g_object_setv g_object_setv; alias c_g_object_steal_data g_object_steal_data; alias c_g_object_steal_qdata g_object_steal_qdata; +alias c_g_object_take_ref g_object_take_ref; alias c_g_object_thaw_notify g_object_thaw_notify; alias c_g_object_unref g_object_unref; alias c_g_object_watch_closure g_object_watch_closure; @@ -1169,6 +1230,20 @@ alias c_g_param_spec_pool_lookup g_param_spec_pool_lookup; alias c_g_param_spec_pool_remove g_param_spec_pool_remove; alias c_g_param_spec_pool_new g_param_spec_pool_new; +// gobject.SignalGroup + +alias c_g_signal_group_get_type g_signal_group_get_type; +alias c_g_signal_group_new g_signal_group_new; +alias c_g_signal_group_block g_signal_group_block; +alias c_g_signal_group_connect g_signal_group_connect; +alias c_g_signal_group_connect_after g_signal_group_connect_after; +alias c_g_signal_group_connect_data g_signal_group_connect_data; +alias c_g_signal_group_connect_object g_signal_group_connect_object; +alias c_g_signal_group_connect_swapped g_signal_group_connect_swapped; +alias c_g_signal_group_dup_target g_signal_group_dup_target; +alias c_g_signal_group_set_target g_signal_group_set_target; +alias c_g_signal_group_unblock g_signal_group_unblock; + // gobject.TypeClass alias c_g_type_class_add_private g_type_class_add_private; diff --git a/generated/gtkd/gobject/c/types.d b/source/generated/glib/gobject/c/types.d similarity index 93% rename from generated/gtkd/gobject/c/types.d rename to source/generated/glib/gobject/c/types.d index 61b495778..4f50f6792 100644 --- a/generated/gtkd/gobject/c/types.d +++ b/source/generated/glib/gobject/c/types.d @@ -30,9 +30,11 @@ public import glib.c.types; /** * This is the signature of marshaller functions, required to marshall * arrays of parameter values to signal emissions into C language callback - * invocations. It is merely an alias to #GClosureMarshal since the #GClosure - * mechanism takes over responsibility of actual function invocation for the - * signal system. + * invocations. + * + * It is merely an alias to #GClosureMarshal since the #GClosure mechanism + * takes over responsibility of actual function invocation for the signal + * system. */ public alias GClosureMarshal GSignalCMarshaller; @@ -131,7 +133,9 @@ alias GConnectFlags ConnectFlags; /** * Through the #GParamFlags flag values, certain aspects of parameters - * can be configured. See also #G_PARAM_STATIC_STRINGS. + * can be configured. + * + * See also: %G_PARAM_STATIC_STRINGS */ public enum GParamFlags : uint { @@ -203,9 +207,7 @@ public enum GParamFlags : uint alias GParamFlags ParamFlags; /** - * The signal flags are used to specify a signal's behaviour, the overall - * signal description outlines how especially the RUN flags control the - * stages of a signal emission. + * The signal flags are used to specify a signal's behaviour. */ public enum GSignalFlags { @@ -349,6 +351,11 @@ public enum GTypeFlags * g_value_init() */ VALUE_ABSTRACT = 32, + /** + * Indicates a final type. A final type is a non-derivable + * leaf node in a deep derivable type hierarchy tree. Since: 2.70 + */ + FINAL = 64, } alias GTypeFlags TypeFlags; @@ -379,6 +386,8 @@ alias GTypeFundamentalFlags TypeFundamentalFlags; struct GBinding; +struct GBindingGroup; + /** * A #GCClosure is a specialization of #GClosure for C function callbacks. */ @@ -570,9 +579,8 @@ struct GObjectClass } /** - * The GObjectConstructParam struct is an auxiliary - * structure used to hand #GParamSpec/#GValue pairs to the @constructor of - * a #GObjectClass. + * The GObjectConstructParam struct is an auxiliary structure used to hand + * #GParamSpec/#GValue pairs to the @constructor of a #GObjectClass. */ struct GObjectConstructParam { @@ -901,6 +909,7 @@ struct GParamSpecString * This structure is used to provide the type system with the information * required to initialize and destruct (finalize) a parameter's class and * instances thereof. + * * The initialized structure is passed to the g_param_type_register_static() * The type system will perform a deep copy of this structure, so its memory * does not need to be persistent across invocation of @@ -1075,6 +1084,8 @@ struct GParameter GValue value; } +struct GSignalGroup; + /** * The #GSignalInvocationHint structure is used to pass on additional information * to callbacks during a signal emission. @@ -1100,8 +1111,9 @@ struct GSignalInvocationHint } /** - * A structure holding in-depth information for a specific signal. It is - * filled in by the g_signal_query() function. + * A structure holding in-depth information for a specific signal. + * + * See also: g_signal_query() */ struct GSignalQuery { @@ -1309,7 +1321,8 @@ struct GTypePluginClass /** * A structure holding information for a specific type. - * It is filled in by the g_type_query() function. + * + * See also: g_type_query() */ struct GTypeQuery { @@ -1419,8 +1432,11 @@ struct _Value__data__union /** * A callback function used by the type system to finalize those portions * of a derived types class structure that were setup from the corresponding - * GBaseInitFunc() function. Class finalization basically works the inverse - * way in which class initialization is performed. + * GBaseInitFunc() function. + * + * Class finalization basically works the inverse way in which class + * initialization is performed. + * * See GClassInitFunc() for a discussion of the class initialization process. * * Params: @@ -1430,9 +1446,12 @@ public alias extern(C) void function(void* gClass) GBaseFinalizeFunc; /** * A callback function used by the type system to do base initialization - * of the class structures of derived types. It is called as part of the - * initialization process of all derived classes and should reallocate - * or reset all dynamic class members copied over from the parent class. + * of the class structures of derived types. + * + * This function is called as part of the initialization process of all derived + * classes and should reallocate or reset all dynamic class members copied over + * from the parent class. + * * For example, class members (such as strings) that are not sufficiently * handled by a plain memory copy of the parent class into the derived class * have to be altered. See GClassInitFunc() for a discussion of the class @@ -1444,8 +1463,9 @@ public alias extern(C) void function(void* gClass) GBaseFinalizeFunc; public alias extern(C) void function(void* gClass) GBaseInitFunc; /** - * A function to be called to transform @from_value to @to_value. If - * this is the @transform_to function of a binding, then @from_value + * A function to be called to transform @from_value to @to_value. + * + * If this is the @transform_to function of a binding, then @from_value * is the @source_property on the @source object, and @to_value is the * @target_property on the @target object. If this is the * @transform_from function of a %G_BINDING_BIDIRECTIONAL binding, @@ -1486,17 +1506,22 @@ public alias extern(C) void function(void* boxed) GBoxedFreeFunc; /** * The type used for callback functions in structure definitions and function - * signatures. This doesn't mean that all callback functions must take no - * parameters and return void. The required signature of a callback function - * is determined by the context in which is used (e.g. the signal to which it - * is connected). Use G_CALLBACK() to cast the callback function to a #GCallback. + * signatures. + * + * This doesn't mean that all callback functions must take no parameters and + * return void. The required signature of a callback function is determined by + * the context in which is used (e.g. the signal to which it is connected). + * + * Use G_CALLBACK() to cast the callback function to a #GCallback. */ public alias extern(C) void function() GCallback; /** * A callback function used by the type system to finalize a class. + * * This function is rarely needed, as dynamically allocated class resources * should be handled by GBaseInitFunc() and GBaseFinalizeFunc(). + * * Also, specification of a GClassFinalizeFunc() in the #GTypeInfo * structure of a static type is invalid, because classes of static types * will never be finalized (they are artificially kept alive when their @@ -1510,8 +1535,9 @@ public alias extern(C) void function(void* gClass, void* classData) GClassFinali /** * A callback function used by the type system to initialize the class - * of a specific type. This function should initialize all static class - * members. + * of a specific type. + * + * This function should initialize all static class members. * * The initialization process of a class involves: * @@ -1580,6 +1606,7 @@ public alias extern(C) void function(void* gClass, void* classData) GClassFinali * class->static_float = 3.14159265358979323846; * } * ]| + * * Initialization of TypeBClass will first cause initialization of * TypeAClass (derived classes reference their parent classes, see * g_type_class_ref() on this). @@ -1643,8 +1670,10 @@ public alias extern(C) void function(void* data, GClosure* closure) GClosureNoti /** * A callback function used by the type system to initialize a new - * instance of a type. This function initializes all instance members and - * allocates any resources required by it. + * instance of a type. + * + * This function initializes all instance members and allocates any resources + * required by it. * * Initialization of a derived instance involves calling all its parent * types instance initializers, so the class member of the instance @@ -1663,6 +1692,7 @@ public alias extern(C) void function(GTypeInstance* instance_, void* gClass) GIn /** * A callback function used by the type system to finalize an interface. + * * This function should destroy any internal data and release any resources * allocated by the corresponding GInterfaceInitFunc() function. * @@ -1674,8 +1704,10 @@ public alias extern(C) void function(void* gIface, void* ifaceData) GInterfaceFi /** * A callback function used by the type system to initialize a new - * interface. This function should initialize all internal data and - * allocate any resources required by the interface. + * interface. + * + * This function should initialize all internal data and* allocate any + * resources required by the interface. * * The members of @iface_data are guaranteed to have been filled with * zeros before this function is called. @@ -1721,10 +1753,12 @@ public alias extern(C) void function(GObject* object, uint propertyId, GValue* v /** * The signal accumulator is a special callback function that can be used * to collect return values of the various callbacks that are called - * during a signal emission. The signal accumulator is specified at signal - * creation time, if it is left %NULL, no accumulation of callback return - * values is performed. The return value of signal emissions is then the - * value returned by the last callback. + * during a signal emission. + * + * The signal accumulator is specified at signal creation time, if it is + * left %NULL, no accumulation of callback return values is performed. + * The return value of signal emissions is then the value returned by the + * last callback. * * Params: * ihint = Signal invocation hint, see #GSignalInvocationHint. @@ -1734,17 +1768,21 @@ public alias extern(C) void function(GObject* object, uint propertyId, GValue* v * data = Callback data that was specified when creating the signal. * * Returns: The accumulator function returns whether the signal emission - * should be aborted. Returning %FALSE means to abort the - * current emission and %TRUE is returned for continuation. + * should be aborted. Returning %TRUE will continue with + * the signal emission. Returning %FALSE will abort the current emission. + * Since 2.62, returning %FALSE will skip to the CLEANUP stage. In this case, + * emission will occur as normal in the CLEANUP stage and the handler's + * return value will be accumulated. */ public alias extern(C) int function(GSignalInvocationHint* ihint, GValue* returnAccu, GValue* handlerReturn, void* data) GSignalAccumulator; /** - * A simple function pointer to get invoked when the signal is emitted. This - * allows you to tie a hook to the signal type, so that it will trap all - * emissions of that signal, from any object. + * A simple function pointer to get invoked when the signal is emitted. + * + * Emission hooks allow you to tie a hook to the signal type, so that it will + * trap all emissions of that signal, from any object. * - * You may not attach these to signals created with the #G_SIGNAL_NO_HOOKS flag. + * You may not attach these to signals created with the %G_SIGNAL_NO_HOOKS flag. * * Params: * ihint = Signal invocation hint, see #GSignalInvocationHint. @@ -1761,7 +1799,9 @@ public alias extern(C) int function(GSignalInvocationHint* ihint, uint nParamVal /** * A callback function used for notification when the state - * of a toggle reference changes. See g_object_add_toggle_ref(). + * of a toggle reference changes. + * + * See also: g_object_add_toggle_ref() * * Params: * data = Callback data passed to g_object_add_toggle_ref() @@ -1775,10 +1815,11 @@ public alias extern(C) void function(void* data, GObject* object, int isLastRef) /** * A callback function which is called when the reference count of a class - * drops to zero. It may use g_type_class_ref() to prevent the class from - * being freed. You should not call g_type_class_unref() from a - * #GTypeClassCacheFunc function to prevent infinite recursion, use - * g_type_class_unref_uncached() instead. + * drops to zero. + * + * It may use g_type_class_ref() to prevent the class from being freed. You + * should not call g_type_class_unref() from a #GTypeClassCacheFunc function + * to prevent infinite recursion, use g_type_class_unref_uncached() instead. * * The functions have to check the class id passed in to figure * whether they actually want to cache the class of this type, since all @@ -1796,6 +1837,7 @@ public alias extern(C) int function(void* cacheData, GTypeClass* gClass) GTypeCl /** * A callback called after an interface vtable is initialized. + * * See g_type_add_interface_check(). * * Params: @@ -1883,9 +1925,16 @@ public alias extern(C) void function(GValue* srcValue, GValue* destValue) GValue /** * A #GWeakNotify function can be added to an object as a callback that gets - * triggered when the object is finalized. Since the object is already being - * disposed when the #GWeakNotify is called, there's not much you could do - * with the object, apart from e.g. using its address as hash-index or the like. + * triggered when the object is finalized. + * + * Since the object is already being disposed when the #GWeakNotify is called, + * there's not much you could do with the object, apart from e.g. using its + * address as hash-index or the like. + * + * In particular, this means it’s invalid to call g_object_ref(), + * g_weak_ref_init(), g_weak_ref_set(), g_object_add_toggle_ref(), + * g_object_weak_ref(), g_object_add_weak_pointer() or any function which calls + * them on the object from this callback. * * Params: * data = data that was provided when the weak reference was established diff --git a/generated/gtkd/gthread/Cond.d b/source/generated/glib/gthread/Cond.d similarity index 100% rename from generated/gtkd/gthread/Cond.d rename to source/generated/glib/gthread/Cond.d diff --git a/generated/gtkd/gthread/Mutex.d b/source/generated/glib/gthread/Mutex.d similarity index 100% rename from generated/gtkd/gthread/Mutex.d rename to source/generated/glib/gthread/Mutex.d diff --git a/generated/gtkd/gthread/Once.d b/source/generated/glib/gthread/Once.d similarity index 100% rename from generated/gtkd/gthread/Once.d rename to source/generated/glib/gthread/Once.d diff --git a/generated/gtkd/gthread/Private.d b/source/generated/glib/gthread/Private.d similarity index 100% rename from generated/gtkd/gthread/Private.d rename to source/generated/glib/gthread/Private.d diff --git a/generated/gtkd/gthread/RWLock.d b/source/generated/glib/gthread/RWLock.d similarity index 100% rename from generated/gtkd/gthread/RWLock.d rename to source/generated/glib/gthread/RWLock.d diff --git a/generated/gtkd/gthread/RecMutex.d b/source/generated/glib/gthread/RecMutex.d similarity index 100% rename from generated/gtkd/gthread/RecMutex.d rename to source/generated/glib/gthread/RecMutex.d diff --git a/generated/gtkd/gthread/Thread.d b/source/generated/glib/gthread/Thread.d similarity index 100% rename from generated/gtkd/gthread/Thread.d rename to source/generated/glib/gthread/Thread.d diff --git a/generated/gtkd/gthread/c/functions.d b/source/generated/glib/gthread/c/functions.d similarity index 98% rename from generated/gtkd/gthread/c/functions.d rename to source/generated/glib/gthread/c/functions.d index 6bb5002bb..a3389ee38 100644 --- a/generated/gtkd/gthread/c/functions.d +++ b/source/generated/glib/gthread/c/functions.d @@ -26,7 +26,7 @@ module gthread.c.functions; import std.stdio; import gthread.c.types; -import gtkd.Loader; +import linker.Loader; version (Windows) static immutable LIBRARY_GTHREAD = []; diff --git a/generated/gtkd/gthread/c/types.d b/source/generated/glib/gthread/c/types.d similarity index 100% rename from generated/gtkd/gthread/c/types.d rename to source/generated/glib/gthread/c/types.d diff --git a/generated/gtkd/graphene/Box.d b/source/generated/graphene/graphene/Box.d similarity index 99% rename from generated/gtkd/graphene/Box.d rename to source/generated/graphene/graphene/Box.d index 50ddf1056..8cb0eba7f 100644 --- a/generated/gtkd/graphene/Box.d +++ b/source/generated/graphene/graphene/Box.d @@ -32,7 +32,7 @@ private import graphene.Sphere; private import graphene.Vec3; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -72,7 +72,7 @@ public class Box ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_box_free(graphene_box); } diff --git a/generated/gtkd/graphene/Euler.d b/source/generated/graphene/graphene/Euler.d similarity index 99% rename from generated/gtkd/graphene/Euler.d rename to source/generated/graphene/graphene/Euler.d index 4ce985d46..051d1660b 100644 --- a/generated/gtkd/graphene/Euler.d +++ b/source/generated/graphene/graphene/Euler.d @@ -32,7 +32,7 @@ private import graphene.Quaternion; private import graphene.Vec3; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -74,7 +74,7 @@ public class Euler ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_euler_free(graphene_euler); } diff --git a/generated/gtkd/graphene/Frustum.d b/source/generated/graphene/graphene/Frustum.d similarity index 98% rename from generated/gtkd/graphene/Frustum.d rename to source/generated/graphene/graphene/Frustum.d index 657c200ec..69d9bb55d 100644 --- a/generated/gtkd/graphene/Frustum.d +++ b/source/generated/graphene/graphene/Frustum.d @@ -34,7 +34,7 @@ private import graphene.Point3D; private import graphene.Sphere; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -76,7 +76,7 @@ public class Frustum ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_frustum_free(graphene_frustum); } diff --git a/generated/gtkd/graphene/Matrix.d b/source/generated/graphene/graphene/Matrix.d similarity index 99% rename from generated/gtkd/graphene/Matrix.d rename to source/generated/graphene/graphene/Matrix.d index 480b06504..4e79c6362 100644 --- a/generated/gtkd/graphene/Matrix.d +++ b/source/generated/graphene/graphene/Matrix.d @@ -40,7 +40,7 @@ private import graphene.Vec3; private import graphene.Vec4; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -80,7 +80,7 @@ public class Matrix ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_matrix_free(graphene_matrix); } @@ -119,7 +119,7 @@ public class Matrix * [CSS3 Transforms specification](http://dev.w3.org/csswg/css-transforms/); * specifically, the decomposition code is based on the equivalent code * published in "Graphics Gems II", edited by Jim Arvo, and - * [available online](http://tog.acm.org/resources/GraphicsGems/gemsii/unmatrix.c). + * [available online](http://web.archive.org/web/20150512160205/http://tog.acm.org/resources/GraphicsGems/gemsii/unmatrix.c). * * Params: * translate = the translation vector diff --git a/generated/gtkd/graphene/Plane.d b/source/generated/graphene/graphene/Plane.d similarity index 99% rename from generated/gtkd/graphene/Plane.d rename to source/generated/graphene/graphene/Plane.d index 99c0cee6b..2df9ad1f9 100644 --- a/generated/gtkd/graphene/Plane.d +++ b/source/generated/graphene/graphene/Plane.d @@ -33,7 +33,7 @@ private import graphene.Vec3; private import graphene.Vec4; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -75,7 +75,7 @@ public class Plane ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_plane_free(graphene_plane); } diff --git a/generated/gtkd/graphene/Point.d b/source/generated/graphene/graphene/Point.d similarity index 98% rename from generated/gtkd/graphene/Point.d rename to source/generated/graphene/graphene/Point.d index b7b98335c..d5a00c245 100644 --- a/generated/gtkd/graphene/Point.d +++ b/source/generated/graphene/graphene/Point.d @@ -30,7 +30,7 @@ private import gobject.ObjectG; private import graphene.Vec2; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -69,7 +69,7 @@ public final class Point ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_point_free(graphene_point); } diff --git a/generated/gtkd/graphene/Point3D.d b/source/generated/graphene/graphene/Point3D.d similarity index 99% rename from generated/gtkd/graphene/Point3D.d rename to source/generated/graphene/graphene/Point3D.d index dc8adada3..863cc8fd3 100644 --- a/generated/gtkd/graphene/Point3D.d +++ b/source/generated/graphene/graphene/Point3D.d @@ -31,7 +31,7 @@ private import graphene.Rect; private import graphene.Vec3; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -70,7 +70,7 @@ public final class Point3D ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_point3d_free(graphene_point3d); } diff --git a/generated/gtkd/graphene/Quad.d b/source/generated/graphene/graphene/Quad.d similarity index 98% rename from generated/gtkd/graphene/Quad.d rename to source/generated/graphene/graphene/Quad.d index d22d27fcb..7771307a3 100644 --- a/generated/gtkd/graphene/Quad.d +++ b/source/generated/graphene/graphene/Quad.d @@ -31,7 +31,7 @@ private import graphene.Point; private import graphene.Rect; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -73,7 +73,7 @@ public class Quad ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_quad_free(graphene_quad); } diff --git a/generated/gtkd/graphene/Quaternion.d b/source/generated/graphene/graphene/Quaternion.d similarity index 99% rename from generated/gtkd/graphene/Quaternion.d rename to source/generated/graphene/graphene/Quaternion.d index 86bf89f16..56cc384c4 100644 --- a/generated/gtkd/graphene/Quaternion.d +++ b/source/generated/graphene/graphene/Quaternion.d @@ -33,7 +33,7 @@ private import graphene.Vec3; private import graphene.Vec4; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -75,7 +75,7 @@ public class Quaternion ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_quaternion_free(graphene_quaternion); } diff --git a/generated/gtkd/graphene/Ray.d b/source/generated/graphene/graphene/Ray.d similarity index 99% rename from generated/gtkd/graphene/Ray.d rename to source/generated/graphene/graphene/Ray.d index fa7b75e66..df8e26cf7 100644 --- a/generated/gtkd/graphene/Ray.d +++ b/source/generated/graphene/graphene/Ray.d @@ -35,7 +35,7 @@ private import graphene.Triangle; private import graphene.Vec3; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -77,7 +77,7 @@ public class Ray ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_ray_free(graphene_ray); } diff --git a/generated/gtkd/graphene/Rect.d b/source/generated/graphene/graphene/Rect.d similarity index 99% rename from generated/gtkd/graphene/Rect.d rename to source/generated/graphene/graphene/Rect.d index 1602d92f2..42e095bf1 100644 --- a/generated/gtkd/graphene/Rect.d +++ b/source/generated/graphene/graphene/Rect.d @@ -30,7 +30,7 @@ private import graphene.Point; private import graphene.Vec2; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -80,7 +80,7 @@ public class Rect ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_rect_free(graphene_rect); } diff --git a/generated/gtkd/graphene/Size.d b/source/generated/graphene/graphene/Size.d similarity index 98% rename from generated/gtkd/graphene/Size.d rename to source/generated/graphene/graphene/Size.d index 107c209b6..ab40484c5 100644 --- a/generated/gtkd/graphene/Size.d +++ b/source/generated/graphene/graphene/Size.d @@ -29,7 +29,7 @@ private import glib.MemorySlice; private import gobject.ObjectG; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -68,7 +68,7 @@ public final class Size ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_size_free(graphene_size); } diff --git a/generated/gtkd/graphene/Sphere.d b/source/generated/graphene/graphene/Sphere.d similarity index 98% rename from generated/gtkd/graphene/Sphere.d rename to source/generated/graphene/graphene/Sphere.d index 35b6d10e3..560f598a7 100644 --- a/generated/gtkd/graphene/Sphere.d +++ b/source/generated/graphene/graphene/Sphere.d @@ -32,7 +32,7 @@ private import graphene.Point3D; private import graphene.Vec3; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -71,7 +71,7 @@ public class Sphere ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_sphere_free(graphene_sphere); } diff --git a/generated/gtkd/graphene/Triangle.d b/source/generated/graphene/graphene/Triangle.d similarity index 99% rename from generated/gtkd/graphene/Triangle.d rename to source/generated/graphene/graphene/Triangle.d index ab1e13667..85652c2bf 100644 --- a/generated/gtkd/graphene/Triangle.d +++ b/source/generated/graphene/graphene/Triangle.d @@ -34,7 +34,7 @@ private import graphene.Vec2; private import graphene.Vec3; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -73,7 +73,7 @@ public class Triangle ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_triangle_free(graphene_triangle); } diff --git a/generated/gtkd/graphene/Vec2.d b/source/generated/graphene/graphene/Vec2.d similarity index 99% rename from generated/gtkd/graphene/Vec2.d rename to source/generated/graphene/graphene/Vec2.d index 522727b1b..fd76158ad 100644 --- a/generated/gtkd/graphene/Vec2.d +++ b/source/generated/graphene/graphene/Vec2.d @@ -29,7 +29,7 @@ private import glib.MemorySlice; private import gobject.ObjectG; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -69,7 +69,7 @@ public class Vec2 ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_vec2_free(graphene_vec2); } diff --git a/generated/gtkd/graphene/Vec3.d b/source/generated/graphene/graphene/Vec3.d similarity index 99% rename from generated/gtkd/graphene/Vec3.d rename to source/generated/graphene/graphene/Vec3.d index 8e6c24697..5c8583ee2 100644 --- a/generated/gtkd/graphene/Vec3.d +++ b/source/generated/graphene/graphene/Vec3.d @@ -31,7 +31,7 @@ private import graphene.Vec2; private import graphene.Vec4; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -71,7 +71,7 @@ public class Vec3 ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_vec3_free(graphene_vec3); } diff --git a/generated/gtkd/graphene/Vec4.d b/source/generated/graphene/graphene/Vec4.d similarity index 99% rename from generated/gtkd/graphene/Vec4.d rename to source/generated/graphene/graphene/Vec4.d index 1a0c855ae..ad2876954 100644 --- a/generated/gtkd/graphene/Vec4.d +++ b/source/generated/graphene/graphene/Vec4.d @@ -31,7 +31,7 @@ private import graphene.Vec2; private import graphene.Vec3; private import graphene.c.functions; public import graphene.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -71,7 +71,7 @@ public class Vec4 ~this () { - if ( Linker.isLoaded(LIBRARY_GRAPHENE) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GRAPHENE[0]) && ownedRef ) graphene_vec4_free(graphene_vec4); } diff --git a/generated/gtkd/graphene/c/functions.d b/source/generated/graphene/graphene/c/functions.d similarity index 99% rename from generated/gtkd/graphene/c/functions.d rename to source/generated/graphene/graphene/c/functions.d index a2ca6b405..5eaa99504 100644 --- a/generated/gtkd/graphene/c/functions.d +++ b/source/generated/graphene/graphene/c/functions.d @@ -26,7 +26,7 @@ module graphene.c.functions; import std.stdio; import graphene.c.types; -import gtkd.Loader; +import linker.Loader; version (Windows) static immutable LIBRARY_GRAPHENE = ["libgraphene-1.0-0.dll;graphene-1.0-0.dll;graphene-1.dll"]; diff --git a/generated/gtkd/graphene/c/types.d b/source/generated/graphene/graphene/c/types.d similarity index 100% rename from generated/gtkd/graphene/c/types.d rename to source/generated/graphene/graphene/c/types.d diff --git a/generated/gtkd/gsk/BlendNode.d b/source/generated/gsk/gsk/BlendNode.d similarity index 100% rename from generated/gtkd/gsk/BlendNode.d rename to source/generated/gsk/gsk/BlendNode.d diff --git a/generated/gtkd/gsk/BlurNode.d b/source/generated/gsk/gsk/BlurNode.d similarity index 98% rename from generated/gtkd/gsk/BlurNode.d rename to source/generated/gsk/gsk/BlurNode.d index 5ee4e14e5..678688ccd 100644 --- a/generated/gtkd/gsk/BlurNode.d +++ b/source/generated/gsk/gsk/BlurNode.d @@ -74,7 +74,7 @@ public class BlurNode : RenderNode * * Params: * child = the child node to blur - * radius = the blur radius + * radius = the blur radius. Must be positive * * Returns: a new `GskRenderNode` * diff --git a/generated/gtkd/gsk/BorderNode.d b/source/generated/gsk/gsk/BorderNode.d similarity index 97% rename from generated/gtkd/gsk/BorderNode.d rename to source/generated/gsk/gsk/BorderNode.d index 83a725b26..d9d5456c8 100644 --- a/generated/gtkd/gsk/BorderNode.d +++ b/source/generated/gsk/gsk/BorderNode.d @@ -78,7 +78,7 @@ public class BorderNode : RenderNode * The 4 sides of the border can have different widths and colors. * * Params: - * outline = a #GskRoundedRect describing the outline of the border + * outline = a `GskRoundedRect` describing the outline of the border * borderWidth = the stroke width of the border on * the top, right, bottom and left side respectively. * borderColor = the color used on the top, right, @@ -109,7 +109,7 @@ public class BorderNode : RenderNode /** * Retrieves the colors of the border. * - * Returns: an array of 4 #GdkRGBA structs + * Returns: an array of 4 `GdkRGBA` structs * for the top, right, bottom and left color of the border */ public RGBA getColors() diff --git a/generated/gtkd/gsk/BroadwayRenderer.d b/source/generated/gsk/gsk/BroadwayRenderer.d similarity index 100% rename from generated/gtkd/gsk/BroadwayRenderer.d rename to source/generated/gsk/gsk/BroadwayRenderer.d diff --git a/generated/gtkd/gsk/CairoNode.d b/source/generated/gsk/gsk/CairoNode.d similarity index 100% rename from generated/gtkd/gsk/CairoNode.d rename to source/generated/gsk/gsk/CairoNode.d diff --git a/generated/gtkd/gsk/CairoRenderer.d b/source/generated/gsk/gsk/CairoRenderer.d similarity index 100% rename from generated/gtkd/gsk/CairoRenderer.d rename to source/generated/gsk/gsk/CairoRenderer.d diff --git a/generated/gtkd/gsk/ClipNode.d b/source/generated/gsk/gsk/ClipNode.d similarity index 100% rename from generated/gtkd/gsk/ClipNode.d rename to source/generated/gsk/gsk/ClipNode.d diff --git a/generated/gtkd/gsk/ColorMatrixNode.d b/source/generated/gsk/gsk/ColorMatrixNode.d similarity index 100% rename from generated/gtkd/gsk/ColorMatrixNode.d rename to source/generated/gsk/gsk/ColorMatrixNode.d diff --git a/generated/gtkd/gsk/ColorNode.d b/source/generated/gsk/gsk/ColorNode.d similarity index 100% rename from generated/gtkd/gsk/ColorNode.d rename to source/generated/gsk/gsk/ColorNode.d diff --git a/generated/gtkd/gsk/ConicGradientNode.d b/source/generated/gsk/gsk/ConicGradientNode.d similarity index 100% rename from generated/gtkd/gsk/ConicGradientNode.d rename to source/generated/gsk/gsk/ConicGradientNode.d diff --git a/generated/gtkd/gsk/ContainerNode.d b/source/generated/gsk/gsk/ContainerNode.d similarity index 100% rename from generated/gtkd/gsk/ContainerNode.d rename to source/generated/gsk/gsk/ContainerNode.d diff --git a/generated/gtkd/gsk/CrossFadeNode.d b/source/generated/gsk/gsk/CrossFadeNode.d similarity index 100% rename from generated/gtkd/gsk/CrossFadeNode.d rename to source/generated/gsk/gsk/CrossFadeNode.d diff --git a/generated/gtkd/gsk/DebugNode.d b/source/generated/gsk/gsk/DebugNode.d similarity index 100% rename from generated/gtkd/gsk/DebugNode.d rename to source/generated/gsk/gsk/DebugNode.d diff --git a/generated/gtkd/gsk/GLRenderer.d b/source/generated/gsk/gsk/GLRenderer.d similarity index 94% rename from generated/gtkd/gsk/GLRenderer.d rename to source/generated/gsk/gsk/GLRenderer.d index ed9bf4da7..d72205a5b 100644 --- a/generated/gtkd/gsk/GLRenderer.d +++ b/source/generated/gsk/gsk/GLRenderer.d @@ -31,9 +31,7 @@ private import gsk.c.functions; public import gsk.c.types; -/** - * A GSK renderer that is using OpenGL. - */ +/** */ public class GLRenderer : Renderer { /** the main Gtk struct */ @@ -70,11 +68,12 @@ public class GLRenderer : Renderer } /** - * Creates a new #GskRenderer using OpenGL. This is the default renderer - * used by GTK. + * Creates a new `GskRenderer` using the new OpenGL renderer. * * Returns: a new GL renderer * + * Since: 4.2 + * * Throws: ConstructionException GTK+ fails to create the object. */ public this() diff --git a/generated/gtkd/gsk/GLShader.d b/source/generated/gsk/gsk/GLShader.d similarity index 99% rename from generated/gtkd/gsk/GLShader.d rename to source/generated/gsk/gsk/GLShader.d index 8ef37eca5..32cce5e75 100644 --- a/generated/gtkd/gsk/GLShader.d +++ b/source/generated/gsk/gsk/GLShader.d @@ -117,7 +117,7 @@ public import gsk.c.types; * uniform sampler2D u_texture2; * ``` * - * GTK uses the the "gsk" namespace in the symbols it uses in the + * GTK uses the "gsk" namespace in the symbols it uses in the * shader, so your code should not use any symbols with the prefix gsk * or GSK. There are some helper functions declared that you can use: * @@ -462,8 +462,7 @@ public class GLShader : ObjectG * Gets the resource path for the GLSL sourcecode being used * to render this shader. * - * Returns: The resource path for the shader, - * or %NULL if none. + * Returns: The resource path for the shader */ public string getResource() { diff --git a/generated/gtkd/gsk/GLShaderNode.d b/source/generated/gsk/gsk/GLShaderNode.d similarity index 95% rename from generated/gtkd/gsk/GLShaderNode.d rename to source/generated/gsk/gsk/GLShaderNode.d index 34d843860..f9feb96b5 100644 --- a/generated/gtkd/gsk/GLShaderNode.d +++ b/source/generated/gsk/gsk/GLShaderNode.d @@ -92,11 +92,11 @@ public class GLShaderNode : RenderNode * renderer before using it. * * Params: - * shader = the #GskGLShader + * shader = the `GskGLShader` * bounds = the rectangle to render the shader into * args = Arguments for the uniforms - * children = array of child nodes, these will - * be rendered to textures and used as input. + * children = array of child nodes, + * these will be rendered to textures and used as input. * * Returns: A new `GskRenderNode` * @@ -123,7 +123,7 @@ public class GLShaderNode : RenderNode /** * Gets args for the node. * - * Returns: A #GBytes with the uniform arguments + * Returns: A `GBytes` with the uniform arguments */ public Bytes getArgs() { @@ -170,7 +170,7 @@ public class GLShaderNode : RenderNode /** * Gets shader code for the node. * - * Returns: the #GskGLShader shader + * Returns: the `GskGLShader` shader */ public GLShader getShader() { diff --git a/generated/gtkd/gsk/InsetShadowNode.d b/source/generated/gsk/gsk/InsetShadowNode.d similarity index 100% rename from generated/gtkd/gsk/InsetShadowNode.d rename to source/generated/gsk/gsk/InsetShadowNode.d diff --git a/generated/gtkd/gsk/LinearGradientNode.d b/source/generated/gsk/gsk/LinearGradientNode.d similarity index 100% rename from generated/gtkd/gsk/LinearGradientNode.d rename to source/generated/gsk/gsk/LinearGradientNode.d diff --git a/generated/gtkd/gsk/NglRenderer.d b/source/generated/gsk/gsk/NglRenderer.d similarity index 95% rename from generated/gtkd/gsk/NglRenderer.d rename to source/generated/gsk/gsk/NglRenderer.d index 59f550880..0338b71d6 100644 --- a/generated/gtkd/gsk/NglRenderer.d +++ b/source/generated/gsk/gsk/NglRenderer.d @@ -68,11 +68,11 @@ public class NglRenderer : Renderer } /** - * Creates a new #GskRenderer using the new OpenGL renderer. + * Same as gsk_gl_renderer_new(). * - * Returns: a new NGL renderer + * Deprecated: Use gsk_gl_renderer_new() * - * Since: 4.2 + * Returns: a new GL renderer * * Throws: ConstructionException GTK+ fails to create the object. */ diff --git a/generated/gtkd/gsk/OpacityNode.d b/source/generated/gsk/gsk/OpacityNode.d similarity index 100% rename from generated/gtkd/gsk/OpacityNode.d rename to source/generated/gsk/gsk/OpacityNode.d diff --git a/generated/gtkd/gsk/OutsetShadowNode.d b/source/generated/gsk/gsk/OutsetShadowNode.d similarity index 100% rename from generated/gtkd/gsk/OutsetShadowNode.d rename to source/generated/gsk/gsk/OutsetShadowNode.d diff --git a/generated/gtkd/gsk/RadialGradientNode.d b/source/generated/gsk/gsk/RadialGradientNode.d similarity index 100% rename from generated/gtkd/gsk/RadialGradientNode.d rename to source/generated/gsk/gsk/RadialGradientNode.d diff --git a/generated/gtkd/gsk/RenderNode.d b/source/generated/gsk/gsk/RenderNode.d similarity index 92% rename from generated/gtkd/gsk/RenderNode.d rename to source/generated/gsk/gsk/RenderNode.d index dd4b62078..7ff28cbd1 100644 --- a/generated/gtkd/gsk/RenderNode.d +++ b/source/generated/gsk/gsk/RenderNode.d @@ -34,12 +34,12 @@ private import gobject.ObjectG; private import graphene.Rect; private import gsk.c.functions; public import gsk.c.types; -private import gtkd.Loader; +private import linker.Loader; /** * `GskRenderNode` is the basic block in a scene graph to be - * rendered using `GskRenderer`. + * rendered using [class@Gsk.Renderer]. * * Each node has a parent, except the top-level node; each node may have * children nodes. @@ -83,7 +83,7 @@ public class RenderNode ~this () { - if ( Linker.isLoaded(LIBRARY_GSK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GSK[0]) && ownedRef ) gsk_render_node_unref(gskRenderNode); } @@ -95,17 +95,16 @@ public class RenderNode } /** - * Loads data previously created via gsk_render_node_serialize(). + * Loads data previously created via [method@Gsk.RenderNode.serialize]. * * For a discussion of the supported format, see that function. * * Params: * bytes = the bytes containing the data - * errorFunc = Callback on parsing errors or %NULL + * errorFunc = Callback on parsing errors * userData = user_data for @error_func * - * Returns: a new `GskRenderNode` or %NULL on - * error. + * Returns: a new `GskRenderNode` */ public static RenderNode deserialize(Bytes bytes, GskParseErrorFunc errorFunc, void* userData) { @@ -124,7 +123,7 @@ public class RenderNode * * Typically, you'll use this function to implement fallback rendering * of `GskRenderNode`s on an intermediate Cairo context, instead of using - * the drawing context associated to a `GdkSurface`'s rendering buffer. + * the drawing context associated to a [class@Gdk.Surface]'s rendering buffer. * * For advanced nodes that cannot be supported using Cairo, in particular * for nodes doing 3D operations, this function may fail. @@ -193,7 +192,7 @@ public class RenderNode * The intended use of this functions is testing, benchmarking and debugging. * The format is not meant as a permanent storage format. * - * Returns: a #GBytes representing the node. + * Returns: a `GBytes` representing the node. */ public Bytes serialize() { @@ -219,8 +218,8 @@ public class RenderNode } /** - * This function is equivalent to calling gsk_render_node_serialize() - * followed by g_file_set_contents(). + * This function is equivalent to calling [method@Gsk.RenderNode.serialize] + * followed by [func@GLib.file_set_contents]. * * See those two functions for details on the arguments. * diff --git a/generated/gtkd/gsk/Renderer.d b/source/generated/gsk/gsk/Renderer.d similarity index 93% rename from generated/gtkd/gsk/Renderer.d rename to source/generated/gsk/gsk/Renderer.d index d8ab03c58..62fe802e4 100644 --- a/generated/gtkd/gsk/Renderer.d +++ b/source/generated/gsk/gsk/Renderer.d @@ -146,9 +146,17 @@ public class Renderer : ObjectG * Creates the resources needed by the @renderer to render the scene * graph. * + * Since GTK 4.6, the surface may be `NULL`, which allows using + * renderers without having to create a surface. + * + * Note that it is mandatory to call [method@Gsk.Renderer.unrealize] before + * destroying the renderer. + * * Params: * surface = the `GdkSurface` renderer will be used on * + * Returns: Whether the renderer was successfully realized + * * Throws: GException on failure. */ public bool realize(Surface surface) @@ -166,8 +174,10 @@ public class Renderer : ObjectG } /** - * Renders the scene graph, described by a tree of `GskRenderNode` instances, - * ensuring that the given @region gets redrawn. + * Renders the scene graph, described by a tree of `GskRenderNode` instances + * to the renderer's surface, ensuring that the given @region gets redrawn. + * + * If the renderer has no associated surface, this function does nothing. * * Renderers must ensure that changes of the contents given by the @root * node as well as the area given by @region are redrawn. They are however diff --git a/generated/gtkd/gsk/RepeatNode.d b/source/generated/gsk/gsk/RepeatNode.d similarity index 100% rename from generated/gtkd/gsk/RepeatNode.d rename to source/generated/gsk/gsk/RepeatNode.d diff --git a/generated/gtkd/gsk/RepeatingLinearGradientNode.d b/source/generated/gsk/gsk/RepeatingLinearGradientNode.d similarity index 100% rename from generated/gtkd/gsk/RepeatingLinearGradientNode.d rename to source/generated/gsk/gsk/RepeatingLinearGradientNode.d diff --git a/generated/gtkd/gsk/RepeatingRadialGradientNode.d b/source/generated/gsk/gsk/RepeatingRadialGradientNode.d similarity index 100% rename from generated/gtkd/gsk/RepeatingRadialGradientNode.d rename to source/generated/gsk/gsk/RepeatingRadialGradientNode.d diff --git a/generated/gtkd/gsk/RoundedClipNode.d b/source/generated/gsk/gsk/RoundedClipNode.d similarity index 100% rename from generated/gtkd/gsk/RoundedClipNode.d rename to source/generated/gsk/gsk/RoundedClipNode.d diff --git a/generated/gtkd/gsk/RoundedRect.d b/source/generated/gsk/gsk/RoundedRect.d similarity index 100% rename from generated/gtkd/gsk/RoundedRect.d rename to source/generated/gsk/gsk/RoundedRect.d diff --git a/generated/gtkd/gsk/ShaderArgsBuilder.d b/source/generated/gsk/gsk/ShaderArgsBuilder.d similarity index 97% rename from generated/gtkd/gsk/ShaderArgsBuilder.d rename to source/generated/gsk/gsk/ShaderArgsBuilder.d index 3a86ba86a..cdd7262e5 100644 --- a/generated/gtkd/gsk/ShaderArgsBuilder.d +++ b/source/generated/gsk/gsk/ShaderArgsBuilder.d @@ -33,11 +33,11 @@ private import graphene.Vec4; private import gsk.GLShader; private import gsk.c.functions; public import gsk.c.types; -private import gtkd.Loader; +private import linker.Loader; /** - * An object to build the uniforms data for a #GskGLShader. + * An object to build the uniforms data for a `GskGLShader`. */ public class ShaderArgsBuilder { @@ -70,7 +70,7 @@ public class ShaderArgsBuilder ~this () { - if ( Linker.isLoaded(LIBRARY_GSK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GSK[0]) && ownedRef ) gsk_shader_args_builder_unref(gskShaderArgsBuilder); } @@ -107,7 +107,7 @@ public class ShaderArgsBuilder } /** - * Creates a new #GBytes args from the current state of the + * Creates a new `GBytes` args from the current state of the * given @builder, and frees the @builder instance. * * Any uniforms of the shader that have not been explicitly set diff --git a/generated/gtkd/gsk/ShadowNode.d b/source/generated/gsk/gsk/ShadowNode.d similarity index 100% rename from generated/gtkd/gsk/ShadowNode.d rename to source/generated/gsk/gsk/ShadowNode.d diff --git a/generated/gtkd/gsk/TextNode.d b/source/generated/gsk/gsk/TextNode.d similarity index 97% rename from generated/gtkd/gsk/TextNode.d rename to source/generated/gsk/gsk/TextNode.d index e683257bd..d23657907 100644 --- a/generated/gtkd/gsk/TextNode.d +++ b/source/generated/gsk/gsk/TextNode.d @@ -80,8 +80,8 @@ public class TextNode : RenderNode * color glyphs. * * Params: - * font = the #PangoFont containing the glyphs - * glyphs = the #PangoGlyphString to render + * font = the `PangoFont` containing the glyphs + * glyphs = the `PangoGlyphString` to render * color = the foreground color to render with * offset = offset of the baseline * @@ -180,6 +180,8 @@ public class TextNode : RenderNode * Checks whether the text @node has color glyphs. * * Returns: %TRUE if the text node has color glyphs + * + * Since: 4.2 */ public bool hasColorGlyphs() { diff --git a/generated/gtkd/gsk/TextureNode.d b/source/generated/gsk/gsk/TextureNode.d similarity index 98% rename from generated/gtkd/gsk/TextureNode.d rename to source/generated/gsk/gsk/TextureNode.d index 3cbc89bc0..85907c5cb 100644 --- a/generated/gtkd/gsk/TextureNode.d +++ b/source/generated/gsk/gsk/TextureNode.d @@ -34,7 +34,7 @@ public import gsk.c.types; /** - * A render node for a #GdkTexture. + * A render node for a `GdkTexture`. */ public class TextureNode : RenderNode { diff --git a/generated/gtkd/gsk/Transform.d b/source/generated/gsk/gsk/Transform.d similarity index 85% rename from generated/gtkd/gsk/Transform.d rename to source/generated/gsk/gsk/Transform.d index 3aacd8651..a6b756739 100644 --- a/generated/gtkd/gsk/Transform.d +++ b/source/generated/gsk/gsk/Transform.d @@ -37,7 +37,7 @@ private import graphene.Rect; private import graphene.Vec3; private import gsk.c.functions; public import gsk.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -82,7 +82,7 @@ public class Transform ~this () { - if ( Linker.isLoaded(LIBRARY_GSK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GSK[0]) && ownedRef ) gsk_transform_unref(gskTransform); } @@ -112,7 +112,7 @@ public class Transform * Params: * second = the second transform * - * Returns: %TRUE if the two transforms perform the same operation. + * Returns: %TRUE if the two transforms perform the same operation */ public bool equal(Transform second) { @@ -138,8 +138,7 @@ public class Transform * between those cases, you should check @self is not %NULL * before calling this function. * - * Returns: The inverted transform or %NULL if the transform - * cannot be inverted. + * Returns: The inverted transform */ public Transform invert() { @@ -321,6 +320,29 @@ public class Transform return ObjectG.getDObject!(Transform)(cast(GskTransform*) __p, true); } + /** + * Applies a skew transform. + * + * Params: + * skewX = skew factor, in degrees, on the X axis + * skewY = skew factor, in degrees, on the Y axis + * + * Returns: The new transform + * + * Since: 4.6 + */ + public Transform skew(float skewX, float skewY) + { + auto __p = gsk_transform_skew(gskTransform, skewX, skewY); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Transform)(cast(GskTransform*) __p, true); + } + /** * Converts a `GskTransform` to a 2D transformation matrix. * @@ -353,12 +375,64 @@ public class Transform gsk_transform_to_2d(gskTransform, &outXx, &outYx, &outXy, &outYy, &outDx, &outDy); } + /** + * Converts a `GskTransform` to 2D transformation factors. + * + * To recreate an equivalent transform from the factors returned + * by this function, use + * + * gsk_transform_skew ( + * gsk_transform_scale ( + * gsk_transform_rotate ( + * gsk_transform_translate (NULL, &GRAPHENE_POINT_T (dx, dy)), + * angle), + * scale_x, scale_y), + * skew_x, skew_y) + * + * @self must be a 2D transformation. If you are not sure, use + * + * gsk_transform_get_category() >= %GSK_TRANSFORM_CATEGORY_2D + * + * to check. + * + * Params: + * outSkewX = return location for the skew factor + * in the x direction + * outSkewY = return location for the skew factor + * in the y direction + * outScaleX = return location for the scale + * factor in the x direction + * outScaleY = return location for the scale + * factor in the y direction + * outAngle = return location for the rotation angle + * outDx = return location for the translation + * in the x direction + * outDy = return location for the translation + * in the y direction + * + * Since: 4.6 + */ + public void to2dComponents(out float outSkewX, out float outSkewY, out float outScaleX, out float outScaleY, out float outAngle, out float outDx, out float outDy) + { + gsk_transform_to_2d_components(gskTransform, &outSkewX, &outSkewY, &outScaleX, &outScaleY, &outAngle, &outDx, &outDy); + } + /** * Converts a `GskTransform` to 2D affine transformation factors. * - * @self must be a 2D transformation. If you are not - * sure, use gsk_transform_get_category() >= - * %GSK_TRANSFORM_CATEGORY_2D_AFFINE to check. + * To recreate an equivalent transform from the factors returned + * by this function, use + * + * gsk_transform_scale (gsk_transform_translate (NULL, + * &GRAPHENE_POINT_T (dx, dy)), + * sx, sy) + * + * @self must be a 2D affine transformation. If you are not + * sure, use + * + * gsk_transform_get_category() >= %GSK_TRANSFORM_CATEGORY_2D_AFFINE + * + * to check. * * Params: * outScaleX = return location for the scale @@ -413,8 +487,11 @@ public class Transform * Converts a `GskTransform` to a translation operation. * * @self must be a 2D transformation. If you are not - * sure, use gsk_transform_get_category() >= - * %GSK_TRANSFORM_CATEGORY_2D_TRANSLATE to check. + * sure, use + * + * gsk_transform_get_category() >= %GSK_TRANSFORM_CATEGORY_2D_TRANSLATE + * + * to check. * * Params: * outDx = return location for the translation diff --git a/generated/gtkd/gsk/TransformNode.d b/source/generated/gsk/gsk/TransformNode.d similarity index 100% rename from generated/gtkd/gsk/TransformNode.d rename to source/generated/gsk/gsk/TransformNode.d diff --git a/generated/gtkd/gsk/c/functions.d b/source/generated/gsk/gsk/c/functions.d similarity index 98% rename from generated/gtkd/gsk/c/functions.d rename to source/generated/gsk/gsk/c/functions.d index 0bd1ba12a..090982b62 100644 --- a/generated/gtkd/gsk/c/functions.d +++ b/source/generated/gsk/gsk/c/functions.d @@ -26,7 +26,7 @@ module gsk.c.functions; import std.stdio; import gsk.c.types; -import gtkd.Loader; +import linker.Loader; version (Windows) static immutable LIBRARY_GSK = ["libgtk-4-1.dll;gtk-4-4.1.dll;gtk-4.dll"]; @@ -340,7 +340,9 @@ shared static this() Linker.link(gsk_transform_rotate_3d, "gsk_transform_rotate_3d", LIBRARY_GSK); Linker.link(gsk_transform_scale, "gsk_transform_scale", LIBRARY_GSK); Linker.link(gsk_transform_scale_3d, "gsk_transform_scale_3d", LIBRARY_GSK); + Linker.link(gsk_transform_skew, "gsk_transform_skew", LIBRARY_GSK); Linker.link(gsk_transform_to_2d, "gsk_transform_to_2d", LIBRARY_GSK); + Linker.link(gsk_transform_to_2d_components, "gsk_transform_to_2d_components", LIBRARY_GSK); Linker.link(gsk_transform_to_affine, "gsk_transform_to_affine", LIBRARY_GSK); Linker.link(gsk_transform_to_matrix, "gsk_transform_to_matrix", LIBRARY_GSK); Linker.link(gsk_transform_to_string, "gsk_transform_to_string", LIBRARY_GSK); @@ -359,11 +361,6 @@ shared static this() Linker.link(gsk_transform_node_new, "gsk_transform_node_new", LIBRARY_GSK); Linker.link(gsk_transform_node_get_child, "gsk_transform_node_get_child", LIBRARY_GSK); Linker.link(gsk_transform_node_get_transform, "gsk_transform_node_get_transform", LIBRARY_GSK); - - // gsk.VulkanRenderer - - Linker.link(gsk_vulkan_renderer_get_type, "gsk_vulkan_renderer_get_type", LIBRARY_GSK); - Linker.link(gsk_vulkan_renderer_new, "gsk_vulkan_renderer_new", LIBRARY_GSK); } __gshared extern(C) @@ -566,7 +563,7 @@ __gshared extern(C) GskRenderNode* function(GskRenderNode* node) c_gsk_render_node_ref; GBytes* function(GskRenderNode* node) c_gsk_render_node_serialize; void function(GskRenderNode* node) c_gsk_render_node_unref; - int function(GskRenderNode* node, const(char)* filename, GError** err) c_gsk_render_node_write_to_file; + int function(GskRenderNode* node, char* filename, GError** err) c_gsk_render_node_write_to_file; // gsk.Renderer @@ -672,7 +669,9 @@ __gshared extern(C) GskTransform* function(GskTransform* next, float angle, graphene_vec3_t* axis) c_gsk_transform_rotate_3d; GskTransform* function(GskTransform* next, float factorX, float factorY) c_gsk_transform_scale; GskTransform* function(GskTransform* next, float factorX, float factorY, float factorZ) c_gsk_transform_scale_3d; + GskTransform* function(GskTransform* next, float skewX, float skewY) c_gsk_transform_skew; void function(GskTransform* self, float* outXx, float* outYx, float* outXy, float* outYy, float* outDx, float* outDy) c_gsk_transform_to_2d; + void function(GskTransform* self, float* outSkewX, float* outSkewY, float* outScaleX, float* outScaleY, float* outAngle, float* outDx, float* outDy) c_gsk_transform_to_2d_components; void function(GskTransform* self, float* outScaleX, float* outScaleY, float* outDx, float* outDy) c_gsk_transform_to_affine; void function(GskTransform* self, graphene_matrix_t* outMatrix) c_gsk_transform_to_matrix; char* function(GskTransform* self) c_gsk_transform_to_string; @@ -691,11 +690,6 @@ __gshared extern(C) GskRenderNode* function(GskRenderNode* child, GskTransform* transform) c_gsk_transform_node_new; GskRenderNode* function(GskRenderNode* node) c_gsk_transform_node_get_child; GskTransform* function(GskRenderNode* node) c_gsk_transform_node_get_transform; - - // gsk.VulkanRenderer - - GType function() c_gsk_vulkan_renderer_get_type; - GskRenderer* function() c_gsk_vulkan_renderer_new; } @@ -1002,7 +996,9 @@ alias c_gsk_transform_rotate gsk_transform_rotate; alias c_gsk_transform_rotate_3d gsk_transform_rotate_3d; alias c_gsk_transform_scale gsk_transform_scale; alias c_gsk_transform_scale_3d gsk_transform_scale_3d; +alias c_gsk_transform_skew gsk_transform_skew; alias c_gsk_transform_to_2d gsk_transform_to_2d; +alias c_gsk_transform_to_2d_components gsk_transform_to_2d_components; alias c_gsk_transform_to_affine gsk_transform_to_affine; alias c_gsk_transform_to_matrix gsk_transform_to_matrix; alias c_gsk_transform_to_string gsk_transform_to_string; @@ -1021,8 +1017,3 @@ alias c_gsk_transform_node_get_type gsk_transform_node_get_type; alias c_gsk_transform_node_new gsk_transform_node_new; alias c_gsk_transform_node_get_child gsk_transform_node_get_child; alias c_gsk_transform_node_get_transform gsk_transform_node_get_transform; - -// gsk.VulkanRenderer - -alias c_gsk_vulkan_renderer_get_type gsk_vulkan_renderer_get_type; -alias c_gsk_vulkan_renderer_new gsk_vulkan_renderer_new; diff --git a/generated/gtkd/gsk/c/types.d b/source/generated/gsk/gsk/c/types.d similarity index 96% rename from generated/gtkd/gsk/c/types.d rename to source/generated/gsk/gsk/c/types.d index 752befc66..e2a008447 100644 --- a/generated/gtkd/gsk/c/types.d +++ b/source/generated/gsk/gsk/c/types.d @@ -38,7 +38,7 @@ public import pango.c.types; * The implementation of each blend mode is deferred to the * rendering pipeline. * - * See https://www.w3.org/TR/compositing-1/#blending for more information + * See for more information * on blending and blend modes. */ public enum GskBlendMode @@ -114,7 +114,7 @@ public enum GskBlendMode alias GskBlendMode BlendMode; /** - * The corner indices used by #GskRoundedRect. + * The corner indices used by `GskRoundedRect`. */ public enum GskCorner { @@ -195,7 +195,7 @@ public enum GskRenderNodeType */ CONTAINER_NODE = 1, /** - * A node drawing a #cairo_surface_t + * A node drawing a `cairo_surface_t` */ CAIRO_NODE = 2, /** @@ -227,7 +227,7 @@ public enum GskRenderNodeType */ BORDER_NODE = 9, /** - * A node drawing a #GdkTexture + * A node drawing a `GdkTexture` */ TEXTURE_NODE = 10, /** @@ -324,13 +324,12 @@ alias GskScalingFilter ScalingFilter; public enum GskSerializationError { /** - * The format can not be - * identified + * The format can not be identified */ UNSUPPORTED_FORMAT = 0, /** - * The version of the data - * is not understood + * The version of the data is not + * understood */ UNSUPPORTED_VERSION = 1, /** @@ -457,8 +456,6 @@ struct GskLinearGradientNode; struct GskNglRenderer; -struct GskNglRendererClass; - struct GskOpacityNode; struct GskOutsetShadowNode; @@ -553,10 +550,6 @@ struct GskTransform; struct GskTransformNode; -struct GskVulkanRenderer; - -struct GskVulkanRendererClass; - /** * Type of callback that is called when an error occurs * during node deserialization. diff --git a/generated/gtkd/gtk/ATContext.d b/source/generated/gtk/gtk/ATContext.d similarity index 100% rename from generated/gtkd/gtk/ATContext.d rename to source/generated/gtk/gtk/ATContext.d diff --git a/generated/gtkd/gtk/AboutDialog.d b/source/generated/gtk/gtk/AboutDialog.d similarity index 85% rename from generated/gtkd/gtk/AboutDialog.d rename to source/generated/gtk/gtk/AboutDialog.d index 2271f4e8f..ef9564590 100644 --- a/generated/gtkd/gtk/AboutDialog.d +++ b/source/generated/gtk/gtk/AboutDialog.d @@ -153,12 +153,11 @@ public class AboutDialog : Window } /** - * Returns the string which are displayed in the "Artists" tab - * of the secondary credits dialog. + * Returns the names of the artists which are displayed + * in the credits page. * * Returns: A - * `NULL`-terminated string array containing the artists. The array is - * owned by the about dialog and must not be modified. + * `NULL`-terminated string array containing the artists */ public string[] getArtists() { @@ -166,12 +165,11 @@ public class AboutDialog : Window } /** - * Returns the string which are displayed in the authors tab - * of the secondary credits dialog. + * Returns the names of the authors which are displayed + * in the credits page. * * Returns: A - * `NULL`-terminated string array containing the authors. The array is - * owned by the about dialog and must not be modified. + * `NULL`-terminated string array containing the authors */ public string[] getAuthors() { @@ -181,8 +179,7 @@ public class AboutDialog : Window /** * Returns the comments string. * - * Returns: The comments. The string is owned by the about - * dialog and must not be modified. + * Returns: The comments */ public string getComments() { @@ -192,8 +189,7 @@ public class AboutDialog : Window /** * Returns the copyright string. * - * Returns: The copyright string. The string is owned by the about - * dialog and must not be modified. + * Returns: The copyright string */ public string getCopyright() { @@ -201,12 +197,11 @@ public class AboutDialog : Window } /** - * Returns the string which are displayed in the "Documenters" - * tab of the secondary credits dialog. + * Returns the name of the documenters which are displayed + * in the credits page. * * Returns: A - * `NULL`-terminated string array containing the documenters. The - * array is owned by the about dialog and must not be modified. + * `NULL`-terminated string array containing the documenters */ public string[] getDocumenters() { @@ -216,8 +211,7 @@ public class AboutDialog : Window /** * Returns the license information. * - * Returns: The license information. The string is owned by the about - * dialog and must not be modified. + * Returns: The license information */ public string getLicense() { @@ -239,8 +233,7 @@ public class AboutDialog : Window * * Returns: the paintable displayed as * logo or `NULL` if the logo is unset or has been set via - * [method@Gtk.AboutDialog.set_logo_icon_name]. The - * paintable is owned by the about dialog. + * [method@Gtk.AboutDialog.set_logo_icon_name] */ public PaintableIF getLogo() { @@ -258,8 +251,7 @@ public class AboutDialog : Window * Returns the icon name displayed as logo in the about dialog. * * Returns: the icon name displayed as logo, - * or `NULL` if the logo has been set via [method@Gtk.AboutDialog.set_logo]. - * The string is owned by the dialog. + * or `NULL` if the logo has been set via [method@Gtk.AboutDialog.set_logo] */ public string getLogoIconName() { @@ -269,8 +261,7 @@ public class AboutDialog : Window /** * Returns the program name displayed in the about dialog. * - * Returns: The program name. The string is owned by the about - * dialog and must not be modified. + * Returns: The program name */ public string getProgramName() { @@ -289,9 +280,9 @@ public class AboutDialog : Window /** * Returns the translator credits string which is displayed - * in the translators tab of the secondary credits dialog. + * in the credits page. * - * Returns: The translator credits string. + * Returns: The translator credits string */ public string getTranslatorCredits() { @@ -301,8 +292,7 @@ public class AboutDialog : Window /** * Returns the version string. * - * Returns: The version string. The string is owned by the about - * dialog and must not be modified. + * Returns: The version string */ public string getVersion() { @@ -322,7 +312,7 @@ public class AboutDialog : Window /** * Returns the label used for the website link. * - * Returns: The label used for the website link. + * Returns: The label used for the website link */ public string getWebsiteLabel() { @@ -341,8 +331,8 @@ public class AboutDialog : Window } /** - * Sets the strings which are displayed in the "Artists" tab - * of the secondary credits dialog. + * Sets the names of the artists to be displayed + * in the "Credits" page. * * Params: * artists = the authors of the artwork @@ -354,8 +344,8 @@ public class AboutDialog : Window } /** - * Sets the strings which are displayed in the "Authors" tab - * of the secondary credits dialog. + * Sets the names of the authors which are displayed + * in the "Credits" page of the about dialog. * * Params: * authors = the authors of the application @@ -392,8 +382,8 @@ public class AboutDialog : Window } /** - * Sets the strings which are displayed in the "Documenters" tab - * of the credits dialog. + * Sets the names of the documenters which are displayed + * in the "Credits" page. * * Params: * documenters = the authors of the documentation @@ -405,10 +395,10 @@ public class AboutDialog : Window } /** - * Sets the license information to be displayed in the secondary - * license dialog. + * Sets the license information to be displayed in the + * about dialog. * - * If `license` is `NULL`, the license button is hidden. + * If `license` is `NULL`, the license page is hidden. * * Params: * license = the license information @@ -458,7 +448,8 @@ public class AboutDialog : Window /** * Sets the name to display in the about dialog. * - * If `name` is not set, it defaults to `g_get_application_name()`. + * If `name` is not set, the string returned + * by `g_get_application_name()` is used. * * Params: * name = the program name @@ -473,7 +464,7 @@ public class AboutDialog : Window * dialog. * * If `system_information` is `NULL`, the system information - * tab is hidden. + * page is hidden. * * See [property@Gtk.AboutDialog:system-information]. * @@ -487,7 +478,7 @@ public class AboutDialog : Window /** * Sets the translator credits string which is displayed in - * the translators tab of the secondary credits dialog. + * the credits page. * * The intended use for this string is to display the translator * of the language which is currently used in the user interface. @@ -500,10 +491,10 @@ public class AboutDialog : Window * _("translator-credits")); * ``` * - * It is a good idea to use the customary `msgid` “translator-credits” for this - * purpose, since translators will already know the purpose of that `msgid`, and - * since `GtkAboutDialog` will detect if “translator-credits” is untranslated - * and hide the tab. + * It is a good idea to use the customary `msgid` “translator-credits” + * for this purpose, since translators will already know the purpose of + * that `msgid`, and since `GtkAboutDialog` will detect if “translator-credits” + * is untranslated and omit translator credits. * * Params: * translatorCredits = the translator credits diff --git a/generated/gtkd/gtk/AccessibleIF.d b/source/generated/gtk/gtk/AccessibleIF.d similarity index 99% rename from generated/gtkd/gtk/AccessibleIF.d rename to source/generated/gtk/gtk/AccessibleIF.d index 691c890cf..8f4ad8186 100644 --- a/generated/gtkd/gtk/AccessibleIF.d +++ b/source/generated/gtk/gtk/AccessibleIF.d @@ -35,8 +35,7 @@ public import gtk.c.types; * * Every accessible implementation has: * - * - a “role”, represented by a value of the [enum@Gtk.AccessibleRole] - * enumeration + * - a “role”, represented by a value of the [enum@Gtk.AccessibleRole] enumeration * - an “attribute”, represented by a set of [enum@Gtk.AccessibleState], * [enum@Gtk.AccessibleProperty] and [enum@Gtk.AccessibleRelation] values * diff --git a/generated/gtkd/gtk/AccessibleT.d b/source/generated/gtk/gtk/AccessibleT.d similarity index 99% rename from generated/gtkd/gtk/AccessibleT.d rename to source/generated/gtk/gtk/AccessibleT.d index 28251e5fe..4c65d00a0 100644 --- a/generated/gtkd/gtk/AccessibleT.d +++ b/source/generated/gtk/gtk/AccessibleT.d @@ -35,8 +35,7 @@ public import gtk.c.types; * * Every accessible implementation has: * - * - a “role”, represented by a value of the [enum@Gtk.AccessibleRole] - * enumeration + * - a “role”, represented by a value of the [enum@Gtk.AccessibleRole] enumeration * - an “attribute”, represented by a set of [enum@Gtk.AccessibleState], * [enum@Gtk.AccessibleProperty] and [enum@Gtk.AccessibleRelation] values * diff --git a/generated/gtkd/gtk/ActionBar.d b/source/generated/gtk/gtk/ActionBar.d similarity index 88% rename from generated/gtkd/gtk/ActionBar.d rename to source/generated/gtk/gtk/ActionBar.d index f1dc69d2b..e8aacd0b0 100644 --- a/generated/gtkd/gtk/ActionBar.d +++ b/source/generated/gtk/gtk/ActionBar.d @@ -46,7 +46,23 @@ public import gtk.c.types; * * # CSS nodes * - * `GtkActionBar` has a single CSS node with name actionbar. + * ``` + * actionbar + * ╰── revealer + * ╰── box + * ├── box.start + * │ ╰── [start children] + * ├── [center widget] + * ╰── box.end + * ╰── [end children] + * ``` + * + * A `GtkActionBar`'s CSS node is called `actionbar`. It contains a `revealer` + * subnode, which contains a `box` subnode, which contains two `box` subnodes at + * the start and end of the action bar, with `start` and `end style classes + * respectively, as well as a center node that represents the center child. + * + * Each of the boxes contains children packed for that side. */ public class ActionBar : Widget { @@ -105,7 +121,7 @@ public class ActionBar : Widget /** * Retrieves the center bar widget of the bar. * - * Returns: the center `GtkWidget` or %NULL. + * Returns: the center `GtkWidget` */ public Widget getCenterWidget() { @@ -123,7 +139,7 @@ public class ActionBar : Widget * Gets whether the contents of the action bar are revealed. * * Returns: the current value of the [property@Gtk.ActionBar:revealed] - * property. + * property */ public bool getRevealed() { diff --git a/generated/gtkd/gtk/ActionableIF.d b/source/generated/gtk/gtk/ActionableIF.d similarity index 93% rename from generated/gtkd/gtk/ActionableIF.d rename to source/generated/gtk/gtk/ActionableIF.d index 9199b5d0d..e12ea3980 100644 --- a/generated/gtkd/gtk/ActionableIF.d +++ b/source/generated/gtk/gtk/ActionableIF.d @@ -63,7 +63,7 @@ public interface ActionableIF{ /** * Gets the action name for @actionable. * - * Returns: the action name, or %NULL if none is set + * Returns: the action name */ public string getActionName(); @@ -85,12 +85,12 @@ public interface ActionableIF{ * located) within the hierarchy of a `GtkApplicationWindow`. * * Names are of the form “win.save” or “app.quit” for actions on the - * containing `GtkApplicationWindow` or its associated `GtkApplication`, - * respectively. This is the same form used for actions in the `GMenu` + * containing [class@ApplicationWindow] or its associated [class@Application], + * respectively. This is the same form used for actions in the [class@Gio.Menu] * associated with the window. * * Params: - * actionName = an action name, or %NULL + * actionName = an action name */ public void setActionName(string actionName); @@ -104,7 +104,7 @@ public interface ActionableIF{ * Second, it is used to determine if the widget should be rendered as * “active” — the widget is active if the state is equal to the given target. * - * Consider the example of associating a set of buttons with a `GAction` + * Consider the example of associating a set of buttons with a [iface@Gio.Action] * with string state in a typical “radio button” situation. Each button * will be associated with the same action, but with a different target * value for that action. Clicking on a particular button will activate @@ -115,7 +115,7 @@ public interface ActionableIF{ * rendered inactive). * * Params: - * targetValue = a #GVariant to set as the target value, or %NULL + * targetValue = a [struct@GLib.Variant] to set as the target value */ public void setActionTargetValue(Variant targetValue); @@ -124,7 +124,7 @@ public interface ActionableIF{ * actionable widget. * * @detailed_action_name is a string in the format accepted by - * g_action_parse_detailed_name(). + * [func@Gio.Action.parse_detailed_name]. * * Params: * detailedActionName = the detailed action name diff --git a/generated/gtkd/gtk/ActionableT.d b/source/generated/gtk/gtk/ActionableT.d similarity index 94% rename from generated/gtkd/gtk/ActionableT.d rename to source/generated/gtk/gtk/ActionableT.d index e2714e29f..fa3df2e39 100644 --- a/generated/gtkd/gtk/ActionableT.d +++ b/source/generated/gtk/gtk/ActionableT.d @@ -60,7 +60,7 @@ public template ActionableT(TStruct) /** * Gets the action name for @actionable. * - * Returns: the action name, or %NULL if none is set + * Returns: the action name */ public string getActionName() { @@ -95,12 +95,12 @@ public template ActionableT(TStruct) * located) within the hierarchy of a `GtkApplicationWindow`. * * Names are of the form “win.save” or “app.quit” for actions on the - * containing `GtkApplicationWindow` or its associated `GtkApplication`, - * respectively. This is the same form used for actions in the `GMenu` + * containing [class@ApplicationWindow] or its associated [class@Application], + * respectively. This is the same form used for actions in the [class@Gio.Menu] * associated with the window. * * Params: - * actionName = an action name, or %NULL + * actionName = an action name */ public void setActionName(string actionName) { @@ -117,7 +117,7 @@ public template ActionableT(TStruct) * Second, it is used to determine if the widget should be rendered as * “active” — the widget is active if the state is equal to the given target. * - * Consider the example of associating a set of buttons with a `GAction` + * Consider the example of associating a set of buttons with a [iface@Gio.Action] * with string state in a typical “radio button” situation. Each button * will be associated with the same action, but with a different target * value for that action. Clicking on a particular button will activate @@ -128,7 +128,7 @@ public template ActionableT(TStruct) * rendered inactive). * * Params: - * targetValue = a #GVariant to set as the target value, or %NULL + * targetValue = a [struct@GLib.Variant] to set as the target value */ public void setActionTargetValue(Variant targetValue) { @@ -140,7 +140,7 @@ public template ActionableT(TStruct) * actionable widget. * * @detailed_action_name is a string in the format accepted by - * g_action_parse_detailed_name(). + * [func@Gio.Action.parse_detailed_name]. * * Params: * detailedActionName = the detailed action name diff --git a/generated/gtkd/gtk/ActivateAction.d b/source/generated/gtk/gtk/ActivateAction.d similarity index 100% rename from generated/gtkd/gtk/ActivateAction.d rename to source/generated/gtk/gtk/ActivateAction.d diff --git a/generated/gtkd/gtk/Adjustment.d b/source/generated/gtk/gtk/Adjustment.d similarity index 100% rename from generated/gtkd/gtk/Adjustment.d rename to source/generated/gtk/gtk/Adjustment.d diff --git a/generated/gtkd/gtk/AlternativeTrigger.d b/source/generated/gtk/gtk/AlternativeTrigger.d similarity index 100% rename from generated/gtkd/gtk/AlternativeTrigger.d rename to source/generated/gtk/gtk/AlternativeTrigger.d diff --git a/generated/gtkd/gtk/AnyFilter.d b/source/generated/gtk/gtk/AnyFilter.d similarity index 100% rename from generated/gtkd/gtk/AnyFilter.d rename to source/generated/gtk/gtk/AnyFilter.d diff --git a/generated/gtkd/gtk/AppChooserButton.d b/source/generated/gtk/gtk/AppChooserButton.d similarity index 95% rename from generated/gtkd/gtk/AppChooserButton.d rename to source/generated/gtk/gtk/AppChooserButton.d index e2af6fa6c..80803fd7b 100644 --- a/generated/gtkd/gtk/AppChooserButton.d +++ b/source/generated/gtk/gtk/AppChooserButton.d @@ -265,6 +265,19 @@ public class AppChooserButton : Widget, AppChooserIF gtk_app_chooser_button_set_show_dialog_item(gtkAppChooserButton, setting); } + /** + * Emitted to when the button is activated. + * + * The `::activate` signal on `GtkAppChooserButton` is an action signal and + * emitting it causes the button to pop up its dialog. + * + * Since: 4.4 + */ + gulong addOnActivate(void delegate(AppChooserButton) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "activate", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + /** * Emitted when the active application changes. */ diff --git a/generated/gtkd/gtk/AppChooserDialog.d b/source/generated/gtk/gtk/AppChooserDialog.d similarity index 98% rename from generated/gtkd/gtk/AppChooserDialog.d rename to source/generated/gtk/gtk/AppChooserDialog.d index 13af54d3a..d553b6087 100644 --- a/generated/gtkd/gtk/AppChooserDialog.d +++ b/source/generated/gtk/gtk/AppChooserDialog.d @@ -96,7 +96,7 @@ public class AppChooserDialog : Dialog, AppChooserIF * The dialog will show applications that can open the file. * * Params: - * parent = a `GtkWindow`, or %NULL + * parent = a `GtkWindow` * flags = flags for this dialog * file = a `GFile` * @@ -122,7 +122,7 @@ public class AppChooserDialog : Dialog, AppChooserIF * The dialog will show applications that can open the content type. * * Params: - * parent = a `GtkWindow`, or %NULL + * parent = a `GtkWindow` * flags = flags for this dialog * contentType = a content type string * diff --git a/generated/gtkd/gtk/AppChooserIF.d b/source/generated/gtk/gtk/AppChooserIF.d similarity index 96% rename from generated/gtkd/gtk/AppChooserIF.d rename to source/generated/gtk/gtk/AppChooserIF.d index 12f2b998f..0b7d2599c 100644 --- a/generated/gtkd/gtk/AppChooserIF.d +++ b/source/generated/gtk/gtk/AppChooserIF.d @@ -71,8 +71,7 @@ public interface AppChooserIF{ * Returns the currently selected application. * * Returns: a `GAppInfo` for the - * currently selected application, or %NULL if none is selected. - * Free with g_object_unref() + * currently selected application */ public AppInfoIF getAppInfo(); diff --git a/generated/gtkd/gtk/AppChooserT.d b/source/generated/gtk/gtk/AppChooserT.d similarity index 96% rename from generated/gtkd/gtk/AppChooserT.d rename to source/generated/gtk/gtk/AppChooserT.d index 1bb0c7c70..6868bac20 100644 --- a/generated/gtkd/gtk/AppChooserT.d +++ b/source/generated/gtk/gtk/AppChooserT.d @@ -68,8 +68,7 @@ public template AppChooserT(TStruct) * Returns the currently selected application. * * Returns: a `GAppInfo` for the - * currently selected application, or %NULL if none is selected. - * Free with g_object_unref() + * currently selected application */ public AppInfoIF getAppInfo() { diff --git a/generated/gtkd/gtk/AppChooserWidget.d b/source/generated/gtk/gtk/AppChooserWidget.d similarity index 98% rename from generated/gtkd/gtk/AppChooserWidget.d rename to source/generated/gtk/gtk/AppChooserWidget.d index 6b46b7ace..7c9aa1567 100644 --- a/generated/gtkd/gtk/AppChooserWidget.d +++ b/source/generated/gtk/gtk/AppChooserWidget.d @@ -270,7 +270,7 @@ public class AppChooserWidget : Widget, AppChooserIF * Return or Enter. * * Params: - * application = the activated #GAppInfo + * application = the activated `GAppInfo` */ gulong addOnApplicationActivated(void delegate(AppInfoIF, AppChooserWidget) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -281,7 +281,7 @@ public class AppChooserWidget : Widget, AppChooserIF * Emitted when an application item is selected from the widget's list. * * Params: - * application = the selected #GAppInfo + * application = the selected `GAppInfo` */ gulong addOnApplicationSelected(void delegate(AppInfoIF, AppChooserWidget) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { diff --git a/generated/gtkd/gtk/Application.d b/source/generated/gtk/gtk/Application.d similarity index 98% rename from generated/gtkd/gtk/Application.d rename to source/generated/gtk/gtk/Application.d index 67287f8a6..b7cb41ac8 100644 --- a/generated/gtkd/gtk/Application.d +++ b/source/generated/gtk/gtk/Application.d @@ -62,7 +62,7 @@ private import std.algorithm; * * `GtkApplication` will automatically load menus from the `GtkBuilder` * resource located at "gtk/menus.ui", relative to the application's - * resource base path (see `g_application_set_resource_base_path()`). + * resource base path (see [method@Gio.Application.set_resource_base_path]). * The menu with the ID "menubar" is taken as the application's * menubar. Additional menus (most interesting submenus) can be named * and accessed via [method@Gtk.Application.get_menu_by_id] which allows for @@ -77,8 +77,8 @@ private import std.algorithm; * resources. See [method@Gtk.IconTheme.add_resource_path] for more * information. * - * If there is a resource located at "gtk/help-overlay.ui" which - * defines a [class@Gtk.ShortcutsWindow] with ID "help_overlay" then + * If there is a resource located at `gtk/help-overlay.ui` which + * defines a [class@Gtk.ShortcutsWindow] with ID `help_overlay` then * `GtkApplication` associates an instance of this shortcuts window with * each [class@Gtk.ApplicationWindow] and sets up the keyboard accelerator * Control+? to open it. To create a menu item that @@ -87,7 +87,7 @@ private import std.algorithm; * * ## A simple application * - * [A simple example](https://gitlab.gnome.org/GNOME/gtk/tree/master/examples/bp/bloatpad.c) + * [A simple example](https://gitlab.gnome.org/GNOME/gtk/tree/main/examples/bp/bloatpad.c) * is available in the GTK source code repository * * `GtkApplication` optionally registers with a session manager of the diff --git a/generated/gtkd/gtk/ApplicationWindow.d b/source/generated/gtk/gtk/ApplicationWindow.d similarity index 99% rename from generated/gtkd/gtk/ApplicationWindow.d rename to source/generated/gtk/gtk/ApplicationWindow.d index 8605b06ad..16412ea24 100644 --- a/generated/gtkd/gtk/ApplicationWindow.d +++ b/source/generated/gtk/gtk/ApplicationWindow.d @@ -180,7 +180,7 @@ public class ApplicationWindow : Window, ActionGroupIF, ActionMapIF * See [method@Gtk.ApplicationWindow.set_help_overlay]. * * Returns: the help overlay associated - * with @window, or %NULL + * with @window */ public ShortcutsWindow getHelpOverlay() { diff --git a/generated/gtkd/gtk/AspectFrame.d b/source/generated/gtk/gtk/AspectFrame.d similarity index 100% rename from generated/gtkd/gtk/AspectFrame.d rename to source/generated/gtk/gtk/AspectFrame.d diff --git a/generated/gtkd/gtk/Assistant.d b/source/generated/gtk/gtk/Assistant.d similarity index 99% rename from generated/gtkd/gtk/Assistant.d rename to source/generated/gtk/gtk/Assistant.d index a14cc1aa7..28092e626 100644 --- a/generated/gtkd/gtk/Assistant.d +++ b/source/generated/gtk/gtk/Assistant.d @@ -176,7 +176,7 @@ public class Assistant : Window * * Returns: The index (starting from 0) of the current * page in the @assistant, or -1 if the @assistant has no pages, - * or no current page. + * or no current page */ public int getCurrentPage() { @@ -398,7 +398,7 @@ public class Assistant : Window * next visible page. * * Params: - * pageFunc = the `GtkAssistant`PageFunc, or %NULL + * pageFunc = the `GtkAssistantPageFunc`, or %NULL * to use the default one * data = user data for @page_func * destroy = destroy notifier for @data diff --git a/generated/gtkd/gtk/AssistantPage.d b/source/generated/gtk/gtk/AssistantPage.d similarity index 100% rename from generated/gtkd/gtk/AssistantPage.d rename to source/generated/gtk/gtk/AssistantPage.d diff --git a/generated/gtkd/gtk/BinLayout.d b/source/generated/gtk/gtk/BinLayout.d similarity index 100% rename from generated/gtkd/gtk/BinLayout.d rename to source/generated/gtk/gtk/BinLayout.d diff --git a/generated/gtkd/gtk/Bitset.d b/source/generated/gtk/gtk/Bitset.d similarity index 99% rename from generated/gtkd/gtk/Bitset.d rename to source/generated/gtk/gtk/Bitset.d index b90fd6ba4..1acbb0a08 100644 --- a/generated/gtkd/gtk/Bitset.d +++ b/source/generated/gtk/gtk/Bitset.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import gobject.ObjectG; private import gtk.c.functions; public import gtk.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -79,7 +79,7 @@ public class Bitset ~this () { - if ( Linker.isLoaded(LIBRARY_GTK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GTK[0]) && ownedRef ) gtk_bitset_unref(gtkBitset); } @@ -139,7 +139,7 @@ public class Bitset * value = value to add * * Returns: %TRUE if @value was not part of @self and @self - * was changed. + * was changed */ public bool add(uint value) { @@ -375,7 +375,7 @@ public class Bitset * value = value to add * * Returns: %TRUE if @value was part of @self and @self - * was changed. + * was changed */ public bool remove(uint value) { diff --git a/generated/gtkd/gtk/BitsetIter.d b/source/generated/gtk/gtk/BitsetIter.d similarity index 98% rename from generated/gtkd/gtk/BitsetIter.d rename to source/generated/gtk/gtk/BitsetIter.d index f03f70c08..d64d939ef 100644 --- a/generated/gtkd/gtk/BitsetIter.d +++ b/source/generated/gtk/gtk/BitsetIter.d @@ -69,6 +69,12 @@ public class BitsetIter } + /** */ + public static GType getType() + { + return gtk_bitset_iter_get_type(); + } + /** * Gets the current value that @iter points to. * diff --git a/generated/gtkd/gtk/BookmarkList.d b/source/generated/gtk/gtk/BookmarkList.d similarity index 99% rename from generated/gtkd/gtk/BookmarkList.d rename to source/generated/gtk/gtk/BookmarkList.d index dd55d3f0f..1ade31421 100644 --- a/generated/gtkd/gtk/BookmarkList.d +++ b/source/generated/gtk/gtk/BookmarkList.d @@ -154,7 +154,7 @@ public class BookmarkList : ObjectG, ListModelIF * Sets the @attributes to be enumerated and starts the enumeration. * * If @attributes is %NULL, no attributes will be queried, but a list - * of #GFileInfos will still be created. + * of `GFileInfo`s will still be created. * * Params: * attributes = the attributes to enumerate diff --git a/generated/gtkd/gtk/BoolFilter.d b/source/generated/gtk/gtk/BoolFilter.d similarity index 99% rename from generated/gtkd/gtk/BoolFilter.d rename to source/generated/gtk/gtk/BoolFilter.d index 6432067e4..159e1c663 100644 --- a/generated/gtkd/gtk/BoolFilter.d +++ b/source/generated/gtk/gtk/BoolFilter.d @@ -76,7 +76,6 @@ public class BoolFilter : Filter * * Params: * expression = The expression to evaluate - * or %NULL for none * * Returns: a new `GtkBoolFilter` * diff --git a/generated/gtkd/gtk/Border.d b/source/generated/gtk/gtk/Border.d similarity index 91% rename from generated/gtkd/gtk/Border.d rename to source/generated/gtk/gtk/Border.d index 2d47a2ee5..157e76c13 100644 --- a/generated/gtkd/gtk/Border.d +++ b/source/generated/gtk/gtk/Border.d @@ -29,7 +29,7 @@ private import glib.MemorySlice; private import gobject.ObjectG; private import gtk.c.functions; public import gtk.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -68,7 +68,7 @@ public final class Border ~this () { - if ( Linker.isLoaded(LIBRARY_GTK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GTK[0]) && ownedRef ) gtk_border_free(gtkBorder); } @@ -136,10 +136,10 @@ public final class Border } /** - * Allocates a new #GtkBorder-struct and initializes its elements to zero. + * Allocates a new `GtkBorder` struct and initializes its elements to zero. * - * Returns: a newly allocated #GtkBorder-struct. - * Free with gtk_border_free() + * Returns: a newly allocated `GtkBorder` struct. + * Free with [method@Gtk.Border.free] * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -156,7 +156,7 @@ public final class Border } /** - * Copies a #GtkBorder-struct. + * Copies a `GtkBorder`. * * Returns: a copy of @border_. */ @@ -173,7 +173,7 @@ public final class Border } /** - * Frees a #GtkBorder-struct. + * Frees a `GtkBorder`. */ public void free() { diff --git a/generated/gtkd/gtk/Box.d b/source/generated/gtk/gtk/Box.d similarity index 99% rename from generated/gtkd/gtk/Box.d rename to source/generated/gtk/gtk/Box.d index 550cf3ba7..63ee5995e 100644 --- a/generated/gtkd/gtk/Box.d +++ b/source/generated/gtk/gtk/Box.d @@ -219,7 +219,7 @@ public class Box : Widget, OrientableIF * * Params: * child = the `GtkWidget` to move, must be a child of @box - * sibling = the sibling to move @child after, or %NULL + * sibling = the sibling to move @child after */ public void reorderChildAfter(Widget child, Widget sibling) { diff --git a/generated/gtkd/gtk/BoxLayout.d b/source/generated/gtk/gtk/BoxLayout.d similarity index 100% rename from generated/gtkd/gtk/BoxLayout.d rename to source/generated/gtk/gtk/BoxLayout.d diff --git a/generated/gtkd/gtk/BuildableIF.d b/source/generated/gtk/gtk/BuildableIF.d similarity index 100% rename from generated/gtkd/gtk/BuildableIF.d rename to source/generated/gtk/gtk/BuildableIF.d diff --git a/generated/gtkd/gtk/BuildableParseContext.d b/source/generated/gtk/gtk/BuildableParseContext.d similarity index 93% rename from generated/gtkd/gtk/BuildableParseContext.d rename to source/generated/gtk/gtk/BuildableParseContext.d index b4e2a0956..4fe2ffea5 100644 --- a/generated/gtkd/gtk/BuildableParseContext.d +++ b/source/generated/gtk/gtk/BuildableParseContext.d @@ -71,7 +71,7 @@ public class BuildableParseContext * give the element_name as passed to those functions. For the parent * elements, see gtk_buildable_parse_context_get_element_stack(). * - * Returns: the name of the currently open element, or %NULL + * Returns: the name of the currently open element */ public string getElement() { @@ -81,7 +81,7 @@ public class BuildableParseContext /** * Retrieves the element stack from the internal state of the parser. * - * The returned #GPtrArray is an array of strings where the last item is + * The returned `GPtrArray` is an array of strings where the last item is * the currently open tag (as would be returned by * gtk_buildable_parse_context_get_element()) and the previous item is its * immediate parent. @@ -112,8 +112,8 @@ public class BuildableParseContext * "the best number we could come up with for error messages." * * Params: - * lineNumber = return location for a line number, or %NULL - * charNumber = return location for a char-on-line number, or %NULL + * lineNumber = return location for a line number + * charNumber = return location for a char-on-line number */ public void getPosition(out int lineNumber, out int charNumber) { @@ -146,7 +146,7 @@ public class BuildableParseContext * Temporarily redirects markup data to a sub-parser. * * This function may only be called from the start_element handler of - * a #GtkBuildableParser. It must be matched with a corresponding call to + * a `GtkBuildableParser`. It must be matched with a corresponding call to * gtk_buildable_parse_context_pop() in the matching end_element handler * (except in the case that the parser aborts due to an error). * @@ -174,8 +174,8 @@ public class BuildableParseContext * has the same kind of API. * * Params: - * parser = a #GtkBuildableParser - * userData = user data to pass to #GtkBuildableParser functions + * parser = a `GtkBuildableParser` + * userData = user data to pass to `GtkBuildableParser` functions */ public void push(GtkBuildableParser* parser, void* userData) { diff --git a/generated/gtkd/gtk/BuildableT.d b/source/generated/gtk/gtk/BuildableT.d similarity index 100% rename from generated/gtkd/gtk/BuildableT.d rename to source/generated/gtk/gtk/BuildableT.d diff --git a/generated/gtkd/gtk/Builder.d b/source/generated/gtk/gtk/Builder.d similarity index 97% rename from generated/gtkd/gtk/Builder.d rename to source/generated/gtk/gtk/Builder.d index 1ee1aa3c4..6db6ed6c5 100644 --- a/generated/gtkd/gtk/Builder.d +++ b/source/generated/gtk/gtk/Builder.d @@ -156,7 +156,7 @@ public import gtk.c.types; * been constructed by GTK as part of a composite widget, to set * properties on them or to add further children (e.g. the content area * of a `GtkDialog`). This can be achieved by setting the “internal-child” - * property of the `` element to a true value. Note that #GtkBuilder + * property of the `` element to a true value. Note that `GtkBuilder` * still requires an `` element for the internal child, even if it * has already been constructed. * @@ -191,13 +191,14 @@ public import gtk.c.types; * ```xml * * - * + * * * * * * - * gtk-ok + * _Ok + * True * * * @@ -556,7 +557,7 @@ public class Builder : ObjectG * Creates a closure to invoke the function called @function_name. * * This is using the create_closure() implementation of @builder's - * [class@Gtk.BuilderScope]. + * [iface@Gtk.BuilderScope]. * * If no closure could be created, %NULL will be returned and @error * will be set. @@ -660,7 +661,6 @@ public class Builder : ObjectG * name = name of object to get * * Returns: the object named @name - * or %NULL if it could not be found in the object tree. */ public ObjectG getObject(string name) { @@ -695,8 +695,6 @@ public class Builder : ObjectG * Gets the translation domain of @builder. * * Returns: the translation domain - * or %NULL. This string is owned by the builder object and - * must not be modified or freed. */ public string getTranslationDomain() { @@ -733,8 +731,7 @@ public class Builder : ObjectG * [ctor@Gtk.Builder.new_from_resource], the current object will be %NULL. * * Params: - * currentObject = the new current object or - * %NULL for none + * currentObject = the new current object */ public void setCurrentObject(ObjectG currentObject) { @@ -744,11 +741,10 @@ public class Builder : ObjectG /** * Sets the scope the builder should operate in. * - * If @scope is %NULL a new [class@Gtk.BuilderCScope] will be created. + * If @scope is %NULL, a new [class@Gtk.BuilderCScope] will be created. * * Params: - * scope_ = the scope to use or - * %NULL for the default + * scope_ = the scope to use */ public void setScope(BuilderScopeIF scope_) { @@ -759,7 +755,7 @@ public class Builder : ObjectG * Sets the translation domain of @builder. * * Params: - * domain = the translation domain or %NULL + * domain = the translation domain */ public void setTranslationDomain(string domain) { @@ -820,7 +816,7 @@ public class Builder : ObjectG * Params: * type = the `GType` of the value * string_ = the string representation of the value - * value = the #GValue to store the result in + * value = the `GValue` to store the result in * * Returns: %TRUE on success * diff --git a/generated/gtkd/gtk/BuilderCScope.d b/source/generated/gtk/gtk/BuilderCScope.d similarity index 98% rename from generated/gtkd/gtk/BuilderCScope.d rename to source/generated/gtk/gtk/BuilderCScope.d index 75878fe67..bd3cfb4fd 100644 --- a/generated/gtkd/gtk/BuilderCScope.d +++ b/source/generated/gtk/gtk/BuilderCScope.d @@ -139,7 +139,7 @@ public class BuilderCScope : ObjectG, BuilderScopeIF * callbackName = The name of the callback * * Returns: The callback symbol - * in @builder for @callback_name, or %NULL + * in @builder for @callback_name */ public GCallback lookupCallbackSymbol(string callbackName) { diff --git a/generated/gtkd/gtk/BuilderListItemFactory.d b/source/generated/gtk/gtk/BuilderListItemFactory.d similarity index 98% rename from generated/gtkd/gtk/BuilderListItemFactory.d rename to source/generated/gtk/gtk/BuilderListItemFactory.d index 6d9906efc..d6405bd2a 100644 --- a/generated/gtkd/gtk/BuilderListItemFactory.d +++ b/source/generated/gtk/gtk/BuilderListItemFactory.d @@ -164,8 +164,7 @@ public class BuilderListItemFactory : ListItemFactory /** * If the data references a resource, gets the path of that resource. * - * Returns: The path to the resource or %NULL - * if none + * Returns: The path to the resource */ public string getResource() { diff --git a/generated/gtkd/gtk/BuilderScopeIF.d b/source/generated/gtk/gtk/BuilderScopeIF.d similarity index 100% rename from generated/gtkd/gtk/BuilderScopeIF.d rename to source/generated/gtk/gtk/BuilderScopeIF.d diff --git a/generated/gtkd/gtk/BuilderScopeT.d b/source/generated/gtk/gtk/BuilderScopeT.d similarity index 100% rename from generated/gtkd/gtk/BuilderScopeT.d rename to source/generated/gtk/gtk/BuilderScopeT.d diff --git a/generated/gtkd/gtk/Button.d b/source/generated/gtk/gtk/Button.d similarity index 96% rename from generated/gtkd/gtk/Button.d rename to source/generated/gtk/gtk/Button.d index bcd5ea7a6..73f0caeef 100644 --- a/generated/gtkd/gtk/Button.d +++ b/source/generated/gtk/gtk/Button.d @@ -228,6 +228,12 @@ public class Button : Widget, ActionableIF /** * Sets the child widget of @button. * + * Note that by using this API, you take full responsibility for setting + * up the proper accessibility label and description information for @button. + * Most likely, you'll either set the accessibility label or description + * for @button explicitly, or you'll set a labelled-by or described-by + * relations from @child to @button. + * * Params: * child = the child widget */ diff --git a/generated/gtkd/gtk/CClosureExpression.d b/source/generated/gtk/gtk/CClosureExpression.d similarity index 95% rename from generated/gtkd/gtk/CClosureExpression.d rename to source/generated/gtk/gtk/CClosureExpression.d index 5c94ff47b..2ea6b4e89 100644 --- a/generated/gtkd/gtk/CClosureExpression.d +++ b/source/generated/gtk/gtk/CClosureExpression.d @@ -70,8 +70,10 @@ public class CClosureExpression : Expression } /** + * Creates a `GtkExpression` that calls `callback_func` when it is evaluated. + * * This function is a variant of [ctor@Gtk.ClosureExpression.new] that - * creates a `GClosure` by calling `g_cclosure_new()` with the given + * creates a `GClosure` by calling g_cclosure_new() with the given * `callback_func`, `user_data` and `user_destroy`. * * Params: diff --git a/generated/gtkd/gtk/Calendar.d b/source/generated/gtk/gtk/Calendar.d similarity index 98% rename from generated/gtkd/gtk/Calendar.d rename to source/generated/gtk/gtk/Calendar.d index 10a3e9e45..41f82cfe8 100644 --- a/generated/gtkd/gtk/Calendar.d +++ b/source/generated/gtk/gtk/Calendar.d @@ -148,13 +148,12 @@ public class Calendar : Widget } /** - * Returns a #GDateTime representing the shown + * Returns a `GDateTime` representing the shown * year, month and the selected day. * * The returned date is in the local time zone. * - * Returns: the `GDate` representing - * the shown date. + * Returns: the `GDate` representing the shown date */ public DateTime getDate() { @@ -237,7 +236,7 @@ public class Calendar : Widget * Switches to @date's year and month and select its day. * * Params: - * date = a #GDateTime representing the day to select + * date = a `GDateTime` representing the day to select */ public void selectDay(DateTime date) { diff --git a/generated/gtkd/gtk/CallbackAction.d b/source/generated/gtk/gtk/CallbackAction.d similarity index 100% rename from generated/gtkd/gtk/CallbackAction.d rename to source/generated/gtk/gtk/CallbackAction.d diff --git a/generated/gtkd/gtk/CellArea.d b/source/generated/gtk/gtk/CellArea.d similarity index 74% rename from generated/gtkd/gtk/CellArea.d rename to source/generated/gtk/gtk/CellArea.d index cf6333d04..237f0dd84 100644 --- a/generated/gtkd/gtk/CellArea.d +++ b/source/generated/gtk/gtk/CellArea.d @@ -48,32 +48,32 @@ private import std.algorithm; /** - * An abstract class for laying out GtkCellRenderers + * An abstract class for laying out `GtkCellRenderer`s * - * The #GtkCellArea is an abstract class for #GtkCellLayout widgets - * (also referred to as "layouting widgets") to interface with an - * arbitrary number of #GtkCellRenderers and interact with the user - * for a given #GtkTreeModel row. + * The `GtkCellArea` is an abstract class for [iface@Gtk.CellLayout] + * widgets (also referred to as "layouting widgets") to interface with + * an arbitrary number of [class@Gtk.CellRenderer]s and interact with the user + * for a given [iface@Gtk.TreeModel] row. * * The cell area handles events, focus navigation, drawing and * size requests and allocations for a given row of data. * - * Usually users dont have to interact with the #GtkCellArea directly + * Usually users dont have to interact with the `GtkCellArea` directly * unless they are implementing a cell-layouting widget themselves. * * # Requesting area sizes * * As outlined in - * [GtkWidget’s geometry management section][geometry-management], + * [GtkWidget’s geometry management section](class.Widget.html#height-for-width-geometry-management), * GTK uses a height-for-width * geometry management system to compute the sizes of widgets and user - * interfaces. #GtkCellArea uses the same semantics to calculate the - * size of an area for an arbitrary number of #GtkTreeModel rows. + * interfaces. `GtkCellArea` uses the same semantics to calculate the + * size of an area for an arbitrary number of `GtkTreeModel` rows. * * When requesting the size of a cell area one needs to calculate * the size for a handful of rows, and this will be done differently by - * different layouting widgets. For instance a #GtkTreeViewColumn - * always lines up the areas from top to bottom while a #GtkIconView + * different layouting widgets. For instance a [class@Gtk.TreeViewColumn] + * always lines up the areas from top to bottom while a [class@Gtk.IconView] * on the other hand might enforce that all areas received the same * width and wrap the areas around, requesting height for more cell * areas when allocated less width. @@ -81,28 +81,29 @@ private import std.algorithm; * It’s also important for areas to maintain some cell * alignments with areas rendered for adjacent rows (cells can * appear “columnized” inside an area even when the size of - * cells are different in each row). For this reason the #GtkCellArea - * uses a #GtkCellAreaContext object to store the alignments + * cells are different in each row). For this reason the `GtkCellArea` + * uses a [class@Gtk.CellAreaContext] object to store the alignments * and sizes along the way (as well as the overall largest minimum * and natural size for all the rows which have been calculated * with the said context). * - * The #GtkCellAreaContext is an opaque object specific to the - * #GtkCellArea which created it (see gtk_cell_area_create_context()). + * The [class@Gtk.CellAreaContext] is an opaque object specific to the + * `GtkCellArea` which created it (see [method@Gtk.CellArea.create_context]). + * * The owning cell-layouting widget can create as many contexts as * it wishes to calculate sizes of rows which should receive the * same size in at least one orientation (horizontally or vertically), - * However, it’s important that the same #GtkCellAreaContext which - * was used to request the sizes for a given #GtkTreeModel row be + * However, it’s important that the same [class@Gtk.CellAreaContext] which + * was used to request the sizes for a given `GtkTreeModel` row be * used when rendering or processing events for that row. * * In order to request the width of all the rows at the root level - * of a #GtkTreeModel one would do the following: + * of a `GtkTreeModel` one would do the following: * - * |[ + * ```c * GtkTreeIter iter; - * int minimum_width; - * int natural_width; + * int minimum_width; + * int natural_width; * * valid = gtk_tree_model_get_iter_first (model, &iter); * while (valid) @@ -112,65 +113,66 @@ private import std.algorithm; * * valid = gtk_tree_model_iter_next (model, &iter); * } + * * gtk_cell_area_context_get_preferred_width (context, &minimum_width, &natural_width); - * ]| + * ``` * * Note that in this example it’s not important to observe the * returned minimum and natural width of the area for each row * unless the cell-layouting object is actually interested in the * widths of individual rows. The overall width is however stored - * in the accompanying #GtkCellAreaContext object and can be consulted + * in the accompanying `GtkCellAreaContext` object and can be consulted * at any time. * - * This can be useful since #GtkCellLayout widgets usually have to + * This can be useful since `GtkCellLayout` widgets usually have to * support requesting and rendering rows in treemodels with an - * exceedingly large amount of rows. The #GtkCellLayout widget in + * exceedingly large amount of rows. The `GtkCellLayout` widget in * that case would calculate the required width of the rows in an - * idle or timeout source (see g_timeout_add()) and when the widget - * is requested its actual width in #GtkWidgetClass.measure() + * idle or timeout source (see [func@GLib.timeout_add]) and when the widget + * is requested its actual width in [vfunc@Gtk.Widget.measure] * it can simply consult the width accumulated so far in the - * #GtkCellAreaContext object. + * `GtkCellAreaContext` object. * * A simple example where rows are rendered from top to bottom and * take up the full width of the layouting widget would look like: * - * |[ + * ```c * static void - * foo_get_preferred_width (GtkWidget *widget, - * int *minimum_size, - * int *natural_size) + * foo_get_preferred_width (GtkWidget *widget, + * int *minimum_size, + * int *natural_size) * { - * Foo *foo = FOO (widget); - * FooPrivate *priv = foo->priv; + * Foo *self = FOO (widget); + * FooPrivate *priv = foo_get_instance_private (self); * - * foo_ensure_at_least_one_handfull_of_rows_have_been_requested (foo); + * foo_ensure_at_least_one_handfull_of_rows_have_been_requested (self); * * gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size); * } - * ]| + * ``` * - * In the above example the Foo widget has to make sure that some - * row sizes have been calculated (the amount of rows that Foo judged + * In the above example the `Foo` widget has to make sure that some + * row sizes have been calculated (the amount of rows that `Foo` judged * was appropriate to request space for in a single timeout iteration) * before simply returning the amount of space required by the area via - * the #GtkCellAreaContext. + * the `GtkCellAreaContext`. * * Requesting the height for width (or width for height) of an area is - * a similar task except in this case the #GtkCellAreaContext does not + * a similar task except in this case the `GtkCellAreaContext` does not * store the data (actually, it does not know how much space the layouting * widget plans to allocate it for every row. It’s up to the layouting * widget to render each row of data with the appropriate height and - * width which was requested by the #GtkCellArea). + * width which was requested by the `GtkCellArea`). * * In order to request the height for width of all the rows at the - * root level of a #GtkTreeModel one would do the following: + * root level of a `GtkTreeModel` one would do the following: * - * |[ + * ```c * GtkTreeIter iter; - * int minimum_height; - * int natural_height; - * int full_minimum_height = 0; - * int full_natural_height = 0; + * int minimum_height; + * int natural_height; + * int full_minimum_height = 0; + * int full_natural_height = 0; * * valid = gtk_tree_model_get_iter_first (model, &iter); * while (valid) @@ -187,7 +189,7 @@ private import std.algorithm; * * valid = gtk_tree_model_iter_next (model, &iter); * } - * ]| + * ``` * * Note that in the above example we would need to cache the heights * returned for each row so that we would know what sizes to render the @@ -203,7 +205,7 @@ private import std.algorithm; * synchronously. The reasoning here is that any layouting widget is * at least capable of synchronously calculating enough height to fill * the screen height (or scrolled window height) in response to a single - * call to #GtkWidgetClass.measure(). Returning + * call to [vfunc@Gtk.Widget.measure]. Returning * a perfect height for width that is larger than the screen area is * inconsequential since after the layouting receives an allocation * from a scrolled window it simply continues to drive the scrollbar @@ -214,17 +216,17 @@ private import std.algorithm; * * Once area sizes have been acquired at least for the rows in the * visible area of the layouting widget they can be rendered at - * #GtkWidgetClass.snapshot() time. + * [vfunc@Gtk.Widget.snapshot] time. * * A crude example of how to render all the rows at the root level * runs as follows: * - * |[ + * ```c * GtkAllocation allocation; - * GdkRectangle cell_area = { 0, }; - * GtkTreeIter iter; - * int minimum_width; - * int natural_width; + * GdkRectangle cell_area = { 0, }; + * GtkTreeIter iter; + * int minimum_width; + * int natural_width; * * gtk_widget_get_allocation (widget, &allocation); * cell_area.width = allocation.width; @@ -242,56 +244,54 @@ private import std.algorithm; * * valid = gtk_tree_model_iter_next (model, &iter); * } - * ]| + * ``` * * Note that the cached height in this example really depends on how * the layouting widget works. The layouting widget might decide to * give every row its minimum or natural height or, if the model content * is expected to fit inside the layouting widget without scrolling, it * would make sense to calculate the allocation for each row at - * the time the widget is allocated using gtk_distribute_natural_allocation(). + * the time the widget is allocated using [func@Gtk.distribute_natural_allocation]. * * # Handling Events and Driving Keyboard Focus * * Passing events to the area is as simple as handling events on any - * normal widget and then passing them to the gtk_cell_area_event() - * API as they come in. Usually #GtkCellArea is only interested in + * normal widget and then passing them to the [method@Gtk.CellArea.event] + * API as they come in. Usually `GtkCellArea` is only interested in * button events, however some customized derived areas can be implemented * who are interested in handling other events. Handling an event can - * trigger the #GtkCellArea::focus-changed signal to fire; as well as - * #GtkCellArea::add-editable in the case that an editable cell was - * clicked and needs to start editing. You can call - * gtk_cell_area_stop_editing() at any time to cancel any cell editing + * trigger the [`signal@Gtk.CellArea::focus-changed`] signal to fire; as well + * as [`signal@GtkCellArea::add-editable`] in the case that an editable cell + * was clicked and needs to start editing. You can call + * [method@Gtk.CellArea.stop_editing] at any time to cancel any cell editing * that is currently in progress. * - * The #GtkCellArea drives keyboard focus from cell to cell in a way - * similar to #GtkWidget. For layouting widgets that support giving - * focus to cells it’s important to remember to pass %GTK_CELL_RENDERER_FOCUSED + * The `GtkCellArea` drives keyboard focus from cell to cell in a way + * similar to `GtkWidget`. For layouting widgets that support giving + * focus to cells it’s important to remember to pass `GTK_CELL_RENDERER_FOCUSED` * to the area functions for the row that has focus and to tell the * area to paint the focus at render time. * * Layouting widgets that accept focus on cells should implement the - * #GtkWidgetClass.focus() virtual method. The layouting widget is always - * responsible for knowing where #GtkTreeModel rows are rendered inside - * the widget, so at #GtkWidgetClass.focus() time the layouting widget - * should use the #GtkCellArea methods to navigate focus inside the area - * and then observe the GtkDirectionType to pass the focus to adjacent + * [vfunc@Gtk.Widget.focus] virtual method. The layouting widget is always + * responsible for knowing where `GtkTreeModel` rows are rendered inside + * the widget, so at [vfunc@Gtk.Widget.focus] time the layouting widget + * should use the `GtkCellArea` methods to navigate focus inside the area + * and then observe the [enum@Gtk.DirectionType] to pass the focus to adjacent * rows and areas. * - * A basic example of how the #GtkWidgetClass.focus() virtual method + * A basic example of how the [vfunc@Gtk.Widget.focus] virtual method * should be implemented: * - * |[ + * ``` * static gboolean * foo_focus (GtkWidget *widget, * GtkDirectionType direction) * { - * Foo *foo = FOO (widget); - * FooPrivate *priv = foo->priv; - * int focus_row; - * gboolean have_focus = FALSE; - * - * focus_row = priv->focus_row; + * Foo *self = FOO (widget); + * FooPrivate *priv = foo_get_instance_private (self); + * int focus_row = priv->focus_row; + * gboolean have_focus = FALSE; * * if (!gtk_widget_has_focus (widget)) * gtk_widget_grab_focus (widget); @@ -337,30 +337,30 @@ private import std.algorithm; * } * return have_focus; * } - * ]| + * ``` * * Note that the layouting widget is responsible for matching the - * GtkDirectionType values to the way it lays out its cells. + * `GtkDirectionType` values to the way it lays out its cells. * * # Cell Properties * - * The #GtkCellArea introduces cell properties for #GtkCellRenderers. + * The `GtkCellArea` introduces cell properties for `GtkCellRenderer`s. * This provides some general interfaces for defining the relationship - * cell areas have with their cells. For instance in a #GtkCellAreaBox + * cell areas have with their cells. For instance in a [class@Gtk.CellAreaBox] * a cell might “expand” and receive extra space when the area is allocated * more than its full natural request, or a cell might be configured to “align” * with adjacent rows which were requested and rendered with the same - * #GtkCellAreaContext. + * `GtkCellAreaContext`. * - * Use gtk_cell_area_class_install_cell_property() to install cell - * properties for a cell area class and gtk_cell_area_class_find_cell_property() - * or gtk_cell_area_class_list_cell_properties() to get information about + * Use [method@Gtk.CellAreaClass.install_cell_property] to install cell + * properties for a cell area class and [method@Gtk.CellAreaClass.find_cell_property] + * or [method@Gtk.CellAreaClass.list_cell_properties] to get information about * existing cell properties. * - * To set the value of a cell property, use gtk_cell_area_cell_set_property(), - * gtk_cell_area_cell_set() or gtk_cell_area_cell_set_valist(). To obtain - * the value of a cell property, use gtk_cell_area_cell_get_property(), - * gtk_cell_area_cell_get() or gtk_cell_area_cell_get_valist(). + * To set the value of a cell property, use [method@Gtk.CellArea.cell_set_property], + * [method@Gtk.CellArea.cell_set] or [method@Gtk.CellArea.cell_set_valist]. To obtain + * the value of a cell property, use [method@Gtk.CellArea.cell_get_property] + * [method@Gtk.CellArea.cell_get] or [method@Gtk.CellArea.cell_get_valist]. */ public class CellArea : ObjectG, BuildableIF, CellLayoutIF { @@ -409,10 +409,10 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * can also activate a widget if it currently has the focus. * * Params: - * context = the #GtkCellAreaContext in context with the current row data - * widget = the #GtkWidget that @area is rendering on + * context = the `GtkCellArea`Context in context with the current row data + * widget = the `GtkWidget` that @area is rendering on * cellArea = the size and location of @area relative to @widget’s allocation - * flags = the #GtkCellRendererState flags for @area for this row of data. + * flags = the `GtkCellRenderer`State flags for @area for this row of data. * editOnly = if %TRUE then only cell renderers that are %GTK_CELL_RENDERER_MODE_EDITABLE * will be activated. * @@ -424,18 +424,18 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF } /** - * This is used by #GtkCellArea subclasses when handling events - * to activate cells, the base #GtkCellArea class activates cells + * This is used by `GtkCellArea` subclasses when handling events + * to activate cells, the base `GtkCellArea` class activates cells * for keyboard events for free in its own GtkCellArea->activate() * implementation. * * Params: - * widget = the #GtkWidget that @area is rendering onto - * renderer = the #GtkCellRenderer in @area to activate - * event = the #GdkEvent for which cell activation should occur - * cellArea = the #GdkRectangle in @widget relative coordinates + * widget = the `GtkWidget` that @area is rendering onto + * renderer = the `GtkCellRenderer` in @area to activate + * event = the `GdkEvent` for which cell activation should occur + * cellArea = the `GdkRectangle` in @widget relative coordinates * of @renderer for the current row. - * flags = the #GtkCellRendererState for @renderer + * flags = the `GtkCellRenderer`State for @renderer * * Returns: whether cell activation was successful */ @@ -448,7 +448,7 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * Adds @renderer to @area with the default child cell properties. * * Params: - * renderer = the #GtkCellRenderer to add to @area + * renderer = the `GtkCellRenderer` to add to @area */ public void add(CellRenderer renderer) { @@ -464,8 +464,8 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * focusable @renderer. * * Params: - * renderer = the #GtkCellRenderer expected to have focus - * sibling = the #GtkCellRenderer to add to @renderer’s focus area + * renderer = the `GtkCellRenderer` expected to have focus + * sibling = the `GtkCellRenderer` to add to @renderer’s focus area */ public void addFocusSibling(CellRenderer renderer, CellRenderer sibling) { @@ -477,8 +477,8 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * @area by pulling the values from @tree_model. * * Params: - * treeModel = the #GtkTreeModel to pull values from - * iter = the #GtkTreeIter in @tree_model to apply values for + * treeModel = the `GtkTreeModel` to pull values from + * iter = the `GtkTreeIter` in @tree_model to apply values for * isExpander = whether @iter has children * isExpanded = whether @iter is expanded in the view and * children are visible @@ -490,12 +490,12 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF /** * Connects an @attribute to apply values from @column for the - * #GtkTreeModel in use. + * `GtkTreeModel` in use. * * Params: - * renderer = the #GtkCellRenderer to connect an attribute for + * renderer = the `GtkCellRenderer` to connect an attribute for * attribute = the attribute name - * column = the #GtkTreeModel column to fetch attribute values from + * column = the `GtkTreeModel` column to fetch attribute values from */ public void attributeConnect(CellRenderer renderer, string attribute, int column) { @@ -508,7 +508,7 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * model. * * Params: - * renderer = the #GtkCellRenderer to disconnect an attribute for + * renderer = the `GtkCellRenderer` to disconnect an attribute for * attribute = the attribute name */ public void attributeDisconnect(CellRenderer renderer, string attribute) @@ -521,7 +521,7 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * or -1 if the attribute is not mapped. * * Params: - * renderer = a #GtkCellRenderer + * renderer = a `GtkCellRenderer` * attribute = an attribute on the renderer * * Returns: the model column, or -1 @@ -535,7 +535,7 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * Gets the value of a cell property for @renderer in @area. * * Params: - * renderer = a #GtkCellRenderer inside @area + * renderer = a `GtkCellRenderer` inside @area * propertyName = the name of the property to get * value = a location to return the value */ @@ -548,7 +548,7 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * Gets the values of one or more cell properties for @renderer in @area. * * Params: - * renderer = a #GtkCellRenderer inside @area + * renderer = a `GtkCellRenderer` inside @area * firstPropertyName = the name of the first property to get * varArgs = return location for the first property, followed * optionally by more name/return location pairs, followed by %NULL @@ -562,7 +562,7 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * Sets a cell property for @renderer in @area. * * Params: - * renderer = a #GtkCellRenderer inside @area + * renderer = a `GtkCellRenderer` inside @area * propertyName = the name of the cell property to set * value = the value to set the cell property to */ @@ -575,7 +575,7 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * Sets one or more cell properties for @renderer in @area. * * Params: - * renderer = a #GtkCellRenderer which inside @area + * renderer = a `GtkCellRenderer` which inside @area * firstPropertyName = the name of the first cell property to set * varArgs = a %NULL-terminated list of property names and values, starting * with @first_prop_name @@ -590,18 +590,18 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * alignments in one orientation but may be separately grouped * in the opposing orientation. * - * For instance, #GtkIconView creates all icons (rows) to have + * For instance, `GtkIconView` creates all icons (rows) to have * the same width and the cells theirin to have the same * horizontal alignments. However each row of icons may have - * a separate collective height. #GtkIconView uses this to + * a separate collective height. `GtkIconView` uses this to * request the heights of each row based on a context which * was already used to request all the row widths that are * to be displayed. * * Params: - * context = the #GtkCellAreaContext to copy + * context = the `GtkCellArea`Context to copy * - * Returns: a newly created #GtkCellAreaContext copy of @context. + * Returns: a newly created `GtkCellArea`Context copy of @context. */ public CellAreaContext copyContext(CellAreaContext context) { @@ -616,14 +616,14 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF } /** - * Creates a #GtkCellAreaContext to be used with @area for - * all purposes. #GtkCellAreaContext stores geometry information + * Creates a `GtkCellArea`Context to be used with @area for + * all purposes. `GtkCellArea`Context stores geometry information * for rows for which it was operated on, it is important to use * the same context for the same row of data at all times (i.e. - * one should render and handle events with the same #GtkCellAreaContext + * one should render and handle events with the same `GtkCellArea`Context * which was used to request the size of those rows of data). * - * Returns: a newly created #GtkCellAreaContext which can be used with @area. + * Returns: a newly created `GtkCellArea`Context which can be used with @area. */ public CellAreaContext createContext() { @@ -638,14 +638,14 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF } /** - * Delegates event handling to a #GtkCellArea. + * Delegates event handling to a `GtkCellArea`. * * Params: - * context = the #GtkCellAreaContext for this row of data. - * widget = the #GtkWidget that @area is rendering to - * event = the #GdkEvent to handle + * context = the `GtkCellArea`Context for this row of data. + * widget = the `GtkWidget` that @area is rendering to + * event = the `GdkEvent` to handle * cellArea = the @widget relative coordinates for @area - * flags = the #GtkCellRendererState for @area in this row. + * flags = the `GtkCellRenderer`State for @area in this row. * * Returns: %TRUE if the event was handled by @area. */ @@ -659,12 +659,12 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * when focus is to be passed to @area, or moved within @area * for a given @direction and row data. * - * Implementing #GtkCellArea classes should implement this + * Implementing `GtkCellArea` classes should implement this * method to receive and navigate focus in its own way particular * to how it lays out cells. * * Params: - * direction = the #GtkDirectionType + * direction = the `GtkDirectionType` * * Returns: %TRUE if focus remains inside @area as a result of this call. */ @@ -675,10 +675,10 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF alias foreac = foreach_; /** - * Calls @callback for every #GtkCellRenderer in @area. + * Calls @callback for every `GtkCellRenderer` in @area. * * Params: - * callback = the #GtkCellCallback to call + * callback = the `GtkCellCallback` to call * callbackData = user provided data pointer */ public void foreach_(GtkCellCallback callback, void* callbackData) @@ -687,15 +687,15 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF } /** - * Calls @callback for every #GtkCellRenderer in @area with the + * Calls @callback for every `GtkCellRenderer` in @area with the * allocated rectangle inside @cell_area. * * Params: - * context = the #GtkCellAreaContext for this row of data. - * widget = the #GtkWidget that @area is rendering to + * context = the `GtkCellArea`Context for this row of data. + * widget = the `GtkWidget` that @area is rendering to * cellArea = the @widget relative coordinates and size for @area * backgroundArea = the @widget relative coordinates of the background area - * callback = the #GtkCellAllocCallback to call + * callback = the `GtkCellAllocCallback` to call * callbackData = user provided data pointer */ public void foreachAlloc(CellAreaContext context, Widget widget, GdkRectangle* cellArea, GdkRectangle* backgroundArea, GtkCellAllocCallback callback, void* callbackData) @@ -708,9 +708,9 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * were to be renderered in @cell_area. * * Params: - * context = the #GtkCellAreaContext used to hold sizes for @area. - * widget = the #GtkWidget that @area is rendering on - * renderer = the #GtkCellRenderer to get the allocation for + * context = the `GtkCellArea`Context used to hold sizes for @area. + * widget = the `GtkWidget` that @area is rendering on + * renderer = the `GtkCellRenderer` to get the allocation for * cellArea = the whole allocated area for @area in @widget * for this row * allocation = where to store the allocation for @renderer @@ -721,20 +721,20 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF } /** - * Gets the #GtkCellRenderer at @x and @y coordinates inside @area and optionally + * Gets the `GtkCellRenderer` at @x and @y coordinates inside @area and optionally * returns the full cell allocation for it inside @cell_area. * * Params: - * context = the #GtkCellAreaContext used to hold sizes for @area. - * widget = the #GtkWidget that @area is rendering on + * context = the `GtkCellArea`Context used to hold sizes for @area. + * widget = the `GtkWidget` that @area is rendering on * cellArea = the whole allocated area for @area in @widget * for this row * x = the x position * y = the y position * allocArea = where to store the inner allocated area of the - * returned cell renderer, or %NULL. + * returned cell renderer * - * Returns: the #GtkCellRenderer at @x and @y. + * Returns: the `GtkCellRenderer` at @x and @y. */ public CellRenderer getCellAtPosition(CellAreaContext context, Widget widget, GdkRectangle* cellArea, int x, int y, out GdkRectangle allocArea) { @@ -749,13 +749,13 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF } /** - * Gets the current #GtkTreePath string for the currently - * applied #GtkTreeIter, this is implicitly updated when + * Gets the current `GtkTreePath` string for the currently + * applied `GtkTreeIter`, this is implicitly updated when * gtk_cell_area_apply_attributes() is called and can be - * used to interact with renderers from #GtkCellArea + * used to interact with renderers from `GtkCellArea` * subclasses. * - * Returns: The current #GtkTreePath string for the current + * Returns: The current `GtkTreePath` string for the current * attributes applied to @area. This string belongs to the area and * should not be freed. */ @@ -765,10 +765,10 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF } /** - * Gets the #GtkCellEditable widget currently used + * Gets the `GtkCellEditable` widget currently used * to edit the currently edited cell. * - * Returns: The currently active #GtkCellEditable widget + * Returns: The currently active `GtkCellEditable` widget */ public CellEditableIF getEditWidget() { @@ -783,10 +783,10 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF } /** - * Gets the #GtkCellRenderer in @area that is currently + * Gets the `GtkCellRenderer` in @area that is currently * being edited. * - * Returns: The currently edited #GtkCellRenderer + * Returns: The currently edited `GtkCellRenderer` */ public CellRenderer getEditedCell() { @@ -818,19 +818,19 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF } /** - * Gets the #GtkCellRenderer which is expected to be focusable + * Gets the `GtkCellRenderer` which is expected to be focusable * for which @renderer is, or may be a sibling. * - * This is handy for #GtkCellArea subclasses when handling events, + * This is handy for `GtkCellArea` subclasses when handling events, * after determining the renderer at the event location it can * then chose to activate the focus cell for which the event * cell may have been a sibling. * * Params: - * renderer = the #GtkCellRenderer + * renderer = the `GtkCellRenderer` * - * Returns: the #GtkCellRenderer for which @renderer - * is a sibling, or %NULL. + * Returns: the `GtkCellRenderer` + * for which @renderer is a sibling */ public CellRenderer getFocusFromSibling(CellRenderer renderer) { @@ -848,9 +848,9 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * Gets the focus sibling cell renderers for @renderer. * * Params: - * renderer = the #GtkCellRenderer expected to have focus + * renderer = the `GtkCellRenderer` expected to have focus * - * Returns: A #GList of #GtkCellRenderers. + * Returns: A `GList` of `GtkCellRenderer`s. * The returned list is internal and should not be freed. */ public ListG getFocusSiblings(CellRenderer renderer) @@ -875,10 +875,10 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * requests. * * Params: - * context = the #GtkCellAreaContext to perform this request with - * widget = the #GtkWidget where @area will be rendering - * minimumHeight = location to store the minimum height, or %NULL - * naturalHeight = location to store the natural height, or %NULL + * context = the `GtkCellArea`Context to perform this request with + * widget = the `GtkWidget` where @area will be rendering + * minimumHeight = location to store the minimum height + * naturalHeight = location to store the natural height */ public void getPreferredHeight(CellAreaContext context, Widget widget, out int minimumHeight, out int naturalHeight) { @@ -902,11 +902,11 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * gtk_cell_area_context_get_preferred_width(). * * Params: - * context = the #GtkCellAreaContext which has already been requested for widths. - * widget = the #GtkWidget where @area will be rendering + * context = the `GtkCellArea`Context which has already been requested for widths. + * widget = the `GtkWidget` where @area will be rendering * width = the width for which to check the height of this area - * minimumHeight = location to store the minimum height, or %NULL - * naturalHeight = location to store the natural height, or %NULL + * minimumHeight = location to store the minimum height + * naturalHeight = location to store the natural height */ public void getPreferredHeightForWidth(CellAreaContext context, Widget widget, int width, out int minimumHeight, out int naturalHeight) { @@ -923,10 +923,10 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * requests. * * Params: - * context = the #GtkCellAreaContext to perform this request with - * widget = the #GtkWidget where @area will be rendering - * minimumWidth = location to store the minimum width, or %NULL - * naturalWidth = location to store the natural width, or %NULL + * context = the `GtkCellArea`Context to perform this request with + * widget = the `GtkWidget` where @area will be rendering + * minimumWidth = location to store the minimum width + * naturalWidth = location to store the natural width */ public void getPreferredWidth(CellAreaContext context, Widget widget, out int minimumWidth, out int naturalWidth) { @@ -950,11 +950,11 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * gtk_cell_area_context_get_preferred_height(). * * Params: - * context = the #GtkCellAreaContext which has already been requested for widths. - * widget = the #GtkWidget where @area will be rendering + * context = the `GtkCellArea`Context which has already been requested for widths. + * widget = the `GtkWidget` where @area will be rendering * height = the height for which to check the width of this area - * minimumWidth = location to store the minimum width, or %NULL - * naturalWidth = location to store the natural width, or %NULL + * minimumWidth = location to store the minimum width + * naturalWidth = location to store the natural width */ public void getPreferredWidthForHeight(CellAreaContext context, Widget widget, int height, out int minimumWidth, out int naturalWidth) { @@ -965,7 +965,7 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * Gets whether the area prefers a height-for-width layout * or a width-for-height layout. * - * Returns: The #GtkSizeRequestMode preferred by @area. + * Returns: The `GtkSizeRequestMode` preferred by @area. */ public GtkSizeRequestMode getRequestMode() { @@ -976,7 +976,7 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * Checks if @area contains @renderer. * * Params: - * renderer = the #GtkCellRenderer to check + * renderer = the `GtkCellRenderer` to check * * Returns: %TRUE if @renderer is in the @area. */ @@ -986,12 +986,12 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF } /** - * This is a convenience function for #GtkCellArea implementations - * to get the inner area where a given #GtkCellRenderer will be + * This is a convenience function for `GtkCellArea` implementations + * to get the inner area where a given `GtkCellRenderer` will be * rendered. It removes any padding previously added by gtk_cell_area_request_renderer(). * * Params: - * widget = the #GtkWidget that @area is rendering onto + * widget = the `GtkWidget` that @area is rendering onto * cellArea = the @widget relative coordinates where one of @area’s cells * is to be placed * innerArea = the return location for the inner cell area @@ -1017,8 +1017,8 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * (see gtk_cell_area_add_focus_sibling()). * * Params: - * renderer = the #GtkCellRenderer expected to have focus - * sibling = the #GtkCellRenderer to check against @renderer’s sibling list + * renderer = the `GtkCellRenderer` expected to have focus + * sibling = the `GtkCellRenderer` to check against @renderer’s sibling list * * Returns: %TRUE if @sibling is a focus sibling of @renderer */ @@ -1031,7 +1031,7 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * Removes @renderer from @area. * * Params: - * renderer = the #GtkCellRenderer to remove from @area + * renderer = the `GtkCellRenderer` to remove from @area */ public void remove(CellRenderer renderer) { @@ -1043,8 +1043,8 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * (see gtk_cell_area_add_focus_sibling()). * * Params: - * renderer = the #GtkCellRenderer expected to have focus - * sibling = the #GtkCellRenderer to remove from @renderer’s focus area + * renderer = the `GtkCellRenderer` expected to have focus + * sibling = the `GtkCellRenderer` to remove from @renderer’s focus area */ public void removeFocusSibling(CellRenderer renderer, CellRenderer sibling) { @@ -1052,20 +1052,20 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF } /** - * This is a convenience function for #GtkCellArea implementations + * This is a convenience function for `GtkCellArea` implementations * to request size for cell renderers. It’s important to use this * function to request size and then use gtk_cell_area_inner_cell_area() * at render and event time since this function will add padding * around the cell for focus painting. * * Params: - * renderer = the #GtkCellRenderer to request size for - * orientation = the #GtkOrientation in which to request size - * widget = the #GtkWidget that @area is rendering onto + * renderer = the `GtkCellRenderer` to request size for + * orientation = the `GtkOrientation` in which to request size + * widget = the `GtkWidget` that @area is rendering onto * forSize = the allocation contextual size to request for, or -1 if * the base request for the orientation is to be returned. - * minimumSize = location to store the minimum size, or %NULL - * naturalSize = location to store the natural size, or %NULL + * minimumSize = location to store the minimum size + * naturalSize = location to store the natural size */ public void requestRenderer(CellRenderer renderer, GtkOrientation orientation, Widget widget, int forSize, out int minimumSize, out int naturalSize) { @@ -1076,12 +1076,12 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * Explicitly sets the currently focused cell to @renderer. * * This is generally called by implementations of - * #GtkCellAreaClass.focus() or #GtkCellAreaClass.event(), + * `GtkCellAreaClass.focus()` or `GtkCellAreaClass.event()`, * however it can also be used to implement functions such * as gtk_tree_view_set_cursor_on_cell(). * * Params: - * renderer = the #GtkCellRenderer to give focus to + * renderer = the `GtkCellRenderer` to give focus to */ public void setFocusCell(CellRenderer renderer) { @@ -1093,12 +1093,12 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * the given coordinates. * * Params: - * context = the #GtkCellAreaContext for this row of data. - * widget = the #GtkWidget that @area is rendering to - * snapshot = the #GtkSnapshot to draw to + * context = the `GtkCellArea`Context for this row of data. + * widget = the `GtkWidget` that @area is rendering to + * snapshot = the `GtkSnapshot` to draw to * backgroundArea = the @widget relative coordinates for @area’s background * cellArea = the @widget relative coordinates for @area - * flags = the #GtkCellRendererState for @area in this row. + * flags = the `GtkCellRenderer`State for @area in this row. * paintFocus = whether @area should paint focus on focused cells for focused rows or not. */ public void snapshot(CellAreaContext context, Widget widget, Snapshot snapshot, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags, bool paintFocus) @@ -1129,11 +1129,11 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * should be added to the owning cell-layouting widget at @cell_area. * * Params: - * renderer = the #GtkCellRenderer that started the edited - * editable = the #GtkCellEditable widget to add - * cellArea = the #GtkWidget relative #GdkRectangle coordinates + * renderer = the `GtkCellRenderer` that started the edited + * editable = the `GtkCellEditable` widget to add + * cellArea = the `GtkWidget` relative `GdkRectangle` coordinates * where @editable should be added - * path = the #GtkTreePath string this edit was initiated for + * path = the `GtkTreePath` string this edit was initiated for */ gulong addOnAddEditable(void delegate(CellRenderer, CellEditableIF, GdkRectangle*, string, CellArea) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -1144,8 +1144,8 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * This signal is emitted whenever applying attributes to @area from @model * * Params: - * model = the #GtkTreeModel to apply the attributes from - * iter = the #GtkTreeIter indicating which row to apply the attributes of + * model = the `GtkTreeModel` to apply the attributes from + * iter = the `GtkTreeIter` indicating which row to apply the attributes of * isExpander = whether the view shows children for this row * isExpanded = whether the view is currently showing the children of this row */ @@ -1165,8 +1165,8 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * same cell area for a different row of data. * * Params: - * renderer = the #GtkCellRenderer that has focus - * path = the current #GtkTreePath string set for @area + * renderer = the `GtkCellRenderer` that has focus + * path = the current `GtkTreePath` string set for @area */ gulong addOnFocusChanged(void delegate(CellRenderer, string, CellArea) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -1178,8 +1178,8 @@ public class CellArea : ObjectG, BuildableIF, CellLayoutIF * should be removed from the owning cell-layouting widget. * * Params: - * renderer = the #GtkCellRenderer that finished editeding - * editable = the #GtkCellEditable widget to remove + * renderer = the `GtkCellRenderer` that finished editeding + * editable = the `GtkCellEditable` widget to remove */ gulong addOnRemoveEditable(void delegate(CellRenderer, CellEditableIF, CellArea) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { diff --git a/generated/gtkd/gtk/CellAreaBox.d b/source/generated/gtk/gtk/CellAreaBox.d similarity index 85% rename from generated/gtkd/gtk/CellAreaBox.d rename to source/generated/gtk/gtk/CellAreaBox.d index 6173c590f..4ca1011f5 100644 --- a/generated/gtkd/gtk/CellAreaBox.d +++ b/source/generated/gtk/gtk/CellAreaBox.d @@ -37,21 +37,21 @@ public import gtk.c.types; /** * A cell area that renders GtkCellRenderers into a row or a column * - * The #GtkCellAreaBox renders cell renderers into a row or a column - * depending on its #GtkOrientation. + * The `GtkCellAreaBox` renders cell renderers into a row or a column + * depending on its `GtkOrientation`. * * GtkCellAreaBox uses a notion of packing. Packing * refers to adding cell renderers with reference to a particular position - * in a #GtkCellAreaBox. There are two reference positions: the + * in a `GtkCellAreaBox`. There are two reference positions: the * start and the end of the box. - * When the #GtkCellAreaBox is oriented in the %GTK_ORIENTATION_VERTICAL + * When the `GtkCellAreaBox` is oriented in the %GTK_ORIENTATION_VERTICAL * orientation, the start is defined as the top of the box and the end is * defined as the bottom. In the %GTK_ORIENTATION_HORIZONTAL orientation * start is defined as the left side and the end is defined as the right * side. * - * Alignments of #GtkCellRenderers rendered in adjacent rows can be - * configured by configuring the #GtkCellAreaBox align child cell property + * Alignments of `GtkCellRenderer`s rendered in adjacent rows can be + * configured by configuring the `GtkCellAreaBox` align child cell property * with gtk_cell_area_cell_set_property() or by specifying the "align" * argument to gtk_cell_area_box_pack_start() and gtk_cell_area_box_pack_end(). */ @@ -94,9 +94,9 @@ public class CellAreaBox : CellArea, OrientableIF } /** - * Creates a new #GtkCellAreaBox. + * Creates a new `GtkCellAreaBox`. * - * Returns: a newly created #GtkCellAreaBox + * Returns: a newly created `GtkCellAreaBox` * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -126,10 +126,10 @@ public class CellAreaBox : CellArea, OrientableIF * Adds @renderer to @box, packed with reference to the end of @box. * * The @renderer is packed after (away from end of) any other - * #GtkCellRenderer packed with reference to the end of @box. + * `GtkCellRenderer` packed with reference to the end of @box. * * Params: - * renderer = the #GtkCellRenderer to add + * renderer = the `GtkCellRenderer` to add * expand = whether @renderer should receive extra space when the area receives * more than its natural size * align_ = whether @renderer should be aligned in adjacent rows @@ -143,11 +143,11 @@ public class CellAreaBox : CellArea, OrientableIF /** * Adds @renderer to @box, packed with reference to the start of @box. * - * The @renderer is packed after any other #GtkCellRenderer packed + * The @renderer is packed after any other `GtkCellRenderer` packed * with reference to the start of @box. * * Params: - * renderer = the #GtkCellRenderer to add + * renderer = the `GtkCellRenderer` to add * expand = whether @renderer should receive extra space when the area receives * more than its natural size * align_ = whether @renderer should be aligned in adjacent rows @@ -162,7 +162,7 @@ public class CellAreaBox : CellArea, OrientableIF * Sets the spacing to add between cell renderers in @box. * * Params: - * spacing = the space to add between #GtkCellRenderers + * spacing = the space to add between `GtkCellRenderer`s */ public void setSpacing(int spacing) { diff --git a/generated/gtkd/gtk/CellAreaClass.d b/source/generated/gtk/gtk/CellAreaClass.d similarity index 92% rename from generated/gtkd/gtk/CellAreaClass.d rename to source/generated/gtk/gtk/CellAreaClass.d index d84ae4be6..fb8faa45d 100644 --- a/generated/gtkd/gtk/CellAreaClass.d +++ b/source/generated/gtk/gtk/CellAreaClass.d @@ -68,8 +68,7 @@ public class CellAreaClass * Params: * propertyName = the name of the child property to find * - * Returns: the #GParamSpec of the child property - * or %NULL if @aclass has no child property with that name. + * Returns: the `GParamSpec` of the child property */ public ParamSpec findCellProperty(string propertyName) { @@ -88,7 +87,7 @@ public class CellAreaClass * * Params: * propertyId = the id for the property - * pspec = the #GParamSpec for the property + * pspec = the `GParamSpec` for the property */ public void installCellProperty(uint propertyId, ParamSpec pspec) { @@ -99,7 +98,7 @@ public class CellAreaClass * Returns all cell properties of a cell area class. * * Returns: a newly - * allocated %NULL-terminated array of #GParamSpec*. The array + * allocated %NULL-terminated array of `GParamSpec`*. The array * must be freed with g_free(). */ public ParamSpec[] listCellProperties() diff --git a/generated/gtkd/gtk/CellAreaContext.d b/source/generated/gtk/gtk/CellAreaContext.d similarity index 76% rename from generated/gtkd/gtk/CellAreaContext.d rename to source/generated/gtk/gtk/CellAreaContext.d index 2e1aebd38..8df88b582 100644 --- a/generated/gtkd/gtk/CellAreaContext.d +++ b/source/generated/gtk/gtk/CellAreaContext.d @@ -33,15 +33,15 @@ public import gtk.c.types; /** * Stores geometrical information for a series of rows in a GtkCellArea * - * The #GtkCellAreaContext object is created by a given #GtkCellArea - * implementation via its #GtkCellAreaClass.create_context() virtual + * The `GtkCellAreaContext` object is created by a given `GtkCellArea` + * implementation via its `GtkCellAreaClass.create_context()` virtual * method and is used to store cell sizes and alignments for a series of - * #GtkTreeModel rows that are requested and rendered in the same context. + * `GtkTreeModel` rows that are requested and rendered in the same context. * - * #GtkCellLayout widgets can create any number of contexts in which to + * `GtkCellLayout` widgets can create any number of contexts in which to * request and render groups of data rows. However, it’s important that the - * same context which was used to request sizes for a given #GtkTreeModel - * row also be used for the same row when calling other #GtkCellArea APIs + * same context which was used to request sizes for a given `GtkTreeModel` + * row also be used for the same row when calling other `GtkCellArea` APIs * such as gtk_cell_area_render() and gtk_cell_area_event(). */ public class CellAreaContext : ObjectG @@ -88,14 +88,14 @@ public class CellAreaContext : ObjectG * side vertically or horizontally and share either the same width * or the same height. Sometimes they are allocated in both horizontal * and vertical orientations producing a homogeneous effect of the - * rows. This is generally the case for #GtkTreeView when - * #GtkTreeView:fixed-height-mode is enabled. + * rows. This is generally the case for `GtkTreeView` when + * `GtkTreeView:fixed-height-mode` is enabled. * * Params: - * width = the allocated width for all #GtkTreeModel rows rendered - * with @context, or -1. - * height = the allocated height for all #GtkTreeModel rows rendered - * with @context, or -1. + * width = the allocated width for all `GtkTreeModel` rows rendered + * with @context, or -1 + * height = the allocated height for all `GtkTreeModel` rows rendered + * with @context, or -1 */ public void allocate(int width, int height) { @@ -110,8 +110,8 @@ public class CellAreaContext : ObjectG * the returned value will be -1. * * Params: - * width = location to store the allocated width, or %NULL - * height = location to store the allocated height, or %NULL + * width = location to store the allocated width + * height = location to store the allocated height */ public void getAllocation(out int width, out int height) { @@ -119,18 +119,18 @@ public class CellAreaContext : ObjectG } /** - * Fetches the #GtkCellArea this @context was created by. + * Fetches the `GtkCellArea` this @context was created by. * * This is generally unneeded by layouting widgets; however, * it is important for the context implementation itself to * fetch information about the area it is being used for. * - * For instance at #GtkCellAreaContextClass.allocate() time + * For instance at `GtkCellAreaContextClass.allocate()` time * it’s important to know details about any cell spacing - * that the #GtkCellArea is configured with in order to + * that the `GtkCellArea` is configured with in order to * compute a proper allocation. * - * Returns: the #GtkCellArea this context was created by. + * Returns: the `GtkCellArea` this context was created by. */ public CellArea getArea() { @@ -149,13 +149,11 @@ public class CellAreaContext : ObjectG * requested with this context. * * After gtk_cell_area_context_reset() is called and/or before ever - * requesting the size of a #GtkCellArea, the returned values are 0. + * requesting the size of a `GtkCellArea`, the returned values are 0. * * Params: - * minimumHeight = location to store the minimum height, - * or %NULL - * naturalHeight = location to store the natural height, - * or %NULL + * minimumHeight = location to store the minimum height + * naturalHeight = location to store the natural height */ public void getPreferredHeight(out int minimumHeight, out int naturalHeight) { @@ -167,14 +165,12 @@ public class CellAreaContext : ObjectG * which have been requested for the same said @width with this context. * * After gtk_cell_area_context_reset() is called and/or before ever - * requesting the size of a #GtkCellArea, the returned values are -1. + * requesting the size of a `GtkCellArea`, the returned values are -1. * * Params: * width = a proposed width for allocation - * minimumHeight = location to store the minimum height, - * or %NULL - * naturalHeight = location to store the natural height, - * or %NULL + * minimumHeight = location to store the minimum height + * naturalHeight = location to store the natural height */ public void getPreferredHeightForWidth(int width, out int minimumHeight, out int naturalHeight) { @@ -186,13 +182,11 @@ public class CellAreaContext : ObjectG * requested with this context. * * After gtk_cell_area_context_reset() is called and/or before ever - * requesting the size of a #GtkCellArea, the returned values are 0. + * requesting the size of a `GtkCellArea`, the returned values are 0. * * Params: - * minimumWidth = location to store the minimum width, - * or %NULL - * naturalWidth = location to store the natural width, - * or %NULL + * minimumWidth = location to store the minimum width + * naturalWidth = location to store the natural width */ public void getPreferredWidth(out int minimumWidth, out int naturalWidth) { @@ -204,14 +198,12 @@ public class CellAreaContext : ObjectG * have been requested for the same said @height with this context. * * After gtk_cell_area_context_reset() is called and/or before ever - * requesting the size of a #GtkCellArea, the returned values are -1. + * requesting the size of a `GtkCellArea`, the returned values are -1. * * Params: * height = a proposed height for allocation - * minimumWidth = location to store the minimum width, - * or %NULL - * naturalWidth = location to store the natural width, - * or %NULL + * minimumWidth = location to store the minimum width + * naturalWidth = location to store the natural width */ public void getPreferredWidthForHeight(int height, out int minimumWidth, out int naturalWidth) { @@ -222,8 +214,8 @@ public class CellAreaContext : ObjectG * Causes the minimum and/or natural height to grow if the new * proposed sizes exceed the current minimum and natural height. * - * This is used by #GtkCellAreaContext implementations during - * the request process over a series of #GtkTreeModel rows to + * This is used by `GtkCellAreaContext` implementations during + * the request process over a series of `GtkTreeModel` rows to * progressively push the requested height over a series of * gtk_cell_area_get_preferred_height() requests. * @@ -240,8 +232,8 @@ public class CellAreaContext : ObjectG * Causes the minimum and/or natural width to grow if the new * proposed sizes exceed the current minimum and natural width. * - * This is used by #GtkCellAreaContext implementations during - * the request process over a series of #GtkTreeModel rows to + * This is used by `GtkCellAreaContext` implementations during + * the request process over a series of `GtkTreeModel` rows to * progressively push the requested width over a series of * gtk_cell_area_get_preferred_width() requests. * @@ -258,7 +250,7 @@ public class CellAreaContext : ObjectG * Resets any previously cached request and allocation * data. * - * When underlying #GtkTreeModel data changes its + * When underlying `GtkTreeModel` data changes its * important to reset the context if the content * size is allowed to shrink. If the content size * is only allowed to grow (this is usually an option diff --git a/generated/gtkd/gtk/CellEditableIF.d b/source/generated/gtk/gtk/CellEditableIF.d similarity index 74% rename from generated/gtkd/gtk/CellEditableIF.d rename to source/generated/gtk/gtk/CellEditableIF.d index 3140a84b8..3cbea0e1e 100644 --- a/generated/gtkd/gtk/CellEditableIF.d +++ b/source/generated/gtk/gtk/CellEditableIF.d @@ -34,8 +34,8 @@ private import std.algorithm; /** * Interface for widgets that can be used for editing cells * - * The #GtkCellEditable interface must be implemented for widgets to be usable - * to edit the contents of a #GtkTreeView cell. It provides a way to specify how + * The `GtkCellEditable` interface must be implemented for widgets to be usable + * to edit the contents of a `GtkTreeView` cell. It provides a way to specify how * temporary widgets should be configured for editing, get the new value, etc. */ public interface CellEditableIF{ @@ -53,29 +53,29 @@ public interface CellEditableIF{ } /** - * Emits the #GtkCellEditable::editing-done signal. + * Emits the `GtkCellEditable::editing-done` signal. */ public void editingDone(); /** - * Emits the #GtkCellEditable::remove-widget signal. + * Emits the `GtkCellEditable::remove-widget` signal. */ public void removeWidget(); /** * Begins editing on a @cell_editable. * - * The #GtkCellRenderer for the cell creates and returns a #GtkCellEditable from - * gtk_cell_renderer_start_editing(), configured for the #GtkCellRenderer type. + * The `GtkCellRenderer` for the cell creates and returns a `GtkCellEditable` from + * gtk_cell_renderer_start_editing(), configured for the `GtkCellRenderer` type. * * gtk_cell_editable_start_editing() can then set up @cell_editable suitably for - * editing a cell, e.g. making the Esc key emit #GtkCellEditable::editing-done. + * editing a cell, e.g. making the Esc key emit `GtkCellEditable::editing-done`. * * Note that the @cell_editable is created on-demand for the current edit; its * lifetime is temporary and does not persist across other edits and/or cells. * * Params: - * event = The #GdkEvent that began the editing process, or + * event = The `GdkEvent` that began the editing process, or * %NULL if editing was initiated programmatically */ public void startEditing(Event event); @@ -84,14 +84,14 @@ public interface CellEditableIF{ * This signal is a sign for the cell renderer to update its * value from the @cell_editable. * - * Implementations of #GtkCellEditable are responsible for + * Implementations of `GtkCellEditable` are responsible for * emitting this signal when they are done editing, e.g. - * #GtkEntry emits this signal when the user presses Enter. Typical things to + * `GtkEntry` emits this signal when the user presses Enter. Typical things to * do in a handler for ::editing-done are to capture the edited value, - * disconnect the @cell_editable from signals on the #GtkCellRenderer, etc. + * disconnect the @cell_editable from signals on the `GtkCellRenderer`, etc. * * gtk_cell_editable_editing_done() is a convenience method - * for emitting #GtkCellEditable::editing-done. + * for emitting `GtkCellEditable::editing-done`. */ gulong addOnEditingDone(void delegate(CellEditableIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0); @@ -100,14 +100,14 @@ public interface CellEditableIF{ * editing, and the @cell_editable widget is being removed and may * subsequently be destroyed. * - * Implementations of #GtkCellEditable are responsible for + * Implementations of `GtkCellEditable` are responsible for * emitting this signal when they are done editing. It must - * be emitted after the #GtkCellEditable::editing-done signal, + * be emitted after the `GtkCellEditable::editing-done` signal, * to give the cell renderer a chance to update the cell's value * before the widget is removed. * * gtk_cell_editable_remove_widget() is a convenience method - * for emitting #GtkCellEditable::remove-widget. + * for emitting `GtkCellEditable::remove-widget`. */ gulong addOnRemoveWidget(void delegate(CellEditableIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0); } diff --git a/generated/gtkd/gtk/CellEditableT.d b/source/generated/gtk/gtk/CellEditableT.d similarity index 76% rename from generated/gtkd/gtk/CellEditableT.d rename to source/generated/gtk/gtk/CellEditableT.d index b676aeda6..a29a70ec5 100644 --- a/generated/gtkd/gtk/CellEditableT.d +++ b/source/generated/gtk/gtk/CellEditableT.d @@ -34,8 +34,8 @@ public import std.algorithm; /** * Interface for widgets that can be used for editing cells * - * The #GtkCellEditable interface must be implemented for widgets to be usable - * to edit the contents of a #GtkTreeView cell. It provides a way to specify how + * The `GtkCellEditable` interface must be implemented for widgets to be usable + * to edit the contents of a `GtkTreeView` cell. It provides a way to specify how * temporary widgets should be configured for editing, get the new value, etc. */ public template CellEditableT(TStruct) @@ -50,7 +50,7 @@ public template CellEditableT(TStruct) /** - * Emits the #GtkCellEditable::editing-done signal. + * Emits the `GtkCellEditable::editing-done` signal. */ public void editingDone() { @@ -58,7 +58,7 @@ public template CellEditableT(TStruct) } /** - * Emits the #GtkCellEditable::remove-widget signal. + * Emits the `GtkCellEditable::remove-widget` signal. */ public void removeWidget() { @@ -68,17 +68,17 @@ public template CellEditableT(TStruct) /** * Begins editing on a @cell_editable. * - * The #GtkCellRenderer for the cell creates and returns a #GtkCellEditable from - * gtk_cell_renderer_start_editing(), configured for the #GtkCellRenderer type. + * The `GtkCellRenderer` for the cell creates and returns a `GtkCellEditable` from + * gtk_cell_renderer_start_editing(), configured for the `GtkCellRenderer` type. * * gtk_cell_editable_start_editing() can then set up @cell_editable suitably for - * editing a cell, e.g. making the Esc key emit #GtkCellEditable::editing-done. + * editing a cell, e.g. making the Esc key emit `GtkCellEditable::editing-done`. * * Note that the @cell_editable is created on-demand for the current edit; its * lifetime is temporary and does not persist across other edits and/or cells. * * Params: - * event = The #GdkEvent that began the editing process, or + * event = The `GdkEvent` that began the editing process, or * %NULL if editing was initiated programmatically */ public void startEditing(Event event) @@ -90,14 +90,14 @@ public template CellEditableT(TStruct) * This signal is a sign for the cell renderer to update its * value from the @cell_editable. * - * Implementations of #GtkCellEditable are responsible for + * Implementations of `GtkCellEditable` are responsible for * emitting this signal when they are done editing, e.g. - * #GtkEntry emits this signal when the user presses Enter. Typical things to + * `GtkEntry` emits this signal when the user presses Enter. Typical things to * do in a handler for ::editing-done are to capture the edited value, - * disconnect the @cell_editable from signals on the #GtkCellRenderer, etc. + * disconnect the @cell_editable from signals on the `GtkCellRenderer`, etc. * * gtk_cell_editable_editing_done() is a convenience method - * for emitting #GtkCellEditable::editing-done. + * for emitting `GtkCellEditable::editing-done`. */ gulong addOnEditingDone(void delegate(CellEditableIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -109,14 +109,14 @@ public template CellEditableT(TStruct) * editing, and the @cell_editable widget is being removed and may * subsequently be destroyed. * - * Implementations of #GtkCellEditable are responsible for + * Implementations of `GtkCellEditable` are responsible for * emitting this signal when they are done editing. It must - * be emitted after the #GtkCellEditable::editing-done signal, + * be emitted after the `GtkCellEditable::editing-done` signal, * to give the cell renderer a chance to update the cell's value * before the widget is removed. * * gtk_cell_editable_remove_widget() is a convenience method - * for emitting #GtkCellEditable::remove-widget. + * for emitting `GtkCellEditable::remove-widget`. */ gulong addOnRemoveWidget(void delegate(CellEditableIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { diff --git a/generated/gtkd/gtk/CellLayoutIF.d b/source/generated/gtk/gtk/CellLayoutIF.d similarity index 74% rename from generated/gtkd/gtk/CellLayoutIF.d rename to source/generated/gtk/gtk/CellLayoutIF.d index 8b5f28341..ea95730ae 100644 --- a/generated/gtkd/gtk/CellLayoutIF.d +++ b/source/generated/gtk/gtk/CellLayoutIF.d @@ -36,12 +36,12 @@ public import gtk.c.types; /** * An interface for packing cells * - * #GtkCellLayout is an interface to be implemented by all objects which - * want to provide a #GtkTreeViewColumn like API for packing cells, + * `GtkCellLayout` is an interface to be implemented by all objects which + * want to provide a `GtkTreeViewColumn` like API for packing cells, * setting attributes and data funcs. * * One of the notable features provided by implementations of - * GtkCellLayout are attributes. Attributes let you set the properties + * `GtkCellLayout` are attributes. Attributes let you set the properties * in flexible ways. They can just be set to constant values like regular * properties. But they can also be mapped to a column of the underlying * tree model with gtk_cell_layout_set_attributes(), which means that the value @@ -53,35 +53,36 @@ public import gtk.c.types; * # GtkCellLayouts as GtkBuildable * * Implementations of GtkCellLayout which also implement the GtkBuildable - * interface (#GtkCellView, #GtkIconView, #GtkComboBox, - * #GtkEntryCompletion, #GtkTreeViewColumn) accept GtkCellRenderer objects - * as elements in UI definitions. They support a custom - * element for their children, which can contain multiple - * elements. Each element has a name attribute which specifies + * interface (`GtkCellView`, `GtkIconView`, `GtkComboBox`, + * `GtkEntryCompletion`, `GtkTreeViewColumn`) accept `GtkCellRenderer` objects + * as `` elements in UI definitions. They support a custom `` + * element for their children, which can contain multiple `` + * elements. Each `` element has a name attribute which specifies * a property of the cell renderer; the content of the element is the * attribute value. * * This is an example of a UI definition fragment specifying attributes: - * |[ + * + * ```xml * * * * * 0 * - * " + * * - * ]| + * ``` * - * Furthermore for implementations of GtkCellLayout that use a #GtkCellArea - * to lay out cells (all GtkCellLayouts in GTK use a GtkCellArea) - * [cell properties][cell-properties] can also be defined in the format by - * specifying the custom attribute which can contain multiple - * elements defined in the normal way. + * Furthermore for implementations of `GtkCellLayout` that use a `GtkCellArea` + * to lay out cells (all `GtkCellLayout`s in GTK use a `GtkCellArea`) + * [cell properties](class.CellArea.html#cell-properties) can also be defined + * in the format by specifying the custom `` attribute which can + * contain multiple `` elements. * * Here is a UI definition fragment specifying cell properties: * - * |[ + * ```xml * * * @@ -89,37 +90,39 @@ public import gtk.c.types; * True * False * - * " + * * - * ]| + * ``` * * # Subclassing GtkCellLayout implementations * - * When subclassing a widget that implements #GtkCellLayout like - * #GtkIconView or #GtkComboBox, there are some considerations related - * to the fact that these widgets internally use a #GtkCellArea. + * When subclassing a widget that implements `GtkCellLayout` like + * `GtkIconView` or `GtkComboBox`, there are some considerations related + * to the fact that these widgets internally use a `GtkCellArea`. * The cell area is exposed as a construct-only property by these * widgets. This means that it is possible to e.g. do * - * |[ - * combo = g_object_new (GTK_TYPE_COMBO_BOX, "cell-area", my_cell_area, NULL); - * ]| + * ```c + * GtkWIdget *combo = + * g_object_new (GTK_TYPE_COMBO_BOX, "cell-area", my_cell_area, NULL); + * ``` * * to use a custom cell area with a combo box. But construct properties - * are only initialized after instance init() + * are only initialized after instance `init()` * functions have run, which means that using functions which rely on - * the existence of the cell area in your subclass’ init() function will + * the existence of the cell area in your subclass `init()` function will * cause the default cell area to be instantiated. In this case, a provided * construct property value will be ignored (with a warning, to alert * you to the problem). * - * |[ + * ```c * static void * my_combo_box_init (MyComboBox *b) * { * GtkCellRenderer *cell; * * cell = gtk_cell_renderer_pixbuf_new (); + * * // The following call causes the default cell area for combo boxes, * // a GtkCellAreaBox, to be instantiated * gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (b), cell, FALSE); @@ -132,12 +135,12 @@ public import gtk.c.types; * // This call is going to cause a warning about area being ignored * return g_object_new (MY_TYPE_COMBO_BOX, "cell-area", area, NULL); * } - * ]| + * ``` * * If supporting alternative cell areas with your derived widget is * not important, then this does not have to concern you. If you want * to support alternative cell areas, you can do so by moving the - * problematic calls out of init() and into a constructor() + * problematic calls out of `init()` and into a `constructor()` * for your class. */ public interface CellLayoutIF{ @@ -158,13 +161,14 @@ public interface CellLayoutIF{ * Adds an attribute mapping to the list in @cell_layout. * * The @column is the column of the model to get a value from, and the - * @attribute is the parameter on @cell to be set from the value. So for + * @attribute is the property on @cell to be set from that value. So for * example if column 2 of the model contains strings, you could have the - * “text” attribute of a #GtkCellRendererText get its values from column 2. + * “text” attribute of a `GtkCellRendererText` get its values from column 2. + * In this context "attribute" and "property" are used interchangeably. * * Params: - * cell = a #GtkCellRenderer - * attribute = an attribute on the renderer + * cell = a `GtkCellRenderer` + * attribute = a property on the renderer * column = the column position on the model to get the attribute from */ public void addAttribute(CellRenderer cell, string attribute, int column); @@ -180,17 +184,16 @@ public interface CellLayoutIF{ * gtk_cell_layout_set_attributes(). * * Params: - * cell = a #GtkCellRenderer to clear the attribute mapping on + * cell = a `GtkCellRenderer` to clear the attribute mapping on */ public void clearAttributes(CellRenderer cell); /** - * Returns the underlying #GtkCellArea which might be @cell_layout - * if called on a #GtkCellArea or might be %NULL if no #GtkCellArea + * Returns the underlying `GtkCellArea` which might be @cell_layout + * if called on a `GtkCellArea` or might be %NULL if no `GtkCellArea` * is used by @cell_layout. * - * Returns: the cell area used by @cell_layout, - * or %NULL in case no cell area is used. + * Returns: the cell area used by @cell_layout */ public CellArea getArea(); @@ -211,7 +214,7 @@ public interface CellLayoutIF{ * Note that reusing the same cell renderer is not supported. * * Params: - * cell = a #GtkCellRenderer + * cell = a `GtkCellRenderer` * expand = %TRUE if @cell is to be given extra space allocated to @cell_layout */ public void packEnd(CellRenderer cell, bool expand); @@ -224,7 +227,7 @@ public interface CellLayoutIF{ * Note that reusing the same cell renderer is not supported. * * Params: - * cell = a #GtkCellRenderer + * cell = a `GtkCellRenderer` * expand = %TRUE if @cell is to be given extra space allocated to @cell_layout */ public void packStart(CellRenderer cell, bool expand); @@ -236,13 +239,13 @@ public interface CellLayoutIF{ * for this to function properly. * * Params: - * cell = a #GtkCellRenderer to reorder + * cell = a `GtkCellRenderer` to reorder * position = new position to insert @cell at */ public void reorder(CellRenderer cell, int position); /** - * Sets the #GtkCellLayoutDataFunc to use for @cell_layout. + * Sets the `GtkCellLayout`DataFunc to use for @cell_layout. * * This function is used instead of the standard attributes mapping * for setting the column value, and should set the value of @cell_layout’s @@ -251,8 +254,8 @@ public interface CellLayoutIF{ * @func may be %NULL to remove a previously set function. * * Params: - * cell = a #GtkCellRenderer - * func = the #GtkCellLayoutDataFunc to use, or %NULL + * cell = a `GtkCellRenderer` + * func = the `GtkCellLayout`DataFunc to use * funcData = user data for @func * destroy = destroy notify for @func_data */ diff --git a/generated/gtkd/gtk/CellLayoutT.d b/source/generated/gtk/gtk/CellLayoutT.d similarity index 77% rename from generated/gtkd/gtk/CellLayoutT.d rename to source/generated/gtk/gtk/CellLayoutT.d index 547133c33..216541a23 100644 --- a/generated/gtkd/gtk/CellLayoutT.d +++ b/source/generated/gtk/gtk/CellLayoutT.d @@ -36,12 +36,12 @@ public import gtk.c.types; /** * An interface for packing cells * - * #GtkCellLayout is an interface to be implemented by all objects which - * want to provide a #GtkTreeViewColumn like API for packing cells, + * `GtkCellLayout` is an interface to be implemented by all objects which + * want to provide a `GtkTreeViewColumn` like API for packing cells, * setting attributes and data funcs. * * One of the notable features provided by implementations of - * GtkCellLayout are attributes. Attributes let you set the properties + * `GtkCellLayout` are attributes. Attributes let you set the properties * in flexible ways. They can just be set to constant values like regular * properties. But they can also be mapped to a column of the underlying * tree model with gtk_cell_layout_set_attributes(), which means that the value @@ -53,35 +53,36 @@ public import gtk.c.types; * # GtkCellLayouts as GtkBuildable * * Implementations of GtkCellLayout which also implement the GtkBuildable - * interface (#GtkCellView, #GtkIconView, #GtkComboBox, - * #GtkEntryCompletion, #GtkTreeViewColumn) accept GtkCellRenderer objects - * as elements in UI definitions. They support a custom - * element for their children, which can contain multiple - * elements. Each element has a name attribute which specifies + * interface (`GtkCellView`, `GtkIconView`, `GtkComboBox`, + * `GtkEntryCompletion`, `GtkTreeViewColumn`) accept `GtkCellRenderer` objects + * as `` elements in UI definitions. They support a custom `` + * element for their children, which can contain multiple `` + * elements. Each `` element has a name attribute which specifies * a property of the cell renderer; the content of the element is the * attribute value. * * This is an example of a UI definition fragment specifying attributes: - * |[ + * + * ```xml * * * * * 0 * - * " + * * - * ]| + * ``` * - * Furthermore for implementations of GtkCellLayout that use a #GtkCellArea - * to lay out cells (all GtkCellLayouts in GTK use a GtkCellArea) - * [cell properties][cell-properties] can also be defined in the format by - * specifying the custom attribute which can contain multiple - * elements defined in the normal way. + * Furthermore for implementations of `GtkCellLayout` that use a `GtkCellArea` + * to lay out cells (all `GtkCellLayout`s in GTK use a `GtkCellArea`) + * [cell properties](class.CellArea.html#cell-properties) can also be defined + * in the format by specifying the custom `` attribute which can + * contain multiple `` elements. * * Here is a UI definition fragment specifying cell properties: * - * |[ + * ```xml * * * @@ -89,37 +90,39 @@ public import gtk.c.types; * True * False * - * " + * * - * ]| + * ``` * * # Subclassing GtkCellLayout implementations * - * When subclassing a widget that implements #GtkCellLayout like - * #GtkIconView or #GtkComboBox, there are some considerations related - * to the fact that these widgets internally use a #GtkCellArea. + * When subclassing a widget that implements `GtkCellLayout` like + * `GtkIconView` or `GtkComboBox`, there are some considerations related + * to the fact that these widgets internally use a `GtkCellArea`. * The cell area is exposed as a construct-only property by these * widgets. This means that it is possible to e.g. do * - * |[ - * combo = g_object_new (GTK_TYPE_COMBO_BOX, "cell-area", my_cell_area, NULL); - * ]| + * ```c + * GtkWIdget *combo = + * g_object_new (GTK_TYPE_COMBO_BOX, "cell-area", my_cell_area, NULL); + * ``` * * to use a custom cell area with a combo box. But construct properties - * are only initialized after instance init() + * are only initialized after instance `init()` * functions have run, which means that using functions which rely on - * the existence of the cell area in your subclass’ init() function will + * the existence of the cell area in your subclass `init()` function will * cause the default cell area to be instantiated. In this case, a provided * construct property value will be ignored (with a warning, to alert * you to the problem). * - * |[ + * ```c * static void * my_combo_box_init (MyComboBox *b) * { * GtkCellRenderer *cell; * * cell = gtk_cell_renderer_pixbuf_new (); + * * // The following call causes the default cell area for combo boxes, * // a GtkCellAreaBox, to be instantiated * gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (b), cell, FALSE); @@ -132,12 +135,12 @@ public import gtk.c.types; * // This call is going to cause a warning about area being ignored * return g_object_new (MY_TYPE_COMBO_BOX, "cell-area", area, NULL); * } - * ]| + * ``` * * If supporting alternative cell areas with your derived widget is * not important, then this does not have to concern you. If you want * to support alternative cell areas, you can do so by moving the - * problematic calls out of init() and into a constructor() + * problematic calls out of `init()` and into a `constructor()` * for your class. */ public template CellLayoutT(TStruct) @@ -155,13 +158,14 @@ public template CellLayoutT(TStruct) * Adds an attribute mapping to the list in @cell_layout. * * The @column is the column of the model to get a value from, and the - * @attribute is the parameter on @cell to be set from the value. So for + * @attribute is the property on @cell to be set from that value. So for * example if column 2 of the model contains strings, you could have the - * “text” attribute of a #GtkCellRendererText get its values from column 2. + * “text” attribute of a `GtkCellRendererText` get its values from column 2. + * In this context "attribute" and "property" are used interchangeably. * * Params: - * cell = a #GtkCellRenderer - * attribute = an attribute on the renderer + * cell = a `GtkCellRenderer` + * attribute = a property on the renderer * column = the column position on the model to get the attribute from */ public void addAttribute(CellRenderer cell, string attribute, int column) @@ -183,7 +187,7 @@ public template CellLayoutT(TStruct) * gtk_cell_layout_set_attributes(). * * Params: - * cell = a #GtkCellRenderer to clear the attribute mapping on + * cell = a `GtkCellRenderer` to clear the attribute mapping on */ public void clearAttributes(CellRenderer cell) { @@ -191,12 +195,11 @@ public template CellLayoutT(TStruct) } /** - * Returns the underlying #GtkCellArea which might be @cell_layout - * if called on a #GtkCellArea or might be %NULL if no #GtkCellArea + * Returns the underlying `GtkCellArea` which might be @cell_layout + * if called on a `GtkCellArea` or might be %NULL if no `GtkCellArea` * is used by @cell_layout. * - * Returns: the cell area used by @cell_layout, - * or %NULL in case no cell area is used. + * Returns: the cell area used by @cell_layout */ public CellArea getArea() { @@ -237,7 +240,7 @@ public template CellLayoutT(TStruct) * Note that reusing the same cell renderer is not supported. * * Params: - * cell = a #GtkCellRenderer + * cell = a `GtkCellRenderer` * expand = %TRUE if @cell is to be given extra space allocated to @cell_layout */ public void packEnd(CellRenderer cell, bool expand) @@ -253,7 +256,7 @@ public template CellLayoutT(TStruct) * Note that reusing the same cell renderer is not supported. * * Params: - * cell = a #GtkCellRenderer + * cell = a `GtkCellRenderer` * expand = %TRUE if @cell is to be given extra space allocated to @cell_layout */ public void packStart(CellRenderer cell, bool expand) @@ -268,7 +271,7 @@ public template CellLayoutT(TStruct) * for this to function properly. * * Params: - * cell = a #GtkCellRenderer to reorder + * cell = a `GtkCellRenderer` to reorder * position = new position to insert @cell at */ public void reorder(CellRenderer cell, int position) @@ -277,7 +280,7 @@ public template CellLayoutT(TStruct) } /** - * Sets the #GtkCellLayoutDataFunc to use for @cell_layout. + * Sets the `GtkCellLayout`DataFunc to use for @cell_layout. * * This function is used instead of the standard attributes mapping * for setting the column value, and should set the value of @cell_layout’s @@ -286,8 +289,8 @@ public template CellLayoutT(TStruct) * @func may be %NULL to remove a previously set function. * * Params: - * cell = a #GtkCellRenderer - * func = the #GtkCellLayoutDataFunc to use, or %NULL + * cell = a `GtkCellRenderer` + * func = the `GtkCellLayout`DataFunc to use * funcData = user data for @func * destroy = destroy notify for @func_data */ diff --git a/generated/gtkd/gtk/CellRenderer.d b/source/generated/gtk/gtk/CellRenderer.d similarity index 81% rename from generated/gtkd/gtk/CellRenderer.d rename to source/generated/gtk/gtk/CellRenderer.d index 04e0b2fd2..d46567334 100644 --- a/generated/gtkd/gtk/CellRenderer.d +++ b/source/generated/gtk/gtk/CellRenderer.d @@ -41,38 +41,38 @@ private import std.algorithm; /** * An object for rendering a single cell * - * The #GtkCellRenderer is a base class of a set of objects used for - * rendering a cell to a #cairo_t. These objects are used primarily by - * the #GtkTreeView widget, though they aren’t tied to them in any - * specific way. It is worth noting that #GtkCellRenderer is not a - * #GtkWidget and cannot be treated as such. + * The `GtkCellRenderer` is a base class of a set of objects used for + * rendering a cell to a `cairo_t`. These objects are used primarily by + * the `GtkTreeView` widget, though they aren’t tied to them in any + * specific way. It is worth noting that `GtkCellRenderer` is not a + * `GtkWidget` and cannot be treated as such. * - * The primary use of a #GtkCellRenderer is for drawing a certain graphical - * elements on a #cairo_t. Typically, one cell renderer is used to + * The primary use of a `GtkCellRenderer` is for drawing a certain graphical + * elements on a `cairo_t`. Typically, one cell renderer is used to * draw many cells on the screen. To this extent, it isn’t expected that a * CellRenderer keep any permanent state around. Instead, any state is set - * just prior to use using #GObjects property system. Then, the + * just prior to use using `GObject`s property system. Then, the * cell is measured using gtk_cell_renderer_get_preferred_size(). Finally, the cell * is rendered in the correct location using gtk_cell_renderer_snapshot(). * * There are a number of rules that must be followed when writing a new - * #GtkCellRenderer. First and foremost, it’s important that a certain set + * `GtkCellRenderer`. First and foremost, it’s important that a certain set * of properties will always yield a cell renderer of the same size, - * barring a style change. The #GtkCellRenderer also has a number of + * barring a style change. The `GtkCellRenderer` also has a number of * generic properties that are expected to be honored by all children. * * Beyond merely rendering a cell, cell renderers can optionally * provide active user interface elements. A cell renderer can be - * “activatable” like #GtkCellRendererToggle, + * “activatable” like `GtkCellRenderer`Toggle, * which toggles when it gets activated by a mouse click, or it can be - * “editable” like #GtkCellRendererText, which + * “editable” like `GtkCellRenderer`Text, which * allows the user to edit the text using a widget implementing the - * #GtkCellEditable interface, e.g. #GtkEntry. + * `GtkCellEditable` interface, e.g. `GtkEntry`. * To make a cell renderer activatable or editable, you have to - * implement the #GtkCellRendererClass.activate or - * #GtkCellRendererClass.start_editing virtual functions, respectively. + * implement the `GtkCellRenderer`Class.activate or + * `GtkCellRenderer`Class.start_editing virtual functions, respectively. * - * Many properties of #GtkCellRenderer and its subclasses have a + * Many properties of `GtkCellRenderer` and its subclasses have a * corresponding “set” property, e.g. “cell-background-set” corresponds * to “cell-background”. These “set” properties reflect whether a property * has been set or not. You should not set them independently. @@ -114,14 +114,14 @@ public class CellRenderer : ObjectG /** * Passes an activate event to the cell renderer for possible processing. - * Some cell renderers may use events; for example, #GtkCellRendererToggle + * Some cell renderers may use events; for example, `GtkCellRendererToggle` * toggles when it gets a mouse click. * * Params: - * event = a #GdkEvent + * event = a `GdkEvent` * widget = widget that received the event * path = widget-dependent string representation of the event location; - * e.g. for #GtkTreeView, a string representation of #GtkTreePath + * e.g. for `GtkTreeView`, a string representation of `GtkTreePath` * backgroundArea = background area as passed to gtk_cell_renderer_render() * cellArea = cell area as passed to gtk_cell_renderer_render() * flags = render flags @@ -138,7 +138,7 @@ public class CellRenderer : ObjectG * the appropriate edit and focus rectangle. * * Params: - * widget = the #GtkWidget this cell will be rendering to + * widget = the `GtkWidget` this cell will be rendering to * flags = render flags * cellArea = cell area which would be passed to gtk_cell_renderer_render() * alignedArea = the return location for the space inside @cell_area @@ -153,8 +153,8 @@ public class CellRenderer : ObjectG * Fills in @xalign and @yalign with the appropriate values of @cell. * * Params: - * xalign = location to fill in with the x alignment of the cell, or %NULL - * yalign = location to fill in with the y alignment of the cell, or %NULL + * xalign = location to fill in with the x alignment of the cell + * yalign = location to fill in with the y alignment of the cell */ public void getAlignment(out float xalign, out float yalign) { @@ -165,8 +165,8 @@ public class CellRenderer : ObjectG * Fills in @width and @height with the appropriate size of @cell. * * Params: - * width = location to fill in with the fixed width of the cell, or %NULL - * height = location to fill in with the fixed height of the cell, or %NULL + * width = location to fill in with the fixed width of the cell + * height = location to fill in with the fixed height of the cell */ public void getFixedSize(out int width, out int height) { @@ -174,7 +174,7 @@ public class CellRenderer : ObjectG } /** - * Checks whether the given #GtkCellRenderer is expanded. + * Checks whether the given `GtkCellRenderer` is expanded. * * Returns: %TRUE if the cell renderer is expanded */ @@ -184,7 +184,7 @@ public class CellRenderer : ObjectG } /** - * Checks whether the given #GtkCellRenderer is an expander. + * Checks whether the given `GtkCellRenderer` is an expander. * * Returns: %TRUE if @cell is an expander, and %FALSE otherwise */ @@ -197,8 +197,8 @@ public class CellRenderer : ObjectG * Fills in @xpad and @ypad with the appropriate values of @cell. * * Params: - * xpad = location to fill in with the x padding of the cell, or %NULL - * ypad = location to fill in with the y padding of the cell, or %NULL + * xpad = location to fill in with the x padding of the cell + * ypad = location to fill in with the y padding of the cell */ public void getPadding(out int xpad, out int ypad) { @@ -209,9 +209,9 @@ public class CellRenderer : ObjectG * Retrieves a renderer’s natural size when rendered to @widget. * * Params: - * widget = the #GtkWidget this cell will be rendering to - * minimumSize = location to store the minimum size, or %NULL - * naturalSize = location to store the natural size, or %NULL + * widget = the `GtkWidget` this cell will be rendering to + * minimumSize = location to store the minimum size + * naturalSize = location to store the natural size */ public void getPreferredHeight(Widget widget, out int minimumSize, out int naturalSize) { @@ -223,10 +223,10 @@ public class CellRenderer : ObjectG * @widget with the specified @width. * * Params: - * widget = the #GtkWidget this cell will be rendering to + * widget = the `GtkWidget` this cell will be rendering to * width = the size which is available for allocation - * minimumHeight = location for storing the minimum size, or %NULL - * naturalHeight = location for storing the preferred size, or %NULL + * minimumHeight = location for storing the minimum size + * naturalHeight = location for storing the preferred size */ public void getPreferredHeightForWidth(Widget widget, int width, out int minimumHeight, out int naturalHeight) { @@ -238,9 +238,9 @@ public class CellRenderer : ObjectG * into account the widget’s preference for height-for-width management. * * Params: - * widget = the #GtkWidget this cell will be rendering to - * minimumSize = location for storing the minimum size, or %NULL - * naturalSize = location for storing the natural size, or %NULL + * widget = the `GtkWidget` this cell will be rendering to + * minimumSize = location for storing the minimum size + * naturalSize = location for storing the natural size */ public void getPreferredSize(Widget widget, out Requisition minimumSize, out Requisition naturalSize) { @@ -257,9 +257,9 @@ public class CellRenderer : ObjectG * Retrieves a renderer’s natural size when rendered to @widget. * * Params: - * widget = the #GtkWidget this cell will be rendering to - * minimumSize = location to store the minimum size, or %NULL - * naturalSize = location to store the natural size, or %NULL + * widget = the `GtkWidget` this cell will be rendering to + * minimumSize = location to store the minimum size + * naturalSize = location to store the natural size */ public void getPreferredWidth(Widget widget, out int minimumSize, out int naturalSize) { @@ -271,10 +271,10 @@ public class CellRenderer : ObjectG * @widget with the specified @height. * * Params: - * widget = the #GtkWidget this cell will be rendering to + * widget = the `GtkWidget` this cell will be rendering to * height = the size which is available for allocation - * minimumWidth = location for storing the minimum size, or %NULL - * naturalWidth = location for storing the preferred size, or %NULL + * minimumWidth = location for storing the minimum size + * naturalWidth = location for storing the preferred size */ public void getPreferredWidthForHeight(Widget widget, int height, out int minimumWidth, out int naturalWidth) { @@ -285,7 +285,7 @@ public class CellRenderer : ObjectG * Gets whether the cell renderer prefers a height-for-width layout * or a width-for-height layout. * - * Returns: The #GtkSizeRequestMode preferred by this renderer. + * Returns: The `GtkSizeRequestMode` preferred by this renderer. */ public GtkSizeRequestMode getRequestMode() { @@ -303,12 +303,12 @@ public class CellRenderer : ObjectG } /** - * Translates the cell renderer state to #GtkStateFlags, + * Translates the cell renderer state to `GtkStateFlags`, * based on the cell renderer and widget sensitivity, and - * the given #GtkCellRendererState. + * the given `GtkCellRenderer`State. * * Params: - * widget = a #GtkWidget, or %NULL + * widget = a `GtkWidget` * cellState = cell renderer state * * Returns: the widget state flags applying to @cell @@ -363,7 +363,7 @@ public class CellRenderer : ObjectG } /** - * Sets whether the given #GtkCellRenderer is expanded. + * Sets whether the given `GtkCellRenderer` is expanded. * * Params: * isExpanded = whether @cell should be expanded @@ -374,7 +374,7 @@ public class CellRenderer : ObjectG } /** - * Sets whether the given #GtkCellRenderer is an expander. + * Sets whether the given `GtkCellRenderer` is an expander. * * Params: * isExpander = whether @cell is an expander @@ -419,16 +419,16 @@ public class CellRenderer : ObjectG } /** - * Invokes the virtual render function of the #GtkCellRenderer. The three + * Invokes the virtual render function of the `GtkCellRenderer`. The three * passed-in rectangles are areas in @cr. Most renderers will draw within - * @cell_area; the xalign, yalign, xpad, and ypad fields of the #GtkCellRenderer + * @cell_area; the xalign, yalign, xpad, and ypad fields of the `GtkCellRenderer` * should be honored with respect to @cell_area. @background_area includes the * blank space around the cell, and also the area containing the tree expander; * so the @background_area rectangles for all cells tile to cover the entire * @window. * * Params: - * snapshot = a #GtkSnapshot to draw to + * snapshot = a `GtkSnapshot` to draw to * widget = the widget owning @window * backgroundArea = entire cell area (including tree expanders and maybe * padding on the sides) @@ -441,19 +441,19 @@ public class CellRenderer : ObjectG } /** - * Starts editing the contents of this @cell, through a new #GtkCellEditable - * widget created by the #GtkCellRendererClass.start_editing virtual function. + * Starts editing the contents of this @cell, through a new `GtkCellEditable` + * widget created by the `GtkCellRenderer`Class.start_editing virtual function. * * Params: - * event = a #GdkEvent + * event = a `GdkEvent` * widget = widget that received the event * path = widget-dependent string representation of the event location; - * e.g. for #GtkTreeView, a string representation of #GtkTreePath + * e.g. for `GtkTreeView`, a string representation of `GtkTreePath` * backgroundArea = background area as passed to gtk_cell_renderer_render() * cellArea = cell area as passed to gtk_cell_renderer_render() * flags = render flags * - * Returns: A new #GtkCellEditable for editing this + * Returns: A new `GtkCellEditable` for editing this * @cell, or %NULL if editing is not possible */ public CellEditableIF startEditing(Event event, Widget widget, string path, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags) @@ -471,11 +471,11 @@ public class CellRenderer : ObjectG /** * Informs the cell renderer that the editing is stopped. * If @canceled is %TRUE, the cell renderer will emit the - * #GtkCellRenderer::editing-canceled signal. + * `GtkCellRenderer`::editing-canceled signal. * * This function should be called by cell renderer implementations - * in response to the #GtkCellEditable::editing-done signal of - * #GtkCellEditable. + * in response to the `GtkCellEditable::editing-done` signal of + * `GtkCellEditable`. * * Params: * canceled = %TRUE if the editing has been canceled @@ -500,8 +500,8 @@ public class CellRenderer : ObjectG /** * This signal gets emitted when a cell starts to be edited. * The intended use of this signal is to do special setup - * on @editable, e.g. adding a #GtkEntryCompletion or setting - * up additional columns in a #GtkComboBox. + * on @editable, e.g. adding a `GtkEntryCompletion` or setting + * up additional columns in a `GtkComboBox`. * * See gtk_cell_editable_start_editing() for information on the lifecycle of * the @editable and a way to do setup that doesn’t depend on the @renderer. @@ -529,7 +529,7 @@ public class CellRenderer : ObjectG * ]| * * Params: - * editable = the #GtkCellEditable + * editable = the `GtkCellEditable` * path = the path identifying the edited cell */ gulong addOnEditingStarted(void delegate(CellEditableIF, string, CellRenderer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) diff --git a/generated/gtkd/gtk/CellRendererAccel.d b/source/generated/gtk/gtk/CellRendererAccel.d similarity index 96% rename from generated/gtkd/gtk/CellRendererAccel.d rename to source/generated/gtk/gtk/CellRendererAccel.d index 55020aad7..c28507490 100644 --- a/generated/gtkd/gtk/CellRendererAccel.d +++ b/source/generated/gtk/gtk/CellRendererAccel.d @@ -38,7 +38,7 @@ private import std.algorithm; /** * Renders a keyboard accelerator in a cell * - * #GtkCellRendererAccel displays a keyboard accelerator (i.e. a key + * `GtkCellRendererAccel` displays a keyboard accelerator (i.e. a key * combination like `Control + a`). If the cell renderer is editable, * the accelerator can be changed by simply typing the new combination. */ @@ -78,7 +78,7 @@ public class CellRendererAccel : CellRendererText } /** - * Creates a new #GtkCellRendererAccel. + * Creates a new `GtkCellRendererAccel`. * * Returns: the new cell renderer * diff --git a/generated/gtkd/gtk/CellRendererCombo.d b/source/generated/gtk/gtk/CellRendererCombo.d similarity index 85% rename from generated/gtkd/gtk/CellRendererCombo.d rename to source/generated/gtk/gtk/CellRendererCombo.d index cadc2c68b..ef9385713 100644 --- a/generated/gtkd/gtk/CellRendererCombo.d +++ b/source/generated/gtk/gtk/CellRendererCombo.d @@ -39,16 +39,16 @@ private import std.algorithm; /** * Renders a combobox in a cell * - * #GtkCellRendererCombo renders text in a cell like #GtkCellRendererText from - * which it is derived. But while #GtkCellRendererText offers a simple entry to - * edit the text, #GtkCellRendererCombo offers a #GtkComboBox + * `GtkCellRendererCombo` renders text in a cell like `GtkCellRendererText` from + * which it is derived. But while `GtkCellRendererText` offers a simple entry to + * edit the text, `GtkCellRendererCombo` offers a `GtkComboBox` * widget to edit the text. The values to display in the combo box are taken from - * the tree model specified in the #GtkCellRendererCombo:model property. + * the tree model specified in the `GtkCellRendererCombo`:model property. * * The combo cell renderer takes care of adding a text cell renderer to the combo * box and sets it to display the column specified by its - * #GtkCellRendererCombo:text-column property. Further properties of the combo box - * can be set in a handler for the #GtkCellRenderer::editing-started signal. + * `GtkCellRendererCombo`:text-column property. Further properties of the combo box + * can be set in a handler for the `GtkCellRenderer::editing-started` signal. */ public class CellRendererCombo : CellRendererText { @@ -86,13 +86,13 @@ public class CellRendererCombo : CellRendererText } /** - * Creates a new #GtkCellRendererCombo. + * Creates a new `GtkCellRendererCombo`. * Adjust how text is drawn using object properties. * Object properties can be set globally (with g_object_set()). - * Also, with #GtkTreeViewColumn, you can bind a property to a value - * in a #GtkTreeModel. For example, you can bind the “text” property + * Also, with `GtkTreeViewColumn`, you can bind a property to a value + * in a `GtkTreeModel`. For example, you can bind the “text” property * on the cell renderer to a string value in the model, thus rendering - * a different string in each row of the #GtkTreeView. + * a different string in each row of the `GtkTreeView`. * * Returns: the new cell renderer * diff --git a/generated/gtkd/gtk/CellRendererPixbuf.d b/source/generated/gtk/gtk/CellRendererPixbuf.d similarity index 73% rename from generated/gtkd/gtk/CellRendererPixbuf.d rename to source/generated/gtk/gtk/CellRendererPixbuf.d index 434d187bb..8327c8cf9 100644 --- a/generated/gtkd/gtk/CellRendererPixbuf.d +++ b/source/generated/gtk/gtk/CellRendererPixbuf.d @@ -34,17 +34,17 @@ public import gtk.c.types; /** * Renders a pixbuf in a cell * - * A #GtkCellRendererPixbuf can be used to render an image in a cell. It allows - * to render either a given #GdkPixbuf (set via the - * #GtkCellRendererPixbuf:pixbuf property) or a named icon (set via the - * #GtkCellRendererPixbuf:icon-name property). + * A `GtkCellRendererPixbuf` can be used to render an image in a cell. It allows + * to render either a given `GdkPixbuf` (set via the + * `GtkCellRendererPixbuf:pixbuf` property) or a named icon (set via the + * `GtkCellRendererPixbuf:icon-name` property). * - * To support the tree view, #GtkCellRendererPixbuf also supports rendering two - * alternative pixbufs, when the #GtkCellRenderer:is-expander property is %TRUE. - * If the #GtkCellRenderer:is-expanded property is %TRUE and the - * #GtkCellRendererPixbuf:pixbuf-expander-open property is set to a pixbuf, it - * renders that pixbuf, if the #GtkCellRenderer:is-expanded property is %FALSE - * and the #GtkCellRendererPixbuf:pixbuf-expander-closed property is set to a + * To support the tree view, `GtkCellRendererPixbuf` also supports rendering two + * alternative pixbufs, when the `GtkCellRenderer:is-expander` property is %TRUE. + * If the `GtkCellRenderer:is-expanded property` is %TRUE and the + * `GtkCellRendererPixbuf:pixbuf-expander-open` property is set to a pixbuf, it + * renders that pixbuf, if the `GtkCellRenderer:is-expanded` property is %FALSE + * and the `GtkCellRendererPixbuf:pixbuf-expander-closed` property is set to a * pixbuf, it renders that one. */ public class CellRendererPixbuf : CellRenderer @@ -83,13 +83,13 @@ public class CellRendererPixbuf : CellRenderer } /** - * Creates a new #GtkCellRendererPixbuf. Adjust rendering + * Creates a new `GtkCellRendererPixbuf`. Adjust rendering * parameters using object properties. Object properties can be set - * globally (with g_object_set()). Also, with #GtkTreeViewColumn, you - * can bind a property to a value in a #GtkTreeModel. For example, you + * globally (with g_object_set()). Also, with `GtkTreeViewColumn`, you + * can bind a property to a value in a `GtkTreeModel`. For example, you * can bind the “pixbuf” property on the cell renderer to a pixbuf value * in the model, thus rendering a different image in each row of the - * #GtkTreeView. + * `GtkTreeView`. * * Returns: the new cell renderer * diff --git a/generated/gtkd/gtk/CellRendererProgress.d b/source/generated/gtk/gtk/CellRendererProgress.d similarity index 95% rename from generated/gtkd/gtk/CellRendererProgress.d rename to source/generated/gtk/gtk/CellRendererProgress.d index 886196a2b..9871c3f58 100644 --- a/generated/gtkd/gtk/CellRendererProgress.d +++ b/source/generated/gtk/gtk/CellRendererProgress.d @@ -36,7 +36,7 @@ public import gtk.c.types; /** * Renders numbers as progress bars * - * #GtkCellRendererProgress renders a numeric value as a progress par in a cell. + * `GtkCellRendererProgress` renders a numeric value as a progress par in a cell. * Additionally, it can display a text on top of the progress bar. */ public class CellRendererProgress : CellRenderer, OrientableIF @@ -78,7 +78,7 @@ public class CellRendererProgress : CellRenderer, OrientableIF } /** - * Creates a new #GtkCellRendererProgress. + * Creates a new `GtkCellRendererProgress`. * * Returns: the new cell renderer * diff --git a/generated/gtkd/gtk/CellRendererSpin.d b/source/generated/gtk/gtk/CellRendererSpin.d similarity index 78% rename from generated/gtkd/gtk/CellRendererSpin.d rename to source/generated/gtk/gtk/CellRendererSpin.d index 75324dd69..e634bc83c 100644 --- a/generated/gtkd/gtk/CellRendererSpin.d +++ b/source/generated/gtk/gtk/CellRendererSpin.d @@ -35,19 +35,19 @@ public import gtk.c.types; /** * Renders a spin button in a cell * - * #GtkCellRendererSpin renders text in a cell like #GtkCellRendererText from - * which it is derived. But while #GtkCellRendererText offers a simple entry to - * edit the text, #GtkCellRendererSpin offers a #GtkSpinButton widget. Of course, + * `GtkCellRendererSpin` renders text in a cell like `GtkCellRendererText` from + * which it is derived. But while `GtkCellRendererText` offers a simple entry to + * edit the text, `GtkCellRendererSpin` offers a `GtkSpinButton` widget. Of course, * that means that the text has to be parseable as a floating point number. * * The range of the spinbutton is taken from the adjustment property of the * cell renderer, which can be set explicitly or mapped to a column in the - * tree model, like all properties of cell renders. #GtkCellRendererSpin - * also has properties for the #GtkCellRendererSpin:climb-rate and the number - * of #GtkCellRendererSpin:digits to display. Other #GtkSpinButton properties - * can be set in a handler for the #GtkCellRenderer::editing-started signal. + * tree model, like all properties of cell renders. `GtkCellRendererSpin` + * also has properties for the `GtkCellRendererSpin:climb-rate` and the number + * of `GtkCellRendererSpin:digits` to display. Other `GtkSpinButton` properties + * can be set in a handler for the `GtkCellRenderer::editing-started` signal. * - * The #GtkCellRendererSpin cell renderer was added in GTK 2.10. + * The `GtkCellRendererSpin` cell renderer was added in GTK 2.10. */ public class CellRendererSpin : CellRendererText { @@ -85,9 +85,9 @@ public class CellRendererSpin : CellRendererText } /** - * Creates a new #GtkCellRendererSpin. + * Creates a new `GtkCellRendererSpin`. * - * Returns: a new #GtkCellRendererSpin + * Returns: a new `GtkCellRendererSpin` * * Throws: ConstructionException GTK+ fails to create the object. */ diff --git a/generated/gtkd/gtk/CellRendererSpinner.d b/source/generated/gtk/gtk/CellRendererSpinner.d similarity index 86% rename from generated/gtkd/gtk/CellRendererSpinner.d rename to source/generated/gtk/gtk/CellRendererSpinner.d index e973e7e24..4dabf094f 100644 --- a/generated/gtkd/gtk/CellRendererSpinner.d +++ b/source/generated/gtk/gtk/CellRendererSpinner.d @@ -34,13 +34,13 @@ public import gtk.c.types; /** * Renders a spinning animation in a cell * - * GtkCellRendererSpinner renders a spinning animation in a cell, very - * similar to #GtkSpinner. It can often be used as an alternative - * to a #GtkCellRendererProgress for displaying indefinite activity, + * `GtkCellRendererSpinner` renders a spinning animation in a cell, very + * similar to `GtkSpinner`. It can often be used as an alternative + * to a `GtkCellRendererProgress` for displaying indefinite activity, * instead of actual progress. * - * To start the animation in a cell, set the #GtkCellRendererSpinner:active - * property to %TRUE and increment the #GtkCellRendererSpinner:pulse property + * To start the animation in a cell, set the `GtkCellRendererSpinner:active` + * property to %TRUE and increment the `GtkCellRendererSpinner:pulse` property * at regular intervals. The usual way to set the cell renderer properties * for each cell is to bind them to columns in your tree model using e.g. * gtk_tree_view_column_add_attribute(). @@ -84,7 +84,7 @@ public class CellRendererSpinner : CellRenderer * Returns a new cell renderer which will show a spinner to indicate * activity. * - * Returns: a new #GtkCellRenderer + * Returns: a new `GtkCellRenderer` * * Throws: ConstructionException GTK+ fails to create the object. */ diff --git a/generated/gtkd/gtk/CellRendererText.d b/source/generated/gtk/gtk/CellRendererText.d similarity index 88% rename from generated/gtkd/gtk/CellRendererText.d rename to source/generated/gtk/gtk/CellRendererText.d index 1e3738db2..fad60331e 100644 --- a/generated/gtkd/gtk/CellRendererText.d +++ b/source/generated/gtk/gtk/CellRendererText.d @@ -37,12 +37,12 @@ private import std.algorithm; /** * Renders text in a cell * - * A #GtkCellRendererText renders a given text in its cell, using the font, color and + * A `GtkCellRendererText` renders a given text in its cell, using the font, color and * style information provided by its properties. The text will be ellipsized if it is - * too long and the #GtkCellRendererText:ellipsize property allows it. + * too long and the `GtkCellRendererText:ellipsize` property allows it. * - * If the #GtkCellRenderer:mode is %GTK_CELL_RENDERER_MODE_EDITABLE, - * the #GtkCellRendererText allows to edit its text using an entry. + * If the `GtkCellRenderer:mode` is %GTK_CELL_RENDERER_MODE_EDITABLE, + * the `GtkCellRendererText` allows to edit its text using an entry. */ public class CellRendererText : CellRenderer { @@ -80,13 +80,13 @@ public class CellRendererText : CellRenderer } /** - * Creates a new #GtkCellRendererText. Adjust how text is drawn using + * Creates a new `GtkCellRendererText`. Adjust how text is drawn using * object properties. Object properties can be - * set globally (with g_object_set()). Also, with #GtkTreeViewColumn, - * you can bind a property to a value in a #GtkTreeModel. For example, + * set globally (with g_object_set()). Also, with `GtkTreeViewColumn`, + * you can bind a property to a value in a `GtkTreeModel`. For example, * you can bind the “text” property on the cell renderer to a string * value in the model, thus rendering a different string in each row - * of the #GtkTreeView + * of the `GtkTreeView`. * * Returns: the new cell renderer * diff --git a/generated/gtkd/gtk/CellRendererToggle.d b/source/generated/gtk/gtk/CellRendererToggle.d similarity index 89% rename from generated/gtkd/gtk/CellRendererToggle.d rename to source/generated/gtk/gtk/CellRendererToggle.d index f59c49791..f2cc24487 100644 --- a/generated/gtkd/gtk/CellRendererToggle.d +++ b/source/generated/gtk/gtk/CellRendererToggle.d @@ -37,10 +37,10 @@ private import std.algorithm; /** * Renders a toggle button in a cell * - * #GtkCellRendererToggle renders a toggle button in a cell. The + * `GtkCellRendererToggle` renders a toggle button in a cell. The * button is drawn as a radio or a checkbutton, depending on the - * #GtkCellRendererToggle:radio property. - * When activated, it emits the #GtkCellRendererToggle::toggled signal. + * `GtkCellRendererToggle:radio` property. + * When activated, it emits the `GtkCellRendererToggle::toggled` signal. */ public class CellRendererToggle : CellRenderer { @@ -78,10 +78,10 @@ public class CellRendererToggle : CellRenderer } /** - * Creates a new #GtkCellRendererToggle. Adjust rendering + * Creates a new `GtkCellRendererToggle`. Adjust rendering * parameters using object properties. Object properties can be set - * globally (with g_object_set()). Also, with #GtkTreeViewColumn, you - * can bind a property to a value in a #GtkTreeModel. For example, you + * globally (with g_object_set()). Also, with `GtkTreeViewColumn`, you + * can bind a property to a value in a `GtkTreeModel`. For example, you * can bind the “active” property on the cell renderer to a boolean value * in the model, thus causing the check button to reflect the state of * the model. @@ -161,8 +161,8 @@ public class CellRendererToggle : CellRenderer * (i.e. a toggle in a group of mutually-exclusive toggles). * If %FALSE, it renders a check toggle (a standalone boolean option). * This can be set globally for the cell renderer, or changed just - * before rendering each cell in the model (for #GtkTreeView, you set - * up a per-row setting using #GtkTreeViewColumn to associate model + * before rendering each cell in the model (for `GtkTreeView`, you set + * up a per-row setting using `GtkTreeViewColumn` to associate model * columns with cell renderer properties). * * Params: @@ -181,7 +181,7 @@ public class CellRendererToggle : CellRenderer * opposite of the value currently stored at @path. * * Params: - * path = string representation of #GtkTreePath describing the + * path = string representation of `GtkTreePath` describing the * event location */ gulong addOnToggled(void delegate(string, CellRendererToggle) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) diff --git a/generated/gtkd/gtk/CellView.d b/source/generated/gtk/gtk/CellView.d similarity index 80% rename from generated/gtkd/gtk/CellView.d rename to source/generated/gtk/gtk/CellView.d index 5b5e90c61..78019eeac 100644 --- a/generated/gtkd/gtk/CellView.d +++ b/source/generated/gtk/gtk/CellView.d @@ -44,15 +44,15 @@ public import gtk.c.types; /** * A widget displaying a single row of a GtkTreeModel * - * A #GtkCellView displays a single row of a #GtkTreeModel using a #GtkCellArea - * and #GtkCellAreaContext. A #GtkCellAreaContext can be provided to the - * #GtkCellView at construction time in order to keep the cellview in context + * A `GtkCellView` displays a single row of a `GtkTreeModel` using a `GtkCellArea` + * and `GtkCellAreaContext`. A `GtkCellAreaContext` can be provided to the + * `GtkCellView` at construction time in order to keep the cellview in context * of a group of cell views, this ensures that the renderers displayed will * be properly aligned with each other (like the aligned cells in the menus - * of #GtkComboBox). + * of `GtkComboBox`). * - * #GtkCellView is #GtkOrientable in order to decide in which orientation - * the underlying #GtkCellAreaContext should be allocated. Taking the #GtkComboBox + * `GtkCellView` is `GtkOrientable` in order to decide in which orientation + * the underlying `GtkCellAreaContext` should be allocated. Taking the `GtkComboBox` * menu as an example, cellviews should be oriented horizontally if the menus are * listed top-to-bottom and thus all share the same width but may have separate * individual heights (left-to-right menus should be allocated vertically since @@ -104,9 +104,9 @@ public class CellView : Widget, CellLayoutIF, OrientableIF } /** - * Creates a new #GtkCellView widget. + * Creates a new `GtkCellView` widget. * - * Returns: A newly created #GtkCellView widget. + * Returns: A newly created `GtkCellView` widget. * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -123,8 +123,8 @@ public class CellView : Widget, CellLayoutIF, OrientableIF } /** - * Creates a new #GtkCellView widget with a specific #GtkCellArea - * to layout cells and a specific #GtkCellAreaContext. + * Creates a new `GtkCellView` widget with a specific `GtkCellArea` + * to layout cells and a specific `GtkCellAreaContext`. * * Specifying the same context for a handful of cells lets * the underlying area synchronize the geometry for those cells, @@ -132,10 +132,10 @@ public class CellView : Widget, CellLayoutIF, OrientableIF * possible. * * Params: - * area = the #GtkCellArea to layout cells - * context = the #GtkCellAreaContext in which to calculate cell geometry + * area = the `GtkCellArea` to layout cells + * context = the `GtkCellAreaContext` in which to calculate cell geometry * - * Returns: A newly created #GtkCellView widget. + * Returns: A newly created `GtkCellView` widget. * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -152,14 +152,14 @@ public class CellView : Widget, CellLayoutIF, OrientableIF } /** - * Creates a new #GtkCellView widget, adds a #GtkCellRendererText - * to it, and makes it show @markup. The text can be - * marked up with the [Pango text markup language][PangoMarkupFormat]. + * Creates a new `GtkCellView` widget, adds a `GtkCellRendererText` + * to it, and makes it show @markup. The text can be marked up with + * the [Pango text markup language](https://docs.gtk.org/Pango/pango_markup.html). * * Params: * markup = the text to display in the cell view * - * Returns: A newly created #GtkCellView widget. + * Returns: A newly created `GtkCellView` widget. * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -176,13 +176,13 @@ public class CellView : Widget, CellLayoutIF, OrientableIF } /** - * Creates a new #GtkCellView widget, adds a #GtkCellRendererPixbuf + * Creates a new `GtkCellView` widget, adds a `GtkCellRendererPixbuf` * to it, and makes it show @texture. * * Params: * texture = the image to display in the cell view * - * Returns: A newly created #GtkCellView widget. + * Returns: A newly created `GtkCellView` widget. * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -199,11 +199,11 @@ public class CellView : Widget, CellLayoutIF, OrientableIF } /** - * Returns a #GtkTreePath referring to the currently + * Returns a `GtkTreePath` referring to the currently * displayed row. If no row is currently displayed, * %NULL is returned. * - * Returns: the currently displayed row or %NULL + * Returns: the currently displayed row */ public TreePath getDisplayedRow() { @@ -231,10 +231,10 @@ public class CellView : Widget, CellLayoutIF, OrientableIF /** * Gets whether @cell_view is configured to request space - * to fit the entire #GtkTreeModel. + * to fit the entire `GtkTreeModel`. * * Returns: whether @cell_view requests space to fit - * the entire #GtkTreeModel. + * the entire `GtkTreeModel`. */ public bool getFitModel() { @@ -245,7 +245,7 @@ public class CellView : Widget, CellLayoutIF, OrientableIF * Returns the model for @cell_view. If no model is used %NULL is * returned. * - * Returns: a #GtkTreeModel used or %NULL + * Returns: a `GtkTreeModel` used */ public TreeModelIF getModel() { @@ -261,14 +261,14 @@ public class CellView : Widget, CellLayoutIF, OrientableIF /** * Sets the row of the model that is currently displayed - * by the #GtkCellView. If the path is unset, then the + * by the `GtkCellView`. If the path is unset, then the * contents of the cellview “stick” at their last value; * this is not normally a desired result, but may be * a needed intermediate state if say, the model for - * the #GtkCellView becomes temporarily empty. + * the `GtkCellView` becomes temporarily empty. * * Params: - * path = a #GtkTreePath or %NULL to unset. + * path = a `GtkTreePath` or %NULL to unset. */ public void setDisplayedRow(TreePath path) { @@ -277,7 +277,7 @@ public class CellView : Widget, CellLayoutIF, OrientableIF /** * Sets whether @cell_view should draw all of its - * cells in a sensitive state, this is used by #GtkComboBox menus + * cells in a sensitive state, this is used by `GtkComboBox` menus * to ensure that rows with insensitive cells that contain * children appear sensitive in the parent menu item. * @@ -290,9 +290,9 @@ public class CellView : Widget, CellLayoutIF, OrientableIF } /** - * Sets whether @cell_view should request space to fit the entire #GtkTreeModel. + * Sets whether @cell_view should request space to fit the entire `GtkTreeModel`. * - * This is used by #GtkComboBox to ensure that the cell view displayed on + * This is used by `GtkComboBox` to ensure that the cell view displayed on * the combo box’s button always gets enough space and does not resize * when selection changes. * @@ -310,7 +310,7 @@ public class CellView : Widget, CellLayoutIF, OrientableIF * %NULL, then it will unset the old model. * * Params: - * model = a #GtkTreeModel + * model = a `GtkTreeModel` */ public void setModel(TreeModelIF model) { diff --git a/generated/gtkd/gtk/CenterBox.d b/source/generated/gtk/gtk/CenterBox.d similarity index 97% rename from generated/gtkd/gtk/CenterBox.d rename to source/generated/gtk/gtk/CenterBox.d index 345379c72..aa40430eb 100644 --- a/generated/gtkd/gtk/CenterBox.d +++ b/source/generated/gtk/gtk/CenterBox.d @@ -208,7 +208,7 @@ public class CenterBox : Widget, OrientableIF * To remove the existing center widget, pas %NULL. * * Params: - * child = the new center widget, or %NULL + * child = the new center widget */ public void setCenterWidget(Widget child) { @@ -221,7 +221,7 @@ public class CenterBox : Widget, OrientableIF * To remove the existing end widget, pass %NULL. * * Params: - * child = the new end widget, or %NULL + * child = the new end widget */ public void setEndWidget(Widget child) { @@ -234,7 +234,7 @@ public class CenterBox : Widget, OrientableIF * To remove the existing start widget, pass %NULL. * * Params: - * child = the new start widget, or %NULL + * child = the new start widget */ public void setStartWidget(Widget child) { diff --git a/generated/gtkd/gtk/CenterLayout.d b/source/generated/gtk/gtk/CenterLayout.d similarity index 100% rename from generated/gtkd/gtk/CenterLayout.d rename to source/generated/gtk/gtk/CenterLayout.d diff --git a/generated/gtkd/gtk/CheckButton.d b/source/generated/gtk/gtk/CheckButton.d similarity index 99% rename from generated/gtkd/gtk/CheckButton.d rename to source/generated/gtk/gtk/CheckButton.d index d4b3213db..0e4cae432 100644 --- a/generated/gtkd/gtk/CheckButton.d +++ b/source/generated/gtk/gtk/CheckButton.d @@ -236,7 +236,7 @@ public class CheckButton : Widget, ActionableIF * * Setting up groups in a cycle leads to undefined behavior. * - * Note that the same effect can be achieved via the [interface@Gtk.Actionable] + * Note that the same effect can be achieved via the [iface@Gtk.Actionable] * API, by using the same action with parameter type and state type 's' * for all buttons in the group, and giving each button its own target * value. diff --git a/generated/gtkd/gtk/ClosureExpression.d b/source/generated/gtk/gtk/ClosureExpression.d similarity index 99% rename from generated/gtkd/gtk/ClosureExpression.d rename to source/generated/gtk/gtk/ClosureExpression.d index 80583c177..07fd72d14 100644 --- a/generated/gtkd/gtk/ClosureExpression.d +++ b/source/generated/gtk/gtk/ClosureExpression.d @@ -73,6 +73,7 @@ public class ClosureExpression : Expression /** * Creates a `GtkExpression` that calls `closure` when it is evaluated. + * * `closure` is called with the `this` object and the results of evaluating * the `params` expressions. * diff --git a/generated/gtkd/gtk/ColorButton.d b/source/generated/gtk/gtk/ColorButton.d similarity index 92% rename from generated/gtkd/gtk/ColorButton.d rename to source/generated/gtk/gtk/ColorButton.d index aedcb8791..50d378182 100644 --- a/generated/gtkd/gtk/ColorButton.d +++ b/source/generated/gtk/gtk/ColorButton.d @@ -185,6 +185,19 @@ public class ColorButton : Widget, ColorChooserIF gtk_color_button_set_title(gtkColorButton, Str.toStringz(title)); } + /** + * Emitted to when the color button is activated. + * + * The `::activate` signal on `GtkMenuButton` is an action signal and + * emitting it causes the button to pop up its dialog. + * + * Since: 4.4 + */ + gulong addOnActivate(void delegate(ColorButton) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "activate", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + /** * Emitted when the user selects a color. * @@ -193,7 +206,7 @@ public class ColorButton : Widget, ColorChooserIF * * Note that this signal is only emitted when the user changes the color. * If you need to react to programmatic color changes as well, use - * the notify::color signal. + * the notify::rgba signal. */ gulong addOnColorSet(void delegate(ColorButton) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { diff --git a/generated/gtkd/gtk/ColorChooserDialog.d b/source/generated/gtk/gtk/ColorChooserDialog.d similarity index 96% rename from generated/gtkd/gtk/ColorChooserDialog.d rename to source/generated/gtk/gtk/ColorChooserDialog.d index d5575a571..844b7df95 100644 --- a/generated/gtkd/gtk/ColorChooserDialog.d +++ b/source/generated/gtk/gtk/ColorChooserDialog.d @@ -92,8 +92,8 @@ public class ColorChooserDialog : Dialog, ColorChooserIF * Creates a new `GtkColorChooserDialog`. * * Params: - * title = Title of the dialog, or %NULL - * parent = Transient parent of the dialog, or %NULL + * title = Title of the dialog + * parent = Transient parent of the dialog * * Returns: a new `GtkColorChooserDialog` * diff --git a/generated/gtkd/gtk/ColorChooserIF.d b/source/generated/gtk/gtk/ColorChooserIF.d similarity index 98% rename from generated/gtkd/gtk/ColorChooserIF.d rename to source/generated/gtk/gtk/ColorChooserIF.d index dd6641b24..e76d28b2a 100644 --- a/generated/gtkd/gtk/ColorChooserIF.d +++ b/source/generated/gtk/gtk/ColorChooserIF.d @@ -80,7 +80,7 @@ public interface ColorChooserIF{ * orientation = %GTK_ORIENTATION_HORIZONTAL if the palette should * be displayed in rows, %GTK_ORIENTATION_VERTICAL for columns * colorsPerLine = the number of colors to show in each row/column - * colors = the colors of the palette, or %NULL + * colors = the colors of the palette */ public void addPalette(GtkOrientation orientation, int colorsPerLine, RGBA[] colors); diff --git a/generated/gtkd/gtk/ColorChooserT.d b/source/generated/gtk/gtk/ColorChooserT.d similarity index 98% rename from generated/gtkd/gtk/ColorChooserT.d rename to source/generated/gtk/gtk/ColorChooserT.d index 5f983e1ed..5ace2a215 100644 --- a/generated/gtkd/gtk/ColorChooserT.d +++ b/source/generated/gtk/gtk/ColorChooserT.d @@ -77,7 +77,7 @@ public template ColorChooserT(TStruct) * orientation = %GTK_ORIENTATION_HORIZONTAL if the palette should * be displayed in rows, %GTK_ORIENTATION_VERTICAL for columns * colorsPerLine = the number of colors to show in each row/column - * colors = the colors of the palette, or %NULL + * colors = the colors of the palette */ public void addPalette(GtkOrientation orientation, int colorsPerLine, RGBA[] colors) { diff --git a/generated/gtkd/gtk/ColorChooserWidget.d b/source/generated/gtk/gtk/ColorChooserWidget.d similarity index 100% rename from generated/gtkd/gtk/ColorChooserWidget.d rename to source/generated/gtk/gtk/ColorChooserWidget.d diff --git a/generated/gtkd/gtk/ColumnView.d b/source/generated/gtk/gtk/ColumnView.d similarity index 98% rename from generated/gtkd/gtk/ColumnView.d rename to source/generated/gtk/gtk/ColumnView.d index 475e43a72..20cd46008 100644 --- a/generated/gtkd/gtk/ColumnView.d +++ b/source/generated/gtk/gtk/ColumnView.d @@ -48,7 +48,7 @@ private import std.algorithm; * this item. * * The [property@Gtk.ColumnView:show-row-separators] and - * [propertyGtk.ColumnView:show-column-separators] properties offer a simple way + * [property@Gtk.ColumnView:show-column-separators] properties offer a simple way * to display separators between the rows or columns. * * `GtkColumnView` allows the user to select items according to the selection @@ -151,7 +151,7 @@ public class ColumnView : Widget, ScrollableIF * to add columns next. * * Params: - * model = the list model to use, or %NULL + * model = the list model to use * * Returns: a new `GtkColumnView` * @@ -349,7 +349,7 @@ public class ColumnView : Widget, ScrollableIF * This must be a [iface@Gtk.SelectionModel]. * * Params: - * model = the model to use or %NULL for none + * model = the model to use */ public void setModel(SelectionModelIF model) { @@ -418,7 +418,7 @@ public class ColumnView : Widget, ScrollableIF * If @column is %NULL, the view will be unsorted. * * Params: - * column = the `GtkColumnViewColumn` to sort by, or %NULL + * column = the `GtkColumnViewColumn` to sort by * direction = the direction to sort in */ public void sortByColumn(ColumnViewColumn column, GtkSortType direction) diff --git a/generated/gtkd/gtk/ColumnViewColumn.d b/source/generated/gtk/gtk/ColumnViewColumn.d similarity index 98% rename from generated/gtkd/gtk/ColumnViewColumn.d rename to source/generated/gtk/gtk/ColumnViewColumn.d index a9544b6fe..88c2ebb9a 100644 --- a/generated/gtkd/gtk/ColumnViewColumn.d +++ b/source/generated/gtk/gtk/ColumnViewColumn.d @@ -179,7 +179,7 @@ public class ColumnViewColumn : ObjectG * Gets the menu model that is used to create the context menu * for the column header. * - * Returns: the #GMenuModel, or %NULL + * Returns: the `GMenuModel` */ public MenuModel getHeaderMenu() { @@ -259,7 +259,7 @@ public class ColumnViewColumn : ObjectG * column. * * Params: - * factory = the factory to use or %NULL for none + * factory = the factory to use */ public void setFactory(ListItemFactory factory) { @@ -286,7 +286,7 @@ public class ColumnViewColumn : ObjectG * for the column header. * * Params: - * menu = a `GMenuModel`, or %NULL + * menu = a `GMenuModel` */ public void setHeaderMenu(MenuModel menu) { diff --git a/generated/gtkd/gtk/ComboBox.d b/source/generated/gtk/gtk/ComboBox.d similarity index 95% rename from generated/gtkd/gtk/ComboBox.d rename to source/generated/gtk/gtk/ComboBox.d index 29f5b752f..adf54d666 100644 --- a/generated/gtkd/gtk/ComboBox.d +++ b/source/generated/gtk/gtk/ComboBox.d @@ -56,7 +56,7 @@ private import std.algorithm; * is specified in the form of a tree model, and the display of the choices * can be adapted to the data in the model by using cell renderers, as you * would in a tree view. This is possible since `GtkComboBox` implements the - * [interface@Gtk.CellLayout] interface. The tree model holding the valid + * [iface@Gtk.CellLayout] interface. The tree model holding the valid * choices is not restricted to a flat list, it can be a real tree, and the * popup will reflect the tree structure. * @@ -215,7 +215,7 @@ public class ComboBox : Widget, CellEditableIF, CellLayoutIF * [struct@Gtk.TreePath] of the active item. * * Returns: An integer which is the index of the currently active item, - * or -1 if there’s no active item. + * or -1 if there’s no active item */ public int getActive() { @@ -237,7 +237,7 @@ public class ComboBox : Widget, CellEditableIF, CellLayoutIF * not set, or if no row is active, or if the active row has a %NULL * ID value, then %NULL is returned. * - * Returns: the ID of the active row, or %NULL + * Returns: the ID of the active row */ public string getActiveId() { @@ -431,7 +431,7 @@ public class ComboBox : Widget, CellEditableIF, CellLayoutIF * and returns %FALSE. * * Params: - * activeId = the ID of the row to select, or %NULL + * activeId = the ID of the row to select * * Returns: %TRUE if a row with a matching ID was found. If a %NULL * @active_id was given to unset the active row, the function @@ -448,7 +448,7 @@ public class ComboBox : Widget, CellEditableIF, CellLayoutIF * If @iter is %NULL, the active item is unset. * * Params: - * iter = The `GtkTreeIter`, or %NULL + * iter = The `GtkTreeIter` */ public void setActiveIter(TreeIter iter) { @@ -482,6 +482,9 @@ public class ComboBox : Widget, CellEditableIF, CellLayoutIF * Sets the model column which @combo_box should use to get strings * from to be @text_column. * + * For this column no separate + * [class@Gtk.CellRenderer] is needed. + * * The column @text_column in the model of @combo_box must be of * type %G_TYPE_STRING. * @@ -553,14 +556,27 @@ public class ComboBox : Widget, CellEditableIF, CellLayoutIF * * Params: * func = a `GtkTreeViewRowSeparatorFunc` - * data = user data to pass to @func, or %NULL - * destroy = destroy notifier for @data, or %NULL + * data = user data to pass to @func + * destroy = destroy notifier for @data */ public void setRowSeparatorFunc(GtkTreeViewRowSeparatorFunc func, void* data, GDestroyNotify destroy) { gtk_combo_box_set_row_separator_func(gtkComboBox, func, data, destroy); } + /** + * Emitted to when the combo box is activated. + * + * The `::activate` signal on `GtkComboBox` is an action signal and + * emitting it causes the combo box to pop up its dropdown. + * + * Since: 4.6 + */ + gulong addOnActivate(void delegate(ComboBox) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "activate", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + /** * Emitted when the active item is changed. * diff --git a/generated/gtkd/gtk/ComboBoxText.d b/source/generated/gtk/gtk/ComboBoxText.d similarity index 97% rename from generated/gtkd/gtk/ComboBoxText.d rename to source/generated/gtk/gtk/ComboBoxText.d index f7b774d89..0c1b69d48 100644 --- a/generated/gtkd/gtk/ComboBoxText.d +++ b/source/generated/gtk/gtk/ComboBoxText.d @@ -54,7 +54,7 @@ public import gtk.c.types; * using [method@Gtk.ComboBoxText.get_active_text]. * * You should not call [method@Gtk.ComboBox.set_model] or attempt to pack more - * cells into this combo box via its [interface@Gtk.CellLayout] interface. + * cells into this combo box via its [iface@Gtk.CellLayout] interface. * * # GtkComboBoxText as GtkBuildable * @@ -163,7 +163,7 @@ public class ComboBoxText : ComboBox * with a position of -1. * * Params: - * id = a string ID for this value, or %NULL + * id = a string ID for this value * text = A string */ public void append(string id, string text) @@ -215,7 +215,7 @@ public class ComboBoxText : ComboBox * * Params: * position = An index to insert @text - * id = a string ID for this value, or %NULL + * id = a string ID for this value * text = A string to display */ public void insert(int position, string id, string text) @@ -249,7 +249,7 @@ public class ComboBoxText : ComboBox * with a position of 0. * * Params: - * id = a string ID for this value, or %NULL + * id = a string ID for this value * text = a string */ public void prepend(string id, string text) diff --git a/generated/gtkd/gtk/ConstantExpression.d b/source/generated/gtk/gtk/ConstantExpression.d similarity index 100% rename from generated/gtkd/gtk/ConstantExpression.d rename to source/generated/gtk/gtk/ConstantExpression.d diff --git a/generated/gtkd/gtk/Constraint.d b/source/generated/gtk/gtk/Constraint.d similarity index 99% rename from generated/gtkd/gtk/Constraint.d rename to source/generated/gtk/gtk/Constraint.d index 25c033258..1374cdb1a 100644 --- a/generated/gtkd/gtk/Constraint.d +++ b/source/generated/gtk/gtk/Constraint.d @@ -219,7 +219,7 @@ public class Constraint : ObjectG * If the targe is set to `NULL` at creation, the constraint will use * the widget using the [class@Gtk.ConstraintLayout] as the target. * - * Returns: a #GtkConstraintTarget + * Returns: a `GtkConstraintTarget` */ public ConstraintTargetIF getTarget() { diff --git a/generated/gtkd/gtk/ConstraintGuide.d b/source/generated/gtk/gtk/ConstraintGuide.d similarity index 87% rename from generated/gtkd/gtk/ConstraintGuide.d rename to source/generated/gtk/gtk/ConstraintGuide.d index 7bab8cd83..efab9bfbc 100644 --- a/generated/gtkd/gtk/ConstraintGuide.d +++ b/source/generated/gtk/gtk/ConstraintGuide.d @@ -109,28 +109,24 @@ public class ConstraintGuide : ObjectG, ConstraintTargetIF * Gets the maximum size of @guide. * * Params: - * width = return location for the maximum width, - * or %NULL - * height = return location for the maximum height, - * or %NULL + * width = return location for the maximum width + * height = return location for the maximum height */ - public void getMaxSize(int* width, int* height) + public void getMaxSize(out int width, out int height) { - gtk_constraint_guide_get_max_size(gtkConstraintGuide, width, height); + gtk_constraint_guide_get_max_size(gtkConstraintGuide, &width, &height); } /** * Gets the minimum size of @guide. * * Params: - * width = return location for the minimum width, - * or %NULL - * height = return location for the minimum height, - * or %NULL + * width = return location for the minimum width + * height = return location for the minimum height */ - public void getMinSize(int* width, int* height) + public void getMinSize(out int width, out int height) { - gtk_constraint_guide_get_min_size(gtkConstraintGuide, width, height); + gtk_constraint_guide_get_min_size(gtkConstraintGuide, &width, &height); } /** @@ -147,14 +143,12 @@ public class ConstraintGuide : ObjectG, ConstraintTargetIF * Gets the natural size of @guide. * * Params: - * width = return location for the natural width, - * or %NULL - * height = return location for the natural height, - * or %NULL + * width = return location for the natural width + * height = return location for the natural height */ - public void getNatSize(int* width, int* height) + public void getNatSize(out int width, out int height) { - gtk_constraint_guide_get_nat_size(gtkConstraintGuide, width, height); + gtk_constraint_guide_get_nat_size(gtkConstraintGuide, &width, &height); } /** diff --git a/generated/gtkd/gtk/ConstraintLayout.d b/source/generated/gtk/gtk/ConstraintLayout.d similarity index 99% rename from generated/gtkd/gtk/ConstraintLayout.d rename to source/generated/gtk/gtk/ConstraintLayout.d index 83e35e534..dcab26f13 100644 --- a/generated/gtkd/gtk/ConstraintLayout.d +++ b/source/generated/gtk/gtk/ConstraintLayout.d @@ -129,7 +129,7 @@ public import gtk.c.types; * There can be "constant" and "multiplier" attributes. * * Additionally, the "constraints" element can also contain a description - * of the #GtkConstraintGuides used by the layout: + * of the `GtkConstraintGuides` used by the layout: * * ```xml * diff --git a/generated/gtkd/gtk/ConstraintLayoutChild.d b/source/generated/gtk/gtk/ConstraintLayoutChild.d similarity index 100% rename from generated/gtkd/gtk/ConstraintLayoutChild.d rename to source/generated/gtk/gtk/ConstraintLayoutChild.d diff --git a/generated/gtkd/gtk/ConstraintTargetIF.d b/source/generated/gtk/gtk/ConstraintTargetIF.d similarity index 100% rename from generated/gtkd/gtk/ConstraintTargetIF.d rename to source/generated/gtk/gtk/ConstraintTargetIF.d diff --git a/generated/gtkd/gtk/ConstraintTargetT.d b/source/generated/gtk/gtk/ConstraintTargetT.d similarity index 100% rename from generated/gtkd/gtk/ConstraintTargetT.d rename to source/generated/gtk/gtk/ConstraintTargetT.d diff --git a/generated/gtkd/gtk/CssProvider.d b/source/generated/gtk/gtk/CssProvider.d similarity index 100% rename from generated/gtkd/gtk/CssProvider.d rename to source/generated/gtk/gtk/CssProvider.d diff --git a/generated/gtkd/gtk/CssSection.d b/source/generated/gtk/gtk/CssSection.d similarity index 96% rename from generated/gtkd/gtk/CssSection.d rename to source/generated/gtk/gtk/CssSection.d index 56b7f893b..ff716f6e4 100644 --- a/generated/gtkd/gtk/CssSection.d +++ b/source/generated/gtk/gtk/CssSection.d @@ -32,14 +32,14 @@ private import glib.c.functions; private import gobject.ObjectG; private import gtk.c.functions; public import gtk.c.types; -private import gtkd.Loader; +private import linker.Loader; /** * Defines a part of a CSS document. * * Because sections are nested into one another, you can use - * gtk_css_section_get_parent() to get the containing region. + * [method@CssSection.get_parent] to get the containing region. */ public class CssSection { @@ -72,7 +72,7 @@ public class CssSection ~this () { - if ( Linker.isLoaded(LIBRARY_GTK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GTK[0]) && ownedRef ) gtk_css_section_unref(gtkCssSection); } @@ -183,7 +183,7 @@ public class CssSection * 1 to 23 in the file `gtk.css`. * * Params: - * string_ = a #GString to print to + * string_ = a `GString` to print to */ public void print(StringG string_) { diff --git a/generated/gtkd/gtk/CustomFilter.d b/source/generated/gtk/gtk/CustomFilter.d similarity index 100% rename from generated/gtkd/gtk/CustomFilter.d rename to source/generated/gtk/gtk/CustomFilter.d diff --git a/generated/gtkd/gtk/CustomLayout.d b/source/generated/gtk/gtk/CustomLayout.d similarity index 100% rename from generated/gtkd/gtk/CustomLayout.d rename to source/generated/gtk/gtk/CustomLayout.d diff --git a/generated/gtkd/gtk/CustomSorter.d b/source/generated/gtk/gtk/CustomSorter.d similarity index 100% rename from generated/gtkd/gtk/CustomSorter.d rename to source/generated/gtk/gtk/CustomSorter.d diff --git a/generated/gtkd/gtk/Dialog.d b/source/generated/gtk/gtk/Dialog.d similarity index 95% rename from generated/gtkd/gtk/Dialog.d rename to source/generated/gtk/gtk/Dialog.d index d1c6b0b4f..915e673bc 100644 --- a/generated/gtkd/gtk/Dialog.d +++ b/source/generated/gtk/gtk/Dialog.d @@ -86,6 +86,7 @@ private import std.algorithm; * if you had more than a simple message in the dialog. * * An example for simple `GtkDialog` usage: + * * ```c * // Function to open a dialog box with a message * void @@ -124,20 +125,21 @@ private import std.algorithm; * The `GtkDialog` implementation of the `GtkBuildable` interface exposes the * @content_area as an internal child with the name “content_area”. * - * `GtkDialog` supports a custom element, which can contain - * multiple elements. The “response” attribute specifies a + * `GtkDialog` supports a custom `` element, which can contain + * multiple `` elements. The “response” attribute specifies a * numeric response, and the content of the element is the id of widget * (which should be a child of the dialogs @action_area). To mark a response - * as default, set the “default“ attribute of the element + * as default, set the “default” attribute of the `` element * to true. * - * `GtkDialog` supports adding action widgets by specifying “action“ as - * the “type“ attribute of a element. The widget will be added + * `GtkDialog` supports adding action widgets by specifying “action” as + * the “type” attribute of a `` element. The widget will be added * either to the action area or the headerbar of the dialog, depending - * on the “use-header-bar“ property. The response id has to be associated - * with the action widget using the element. + * on the “use-header-bar” property. The response id has to be associated + * with the action widget using the `` element. + * + * An example of a `GtkDialog` UI definition fragment: * - * An example of a #GtkDialog UI definition fragment: * ```xml * * @@ -276,7 +278,7 @@ public class Dialog : Window /** * Returns the content area of @dialog. * - * Returns: the content area #GtkBox. + * Returns: the content area `GtkBox`. */ public Box getContentArea() { @@ -333,7 +335,7 @@ public class Dialog : Window * responseId = the response ID used by the @dialog widget * * Returns: the @widget button that uses the given - * @response_id, or %NULL. + * @response_id */ public Widget getWidgetForResponse(int responseId) { diff --git a/generated/gtkd/gtk/DirectoryList.d b/source/generated/gtk/gtk/DirectoryList.d similarity index 97% rename from generated/gtkd/gtk/DirectoryList.d rename to source/generated/gtk/gtk/DirectoryList.d index 0e744fd30..cee0cdadc 100644 --- a/generated/gtkd/gtk/DirectoryList.d +++ b/source/generated/gtk/gtk/DirectoryList.d @@ -145,7 +145,7 @@ public class DirectoryList : ObjectG, ListModelIF * successfully queried files will remain in the list. * * Returns: The loading error or %NULL if - * loading finished successfully. + * loading finished successfully */ public ErrorG getError() { @@ -232,7 +232,7 @@ public class DirectoryList : ObjectG, ListModelIF * If @file is %NULL, the result will be an empty list. * * Params: - * file = the #GFile to be enumerated + * file = the `GFile` to be enumerated */ public void setFile(FileIF file) { @@ -260,8 +260,11 @@ public class DirectoryList : ObjectG, ListModelIF /** * Sets whether the directory list will monitor the directory - * for changes. If monitoring is enabled, the ::items-changed - * signal will be emitted when the directory contents change. + * for changes. + * + * If monitoring is enabled, the ::items-changed signal will + * be emitted when the directory contents change. + * * * When monitoring is turned on after the initial creation * of the directory list, the directory is reloaded to avoid diff --git a/generated/gtkd/gtk/DragIcon.d b/source/generated/gtk/gtk/DragIcon.d similarity index 97% rename from generated/gtkd/gtk/DragIcon.d rename to source/generated/gtk/gtk/DragIcon.d index 5903f0822..7e13ea246 100644 --- a/generated/gtkd/gtk/DragIcon.d +++ b/source/generated/gtk/gtk/DragIcon.d @@ -99,7 +99,7 @@ public class DragIcon : Widget, NativeIF, RootIF * If GTK does not know how to create a widget for a given value, * it will return %NULL. * - * This method is used to set the default drag icon on drag'n'drop + * This method is used to set the default drag icon on drag-and-drop * operations started by `GtkDragSource`, so you don't need to set * a drag icon using this function there. * @@ -165,7 +165,7 @@ public class DragIcon : Widget, NativeIF, RootIF /** * Gets the widget currently used as drag icon. * - * Returns: The drag icon or %NULL if none. + * Returns: The drag icon */ public Widget getChild() { @@ -183,7 +183,7 @@ public class DragIcon : Widget, NativeIF, RootIF * Sets the widget to display as the drag icon. * * Params: - * child = a `GtkWidget` or %NULL + * child = a `GtkWidget` */ public void setChild(Widget child) { diff --git a/generated/gtkd/gtk/DragSource.d b/source/generated/gtk/gtk/DragSource.d similarity index 97% rename from generated/gtkd/gtk/DragSource.d rename to source/generated/gtk/gtk/DragSource.d index bec5c0be4..0a2f1854d 100644 --- a/generated/gtkd/gtk/DragSource.d +++ b/source/generated/gtk/gtk/DragSource.d @@ -96,7 +96,7 @@ private import std.algorithm; * ```c * static void * on_drag_begin (GtkDragSource *source, - * GtkDrag *drag, + * GdkDrag *drag, * MyWidget *self) * { * // Set the widget as the drag icon @@ -207,7 +207,7 @@ public class DragSource : GestureSingle * Returns the underlying `GdkDrag` object for an ongoing drag. * * Returns: the `GdkDrag` of the current - * drag operation, or %NULL + * drag operation */ public Drag getDrag() { @@ -253,7 +253,7 @@ public class DragSource : GestureSingle * %NULL in a [signal@Gtk.DragSource::drag-end] signal handler. * * Params: - * content = a `GdkContentProvider`, or %NULL + * content = a `GdkContentProvider` */ public void setContent(ContentProvider content) { @@ -273,7 +273,7 @@ public class DragSource : GestureSingle * [signal@Gtk.DragSource::drag-begin] signal handler. * * Params: - * paintable = the #GdkPaintable to use as icon, or %NULL + * paintable = the `GdkPaintable` to use as icon * hotX = the hotspot X coordinate on the icon * hotY = the hotspot Y coordinate on the icon */ @@ -343,7 +343,7 @@ public class DragSource : GestureSingle * x = the X coordinate of the drag starting point * y = the Y coordinate fo the drag starting point * - * Returns: a `GdkContentProvider`, or %NULL + * Returns: a `GdkContentProvider` */ gulong addOnPrepare(ContentProvider delegate(double, double, DragSource) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { diff --git a/generated/gtkd/gtk/DrawingArea.d b/source/generated/gtk/gtk/DrawingArea.d similarity index 96% rename from generated/gtkd/gtk/DrawingArea.d rename to source/generated/gtk/gtk/DrawingArea.d index 05428ee65..a6e6a28d3 100644 --- a/generated/gtkd/gtk/DrawingArea.d +++ b/source/generated/gtk/gtk/DrawingArea.d @@ -103,9 +103,10 @@ private import std.algorithm; * drawing area’s window using [method@Gtk.Widget.queue_draw]. * This will cause the drawing area to call the draw function again. * - * The available routines for drawing are documented on the - * [GDK Drawing Primitives][gdk4-Cairo-Interaction] page - * and the cairo documentation. + * The available routines for drawing are documented in the + * [Cairo documentation](https://www.cairographics.org/manual/); GDK + * offers additional API to integrate with Cairo, like [func@Gdk.cairo_set_source_rgba] + * or [func@Gdk.cairo_set_source_pixbuf]. * * To receive mouse events on a drawing area, you will need to use * event controllers. To receive keyboard events, you will need to set diff --git a/generated/gtkd/gtk/DropControllerMotion.d b/source/generated/gtk/gtk/DropControllerMotion.d similarity index 99% rename from generated/gtkd/gtk/DropControllerMotion.d rename to source/generated/gtk/gtk/DropControllerMotion.d index ce7ddecc8..47067700f 100644 --- a/generated/gtkd/gtk/DropControllerMotion.d +++ b/source/generated/gtk/gtk/DropControllerMotion.d @@ -115,7 +115,7 @@ public class DropControllerMotion : EventController * over the widget of @self. * * Returns: The `GdkDrop` currently - * happening within @self or %NULL if none + * happening within @self */ public Drop getDrop() { diff --git a/generated/gtkd/gtk/DropDown.d b/source/generated/gtk/gtk/DropDown.d similarity index 87% rename from generated/gtkd/gtk/DropDown.d rename to source/generated/gtk/gtk/DropDown.d index 7f1473514..2e277df25 100644 --- a/generated/gtkd/gtk/DropDown.d +++ b/source/generated/gtk/gtk/DropDown.d @@ -28,11 +28,13 @@ private import gio.ListModelIF; private import glib.ConstructionException; private import glib.Str; private import gobject.ObjectG; +private import gobject.Signals; private import gtk.Expression; private import gtk.ListItemFactory; private import gtk.Widget; private import gtk.c.functions; public import gtk.c.types; +private import std.algorithm; /** @@ -106,8 +108,8 @@ public class DropDown : Widget * to set up a way to map its items to widgets. * * Params: - * model = the model to use or %NULL for none - * expression = the expression to use or %NULL for none + * model = the model to use + * expression = the expression to use * * Returns: a new `GtkDropDown` * @@ -163,7 +165,7 @@ public class DropDown : Widget * * See [method@Gtk.DropDown.set_expression]. * - * Returns: a `GtkExpression` or %NULL + * Returns: a `GtkExpression` */ public Expression getExpression() { @@ -260,6 +262,18 @@ public class DropDown : Widget return ObjectG.getDObject!(ObjectG)(cast(GObject*) __p); } + /** + * Returns whether to show an arrow within the widget. + * + * Returns: %TRUE if an arrow will be shown. + * + * Since: 4.6 + */ + public bool getShowArrow() + { + return gtk_drop_down_get_show_arrow(gtkDropDown) != 0; + } + /** * Sets whether a search entry will be shown in the popup that * allows to search for items in the list. @@ -282,7 +296,7 @@ public class DropDown : Widget * a value type of %G_TYPE_STRING. * * Params: - * expression = a `GtkExpression`, or %NULL + * expression = a `GtkExpression` */ public void setExpression(Expression expression) { @@ -293,7 +307,7 @@ public class DropDown : Widget * Sets the `GtkListItemFactory` to use for populating list items. * * Params: - * factory = the factory to use or %NULL for none + * factory = the factory to use */ public void setFactory(ListItemFactory factory) { @@ -304,7 +318,7 @@ public class DropDown : Widget * Sets the `GtkListItemFactory` to use for populating list items in the popup. * * Params: - * factory = the factory to use or %NULL for none + * factory = the factory to use */ public void setListFactory(ListItemFactory factory) { @@ -315,7 +329,7 @@ public class DropDown : Widget * Sets the `GListModel` to use. * * Params: - * model = the model to use or %NULL for none + * model = the model to use */ public void setModel(ListModelIF model) { @@ -332,4 +346,30 @@ public class DropDown : Widget { gtk_drop_down_set_selected(gtkDropDown, position); } + + /** + * Sets whether an arrow will be displayed within the widget. + * + * Params: + * showArrow = whether to show an arrow within the widget + * + * Since: 4.6 + */ + public void setShowArrow(bool showArrow) + { + gtk_drop_down_set_show_arrow(gtkDropDown, showArrow); + } + + /** + * Emitted to when the drop down is activated. + * + * The `::activate` signal on `GtkDropDown` is an action signal and + * emitting it causes the drop down to pop up its dropdown. + * + * Since: 4.6 + */ + gulong addOnActivate(void delegate(DropDown) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "activate", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } } diff --git a/generated/gtkd/gtk/DropTarget.d b/source/generated/gtk/gtk/DropTarget.d similarity index 92% rename from generated/gtkd/gtk/DropTarget.d rename to source/generated/gtk/gtk/DropTarget.d index 5b6058f98..99849825b 100644 --- a/generated/gtkd/gtk/DropTarget.d +++ b/source/generated/gtk/gtk/DropTarget.d @@ -79,6 +79,7 @@ private import std.algorithm; * GDK_TYPE_PIXBUF, * }, 2); * + * g_signal_connect (target, "drop", G_CALLBACK (on_drop), self); * gtk_widget_add_controller (GTK_WIDGET (self), GTK_EVENT_CONTROLLER (target)); * } * ``` @@ -186,6 +187,29 @@ public class DropTarget : EventController * If no drop operation is going on, %NULL is returned. * * Returns: The current drop + * + * Since: 4.4 + */ + public Drop getCurrentDrop() + { + auto __p = gtk_drop_target_get_current_drop(gtkDropTarget); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Drop)(cast(GdkDrop*) __p); + } + + /** + * Gets the currently handled drop operation. + * + * If no drop operation is going on, %NULL is returned. + * + * Deprecated: Use [method@Gtk.DropTarget.get_current_drop] instead + * + * Returns: The current drop */ public Drop getDrop() { @@ -215,16 +239,16 @@ public class DropTarget : EventController return null; } - return ObjectG.getDObject!(ContentFormats)(cast(GdkContentFormats*) __p, true); + return ObjectG.getDObject!(ContentFormats)(cast(GdkContentFormats*) __p); } /** - * Gets the list of supported `GTypes` for @self. + * Gets the list of supported `GType`s that can be dropped on the target. * - * If no type have been set, %NULL will be returned. + * If no types have been set, `NULL` will be returned. * - * Returns: %G_TYPE_INVALID-terminated array of types included in - * @formats or %NULL if none. + * Returns: the `G_TYPE_INVALID`-terminated array of types included in + * formats */ public GType[] getGtypes() { @@ -265,7 +289,7 @@ public class DropTarget : EventController /** * Rejects the ongoing drop operation. * - * If no drop operation is ongoing, i.e when [property@Gtk.DropTarget:drop] + * If no drop operation is ongoing, i.e when [property@Gtk.DropTarget:current-drop] * is %NULL, this function does nothing. * * This function should be used when delaying the decision @@ -292,7 +316,8 @@ public class DropTarget : EventController * Sets the supported `GTypes` for this drop target. * * Params: - * types = all supported #GTypes that can be dropped + * types = all supported `GType`s + * that can be dropped on the target */ public void setGtypes(GType[] types) { @@ -346,11 +371,11 @@ public class DropTarget : EventController * and no further processing is necessary. * * Otherwise, the handler returns %TRUE. In this case, this handler will - * accept the drop. The handler is responsible for rading the given @value + * accept the drop. The handler is responsible for using the given @value * and performing the drop operation. * * Params: - * value = the #GValue being dropped + * value = the `GValue` being dropped * x = the x coordinate of the current pointer position * y = the y coordinate of the current pointer position * diff --git a/generated/gtkd/gtk/DropTargetAsync.d b/source/generated/gtk/gtk/DropTargetAsync.d similarity index 97% rename from generated/gtkd/gtk/DropTargetAsync.d rename to source/generated/gtk/gtk/DropTargetAsync.d index 174c32ee3..48ee2020b 100644 --- a/generated/gtkd/gtk/DropTargetAsync.d +++ b/source/generated/gtk/gtk/DropTargetAsync.d @@ -166,7 +166,7 @@ public class DropTargetAsync : EventController * the data. * * Params: - * drop = the #GdkDrop of an ongoing drag operation + * drop = the `GdkDrop` of an ongoing drag operation */ public void rejectDrop(Drop drop) { @@ -188,8 +188,7 @@ public class DropTargetAsync : EventController * Sets the data formats that this drop target will accept. * * Params: - * formats = the supported data formats or %NULL for - * any format. + * formats = the supported data formats or %NULL for any format */ public void setFormats(ContentFormats formats) { @@ -214,7 +213,7 @@ public class DropTargetAsync : EventController * reject the drop later, it should call [method@Gtk.DropTargetAsync.reject_drop]. * * Params: - * drop = the #GdkDrop + * drop = the `GdkDrop` * * Returns: %TRUE if @drop is accepted */ @@ -229,7 +228,7 @@ public class DropTargetAsync : EventController * It can be used to set up custom highlighting. * * Params: - * drop = the #GdkDrop + * drop = the `GdkDrop` * x = the x coordinate of the current pointer position * y = the y coordinate of the current pointer position * @@ -247,7 +246,7 @@ public class DropTargetAsync : EventController * `GtkDropTargetAsync`::drag-enter. * * Params: - * drop = the #GdkDrop + * drop = the `GdkDrop` */ gulong addOnDragLeave(void delegate(Drop, DropTargetAsync) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -258,7 +257,7 @@ public class DropTargetAsync : EventController * Emitted while the pointer is moving over the drop target. * * Params: - * drop = the #GdkDrop + * drop = the `GdkDrop` * x = the x coordinate of the current pointer position * y = the y coordinate of the current pointer position * @@ -286,7 +285,7 @@ public class DropTargetAsync : EventController * [method@Gdk.Drop.read_value_async]. * * Params: - * drop = the #GdkDrop + * drop = the `GdkDrop` * x = the x coordinate of the current pointer position * y = the y coordinate of the current pointer position * diff --git a/generated/gtkd/gtk/EditableIF.d b/source/generated/gtk/gtk/EditableIF.d similarity index 97% rename from generated/gtkd/gtk/EditableIF.d rename to source/generated/gtk/gtk/EditableIF.d index 7e204c1ba..501d942df 100644 --- a/generated/gtkd/gtk/EditableIF.d +++ b/source/generated/gtk/gtk/EditableIF.d @@ -79,7 +79,7 @@ private import std.algorithm; * ## Implementing GtkEditable * * The most likely scenario for implementing `GtkEditable` on your own widget - * is that you will embed a #GtkText inside a complex widget, and want to + * is that you will embed a `GtkText` inside a complex widget, and want to * delegate the editable functionality to that text widget. `GtkEditable` * provides some utility functions to make this easy. * @@ -222,11 +222,15 @@ public interface EditableIF{ } /** - * Installs the `GtkEditable` properties for @class. + * Overrides the `GtkEditable` properties for @class. * * This is a helper function that should be called in class_init, * after installing your own properties. * + * Note that your class must have "text", "cursor-position", + * "selection-bound", "editable", "width-chars", "max-width-chars", + * "xalign" and "enable-undo" properties for this function to work. + * * To handle the properties in your set_property and get_property * functions, you can either use [func@Gtk.Editable.delegate_set_property] * and [func@Gtk.Editable.delegate_get_property] (if you are using @@ -354,8 +358,8 @@ public interface EditableIF{ * Note that positions are specified in characters, not bytes. * * Params: - * startPos = location to store the starting position, or %NULL - * endPos = location to store the end position, or %NULL + * startPos = location to store the starting position + * endPos = location to store the end position * * Returns: %TRUE if there is a non-empty selection, %FALSE otherwise */ diff --git a/generated/gtkd/gtk/EditableLabel.d b/source/generated/gtk/gtk/EditableLabel.d similarity index 100% rename from generated/gtkd/gtk/EditableLabel.d rename to source/generated/gtk/gtk/EditableLabel.d diff --git a/generated/gtkd/gtk/EditableT.d b/source/generated/gtk/gtk/EditableT.d similarity index 98% rename from generated/gtkd/gtk/EditableT.d rename to source/generated/gtk/gtk/EditableT.d index 28e6390ef..e85abf287 100644 --- a/generated/gtkd/gtk/EditableT.d +++ b/source/generated/gtk/gtk/EditableT.d @@ -79,7 +79,7 @@ public import std.algorithm; * ## Implementing GtkEditable * * The most likely scenario for implementing `GtkEditable` on your own widget - * is that you will embed a #GtkText inside a complex widget, and want to + * is that you will embed a `GtkText` inside a complex widget, and want to * delegate the editable functionality to that text widget. `GtkEditable` * provides some utility functions to make this easy. * @@ -327,8 +327,8 @@ public template EditableT(TStruct) * Note that positions are specified in characters, not bytes. * * Params: - * startPos = location to store the starting position, or %NULL - * endPos = location to store the end position, or %NULL + * startPos = location to store the starting position + * endPos = location to store the end position * * Returns: %TRUE if there is a non-empty selection, %FALSE otherwise */ diff --git a/generated/gtkd/gtk/EmojiChooser.d b/source/generated/gtk/gtk/EmojiChooser.d similarity index 100% rename from generated/gtkd/gtk/EmojiChooser.d rename to source/generated/gtk/gtk/EmojiChooser.d diff --git a/generated/gtkd/gtk/Entry.d b/source/generated/gtk/gtk/Entry.d similarity index 96% rename from generated/gtkd/gtk/Entry.d rename to source/generated/gtk/gtk/Entry.d index 08f7e76f1..4cc37e85a 100644 --- a/generated/gtkd/gtk/Entry.d +++ b/source/generated/gtk/gtk/Entry.d @@ -113,12 +113,12 @@ private import std.algorithm; * The `GtkEntry` implementation of the `GtkBuildable` interface supports a * custom element, which supports any number of * elements. The element has attributes named “name“, “value“, - * “start“ and “end“ and allows you to specify #PangoAttribute values for + * “start“ and “end“ and allows you to specify `PangoAttribute` values for * this label. * * An example of a UI definition fragment specifying Pango attributes: * ```xml - * + * * * * @@ -245,8 +245,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * * See [method@Gtk.Entry.set_attributes]. * - * Returns: the attribute list, - * or %NULL if none was set. + * Returns: the attribute list */ public PgAttributeList getAttributes() { @@ -397,8 +396,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * Params: * iconPos = Icon position * - * Returns: A `GIcon`, or %NULL if no - * icon is set or if the icon is not a `GIcon` + * Returns: A `GIcon` */ public IconIF getIconGicon(GtkEntryIconPosition iconPos) { @@ -421,8 +419,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * Params: * iconPos = Icon position * - * Returns: An icon name, or %NULL if no icon is set - * or if the icon wasn’t set from an icon name + * Returns: An icon name */ public string getIconName(GtkEntryIconPosition iconPos) { @@ -437,7 +434,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * Params: * iconPos = Icon position * - * Returns: A `GdkPaintable`, or %NULL + * Returns: A `GdkPaintable` * if no icon is set for this position or the icon set is not * a `GdkPaintable`. */ @@ -490,8 +487,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * Params: * iconPos = the icon position * - * Returns: the tooltip text, or %NULL. Free the - * returned string with g_free() when done. + * Returns: the tooltip text */ public string getIconTooltipMarkup(GtkEntryIconPosition iconPos) { @@ -508,8 +504,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * Params: * iconPos = the icon position * - * Returns: the tooltip text, or %NULL. Free the returned - * string with g_free() when done. + * Returns: the tooltip text */ public string getIconTooltipText(GtkEntryIconPosition iconPos) { @@ -617,8 +612,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * * See [method@Gtk.Entry.set_tabs]. * - * Returns: the tabstops, - * or %NULL if none was set. + * Returns: the tabstops */ public PgTabArray getTabs() { @@ -769,7 +763,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * Completion is disabled if @completion is set to %NULL. * * Params: - * completion = The `GtkEntryCompletion` or %NULL + * completion = The `GtkEntryCompletion` */ public void setCompletion(EntryCompletion completion) { @@ -819,7 +813,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * * Params: * iconPos = icon position - * provider = a #GdkContentProvider + * provider = a `GdkContentProvider` * actions = a bitmask of the allowed drag actions */ public void setIconDragSource(GtkEntryIconPosition iconPos, ContentProvider provider, GdkDragAction actions) @@ -839,7 +833,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * * Params: * iconPos = The position at which to set the icon - * icon = The icon to set, or %NULL + * icon = The icon to set */ public void setIconFromGicon(GtkEntryIconPosition iconPos, IconIF icon) { @@ -858,7 +852,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * * Params: * iconPos = The position at which to set the icon - * iconName = An icon name, or %NULL + * iconName = An icon name */ public void setIconFromIconName(GtkEntryIconPosition iconPos, string iconName) { @@ -872,7 +866,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * * Params: * iconPos = Icon position - * paintable = A `GdkPaintable`, or %NULL + * paintable = A `GdkPaintable` */ public void setIconFromPaintable(GtkEntryIconPosition iconPos, PaintableIF paintable) { @@ -905,8 +899,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * * Params: * iconPos = the icon position - * tooltip = the contents of the tooltip for the - * icon, or %NULL + * tooltip = the contents of the tooltip for the icon */ public void setIconTooltipMarkup(GtkEntryIconPosition iconPos, string tooltip) { @@ -934,8 +927,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * * Params: * iconPos = the icon position - * tooltip = the contents of the tooltip for the - * icon, or %NULL + * tooltip = the contents of the tooltip for the icon */ public void setIconTooltipText(GtkEntryIconPosition iconPos, string tooltip) { @@ -990,7 +982,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * Sets the maximum allowed length of the contents of the widget. * * If the current contents are longer than the given length, then - * they will be truncated to fit. + * they will be truncated to fit. The length is is in characters. * * This is equivalent to getting @entry's `GtkEntryBuffer` and * calling [method@Gtk.EntryBuffer.set_max_length] on it. @@ -1023,8 +1015,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * contents of the `GtkEntry`. * * Params: - * text = a string to be displayed when @entry is - * empty and unfocused, or %NULL + * text = a string to be displayed when @entry is empty and unfocused */ public void setPlaceholderText(string text) { @@ -1090,8 +1081,7 @@ public class Entry : Widget, CellEditableIF, EditableIF * in addition to setting visibility to %FALSE. * * Params: - * visible = %TRUE if the contents of the entry are displayed - * as plaintext + * visible = %TRUE if the contents of the entry are displayed as plaintext */ public void setVisibility(bool visible) { diff --git a/generated/gtkd/gtk/EntryBuffer.d b/source/generated/gtk/gtk/EntryBuffer.d similarity index 98% rename from generated/gtkd/gtk/EntryBuffer.d rename to source/generated/gtk/gtk/EntryBuffer.d index 3a5b1ae21..5e501a348 100644 --- a/generated/gtkd/gtk/EntryBuffer.d +++ b/source/generated/gtk/gtk/EntryBuffer.d @@ -87,7 +87,7 @@ public class EntryBuffer : ObjectG * Optionally, specify initial text to set in the buffer. * * Params: - * initialChars = initial buffer text, or %NULL + * initialChars = initial buffer text * nInitialChars = number of characters in @initial_chars, or -1 * * Returns: A new `GtkEntryBuffer` object. @@ -181,7 +181,7 @@ public class EntryBuffer : ObjectG * Retrieves the maximum allowed length of the text in @buffer. * * Returns: the maximum allowed number of characters - * in #GtkEntryBuffer, or 0 if there is no maximum. + * in `GtkEntryBuffer`, or 0 if there is no maximum. */ public int getMaxLength() { diff --git a/generated/gtkd/gtk/EntryCompletion.d b/source/generated/gtk/gtk/EntryCompletion.d similarity index 98% rename from generated/gtkd/gtk/EntryCompletion.d rename to source/generated/gtk/gtk/EntryCompletion.d index f04cd9467..da751a728 100644 --- a/generated/gtkd/gtk/EntryCompletion.d +++ b/source/generated/gtk/gtk/EntryCompletion.d @@ -150,7 +150,7 @@ public class EntryCompletion : ObjectG, BuildableIF, CellLayoutIF * `GtkTreeViewColumn` for the drop-down menu. * * Params: - * area = the #GtkCellArea used to layout cells + * area = the `GtkCellArea` used to layout cells * * Returns: A newly created `GtkEntryCompletion` object * @@ -191,7 +191,7 @@ public class EntryCompletion : ObjectG, BuildableIF, CellLayoutIF * key = The text to complete for * * Returns: The common prefix all rows - * starting with @key or %NULL if no row matches @key. + * starting with @key */ public string computePrefix(string key) { @@ -265,8 +265,7 @@ public class EntryCompletion : ObjectG, BuildableIF, CellLayoutIF * * Returns %NULL if the model is unset. * - * Returns: A #GtkTreeModel, or %NULL if none - * is currently being used + * Returns: A `GtkTreeModel` */ public TreeModelIF getModel() { @@ -434,8 +433,7 @@ public class EntryCompletion : ObjectG, BuildableIF, CellLayoutIF * are using [property@Gtk.EntryCompletion:inline-completion]. * * Params: - * popupSingleMatch = %TRUE if the popup should appear even for a single - * match + * popupSingleMatch = %TRUE if the popup should appear even for a single match */ public void setPopupSingleMatch(bool popupSingleMatch) { @@ -492,7 +490,7 @@ public class EntryCompletion : ObjectG, BuildableIF, CellLayoutIF * * Applications may connect to this signal in order to insert only a * smaller part of the @prefix into the entry - e.g. the entry used in - * the #GtkFileChooser inserts only the part of the prefix up to the + * the `GtkFileChooser` inserts only the part of the prefix up to the * next '/'. * * Params: diff --git a/generated/gtkd/gtk/EventController.d b/source/generated/gtk/gtk/EventController.d similarity index 92% rename from generated/gtkd/gtk/EventController.d rename to source/generated/gtk/gtk/EventController.d index 7070a1af8..daffff126 100644 --- a/generated/gtkd/gtk/EventController.d +++ b/source/generated/gtk/gtk/EventController.d @@ -44,7 +44,7 @@ public import gtk.c.types; * [method@Gtk.Widget.add_controller]. It is rarely necessary to * explicitly remove a controller with [method@Gtk.Widget.remove_controller]. * - * See the chapter of [input handling](input-handling.html) for + * See the chapter on [input handling](input-handling.html) for * an overview of the basic concepts, such as the capture and bubble * phases of even propagation. */ @@ -84,8 +84,9 @@ public class EventController : ObjectG } /** - * Returns the event that is currently being handled by the - * controller, and %NULL at other times. + * Returns the event that is currently being handled by the controller. + * + * At other times, %NULL is returned. * * Returns: the event that is currently * handled by @controller @@ -104,7 +105,9 @@ public class EventController : ObjectG /** * Returns the device of the event that is currently being - * handled by the controller, and %NULL otherwise. + * handled by the controller. + * + * At other times, %NULL is returned. * * Returns: device of the event is * currently handled by @controller @@ -123,7 +126,9 @@ public class EventController : ObjectG /** * Returns the modifier state of the event that is currently being - * handled by the controller, and 0 otherwise. + * handled by the controller. + * + * At other times, 0 is returned. * * Returns: modifier state of the event is currently handled by @controller */ @@ -134,7 +139,9 @@ public class EventController : ObjectG /** * Returns the timestamp of the event that is currently being - * handled by the controller, and 0 otherwise. + * handled by the controller. + * + * At other times, 0 is returned. * * Returns: timestamp of the event is currently handled by @controller */ @@ -145,6 +152,8 @@ public class EventController : ObjectG /** * Gets the name of @controller. + * + * Returns: The controller name */ public string getName() { @@ -172,7 +181,7 @@ public class EventController : ObjectG } /** - * Returns the #GtkWidget this controller relates to. + * Returns the `GtkWidget` this controller relates to. * * Returns: a `GtkWidget` */ diff --git a/generated/gtkd/gtk/EventControllerFocus.d b/source/generated/gtk/gtk/EventControllerFocus.d similarity index 100% rename from generated/gtkd/gtk/EventControllerFocus.d rename to source/generated/gtk/gtk/EventControllerFocus.d diff --git a/generated/gtkd/gtk/EventControllerKey.d b/source/generated/gtk/gtk/EventControllerKey.d similarity index 98% rename from generated/gtkd/gtk/EventControllerKey.d rename to source/generated/gtk/gtk/EventControllerKey.d index 7fb4919c7..4fe7be7ef 100644 --- a/generated/gtkd/gtk/EventControllerKey.d +++ b/source/generated/gtk/gtk/EventControllerKey.d @@ -169,7 +169,7 @@ public class EventControllerKey : EventController * Params: * keyval = the pressed key. * keycode = the raw code of the pressed key. - * state = the bitmask, representing the state of modifier keys and pointer buttons. See #GdkModifierType. + * state = the bitmask, representing the state of modifier keys and pointer buttons. See `GdkModifierType`. * * Returns: %TRUE if the key press was handled, %FALSE otherwise. */ @@ -184,7 +184,7 @@ public class EventControllerKey : EventController * Params: * keyval = the released key. * keycode = the raw code of the released key. - * state = the bitmask, representing the state of modifier keys and pointer buttons. See #GdkModifierType. + * state = the bitmask, representing the state of modifier keys and pointer buttons. See `GdkModifierType`. */ gulong addOnKeyReleased(void delegate(uint, uint, GdkModifierType, EventControllerKey) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { diff --git a/generated/gtkd/gtk/EventControllerLegacy.d b/source/generated/gtk/gtk/EventControllerLegacy.d similarity index 100% rename from generated/gtkd/gtk/EventControllerLegacy.d rename to source/generated/gtk/gtk/EventControllerLegacy.d diff --git a/generated/gtkd/gtk/EventControllerMotion.d b/source/generated/gtk/gtk/EventControllerMotion.d similarity index 100% rename from generated/gtkd/gtk/EventControllerMotion.d rename to source/generated/gtk/gtk/EventControllerMotion.d diff --git a/generated/gtkd/gtk/EventControllerScroll.d b/source/generated/gtk/gtk/EventControllerScroll.d similarity index 100% rename from generated/gtkd/gtk/EventControllerScroll.d rename to source/generated/gtk/gtk/EventControllerScroll.d diff --git a/generated/gtkd/gtk/EveryFilter.d b/source/generated/gtk/gtk/EveryFilter.d similarity index 100% rename from generated/gtkd/gtk/EveryFilter.d rename to source/generated/gtk/gtk/EveryFilter.d diff --git a/generated/gtkd/gtk/Expander.d b/source/generated/gtk/gtk/Expander.d similarity index 98% rename from generated/gtkd/gtk/Expander.d rename to source/generated/gtk/gtk/Expander.d index 0b8a5e0f6..3df5ab368 100644 --- a/generated/gtkd/gtk/Expander.d +++ b/source/generated/gtk/gtk/Expander.d @@ -211,7 +211,7 @@ public class Expander : Widget } /** - * Queries a #GtkExpander and returns its current state. + * Queries a `GtkExpander` and returns its current state. * * Returns %TRUE if the child widget is revealed. * @@ -242,8 +242,7 @@ public class Expander : Widget /** * Retrieves the label widget for the frame. * - * Returns: the label widget, - * or %NULL if there is none + * Returns: the label widget */ public Widget getLabelWidget() { diff --git a/generated/gtkd/gtk/Expression.d b/source/generated/gtk/gtk/Expression.d similarity index 95% rename from generated/gtkd/gtk/Expression.d rename to source/generated/gtk/gtk/Expression.d index 52d1aea65..94a004885 100644 --- a/generated/gtkd/gtk/Expression.d +++ b/source/generated/gtk/gtk/Expression.d @@ -30,7 +30,7 @@ private import gobject.Value; private import gtk.ExpressionWatch; private import gtk.c.functions; public import gtk.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -129,9 +129,9 @@ private import gtkd.Loader; * * `GtkBuilder` has support for creating expressions. The syntax here can be used where * a `GtkExpression` object is needed like in a `` tag for an expression - * property, or in a `` tag to bind a property to an expression. + * property, or in a `` tag to bind a property to an expression. * - * To create an property expression, use the `` element. It can have a `type` + * To create a property expression, use the `` element. It can have a `type` * attribute to specify the object type, and a `name` attribute to specify the property * to look up. The content of `` can either be an element specfiying the expression * to use the object, or a string that specifies the name of the object to use. @@ -193,7 +193,7 @@ public class Expression ~this () { - if ( Linker.isLoaded(LIBRARY_GTK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GTK[0]) && ownedRef ) gtk_expression_unref(gtkExpression); } @@ -320,18 +320,19 @@ public class Expression } /** - * Installs a watch for the given `expression` that calls the `notify` function - * whenever the evaluation of `self` may have changed. + * Watch the given `expression` for changes. + * + * The @notify function will be called whenever the evaluation of `self` + * may have changed. * * GTK cannot guarantee that the evaluation did indeed change when the @notify * gets invoked, but it guarantees the opposite: When it did in fact change, - * the `notify` will be invoked. + * the @notify will be invoked. * * Params: * this_ = the `this` argument to * watch - * notify = callback to invoke when the - * expression changes + * notify = callback to invoke when the expression changes * userData = user data to pass to the `notify` callback * userDestroy = destroy notify for `user_data` * diff --git a/generated/gtkd/gtk/ExpressionWatch.d b/source/generated/gtk/gtk/ExpressionWatch.d similarity index 97% rename from generated/gtkd/gtk/ExpressionWatch.d rename to source/generated/gtk/gtk/ExpressionWatch.d index 6b8b64883..66874a36c 100644 --- a/generated/gtkd/gtk/ExpressionWatch.d +++ b/source/generated/gtk/gtk/ExpressionWatch.d @@ -28,7 +28,7 @@ private import gobject.ObjectG; private import gobject.Value; private import gtk.c.functions; public import gtk.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -68,7 +68,7 @@ public class ExpressionWatch ~this () { - if ( Linker.isLoaded(LIBRARY_GTK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GTK[0]) && ownedRef ) gtk_expression_watch_unref(gtkExpressionWatch); } diff --git a/generated/gtkd/gtk/FileChooserDialog.d b/source/generated/gtk/gtk/FileChooserDialog.d similarity index 99% rename from generated/gtkd/gtk/FileChooserDialog.d rename to source/generated/gtk/gtk/FileChooserDialog.d index ff966768b..00cebf61d 100644 --- a/generated/gtkd/gtk/FileChooserDialog.d +++ b/source/generated/gtk/gtk/FileChooserDialog.d @@ -160,7 +160,7 @@ public import gtk.c.types; * - To choose a folder instead of a filem use %GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER. * * In general, you should only cause the file chooser to show a specific - * folder when it is appropriate to use [method@Gtk,FileChooser.set_file], + * folder when it is appropriate to use [method@Gtk.FileChooser.set_file], * i.e. when you are doing a “Save As” command and you already have a file * saved somewhere. * diff --git a/generated/gtkd/gtk/FileChooserIF.d b/source/generated/gtk/gtk/FileChooserIF.d similarity index 98% rename from generated/gtkd/gtk/FileChooserIF.d rename to source/generated/gtk/gtk/FileChooserIF.d index b97dc5029..9af78c672 100644 --- a/generated/gtkd/gtk/FileChooserIF.d +++ b/source/generated/gtk/gtk/FileChooserIF.d @@ -163,7 +163,7 @@ public interface FileChooserIF{ public bool getCreateFolders(); /** - * Gets the current folder of @chooser as #GFile. + * Gets the current folder of @chooser as `GFile`. * * Returns: the `GFile` for the current folder. */ @@ -200,7 +200,7 @@ public interface FileChooserIF{ /** * Lists all the selected files and subfolders in the current folder - * of @chooser as #GFile. + * of @chooser as `GFile`. * * Returns: a list model containing a `GFile` for each * selected file and subfolder in the current folder. Free the returned @@ -211,7 +211,7 @@ public interface FileChooserIF{ /** * Gets the current filter. * - * Returns: the current filter, or %NULL + * Returns: the current filter */ public FileFilter getFilter(); @@ -314,7 +314,7 @@ public interface FileChooserIF{ public void setCreateFolders(bool createFolders); /** - * Sets the current folder for @chooser from a #GFile. + * Sets the current folder for @chooser from a `GFile`. * * Params: * file = the `GFile` for the new folder @@ -354,7 +354,7 @@ public interface FileChooserIF{ * the file’s base name will also appear in the dialog’s file name entry. * * If the file name isn’t in the current folder of @chooser, then the current - * folder of @chooser will be changed to the folder containing @filename. + * folder of @chooser will be changed to the folder containing @file. * * Note that the file must exist, or nothing will be done except * for the directory change. diff --git a/generated/gtkd/gtk/FileChooserNative.d b/source/generated/gtk/gtk/FileChooserNative.d similarity index 94% rename from generated/gtkd/gtk/FileChooserNative.d rename to source/generated/gtk/gtk/FileChooserNative.d index 6c61da726..2b2b0a843 100644 --- a/generated/gtkd/gtk/FileChooserNative.d +++ b/source/generated/gtk/gtk/FileChooserNative.d @@ -149,7 +149,7 @@ public import gtk.c.types; * and %GTK_RESPONSE_CANCEL if he pressed cancel. It can also return * %GTK_RESPONSE_DELETE_EVENT if the window was unexpectedly closed. * - * ## Differences from #GtkFileChooserDialog + * ## Differences from `GtkFileChooserDialog` * * There are a few things in the [iface@Gtk.FileChooser] interface that * are not possible to use with `GtkFileChooserNative`, as such use would @@ -226,8 +226,8 @@ public class FileChooserNative : NativeDialog, FileChooserIF * Creates a new `GtkFileChooserNative`. * * Params: - * title = Title of the native, or %NULL - * parent = Transient parent of the native, or %NULL + * title = Title of the native + * parent = Transient parent of the native * action = Open or save mode for the dialog * acceptLabel = text to go in the accept button, or %NULL for the default * cancelLabel = text to go in the cancel button, or %NULL for the default @@ -251,8 +251,7 @@ public class FileChooserNative : NativeDialog, FileChooserIF /** * Retrieves the custom label text for the accept button. * - * Returns: The custom label, or %NULL for the default. - * This string is owned by GTK and should not be modified or freed + * Returns: The custom label */ public string getAcceptLabel() { @@ -262,8 +261,7 @@ public class FileChooserNative : NativeDialog, FileChooserIF /** * Retrieves the custom label text for the cancel button. * - * Returns: The custom label, or %NULL for the default. - * This string is owned by GTK and should not be modified or freed + * Returns: The custom label */ public string getCancelLabel() { @@ -281,7 +279,7 @@ public class FileChooserNative : NativeDialog, FileChooserIF * Pressing Alt and that key should activate the button. * * Params: - * acceptLabel = custom label or %NULL for the default + * acceptLabel = custom label */ public void setAcceptLabel(string acceptLabel) { @@ -299,7 +297,7 @@ public class FileChooserNative : NativeDialog, FileChooserIF * Pressing Alt and that key should activate the button. * * Params: - * cancelLabel = custom label or %NULL for the default + * cancelLabel = custom label */ public void setCancelLabel(string cancelLabel) { diff --git a/generated/gtkd/gtk/FileChooserT.d b/source/generated/gtk/gtk/FileChooserT.d similarity index 98% rename from generated/gtkd/gtk/FileChooserT.d rename to source/generated/gtk/gtk/FileChooserT.d index 8ac7b108d..2028115a6 100644 --- a/generated/gtkd/gtk/FileChooserT.d +++ b/source/generated/gtk/gtk/FileChooserT.d @@ -187,7 +187,7 @@ public template FileChooserT(TStruct) } /** - * Gets the current folder of @chooser as #GFile. + * Gets the current folder of @chooser as `GFile`. * * Returns: the `GFile` for the current folder. */ @@ -250,7 +250,7 @@ public template FileChooserT(TStruct) /** * Lists all the selected files and subfolders in the current folder - * of @chooser as #GFile. + * of @chooser as `GFile`. * * Returns: a list model containing a `GFile` for each * selected file and subfolder in the current folder. Free the returned @@ -271,7 +271,7 @@ public template FileChooserT(TStruct) /** * Gets the current filter. * - * Returns: the current filter, or %NULL + * Returns: the current filter */ public FileFilter getFilter() { @@ -434,7 +434,7 @@ public template FileChooserT(TStruct) } /** - * Sets the current folder for @chooser from a #GFile. + * Sets the current folder for @chooser from a `GFile`. * * Params: * file = the `GFile` for the new folder @@ -489,7 +489,7 @@ public template FileChooserT(TStruct) * the file’s base name will also appear in the dialog’s file name entry. * * If the file name isn’t in the current folder of @chooser, then the current - * folder of @chooser will be changed to the folder containing @filename. + * folder of @chooser will be changed to the folder containing @file. * * Note that the file must exist, or nothing will be done except * for the directory change. diff --git a/generated/gtkd/gtk/FileChooserWidget.d b/source/generated/gtk/gtk/FileChooserWidget.d similarity index 100% rename from generated/gtkd/gtk/FileChooserWidget.d rename to source/generated/gtk/gtk/FileChooserWidget.d diff --git a/generated/gtkd/gtk/FileFilter.d b/source/generated/gtk/gtk/FileFilter.d similarity index 85% rename from generated/gtkd/gtk/FileFilter.d rename to source/generated/gtk/gtk/FileFilter.d index a5aab8256..6f44f0cdc 100644 --- a/generated/gtkd/gtk/FileFilter.d +++ b/source/generated/gtk/gtk/FileFilter.d @@ -41,8 +41,8 @@ public import gtk.c.types; * * `GtkFileFilter` can be used to restrict the files being shown in a * `GtkFileChooser`. Files can be filtered based on their name (with - * [method@Gtk.FileFilter.add_pattern]) or on their mime type (with - * [method@Gtk.FileFilter.add_mime_type]). + * [method@Gtk.FileFilter.add_pattern] or [method@Gtk.FileFilter.add_suffix]) + * or on their mime type (with [method@Gtk.FileFilter.add_mime_type]). * * Filtering by mime types handles aliasing and subclassing of mime * types; e.g. a filter for text/plain also matches a file with mime @@ -58,11 +58,13 @@ public import gtk.c.types; * # GtkFileFilter as GtkBuildable * * The `GtkFileFilter` implementation of the `GtkBuildable` interface - * supports adding rules using the and - * elements and listing the rules within. Specifying a - * or has the same effect as as calling + * supports adding rules using the `` and `` and + * `` elements and listing the rules within. Specifying a + * `` or `` or `` has the same effect as + * as calling * [method@Gtk.FileFilter.add_mime_type] or - * [method@Gtk.FileFilter.add_pattern]. + * [method@Gtk.FileFilter.add_pattern] or + * [method@Gtk.FileFilter.add_suffix]. * * An example of a UI definition fragment specifying `GtkFileFilter` * rules: @@ -75,8 +77,10 @@ public import gtk.c.types; * * * *.txt - * *.png * + * + * png + * * * ``` */ @@ -124,7 +128,8 @@ public class FileFilter : Filter, BuildableIF * Such a filter doesn’t accept any files, so is not * particularly useful until you add rules with * [method@Gtk.FileFilter.add_mime_type], - * [method@Gtk.FileFilter.add_pattern], or + * [method@Gtk.FileFilter.add_pattern], + * [method@Gtk.FileFilter.add_suffix] or * [method@Gtk.FileFilter.add_pixbuf_formats]. * * To create a filter that accepts any file, use: @@ -188,6 +193,10 @@ public class FileFilter : Filter, BuildableIF /** * Adds a rule allowing a shell style glob to a filter. * + * Note that it depends on the platform whether pattern + * matching ignores case or not. On Windows, it does, on + * other platforms, it doesn't. + * * Params: * pattern = a shell style glob */ @@ -208,6 +217,25 @@ public class FileFilter : Filter, BuildableIF gtk_file_filter_add_pixbuf_formats(gtkFileFilter); } + /** + * Adds a suffix match rule to a filter. + * + * This is similar to adding a match for the pattern + * "*.@suffix". + * + * In contrast to pattern matches, suffix matches + * are *always* case-insensitive. + * + * Params: + * suffix = filename suffix to match + * + * Since: 4.4 + */ + public void addSuffix(string suffix) + { + gtk_file_filter_add_suffix(gtkFileFilter, Str.toStringz(suffix)); + } + /** * Gets the attributes that need to be filled in for the `GFileInfo` * passed to this filter. @@ -228,9 +256,7 @@ public class FileFilter : Filter, BuildableIF * * See [method@Gtk.FileFilter.set_name]. * - * Returns: The human-readable name of the filter, - * or %NULL. This value is owned by GTK and must not - * be modified or freed. + * Returns: The human-readable name of the filter */ public string getName() { diff --git a/generated/gtkd/gtk/Filter.d b/source/generated/gtk/gtk/Filter.d similarity index 82% rename from generated/gtkd/gtk/Filter.d rename to source/generated/gtk/gtk/Filter.d index 29b9d089d..bd2afef08 100644 --- a/generated/gtkd/gtk/Filter.d +++ b/source/generated/gtk/gtk/Filter.d @@ -33,7 +33,7 @@ private import std.algorithm; /** * A `GtkFilter` object describes the filtering to be performed by a - * `GtkFilterListModel`. + * [class@Gtk.FilterListModel]. * * The model will use the filter to determine if it should include items * or not by calling [method@Gtk.Filter.match] for each item and only @@ -49,7 +49,7 @@ private import std.algorithm; * various widgets to easily allow searches. * * However, in particular for large lists or complex search methods, it is - * also possible to subclass #GtkFilter and provide one's own filter. + * also possible to subclass `GtkFilter` and provide one's own filter. */ public class Filter : ObjectG { @@ -87,15 +87,18 @@ public class Filter : ObjectG } /** - * Emits the #GtkFilter::changed signal to notify all users of the filter that - * the filter changed. Users of the filter should then check items again via - * gtk_filter_match(). + * Notifies all users of the filter that it has changed. * - * Depending on the @change parameter, not all items need to be changed, but - * only some. Refer to the #GtkFilterChange documentation for details. + * This emits the [signal@Gtk.Filter::changed] signal. Users + * of the filter should then check items again via + * [method@Gtk.Filter.match]. + * + * Depending on the @change parameter, not all items need to + * be changed, but only some. Refer to the [enum@Gtk.FilterChange] + * documentation for details. * - * This function is intended for implementors of #GtkFilter subclasses and - * should not be called from other functions. + * This function is intended for implementors of `GtkFilter` + * subclasses and should not be called from other functions. * * Params: * change = How the filter changed @@ -106,13 +109,15 @@ public class Filter : ObjectG } /** - * Gets the known strictness of @filters. If the strictness is not known, - * %GTK_FILTER_MATCH_SOME is returned. + * Gets the known strictness of @filters. + * + * If the strictness is not known, %GTK_FILTER_MATCH_SOME is returned. * - * This value may change after emission of the #GtkFilter::changed signal. + * This value may change after emission of the [signal@Gtk.Filter::changed] + * signal. * * This function is meant purely for optimization purposes, filters can - * choose to omit implementing it, but #GtkFilterListModel uses it. + * choose to omit implementing it, but `GtkFilterListModel` uses it. * * Returns: the strictness of @self */ diff --git a/generated/gtkd/gtk/FilterListModel.d b/source/generated/gtk/gtk/FilterListModel.d similarity index 97% rename from generated/gtkd/gtk/FilterListModel.d rename to source/generated/gtk/gtk/FilterListModel.d index 3a6851aad..d4978956c 100644 --- a/generated/gtkd/gtk/FilterListModel.d +++ b/source/generated/gtk/gtk/FilterListModel.d @@ -87,8 +87,8 @@ public class FilterListModel : ObjectG, ListModelIF * @filter. * * Params: - * model = the model to sort, or %NULL - * filter = filter or %NULL to not filter items + * model = the model to sort + * filter = filter * * Returns: a new `GtkFilterListModel` * @@ -110,7 +110,6 @@ public class FilterListModel : ObjectG, ListModelIF * Gets the `GtkFilter` currently set on @self. * * Returns: The filter currently in use - * or %NULL if the list isn't filtered */ public Filter getFilter() { @@ -182,7 +181,7 @@ public class FilterListModel : ObjectG, ListModelIF * Sets the filter used to filter items. * * Params: - * filter = filter to use or %NULL to not filter items + * filter = filter to use */ public void setFilter(Filter filter) { diff --git a/generated/gtkd/gtk/Fixed.d b/source/generated/gtk/gtk/Fixed.d similarity index 97% rename from generated/gtkd/gtk/Fixed.d rename to source/generated/gtk/gtk/Fixed.d index ae961fd3d..e1849445b 100644 --- a/generated/gtkd/gtk/Fixed.d +++ b/source/generated/gtk/gtk/Fixed.d @@ -148,8 +148,7 @@ public class Fixed : Widget * Params: * widget = a `GtkWidget`, child of @fixed * - * Returns: a `GskTransform` or %NULL - * in case no transform has been set on @widget + * Returns: a `GskTransform` */ public Transform getChildTransform(Widget widget) { @@ -210,7 +209,7 @@ public class Fixed : Widget * * Params: * widget = a `GtkWidget`, child of @fixed - * transform = the transformation assigned to @widget or %NULL + * transform = the transformation assigned to @widget * to reset @widget's transform */ public void setChildTransform(Widget widget, Transform transform) diff --git a/generated/gtkd/gtk/FixedLayout.d b/source/generated/gtk/gtk/FixedLayout.d similarity index 100% rename from generated/gtkd/gtk/FixedLayout.d rename to source/generated/gtk/gtk/FixedLayout.d diff --git a/generated/gtkd/gtk/FixedLayoutChild.d b/source/generated/gtk/gtk/FixedLayoutChild.d similarity index 100% rename from generated/gtkd/gtk/FixedLayoutChild.d rename to source/generated/gtk/gtk/FixedLayoutChild.d diff --git a/generated/gtkd/gtk/FlattenListModel.d b/source/generated/gtk/gtk/FlattenListModel.d similarity index 98% rename from generated/gtkd/gtk/FlattenListModel.d rename to source/generated/gtk/gtk/FlattenListModel.d index e879fda5e..5db12b534 100644 --- a/generated/gtkd/gtk/FlattenListModel.d +++ b/source/generated/gtk/gtk/FlattenListModel.d @@ -139,7 +139,7 @@ public class FlattenListModel : ObjectG, ListModelIF * Sets a new model to be flattened. * * Params: - * model = the new model or %NULL + * model = the new model */ public void setModel(ListModelIF model) { diff --git a/generated/gtkd/gtk/FlowBox.d b/source/generated/gtk/gtk/FlowBox.d similarity index 95% rename from generated/gtkd/gtk/FlowBox.d rename to source/generated/gtk/gtk/FlowBox.d index ed5a240f1..ea1e18fb1 100644 --- a/generated/gtkd/gtk/FlowBox.d +++ b/source/generated/gtk/gtk/FlowBox.d @@ -144,6 +144,24 @@ public class FlowBox : Widget, OrientableIF this(cast(GtkFlowBox*) __p); } + /** + * Adds @child to the end of @self. + * + * If a sort function is set, the widget will + * actually be inserted at the calculated position. + * + * See also: [method@Gtk.FlowBox.insert]. + * + * Params: + * child = the `GtkWidget` to add + * + * Since: 4.6 + */ + public void append(Widget child) + { + gtk_flow_box_append(gtkFlowBox, (child is null) ? null : child.getWidgetStruct()); + } + /** * Binds @model to @box. * @@ -351,6 +369,24 @@ public class FlowBox : Widget, OrientableIF gtk_flow_box_invalidate_sort(gtkFlowBox); } + /** + * Adds @child to the start of @self. + * + * If a sort function is set, the widget will + * actually be inserted at the calculated position. + * + * See also: [method@Gtk.FlowBox.insert]. + * + * Params: + * child = the `GtkWidget` to add + * + * Since: 4.6 + */ + public void prepend(Widget child) + { + gtk_flow_box_prepend(gtkFlowBox, (child is null) ? null : child.getWidgetStruct()); + } + /** * Removes a child from @box. * @@ -638,7 +674,7 @@ public class FlowBox : Widget, OrientableIF * - PgUp, PgDn move vertically by pages * * Params: - * step = the granularity fo the move, as a #GtkMovementStep + * step = the granularity fo the move, as a `GtkMovementStep` * count = the number of @step units to move * extend = whether to extend the selection * modify = whether to modify the selection diff --git a/generated/gtkd/gtk/FlowBoxChild.d b/source/generated/gtk/gtk/FlowBoxChild.d similarity index 99% rename from generated/gtkd/gtk/FlowBoxChild.d rename to source/generated/gtk/gtk/FlowBoxChild.d index 47876ae1b..23dde3eb9 100644 --- a/generated/gtkd/gtk/FlowBoxChild.d +++ b/source/generated/gtk/gtk/FlowBoxChild.d @@ -139,7 +139,7 @@ public class FlowBoxChild : Widget * Gets the current index of the @child in its `GtkFlowBox` container. * * Returns: the index of the @child, or -1 if the @child is not - * in a flow box. + * in a flow box */ public int getIndex() { diff --git a/generated/gtkd/gtk/FontButton.d b/source/generated/gtk/gtk/FontButton.d similarity index 93% rename from generated/gtkd/gtk/FontButton.d rename to source/generated/gtk/gtk/FontButton.d index 68a1039b6..47f8086f7 100644 --- a/generated/gtkd/gtk/FontButton.d +++ b/source/generated/gtk/gtk/FontButton.d @@ -223,6 +223,19 @@ public class FontButton : Widget, FontChooserIF gtk_font_button_set_use_size(gtkFontButton, useSize); } + /** + * Emitted to when the font button is activated. + * + * The `::activate` signal on `GtkFontButton` is an action signal and + * emitting it causes the button to present its dialog. + * + * Since: 4.4 + */ + gulong addOnActivate(void delegate(FontButton) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "activate", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + /** * Emitted when the user selects a font. * diff --git a/generated/gtkd/gtk/FontChooserDialog.d b/source/generated/gtk/gtk/FontChooserDialog.d similarity index 96% rename from generated/gtkd/gtk/FontChooserDialog.d rename to source/generated/gtk/gtk/FontChooserDialog.d index 3d8752c35..2b69e49d2 100644 --- a/generated/gtkd/gtk/FontChooserDialog.d +++ b/source/generated/gtk/gtk/FontChooserDialog.d @@ -94,8 +94,8 @@ public class FontChooserDialog : Dialog, FontChooserIF * Creates a new `GtkFontChooserDialog`. * * Params: - * title = Title of the dialog, or %NULL - * parent = Transient parent of the dialog, or %NULL + * title = Title of the dialog + * parent = Transient parent of the dialog * * Returns: a new `GtkFontChooserDialog` * diff --git a/generated/gtkd/gtk/FontChooserIF.d b/source/generated/gtk/gtk/FontChooserIF.d similarity index 93% rename from generated/gtkd/gtk/FontChooserIF.d rename to source/generated/gtk/gtk/FontChooserIF.d index 31b2fca39..f55fd274f 100644 --- a/generated/gtkd/gtk/FontChooserIF.d +++ b/source/generated/gtk/gtk/FontChooserIF.d @@ -72,8 +72,7 @@ public interface FontChooserIF{ * font descriptions. * * Returns: A string with the name - * of the current font, or %NULL if no font is selected. You must - * free this string with g_free(). + * of the current font */ public string getFont(); @@ -90,7 +89,7 @@ public interface FontChooserIF{ * font descriptions. * * Returns: A `PangoFontDescription` for the - * current font, or %NULL if no font is selected. + * current font */ public PgFontDescription getFontDesc(); @@ -101,8 +100,7 @@ public interface FontChooserIF{ * If the selected font is not installed, returns %NULL. * * Returns: A `PangoFontFace` representing the - * selected font group details, or %NULL. The returned object is owned by - * @fontchooser and must not be modified or freed. + * selected font group details */ public PgFontFace getFontFace(); @@ -114,8 +112,7 @@ public interface FontChooserIF{ * If the selected font is not installed, returns %NULL. * * Returns: A `PangoFontFamily` representing the - * selected font family, or %NULL. The returned object is owned by @fontchooser - * and must not be modified or freed. + * selected font family */ public PgFontFamily getFontFamily(); @@ -130,7 +127,7 @@ public interface FontChooserIF{ * Gets the custom font map of this font chooser widget, * or %NULL if it does not have one. * - * Returns: a `PangoFontMap`, or %NULL + * Returns: a `PangoFontMap` */ public PgFontMap getFontMap(); @@ -175,7 +172,7 @@ public interface FontChooserIF{ * in the font chooser. * * Params: - * filter = a `GtkFontFilterFunc`, or %NULL + * filter = a `GtkFontFilterFunc` * userData = data to pass to @filter * destroy = function to call to free @data when it is no longer needed */ diff --git a/generated/gtkd/gtk/FontChooserT.d b/source/generated/gtk/gtk/FontChooserT.d similarity index 95% rename from generated/gtkd/gtk/FontChooserT.d rename to source/generated/gtk/gtk/FontChooserT.d index c5a48cbfa..edca9e33c 100644 --- a/generated/gtkd/gtk/FontChooserT.d +++ b/source/generated/gtk/gtk/FontChooserT.d @@ -69,8 +69,7 @@ public template FontChooserT(TStruct) * font descriptions. * * Returns: A string with the name - * of the current font, or %NULL if no font is selected. You must - * free this string with g_free(). + * of the current font */ public string getFont() { @@ -93,7 +92,7 @@ public template FontChooserT(TStruct) * font descriptions. * * Returns: A `PangoFontDescription` for the - * current font, or %NULL if no font is selected. + * current font */ public PgFontDescription getFontDesc() { @@ -114,8 +113,7 @@ public template FontChooserT(TStruct) * If the selected font is not installed, returns %NULL. * * Returns: A `PangoFontFace` representing the - * selected font group details, or %NULL. The returned object is owned by - * @fontchooser and must not be modified or freed. + * selected font group details */ public PgFontFace getFontFace() { @@ -137,8 +135,7 @@ public template FontChooserT(TStruct) * If the selected font is not installed, returns %NULL. * * Returns: A `PangoFontFamily` representing the - * selected font family, or %NULL. The returned object is owned by @fontchooser - * and must not be modified or freed. + * selected font family */ public PgFontFamily getFontFamily() { @@ -169,7 +166,7 @@ public template FontChooserT(TStruct) * Gets the custom font map of this font chooser widget, * or %NULL if it does not have one. * - * Returns: a `PangoFontMap`, or %NULL + * Returns: a `PangoFontMap` */ public override PgFontMap getFontMap() { @@ -245,7 +242,7 @@ public template FontChooserT(TStruct) * in the font chooser. * * Params: - * filter = a `GtkFontFilterFunc`, or %NULL + * filter = a `GtkFontFilterFunc` * userData = data to pass to @filter * destroy = function to call to free @data when it is no longer needed */ diff --git a/generated/gtkd/gtk/FontChooserWidget.d b/source/generated/gtk/gtk/FontChooserWidget.d similarity index 100% rename from generated/gtkd/gtk/FontChooserWidget.d rename to source/generated/gtk/gtk/FontChooserWidget.d diff --git a/generated/gtkd/gtk/Frame.d b/source/generated/gtk/gtk/Frame.d similarity index 98% rename from generated/gtkd/gtk/Frame.d rename to source/generated/gtk/gtk/Frame.d index bb8617fb6..bba1e0464 100644 --- a/generated/gtkd/gtk/Frame.d +++ b/source/generated/gtk/gtk/Frame.d @@ -181,8 +181,7 @@ public class Frame : Widget /** * Retrieves the label widget for the frame. * - * Returns: the label widget, or %NULL if - * there is none. + * Returns: the label widget */ public Widget getLabelWidget() { diff --git a/generated/gtkd/gtk/GLArea.d b/source/generated/gtk/gtk/GLArea.d similarity index 98% rename from generated/gtkd/gtk/GLArea.d rename to source/generated/gtk/gtk/GLArea.d index 854abd7ae..aeb88233a 100644 --- a/generated/gtkd/gtk/GLArea.d +++ b/source/generated/gtk/gtk/GLArea.d @@ -65,7 +65,7 @@ private import std.algorithm; * render (GtkGLArea *area, GdkGLContext *context) * { * // inside this function it's safe to use GL; the given - * // #GdkGLContext has been made current to the drawable + * // GdkGLContext has been made current to the drawable * // surface used by the `GtkGLArea` and the viewport has * // already been set to be the size of the allocation * @@ -110,7 +110,7 @@ private import std.algorithm; * * // If there were errors during the initialization or * // when trying to make the context current, this - * // function will return a #GError for you to catch + * // function will return a GError for you to catch * if (gtk_gl_area_get_error (area) != NULL) * return; * @@ -239,7 +239,7 @@ public class GLArea : Widget /** * Gets the current error set on the @area. * - * Returns: the #GError or %NULL + * Returns: the `GError` */ public ErrorG getError() { @@ -413,7 +413,7 @@ public class GLArea : Widget /** * Sets whether the @area should create an OpenGL or an OpenGL ES context. * - * You should check the capabilities of the #GdkGLContext before drawing + * You should check the capabilities of the `GdkGLContext` before drawing * with either API. * * Params: diff --git a/generated/gtkd/gtk/Gesture.d b/source/generated/gtk/gtk/Gesture.d similarity index 99% rename from generated/gtkd/gtk/Gesture.d rename to source/generated/gtk/gtk/Gesture.d index 45ff1b4a8..9247945de 100644 --- a/generated/gtkd/gtk/Gesture.d +++ b/source/generated/gtk/gtk/Gesture.d @@ -109,7 +109,7 @@ private import std.algorithm; * Note: if a sequence is set early to %GTK_EVENT_SEQUENCE_CLAIMED on * %GDK_TOUCH_BEGIN/%GDK_BUTTON_PRESS (so those events are captured before * reaching the event widget, this implies %GTK_PHASE_CAPTURE), one similar - * event will emulated if the sequence changes to %GTK_EVENT_SEQUENCE_DENIED. + * event will be emulated if the sequence changes to %GTK_EVENT_SEQUENCE_DENIED. * This way event coherence is preserved before event propagation is unstopped * again. * @@ -208,7 +208,7 @@ public class Gesture : EventController * * This returns %NULL if the gesture is not being interacted. * - * Returns: a `GdkDevice`, or %NULL + * Returns: a `GdkDevice` */ public Device getDevice() { @@ -297,7 +297,7 @@ public class Gesture : EventController * Returns the @sequence state, as seen by @gesture. * * Params: - * sequence = a #GdkEventSequence + * sequence = a `GdkEventSequence` * * Returns: The sequence state in @gesture */ @@ -359,7 +359,7 @@ public class Gesture : EventController * corresponding to @sequence. * * Params: - * sequence = a `GdkEventSequence` or %NULL + * sequence = a `GdkEventSequence` * * Returns: %TRUE if @gesture is handling @sequence, %FALSE otherwise */ diff --git a/generated/gtkd/gtk/GestureClick.d b/source/generated/gtk/gtk/GestureClick.d similarity index 100% rename from generated/gtkd/gtk/GestureClick.d rename to source/generated/gtk/gtk/GestureClick.d diff --git a/generated/gtkd/gtk/GestureDrag.d b/source/generated/gtk/gtk/GestureDrag.d similarity index 100% rename from generated/gtkd/gtk/GestureDrag.d rename to source/generated/gtk/gtk/GestureDrag.d diff --git a/generated/gtkd/gtk/GestureLongPress.d b/source/generated/gtk/gtk/GestureLongPress.d similarity index 100% rename from generated/gtkd/gtk/GestureLongPress.d rename to source/generated/gtk/gtk/GestureLongPress.d diff --git a/generated/gtkd/gtk/GesturePan.d b/source/generated/gtk/gtk/GesturePan.d similarity index 100% rename from generated/gtkd/gtk/GesturePan.d rename to source/generated/gtk/gtk/GesturePan.d diff --git a/generated/gtkd/gtk/GestureRotate.d b/source/generated/gtk/gtk/GestureRotate.d similarity index 100% rename from generated/gtkd/gtk/GestureRotate.d rename to source/generated/gtk/gtk/GestureRotate.d diff --git a/generated/gtkd/gtk/GestureSingle.d b/source/generated/gtk/gtk/GestureSingle.d similarity index 100% rename from generated/gtkd/gtk/GestureSingle.d rename to source/generated/gtk/gtk/GestureSingle.d diff --git a/generated/gtkd/gtk/GestureStylus.d b/source/generated/gtk/gtk/GestureStylus.d similarity index 100% rename from generated/gtkd/gtk/GestureStylus.d rename to source/generated/gtk/gtk/GestureStylus.d diff --git a/generated/gtkd/gtk/GestureSwipe.d b/source/generated/gtk/gtk/GestureSwipe.d similarity index 100% rename from generated/gtkd/gtk/GestureSwipe.d rename to source/generated/gtk/gtk/GestureSwipe.d diff --git a/generated/gtkd/gtk/GestureZoom.d b/source/generated/gtk/gtk/GestureZoom.d similarity index 100% rename from generated/gtkd/gtk/GestureZoom.d rename to source/generated/gtk/gtk/GestureZoom.d diff --git a/generated/gtkd/gtk/Grid.d b/source/generated/gtk/gtk/Grid.d similarity index 97% rename from generated/gtkd/gtk/Grid.d rename to source/generated/gtk/gtk/Grid.d index 93052940a..249309f94 100644 --- a/generated/gtkd/gtk/Grid.d +++ b/source/generated/gtk/gtk/Grid.d @@ -52,8 +52,8 @@ public import gtk.c.types; * # GtkGrid as GtkBuildable * * Every child in a `GtkGrid` has access to a custom [iface@Gtk.Buildable] - * element, called ´´. It can by used to specify a position in the - * grid and optionally spans. All properties that can be used in the ´´ + * element, called ``. It can by used to specify a position in the + * grid and optionally spans. All properties that can be used in the `` * element are implemented by [class@Gtk.GridLayoutChild]. * * It is implemented by `GtkWidget` using [class@Gtk.LayoutManager]. @@ -105,9 +105,9 @@ public import gtk.c.types; * * It organizes the first two buttons side-by-side in one cell each. * The third button is in the last column but spans across two rows. - * This is defined by the ´row-span´ property. The last button is + * This is defined by the `row-span` property. The last button is * located in the second row and spans across two columns, which is - * defined by the ´column-span´ property. + * defined by the `column-span` property. * * # CSS nodes * @@ -201,8 +201,8 @@ public class Grid : Widget, OrientableIF * left or right placement) or column 0 (for top or bottom placement), * at the end indicated by @side. * - * Attaching widgets labeled [1], [2], [3] with @sibling == %NULL and - * @side == %GTK_POS_LEFT yields a layout of [3][2][1]. + * Attaching widgets labeled `[1]`, `[2]`, `[3]` with `@sibling == %NULL` and + * `@side == %GTK_POS_LEFT` yields a layout of `[3][2][1]`. * * Params: * child = the widget to add @@ -235,7 +235,7 @@ public class Grid : Widget, OrientableIF * column = the left edge of the cell * row = the top edge of the cell * - * Returns: the child at the given position, or %NULL + * Returns: the child at the given position */ public Widget getChildAt(int column, int row) { diff --git a/generated/gtkd/gtk/GridLayout.d b/source/generated/gtk/gtk/GridLayout.d similarity index 100% rename from generated/gtkd/gtk/GridLayout.d rename to source/generated/gtk/gtk/GridLayout.d diff --git a/generated/gtkd/gtk/GridLayoutChild.d b/source/generated/gtk/gtk/GridLayoutChild.d similarity index 100% rename from generated/gtkd/gtk/GridLayoutChild.d rename to source/generated/gtk/gtk/GridLayoutChild.d diff --git a/generated/gtkd/gtk/GridView.d b/source/generated/gtk/gtk/GridView.d similarity index 93% rename from generated/gtkd/gtk/GridView.d rename to source/generated/gtk/gtk/GridView.d index b0708ae84..aac71d1b0 100644 --- a/generated/gtkd/gtk/GridView.d +++ b/source/generated/gtk/gtk/GridView.d @@ -55,17 +55,18 @@ private import std.algorithm; * * ``` * gridview - * ├── child + * ├── child[.activatable] * │ - * ├── child + * ├── child[.activatable] * │ * ┊ * ╰── [rubberband] * ``` * - * `GtkGridView` uses a single CSS node with name gridview. Each child - * uses a single CSS node with name child. For rubberband selection, - * a subnode with name rubberband is used. + * `GtkGridView` uses a single CSS node with name `gridview`. Each child uses + * a single CSS node with name `child`. If the [property@Gtk.ListItem:activatable] + * property is set, the corresponding row will have the `.activatable` style + * class. For rubberband selection, a subnode with name `rubberband` is used. * * # Accessibility * @@ -119,8 +120,8 @@ public class GridView : ListBase * ``` * * Params: - * model = the model to use, or %NULL - * factory = The factory to populate items with, or %NULL + * model = the model to use + * factory = The factory to populate items with * * Returns: a new `GtkGridView` using the given @model and @factory * @@ -228,7 +229,7 @@ public class GridView : ListBase * Sets the `GtkListItemFactory` to use for populating list items. * * Params: - * factory = the factory to use or %NULL for none + * factory = the factory to use */ public void setFactory(ListItemFactory factory) { @@ -273,7 +274,7 @@ public class GridView : ListBase * This must be a [iface@Gtk.SelectionModel]. * * Params: - * model = the model to use or %NULL for none + * model = the model to use */ public void setModel(SelectionModelIF model) { diff --git a/generated/gtkd/gtk/HeaderBar.d b/source/generated/gtk/gtk/HeaderBar.d similarity index 95% rename from generated/gtkd/gtk/HeaderBar.d rename to source/generated/gtk/gtk/HeaderBar.d index 14e0bf396..53719ea99 100644 --- a/generated/gtkd/gtk/HeaderBar.d +++ b/source/generated/gtk/gtk/HeaderBar.d @@ -48,7 +48,7 @@ public import gtk.c.types; * maximize and close buttons, or the window icon. * * For these reasons, `GtkHeaderBar` is the natural choice for use as the - * custom titlebar widget of a `GtkWindow (see [method@Gtk.Window.set_titlebar]), + * custom titlebar widget of a `GtkWindow` (see [method@Gtk.Window.set_titlebar]), * as it gives features typical of titlebars while allowing the addition of * child widgets. * @@ -186,8 +186,7 @@ public class HeaderBar : Widget * * See [method@Gtk.HeaderBar.set_title_widget]. * - * Returns: the title widget - * of the header, or %NULL if none has been set explicitly. + * Returns: the title widget of the header */ public Widget getTitleWidget() { @@ -206,7 +205,7 @@ public class HeaderBar : Widget * end of the @bar. * * Params: - * child = the #GtkWidget to be added to @bar + * child = the `GtkWidget` to be added to @bar */ public void packEnd(Widget child) { @@ -218,7 +217,7 @@ public class HeaderBar : Widget * start of the @bar. * * Params: - * child = the #GtkWidget to be added to @bar + * child = the `GtkWidget` to be added to @bar */ public void packStart(Widget child) { @@ -261,8 +260,7 @@ public class HeaderBar : Widget * on the left, and minimize, maximize and close buttons on the right. * * Params: - * layout = a decoration layout, or %NULL to - * unset the layout + * layout = a decoration layout, or %NULL to unset the layout */ public void setDecorationLayout(string layout) { diff --git a/generated/gtkd/gtk/IMContext.d b/source/generated/gtk/gtk/IMContext.d similarity index 86% rename from generated/gtkd/gtk/IMContext.d rename to source/generated/gtk/gtk/IMContext.d index dc168e1a0..d1a39a4df 100644 --- a/generated/gtkd/gtk/IMContext.d +++ b/source/generated/gtk/gtk/IMContext.d @@ -44,27 +44,16 @@ private import std.algorithm; * `GtkIMContext` is used by GTK text input widgets like `GtkText` * to map from key events to Unicode character strings. * - * By default, GTK uses a platform-dependent default input method. - * On Windows, the default implementation is IME-based and on Wayland, - * it is using the Wayland text protocol. The choice can be overridden - * programmatically via the [property@Gtk.Settings:gtk-im-module] setting. - * Users may set the `GTK_IM_MODULE` environment variable to override the - * default. - * - * Text widgets have a :im-module property (e.g. [property@Gtk.TextView:im-module]) - * that may also be used to set input methods for specific widget instances. - * For instance, a certain entry widget might be expected to contain - * certain characters which would be easier to input with a specific - * input method. - * * An input method may consume multiple key events in sequence before finally * outputting the composed result. This is called *preediting*, and an input * method may provide feedback about this process by displaying the intermediate - * composition states as preedit text. + * composition states as preedit text. To do so, the `GtkIMContext` will emit + * [signal@Gtk.IMContext::preedit-start], [signal@Gtk.IMContext::preedit-changed] + * and [signal@Gtk.IMContext::preedit-end] signals. * - * For instance, the built-in GTK input method `GtkIMContextSimple` implements - * the input of arbitrary Unicode code points by holding down the - * Control and Shift keys and then typing U + * For instance, the built-in GTK input method [class@Gtk.IMContextSimple] + * implements the input of arbitrary Unicode code points by holding down the + * Control and Shift keys and then typing u * followed by the hexadecimal digits of the code point. When releasing the * Control and Shift keys, preediting ends and the * character is inserted as text. For example, @@ -76,6 +65,9 @@ private import std.algorithm; * Additional input methods can be made available for use by GTK widgets as * loadable modules. An input method module is a small shared library which * provides a `GIOExtension` for the extension point named "gtk-im-module". + * + * To connect a widget to the users preferred input method, you should use + * [class@Gtk.IMMulticontext]. */ public class IMContext : ObjectG { @@ -115,21 +107,21 @@ public class IMContext : ObjectG /** * Asks the widget that the input context is attached to delete * characters around the cursor position by emitting the - * GtkIMContext::delete_surrounding signal. + * `::delete_surrounding` signal. * * Note that @offset and @n_chars are in characters not in bytes - * which differs from the usage other places in #GtkIMContext. + * which differs from the usage other places in `GtkIMContext`. * * In order to use this function, you should first call - * gtk_im_context_get_surrounding() to get the current context, and - * call this function immediately afterwards to make sure that you + * [method@Gtk.IMContext.get_surrounding] to get the current context, + * and call this function immediately afterwards to make sure that you * know what you are deleting. You should also account for the fact * that even if the signal was handled, the input context might not * have deleted all the characters that were requested to be deleted. * * This function is used by an input method that wants to make - * subsitutions in the existing text in response to new input. It is - * not useful for applications. + * subsitutions in the existing text in response to new input. + * It is not useful for applications. * * Params: * offset = offset from cursor position in chars; @@ -145,7 +137,7 @@ public class IMContext : ObjectG /** * Allow an input method to forward key press and release events - * to another input methodm without necessarily having a `GdkEvent` + * to another input method without necessarily having a `GdkEvent` * available. * * Params: @@ -215,10 +207,10 @@ public class IMContext : ObjectG * str = location to store the retrieved * string. The string retrieved must be freed with g_free(). * attrs = location to store the retrieved - * attribute list. When you are done with this list, you - * must unreference it with pango_attr_list_unref(). - * cursorPos = location to store position of cursor (in characters) - * within the preedit string. + * attribute list. When you are done with this list, you + * must unreference it with [method@Pango.AttrList.unref]. + * cursorPos = location to store position of cursor + * (in characters) within the preedit string. */ public void getPreeditString(out string str, out PgAttributeList attrs, out int cursorPos) { @@ -346,7 +338,7 @@ public class IMContext : ObjectG * Notify the input method that a change in cursor * position has been made. * - * The location is relative to the client window. + * The location is relative to the client widget. * * Params: * area = new location @@ -368,8 +360,7 @@ public class IMContext : ObjectG * * Params: * text = text surrounding the insertion point, as UTF-8. - * the preedit string should not be included within - * @text. + * the preedit string should not be included within @text * len = the length of @text, or -1 if @text is nul-terminated * cursorIndex = the byte index of the insertion cursor within @text. */ @@ -381,13 +372,12 @@ public class IMContext : ObjectG /** * Sets surrounding context around the insertion point and preedit * string. This function is expected to be called in response to the - * GtkIMContext::retrieve_surrounding signal, and will likely have no - * effect if called at other times. + * [signal@Gtk.IMContext::retrieve_surrounding] signal, and will likely + * have no effect if called at other times. * * Params: * text = text surrounding the insertion point, as UTF-8. - * the preedit string should not be included within - * @text. + * the preedit string should not be included within @text * len = the length of @text, or -1 if @text is nul-terminated * cursorIndex = the byte index of the insertion cursor within @text * anchorIndex = the byte index of the selection bound within @text @@ -417,8 +407,13 @@ public class IMContext : ObjectG /** * The ::commit signal is emitted when a complete input sequence - * has been entered by the user. This can be a single character - * immediately after a key press or the final result of preediting. + * has been entered by the user. + * + * If the commit comes after a preediting sequence, the + * ::commit signal is emitted after ::preedit-end. + * + * This can be a single character immediately after a key press or + * the final result of preediting. * * Params: * str = the completed character(s) entered by the user @@ -447,9 +442,10 @@ public class IMContext : ObjectG /** * The ::preedit-changed signal is emitted whenever the preedit sequence - * currently being entered has changed. It is also emitted at the end of - * a preedit sequence, in which case - * gtk_im_context_get_preedit_string() returns the empty string. + * currently being entered has changed. + * + * It is also emitted at the end of a preedit sequence, in which case + * [method@Gtk.IMContext.get_preedit_string] returns the empty string. */ gulong addOnPreeditChanged(void delegate(IMContext) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -476,9 +472,10 @@ public class IMContext : ObjectG /** * The ::retrieve-surrounding signal is emitted when the input method - * requires the context surrounding the cursor. The callback should set - * the input method surrounding context by calling the - * gtk_im_context_set_surrounding() method. + * requires the context surrounding the cursor. + * + * The callback should set the input method surrounding context by + * calling the [method@Gtk.IMContext.set_surrounding] method. * * Returns: %TRUE if the signal was handled. */ diff --git a/generated/gtkd/gtk/IMContextSimple.d b/source/generated/gtk/gtk/IMContextSimple.d similarity index 82% rename from generated/gtkd/gtk/IMContextSimple.d rename to source/generated/gtk/gtk/IMContextSimple.d index 62826b397..394a27573 100644 --- a/generated/gtkd/gtk/IMContextSimple.d +++ b/source/generated/gtk/gtk/IMContextSimple.d @@ -35,15 +35,21 @@ public import gtk.c.types; /** * `GtkIMContextSimple` is an input method supporting table-based input methods. * - * `GtkIMContextSimple` has a built-in table of compose sequences that is - * derived from the X11 Compose files. + * ## Compose sequences * - * `GtkIMContextSimple` reads additional compose sequences from the first of the + * `GtkIMContextSimple` reads compose sequences from the first of the * following files that is found: ~/.config/gtk-4.0/Compose, ~/.XCompose, * /usr/share/X11/locale/$locale/Compose (for locales that have a nontrivial * Compose file). The syntax of these files is described in the Compose(5) * manual page. * + * If none of these files is found, `GtkIMContextSimple` uses a built-in table + * of compose sequences that is derived from the X11 Compose files. + * + * Note that compose sequences typically start with the Compose_key, which is + * often not available as a dedicated key on keyboards. Keyboard layouts may + * map this keysym to other keys, such as the right Control key. + * * ## Unicode characters * * `GtkIMContextSimple` also supports numeric entry of Unicode characters @@ -55,6 +61,15 @@ public import gtk.c.types; * Ctrl-Shift-u 1 2 3 Enter * * yields U+0123 LATIN SMALL LETTER G WITH CEDILLA, i.e. ģ. + * + * ## Dead keys + * + * `GtkIMContextSimple` supports dead keys. For example, typing + * + * dead_acute a + * + * yields U+00E! LATIN SMALL LETTER_A WITH ACUTE, i.e. á. Note that this + * depends on the keyboard layout including dead keys. */ public class IMContextSimple : IMContext { @@ -92,9 +107,9 @@ public class IMContextSimple : IMContext } /** - * Creates a new #GtkIMContextSimple. + * Creates a new `GtkIMContextSimple`. * - * Returns: a new #GtkIMContextSimple. + * Returns: a new `GtkIMContextSimple` * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -132,6 +147,8 @@ public class IMContextSimple : IMContext * numeric value of the key symbol fields. (Values beyond * the length of the sequence should be zero.) * + * Deprecated: Use gtk_im_context_simple_add_compose_file() + * * Params: * data = the table * maxSeqLen = Maximum length of a sequence in the table diff --git a/generated/gtkd/gtk/IMMulticontext.d b/source/generated/gtk/gtk/IMMulticontext.d similarity index 92% rename from generated/gtkd/gtk/IMMulticontext.d rename to source/generated/gtk/gtk/IMMulticontext.d index e89e0dec0..f20331286 100644 --- a/generated/gtkd/gtk/IMMulticontext.d +++ b/source/generated/gtk/gtk/IMMulticontext.d @@ -34,8 +34,8 @@ public import gtk.c.types; /** - * `GtkIMMulticontext` is input method supporting multiple, switchable input - * methods. + * `GtkIMMulticontext` is an input method context supporting multiple, + * switchable input methods. * * Text widgets such as `GtkText` or `GtkTextView` use a `GtkIMMultiContext` * to implement their `im-module` property for switching between different @@ -111,6 +111,10 @@ public class IMMulticontext : IMContext * This causes the currently active delegate of @context to be * replaced by the delegate corresponding to the new context id. * + * Setting this to a non-%NULL value overrides the system-wide + * IM module setting. See the [property@Gtk.Settings:gtk-im-module] + * property. + * * Params: * contextId = the id to use */ diff --git a/generated/gtkd/gtk/IconPaintable.d b/source/generated/gtk/gtk/IconPaintable.d similarity index 94% rename from generated/gtkd/gtk/IconPaintable.d rename to source/generated/gtk/gtk/IconPaintable.d index 677bf4ace..51cc90722 100644 --- a/generated/gtkd/gtk/IconPaintable.d +++ b/source/generated/gtk/gtk/IconPaintable.d @@ -31,6 +31,8 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; +private import gtk.SymbolicPaintableIF; +private import gtk.SymbolicPaintableT; private import gtk.c.functions; public import gtk.c.types; @@ -40,7 +42,7 @@ public import gtk.c.types; * * `GtkIconPaintable` implements `GdkPaintable`. */ -public class IconPaintable : ObjectG, PaintableIF +public class IconPaintable : ObjectG, PaintableIF, SymbolicPaintableIF { /** the main Gtk struct */ protected GtkIconPaintable* gtkIconPaintable; @@ -71,6 +73,9 @@ public class IconPaintable : ObjectG, PaintableIF // add the Paintable capabilities mixin PaintableT!(GtkIconPaintable); + // add the SymbolicPaintable capabilities + mixin SymbolicPaintableT!(GtkIconPaintable); + /** */ public static GType getType() @@ -110,8 +115,7 @@ public class IconPaintable : ObjectG, PaintableIF * * Returns %NULL if the icon was not loaded from a file. * - * Returns: the #GFile for the icon, or %NULL. - * Free with g_object_unref(). + * Returns: the `GFile` for the icon */ public FileIF getFile() { diff --git a/generated/gtkd/gtk/IconTheme.d b/source/generated/gtk/gtk/IconTheme.d similarity index 97% rename from generated/gtkd/gtk/IconTheme.d rename to source/generated/gtk/gtk/IconTheme.d index b338ef181..2dd142c29 100644 --- a/generated/gtkd/gtk/IconTheme.d +++ b/source/generated/gtk/gtk/IconTheme.d @@ -249,8 +249,7 @@ public class IconTheme : ObjectG * * See [method@Gtk.IconTheme.set_resource_path]. * - * Returns: A list of resource paths or %NULL. - * The returned value should be freed with g_strfreev(). + * Returns: A list of resource paths */ public string[] getResourcePath() { @@ -265,8 +264,7 @@ public class IconTheme : ObjectG * * See [method@Gtk.IconTheme.set_search_path]. * - * Returns: a list of icon theme path directories or %NULL. - * The returned value should be freed with g_strfreev(). + * Returns: a list of icon theme path directories */ public string[] getSearchPath() { @@ -297,6 +295,8 @@ public class IconTheme : ObjectG * gicon = a `GIcon` * * Returns: %TRUE if @self includes an icon for @gicon + * + * Since: 4.2 */ public bool hasGicon(IconIF gicon) { @@ -403,9 +403,9 @@ public class IconTheme : ObjectG * path = NULL-terminated array of resource paths * that are searched for icons */ - public void setResourcePath(string path) + public void setResourcePath(string[] path) { - gtk_icon_theme_set_resource_path(gtkIconTheme, Str.toStringz(path)); + gtk_icon_theme_set_resource_path(gtkIconTheme, Str.toStringzArray(path)); } /** @@ -439,7 +439,7 @@ public class IconTheme : ObjectG * overriding system configuration. * * This function cannot be called on the icon theme objects returned - * from [type_func@Gtk.IconTheme.get_for_display]. + * from [func@Gtk.IconTheme.get_for_display]. * * Params: * themeName = name of icon theme to use instead of diff --git a/generated/gtkd/gtk/IconView.d b/source/generated/gtk/gtk/IconView.d similarity index 88% rename from generated/gtkd/gtk/IconView.d rename to source/generated/gtk/gtk/IconView.d index 592a2ac48..b7b29dd67 100644 --- a/generated/gtkd/gtk/IconView.d +++ b/source/generated/gtk/gtk/IconView.d @@ -59,7 +59,7 @@ private import std.algorithm; * * Note that if the tree model is backed by an actual tree store (as * opposed to a flat list where the mapping to icons is obvious), - * #GtkIconView will only display the first level of the tree and + * `GtkIconView` will only display the first level of the tree and * ignore the tree’s branches. * * # CSS nodes @@ -114,9 +114,9 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF } /** - * Creates a new #GtkIconView widget + * Creates a new `GtkIconView` widget * - * Returns: A newly created #GtkIconView widget + * Returns: A newly created `GtkIconView` widget * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -133,13 +133,13 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF } /** - * Creates a new #GtkIconView widget using the + * Creates a new `GtkIconView` widget using the * specified @area to layout cells inside the icons. * * Params: - * area = the #GtkCellArea to use to layout cells + * area = the `GtkCellArea` to use to layout cells * - * Returns: A newly created #GtkIconView widget + * Returns: A newly created `GtkIconView` widget * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -156,12 +156,12 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF } /** - * Creates a new #GtkIconView widget with the model @model. + * Creates a new `GtkIconView` widget with the model @model. * * Params: * model = The model. * - * Returns: A newly created #GtkIconView widget. + * Returns: A newly created `GtkIconView` widget. * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -178,13 +178,13 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF } /** - * Creates a #cairo_surface_t representation of the item at @path. + * Creates a `GdkPaintable` representation of the item at @path. * This image is used for a drag icon. * * Params: - * path = a #GtkTreePath in @icon_view + * path = a `GtkTreePath` in @icon_view * - * Returns: a newly-allocated surface of the drag icon. + * Returns: a newly-allocated `GdkPaintable` of the drag icon. */ public PaintableIF createDragIcon(TreePath path) { @@ -200,7 +200,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF /** * Turns @icon_view into a drop destination for automatic DND. Calling this - * method sets #GtkIconView:reorderable to %FALSE. + * method sets `GtkIconView`:reorderable to %FALSE. * * Params: * formats = the formats that the drag will support @@ -214,7 +214,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF /** * Turns @icon_view into a drag source for automatic DND. Calling this - * method sets #GtkIconView:reorderable to %FALSE. + * method sets `GtkIconView`:reorderable to %FALSE. * * Params: * startButtonMask = Mask of allowed buttons to start drag @@ -244,8 +244,8 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * This function is only valid if @icon_view is realized. * * Params: - * path = a #GtkTreePath - * cell = a #GtkCellRenderer or %NULL + * path = a `GtkTreePath` + * cell = a `GtkCellRenderer` * rect = rectangle to fill with cell rect * * Returns: %FALSE if there is no such item, %TRUE otherwise @@ -280,13 +280,13 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * If the cursor isn’t currently set, then *@path will be %NULL. * If no cell currently has focus, then *@cell will be %NULL. * - * The returned #GtkTreePath must be freed with gtk_tree_path_free(). + * The returned `GtkTreePath` must be freed with gtk_tree_path_free(). * * Params: * path = Return location for the current - * cursor path, or %NULL + * cursor path * cell = Return location the current - * focus cell, or %NULL + * focus cell * * Returns: %TRUE if the cursor is set. */ @@ -309,9 +309,8 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * Params: * dragX = the position to determine the destination item for * dragY = the position to determine the destination item for - * path = Return location for the path of the item, - * or %NULL. - * pos = Return location for the drop position, or %NULL + * path = Return location for the path of the item + * pos = Return location for the drop position * * Returns: whether there is an item at the given position. */ @@ -331,8 +330,8 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * * Params: * path = Return location for the path of - * the highlighted item, or %NULL. - * pos = Return location for the drop position, or %NULL + * the highlighted item + * pos = Return location for the drop position */ public void getDragDestItem(out TreePath path, out GtkIconViewDropPosition pos) { @@ -349,9 +348,9 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * Params: * x = The x position to be identified * y = The y position to be identified - * path = Return location for the path, or %NULL + * path = Return location for the path * cell = Return location for the renderer - * responsible for the cell at (@x, @y), or %NULL + * responsible for the cell at (@x, @y) * * Returns: %TRUE if an item exists at the specified position */ @@ -373,7 +372,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * displayed. Column numbers start at 0. * * Params: - * path = the #GtkTreePath of the item + * path = the `GtkTreePath` of the item * * Returns: The column in which the item is displayed */ @@ -408,7 +407,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * displayed. Row numbers start at 0. * * Params: - * path = the #GtkTreePath of the item + * path = the `GtkTreePath` of the item * * Returns: The row in which the item is displayed */ @@ -448,11 +447,10 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF } /** - * Returns the model the #GtkIconView is based on. Returns %NULL if the + * Returns the model the `GtkIconView` is based on. Returns %NULL if the * model is unset. * - * Returns: A #GtkTreeModel, or %NULL if none is - * currently being used. + * Returns: The currently used `GtkTreeModel` */ public TreeModelIF getModel() { @@ -473,7 +471,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * x = The x position to be identified * y = The y position to be identified * - * Returns: The #GtkTreePath corresponding + * Returns: The `GtkTreePath` corresponding * to the icon or %NULL if no icon exists at that position. */ public TreePath getPathAtPos(int x, int y) @@ -522,15 +520,22 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF /** * Creates a list of paths of all selected items. Additionally, if you are * planning on modifying the model after calling this function, you may - * want to convert the returned list into a list of #GtkTreeRowReferences. + * want to convert the returned list into a list of `GtkTreeRowReferences`. * To do this, you can use gtk_tree_row_reference_new(). * - * To free the return value, use: + * To free the return value, use `g_list_free_full`: * |[ + * GtkWidget *icon_view = gtk_icon_view_new (); + * // Use icon_view + * + * GList *list = gtk_icon_view_get_selected_items (GTK_ICON_VIEW (icon_view)); + * + * // use list + * * g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free); * ]| * - * Returns: A #GList containing a #GtkTreePath for each selected row. + * Returns: A `GList` containing a `GtkTreePath` for each selected row. */ public ListG getSelectedItems() { @@ -587,8 +592,8 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF } /** - * This function is supposed to be used in a #GtkWidget::query-tooltip - * signal handler for #GtkIconView. The @x, @y and @keyboard_tip values + * This function is supposed to be used in a `GtkWidget::query-tooltip` + * signal handler for `GtkIconView`. The @x, @y and @keyboard_tip values * which are received in the signal handler, should be passed to this * function without modification. * @@ -602,10 +607,9 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * x = the x coordinate (relative to widget coordinates) * y = the y coordinate (relative to widget coordinates) * keyboardTip = whether this is a keyboard tooltip or not - * model = a pointer to receive a - * #GtkTreeModel or %NULL - * path = a pointer to receive a #GtkTreePath or %NULL - * iter = a pointer to receive a #GtkTreeIter or %NULL + * model = a pointer to receive a `GtkTreeModel` + * path = a pointer to receive a `GtkTreePath` + * iter = a pointer to receive a `GtkTreeIter` * * Returns: whether or not the given tooltip context points to an item */ @@ -631,9 +635,8 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * Both paths should be freed with gtk_tree_path_free() after use. * * Params: - * startPath = Return location for start of region, - * or %NULL - * endPath = Return location for end of region, or %NULL + * startPath = Return location for start of region + * endPath = Return location for end of region * * Returns: %TRUE, if valid paths were placed in @start_path and @end_path */ @@ -654,7 +657,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * Activates the item determined by @path. * * Params: - * path = The #GtkTreePath to be activated + * path = The `GtkTreePath` to be activated */ public void itemActivated(TreePath path) { @@ -666,7 +669,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * selected. If @path does not point to a valid location, %FALSE is returned. * * Params: - * path = A #GtkTreePath to check selection on. + * path = A `GtkTreePath` to check selection on. * * Returns: %TRUE if @path is selected. */ @@ -704,7 +707,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF /** * Selects all the icons. @icon_view must has its selection mode set - * to #GTK_SELECTION_MULTIPLE. + * to %GTK_SELECTION_MULTIPLE. */ public void selectAll() { @@ -715,7 +718,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * Selects the row at @path. * * Params: - * path = The #GtkTreePath to be selected. + * path = The `GtkTreePath` to be selected. */ public void selectPath(TreePath path) { @@ -736,7 +739,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF } /** - * Causes the #GtkIconView::item-activated signal to be emitted on + * Causes the `GtkIconView`::item-activated signal to be emitted on * a single click instead of a double click. * * Params: @@ -785,8 +788,8 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * Please note that editing can only happen when the widget is realized. * * Params: - * path = A #GtkTreePath - * cell = One of the cell renderers of @icon_view, or %NULL + * path = A `GtkTreePath` + * cell = One of the cell renderers of @icon_view * startEditing = %TRUE if the specified cell should start being edited. */ public void setCursor(TreePath path, CellRenderer cell, bool startEditing) @@ -798,7 +801,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * Sets the item that is highlighted for feedback. * * Params: - * path = The path of the item to highlight, or %NULL. + * path = The path of the item to highlight * pos = Specifies where to drop, relative to the item */ public void setDragDestItem(TreePath path, GtkIconViewDropPosition pos) @@ -819,7 +822,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF } /** - * Sets the #GtkIconView:item-padding property which specifies the padding + * Sets the `GtkIconView`:item-padding property which specifies the padding * around each of the icon view’s items. * * Params: @@ -858,7 +861,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF /** * Sets the column with markup information for @icon_view to be - * @column. The markup column must be of type #G_TYPE_STRING. + * @column. The markup column must be of type `G_TYPE_STRING`. * If the markup column is set to something, it overrides * the text column set by gtk_icon_view_set_text_column(). * @@ -871,7 +874,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF } /** - * Sets the model for a #GtkIconView. + * Sets the model for a `GtkIconView`. * If the @icon_view already has a model set, it will remove * it before setting the new model. If @model is %NULL, then * it will unset the old model. @@ -886,7 +889,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF /** * Sets the column with pixbufs for @icon_view to be @column. The pixbuf - * column must be of type #GDK_TYPE_PIXBUF + * column must be of type `GDK_TYPE_PIXBUF` * * Params: * column = A column in the currently used model, or -1 to disable @@ -898,8 +901,8 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF /** * This function is a convenience function to allow you to reorder models that - * support the #GtkTreeDragSourceIface and the #GtkTreeDragDestIface. Both - * #GtkTreeStore and #GtkListStore support these. If @reorderable is %TRUE, then + * support the `GtkTreeDragSourceIface` and the `GtkTreeDragDestIface`. Both + * `GtkTreeStore` and `GtkListStore` support these. If @reorderable is %TRUE, then * the user can reorder the model by dragging and dropping rows. The * developer can listen to these changes by connecting to the model's * row_inserted and row_deleted signals. The reordering is implemented by setting up @@ -956,7 +959,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF /** * Sets the column with text for @icon_view to be @column. The text - * column must be of type #G_TYPE_STRING. + * column must be of type `G_TYPE_STRING`. * * Params: * column = A column in the currently used model, or -1 to display no text @@ -973,9 +976,9 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * See also gtk_icon_view_set_tooltip_column() for a simpler alternative. * * Params: - * tooltip = a #GtkTooltip - * path = a #GtkTreePath - * cell = a #GtkCellRenderer or %NULL + * tooltip = a `GtkTooltip` + * path = a `GtkTreePath` + * cell = a `GtkCellRenderer` */ public void setTooltipCell(Tooltip tooltip, TreePath path, CellRenderer cell) { @@ -984,12 +987,12 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF /** * If you only plan to have simple (text-only) tooltips on full items, you - * can use this function to have #GtkIconView handle these automatically + * can use this function to have `GtkIconView` handle these automatically * for you. @column should be set to the column in @icon_view’s model * containing the tooltip texts, or -1 to disable this feature. * - * When enabled, #GtkWidget:has-tooltip will be set to %TRUE and - * @icon_view will connect a #GtkWidget::query-tooltip signal handler. + * When enabled, `GtkWidget:has-tooltip` will be set to %TRUE and + * @icon_view will connect a `GtkWidget::query-tooltip` signal handler. * * Note that the signal handler sets the text with gtk_tooltip_set_markup(), * so &, <, etc have to be escaped in the text. @@ -1008,8 +1011,8 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * See also gtk_tooltip_set_tip_area(). * * Params: - * tooltip = a #GtkTooltip - * path = a #GtkTreePath + * tooltip = a `GtkTooltip` + * path = a `GtkTreePath` */ public void setTooltipItem(Tooltip tooltip, TreePath path) { @@ -1028,7 +1031,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * Unselects the row at @path. * * Params: - * path = The #GtkTreePath to be unselected. + * path = The `GtkTreePath` to be unselected. */ public void unselectPath(TreePath path) { @@ -1037,7 +1040,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF /** * Undoes the effect of gtk_icon_view_enable_model_drag_dest(). Calling this - * method sets #GtkIconView:reorderable to %FALSE. + * method sets `GtkIconView`:reorderable to %FALSE. */ public void unsetModelDragDest() { @@ -1046,7 +1049,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF /** * Undoes the effect of gtk_icon_view_enable_model_drag_source(). Calling this - * method sets #GtkIconView:reorderable to %FALSE. + * method sets `GtkIconView`:reorderable to %FALSE. */ public void unsetModelDragSource() { @@ -1054,7 +1057,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF } /** - * A [keybinding signal][GtkSignalAction] + * A [keybinding signal][class@Gtk.SignalAction] * which gets emitted when the user activates the currently * focused item. * @@ -1079,7 +1082,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * Space, Return or Enter is pressed. * * Params: - * path = the #GtkTreePath for the activated item + * path = the `GtkTreePath` for the activated item */ gulong addOnItemActivated(void delegate(TreePath, IconView) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -1088,7 +1091,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF /** * The ::move-cursor signal is a - * [keybinding signal][GtkSignalAction] + * [keybinding signal][class@Gtk.SignalAction] * which gets emitted when the user initiates a cursor movement. * * Applications should not connect to it, but may emit it with @@ -1103,7 +1106,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF * the Shift modifier. * * Params: - * step = the granularity of the move, as a #GtkMovementStep + * step = the granularity of the move, as a `GtkMovementStep` * count = the number of @step units to move * extend = whether to extend the selection * modify = whether to modify the selection @@ -1114,7 +1117,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF } /** - * A [keybinding signal][GtkSignalAction] + * A [keybinding signal][class@Gtk.SignalAction] * which gets emitted when the user selects all items. * * Applications should not connect to it, but may emit it with @@ -1129,7 +1132,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF } /** - * A [keybinding signal][GtkSignalAction] + * A [keybinding signal][class@Gtk.SignalAction] * which gets emitted when the user selects the item that is currently * focused. * @@ -1154,7 +1157,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF } /** - * A [keybinding signal][GtkSignalAction] + * A [keybinding signal][class@Gtk.SignalAction] * which gets emitted when the user toggles whether the currently * focused item is selected or not. The exact effect of this * depend on the selection mode. @@ -1171,7 +1174,7 @@ public class IconView : Widget, CellLayoutIF, ScrollableIF } /** - * A [keybinding signal][GtkSignalAction] + * A [keybinding signal][class@Gtk.SignalAction] * which gets emitted when the user unselects all items. * * Applications should not connect to it, but may emit it with diff --git a/generated/gtkd/gtk/Image.d b/source/generated/gtk/gtk/Image.d similarity index 96% rename from generated/gtkd/gtk/Image.d rename to source/generated/gtk/gtk/Image.d index 56641cb17..3563f6a51 100644 --- a/generated/gtkd/gtk/Image.d +++ b/source/generated/gtk/gtk/Image.d @@ -202,7 +202,7 @@ public class Image : Widget * its size and contents in response to it. * * Params: - * paintable = a `GdkPaintable`, or %NULL + * paintable = a `GdkPaintable` * * Returns: a new `GtkImage` * @@ -235,7 +235,7 @@ public class Image : Widget * want that, you should use [ctor@Gtk.Image.new_from_icon_name]. * * Params: - * pixbuf = a `GdkPixbuf`, or %NULL + * pixbuf = a `GdkPixbuf` * * Returns: a new `GtkImage` * @@ -269,7 +269,7 @@ public class Image : Widget * The caller of this function does not own a reference to the * returned `GIcon`. * - * Returns: a `GIcon`, or %NULL + * Returns: a `GIcon` */ public IconIF getGicon() { @@ -291,7 +291,7 @@ public class Image : Widget * The returned string is owned by the `GtkImage` and should not * be freed. * - * Returns: the icon name, or %NULL + * Returns: the icon name */ public string getIconName() { @@ -316,8 +316,7 @@ public class Image : Widget * The caller of this function does not own a reference to the * returned paintable. * - * Returns: the displayed paintable, - * or %NULL if the image is empty + * Returns: the displayed paintable */ public PaintableIF getPaintable() { @@ -361,7 +360,7 @@ public class Image : Widget * See [ctor@Gtk.Image.new_from_file] for details. * * Params: - * filename = a filename or %NULL + * filename = a filename */ public void setFromFile(string filename) { @@ -387,7 +386,7 @@ public class Image : Widget * See [ctor@Gtk.Image.new_from_icon_name] for details. * * Params: - * iconName = an icon name or %NULL + * iconName = an icon name */ public void setFromIconName(string iconName) { @@ -400,7 +399,7 @@ public class Image : Widget * See [ctor@Gtk.Image.new_from_paintable] for details. * * Params: - * paintable = a `GdkPaintable` or %NULL + * paintable = a `GdkPaintable` */ public void setFromPaintable(PaintableIF paintable) { @@ -430,7 +429,7 @@ public class Image : Widget * See [ctor@Gtk.Image.new_from_resource] for details. * * Params: - * resourcePath = a resource path or %NULL + * resourcePath = a resource path */ public void setFromResource(string resourcePath) { diff --git a/generated/gtkd/gtkd/Implement.d b/source/generated/gtk/gtk/Implement.d similarity index 100% rename from generated/gtkd/gtkd/Implement.d rename to source/generated/gtk/gtk/Implement.d diff --git a/generated/gtkd/gtk/InfoBar.d b/source/generated/gtk/gtk/InfoBar.d similarity index 95% rename from generated/gtkd/gtk/InfoBar.d rename to source/generated/gtk/gtk/InfoBar.d index e91c44cce..ba85eab41 100644 --- a/generated/gtkd/gtk/InfoBar.d +++ b/source/generated/gtk/gtk/InfoBar.d @@ -92,15 +92,16 @@ private import std.algorithm; * * # GtkInfoBar as GtkBuildable * - * The `GtkInfoBar` implementation of the `GtkBuildable` interface exposes - * the content area and action area as internal children with the names - * “content_area” and “action_area”. - * - * `GtkInfoBar` supports a custom element, which can contain - * multiple elements. The “response” attribute specifies a + * `GtkInfoBar` supports a custom `` element, which can contain + * multiple `` elements. The “response” attribute specifies a * numeric response, and the content of the element is the id of widget * (which should be a child of the dialogs @action_area). * + * `GtkInfoBar` supports adding action widgets by specifying “action” as + * the “type” attribute of a `` element. The widget will be added + * either to the action area. The response id has to be associated + * with the action widget using the `` element. + * * # CSS nodes * * `GtkInfoBar` has a single CSS node with name infobar. The node may get @@ -307,7 +308,7 @@ public class InfoBar : Widget * GTK uses this type to determine how the message is displayed. * * Params: - * messageType = a #GtkMessageType + * messageType = a `GtkMessageType` */ public void setMessageType(GtkMessageType messageType) { diff --git a/generated/gtkd/gtk/KeyvalTrigger.d b/source/generated/gtk/gtk/KeyvalTrigger.d similarity index 100% rename from generated/gtkd/gtk/KeyvalTrigger.d rename to source/generated/gtk/gtk/KeyvalTrigger.d diff --git a/generated/gtkd/gtk/Label.d b/source/generated/gtk/gtk/Label.d similarity index 95% rename from generated/gtkd/gtk/Label.d rename to source/generated/gtk/gtk/Label.d index 2b5542410..f57175008 100644 --- a/generated/gtkd/gtk/Label.d +++ b/source/generated/gtk/gtk/Label.d @@ -93,7 +93,7 @@ private import std.algorithm; * * # Accessibility * - * `GtkLabel` uses the #GTK_ACCESSIBLE_ROLE_LABEL role. + * `GtkLabel` uses the %GTK_ACCESSIBLE_ROLE_LABEL role. * * # Mnemonics * @@ -300,8 +300,7 @@ public class Label : Widget * attributes for the label, use * `pango_layout_get_attribute (gtk_label_get_layout (self))`. * - * Returns: the attribute list, or %NULL - * if none was set. + * Returns: the attribute list */ public PgAttributeList getAttributes() { @@ -325,8 +324,7 @@ public class Label : Widget * This function is intended for use in a [signal@Gtk.Label::activate-link] * handler or for use in a [signal@Gtk.Widget::query-tooltip] handler. * - * Returns: the currently active URI or %NULL if there is none. - * The string is owned by GTK and must not be freed or modified. + * Returns: the currently active URI */ public string getCurrentUri() { @@ -420,11 +418,11 @@ public class Label : Widget * inside the [class@Pango.Layout], e.g. to take some action if some part * of the label is clicked. Remember when using the [class@Pango.Layout] * functions you need to convert to and from pixels using PANGO_PIXELS() - * or [constant@Pango.SCALE]. + * or [const@Pango.SCALE]. * * Params: - * x = location to store X offset of layout, or %NULL - * y = location to store Y offset of layout, or %NULL + * x = location to store X offset of layout + * y = location to store Y offset of layout */ public void getLayoutOffsets(out int x, out int y) { @@ -491,6 +489,20 @@ public class Label : Widget return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); } + /** + * Returns line wrap mode used by the label. + * + * See [method@Gtk.Label.set_natural_wrap_mode]. + * + * Returns: the natural line wrap mode + * + * Since: 4.6 + */ + public GtkNaturalWrapMode getNaturalWrapMode() + { + return gtk_label_get_natural_wrap_mode(gtkLabel); + } + /** * Returns whether the label is selectable. * @@ -594,7 +606,7 @@ public class Label : Widget * * See [method@Gtk.Label.set_wrap_mode]. * - * Returns: %TRUE if the lines of the label are automatically wrapped. + * Returns: the line wrap mode */ public PangoWrapMode getWrapMode() { @@ -652,7 +664,7 @@ public class Label : Widget * be applied to the label after the markup string is parsed. * * Params: - * attrs = a [struct@Pango.AttrList], or %NULL + * attrs = a [struct@Pango.AttrList] */ public void setAttributes(PgAttributeList attrs) { @@ -779,7 +791,7 @@ public class Label : Widget * indicating that they represent a keyboard accelerator called a mnemonic. * * The mnemonic key can be used to activate another widget, chosen - * automatically, or explicitly using method@Gtk.Label.set_mnemonic_widget]. + * automatically, or explicitly using [method@Gtk.Label.set_mnemonic_widget]. * * Params: * str = a markup string @@ -820,13 +832,29 @@ public class Label : Widget * and toggle focus between the colliding widgets otherwise. * * Params: - * widget = the target #GtkWidget, or %NULL to unset + * widget = the target `GtkWidget`, or %NULL to unset */ public void setMnemonicWidget(Widget widget) { gtk_label_set_mnemonic_widget(gtkLabel, (widget is null) ? null : widget.getWidgetStruct()); } + /** + * Select the line wrapping for the natural size request. + * + * This only affects the natural size requested, for the actual wrapping used, + * see the [property@Gtk.Label:wrap-mode] property. + * + * Params: + * wrapMode = the line wrapping mode + * + * Since: 4.6 + */ + public void setNaturalWrapMode(GtkNaturalWrapMode wrapMode) + { + gtk_label_set_natural_wrap_mode(gtkLabel, wrapMode); + } + /** * Makes text in the label selectable. * @@ -953,6 +981,9 @@ public class Label : Widget * [method@Gtk.Label.set_wrap]) The default is %PANGO_WRAP_WORD * which means wrap on word boundaries. * + * For sizing behavior, also consider the [property@Gtk.Label:natural-wrap-mode] + * property. + * * Params: * wrapMode = the line wrapping mode */ @@ -1050,7 +1081,7 @@ public class Label : Widget * - Home/End keys move to the ends of the buffer * * Params: - * step = the granularity of the move, as a #GtkMovementStep + * step = the granularity of the move, as a `GtkMovementStep` * count = the number of @step units to move * extendSelection = %TRUE if the move should extend the selection */ diff --git a/generated/gtkd/gtk/LayoutChild.d b/source/generated/gtk/gtk/LayoutChild.d similarity index 99% rename from generated/gtkd/gtk/LayoutChild.d rename to source/generated/gtk/gtk/LayoutChild.d index 47e880e45..af98526d4 100644 --- a/generated/gtkd/gtk/LayoutChild.d +++ b/source/generated/gtk/gtk/LayoutChild.d @@ -80,7 +80,7 @@ public class LayoutChild : ObjectG /** * Retrieves the `GtkWidget` associated to the given @layout_child. * - * Returns: a #GtkWidget + * Returns: a `GtkWidget` */ public Widget getChildWidget() { diff --git a/generated/gtkd/gtk/LayoutManager.d b/source/generated/gtk/gtk/LayoutManager.d similarity index 100% rename from generated/gtkd/gtk/LayoutManager.d rename to source/generated/gtk/gtk/LayoutManager.d diff --git a/generated/gtkd/gtk/LevelBar.d b/source/generated/gtk/gtk/LevelBar.d similarity index 98% rename from generated/gtkd/gtk/LevelBar.d rename to source/generated/gtk/gtk/LevelBar.d index 0cabcff72..a4937723d 100644 --- a/generated/gtkd/gtk/LevelBar.d +++ b/source/generated/gtk/gtk/LevelBar.d @@ -94,7 +94,7 @@ private import std.algorithm; * [method@Gtk.LevelBar.set_max_value]. The value will be always drawn in * proportion to the admissible interval, i.e. a value of 15 with a specified * interval between 10 and 20 is equivalent to a value of 0.5 with an interval - * between 0 and 1. When #GTK_LEVEL_BAR_MODE_DISCRETE is used, the bar level + * between 0 and 1. When %GTK_LEVEL_BAR_MODE_DISCRETE is used, the bar level * is rendered as a finite number of separated blocks instead of a single one. * The number of blocks that will be rendered is equal to the number of units * specified by the admissible interval. @@ -133,7 +133,7 @@ private import std.algorithm; * * # Accessibility * - * `GtkLevelBar` uses the #GTK_ACCESSIBLE_ROLE_METER role. + * `GtkLevelBar` uses the %GTK_ACCESSIBLE_ROLE_METER role. */ public class LevelBar : Widget, OrientableIF { @@ -293,7 +293,7 @@ public class LevelBar : Widget, OrientableIF * Returns the `value` of the `GtkLevelBar`. * * Returns: a value in the interval between - * `GtkLevelBar`:min-value and `GtkLevelBar`:max-value + * [property@Gtk.LevelBar:min-value[ and [property@Gtk.LevelBar:max-value] */ public double getValue() { diff --git a/generated/gtkd/gtk/LinkButton.d b/source/generated/gtk/gtk/LinkButton.d similarity index 98% rename from generated/gtkd/gtk/LinkButton.d rename to source/generated/gtk/gtk/LinkButton.d index daac4c6e4..22dcc0f38 100644 --- a/generated/gtkd/gtk/LinkButton.d +++ b/source/generated/gtk/gtk/LinkButton.d @@ -62,7 +62,7 @@ private import std.algorithm; * * # Accessibility * - * `GtkLinkButton` uses the #GTK_ACCESSIBLE_ROLE_LINK role. + * `GtkLinkButton` uses the %GTK_ACCESSIBLE_ROLE_LINK role. */ public class LinkButton : Button { diff --git a/generated/gtkd/gtk/ListBase.d b/source/generated/gtk/gtk/ListBase.d similarity index 100% rename from generated/gtkd/gtk/ListBase.d rename to source/generated/gtk/gtk/ListBase.d diff --git a/generated/gtkd/gtk/ListBox.d b/source/generated/gtk/gtk/ListBox.d similarity index 98% rename from generated/gtkd/gtk/ListBox.d rename to source/generated/gtk/gtk/ListBox.d index d3959bf7f..4834269af 100644 --- a/generated/gtkd/gtk/ListBox.d +++ b/source/generated/gtk/gtk/ListBox.d @@ -251,7 +251,7 @@ public class ListBox : Widget * Params: * index = the index of the row * - * Returns: the child `GtkWidget` or %NULL + * Returns: the child `GtkWidget` */ public ListBoxRow getRowAtIndex(int index) { @@ -271,8 +271,7 @@ public class ListBox : Widget * Params: * y = position * - * Returns: the row or %NULL - * in case no row exists for the given y coordinate. + * Returns: the row */ public ListBoxRow getRowAtY(int y) { @@ -293,7 +292,7 @@ public class ListBox : Widget * case you should use [method@Gtk.ListBox.selected_foreach] to * find all selected rows. * - * Returns: the selected row or %NULL + * Returns: the selected row */ public ListBoxRow getSelectedRow() { @@ -439,7 +438,7 @@ public class ListBox : Widget * Make @row the currently selected row. * * Params: - * row = The row to select or %NULL + * row = The row to select */ public void selectRow(ListBoxRow row) { @@ -485,7 +484,7 @@ public class ListBox : Widget * to manually do that. * * Params: - * adjustment = the adjustment, or %NULL + * adjustment = the adjustment */ public void setAdjustment(Adjustment adjustment) { @@ -559,7 +558,7 @@ public class ListBox : Widget * it doesn't display any visible children. * * Params: - * placeholder = a #GtkWidget or %NULL + * placeholder = a `GtkWidget` */ public void setPlaceholder(Widget placeholder) { diff --git a/generated/gtkd/gtk/ListBoxRow.d b/source/generated/gtk/gtk/ListBoxRow.d similarity index 98% rename from generated/gtkd/gtk/ListBoxRow.d rename to source/generated/gtk/gtk/ListBoxRow.d index 808fcea7e..78429012c 100644 --- a/generated/gtkd/gtk/ListBoxRow.d +++ b/source/generated/gtk/gtk/ListBoxRow.d @@ -155,7 +155,7 @@ public class ListBoxRow : Widget, ActionableIF * there is a header set already, and if so to update * the state of it. * - * Returns: the current header, or %NULL if none + * Returns: the current header */ public Widget getHeader() { @@ -231,7 +231,7 @@ public class ListBoxRow : Widget, ActionableIF * and be shown in front of the row in the listbox. * * Params: - * header = the header, or %NULL + * header = the header */ public void setHeader(Widget header) { diff --git a/generated/gtkd/gtk/ListItem.d b/source/generated/gtk/gtk/ListItem.d similarity index 100% rename from generated/gtkd/gtk/ListItem.d rename to source/generated/gtk/gtk/ListItem.d diff --git a/generated/gtkd/gtk/ListItemFactory.d b/source/generated/gtk/gtk/ListItemFactory.d similarity index 100% rename from generated/gtkd/gtk/ListItemFactory.d rename to source/generated/gtk/gtk/ListItemFactory.d diff --git a/generated/gtkd/gtk/ListStore.d b/source/generated/gtk/gtk/ListStore.d similarity index 80% rename from generated/gtkd/gtk/ListStore.d rename to source/generated/gtk/gtk/ListStore.d index 8c34f3339..83d57133f 100644 --- a/generated/gtkd/gtk/ListStore.d +++ b/source/generated/gtk/gtk/ListStore.d @@ -44,28 +44,29 @@ public import gtk.c.types; /** - * A list-like data structure that can be used with the GtkTreeView + * A list-like data structure that can be used with the [class@Gtk.TreeView]. * - * The #GtkListStore object is a list model for use with a #GtkTreeView - * widget. It implements the #GtkTreeModel interface, and consequentialy, + * The `GtkListStore` object is a list model for use with a `GtkTreeView` + * widget. It implements the `GtkTreeModel` interface, and consequentialy, * can use all of the methods available there. It also implements the - * #GtkTreeSortable interface so it can be sorted by the view. + * `GtkTreeSortable` interface so it can be sorted by the view. * Finally, it also implements the tree - * [drag and drop][gtk4-GtkTreeView-drag-and-drop] + * [drag](iface.TreeDragSource.html) and [drop](iface.TreeDragDest.html) * interfaces. * - * The #GtkListStore can accept most GObject types as a column type, though + * The `GtkListStore` can accept most `GType`s as a column type, though * it can’t accept all custom types. Internally, it will keep a copy of * data passed in (such as a string or a boxed pointer). Columns that - * accept #GObjects are handled a little differently. The - * #GtkListStore will keep a reference to the object instead of copying the + * accept `GObject`s are handled a little differently. The + * `GtkListStore` will keep a reference to the object instead of copying the * value. As a result, if the object is modified, it is up to the - * application writer to call gtk_tree_model_row_changed() to emit the - * #GtkTreeModel::row_changed signal. This most commonly affects lists with - * #GdkTextures stored. + * application writer to call [method@Gtk.TreeModel.row_changed] to emit the + * [signal@Gtk.TreeModel::row_changed] signal. This most commonly affects lists + * with [class@Gdk.Texture]s stored. * * An example for creating a simple list store: - * |[ + * + * ```c * enum { * COLUMN_STRING, * COLUMN_INT, @@ -113,14 +114,14 @@ public import gtk.c.types; * COLUMN_BOOLEAN, TRUE, * -1); * } - * ]| + * ``` * * # Performance Considerations * - * Internally, the #GtkListStore was originally implemented with a linked list + * Internally, the `GtkListStore` was originally implemented with a linked list * with a tail pointer. As a result, it was fast at data insertion and deletion, - * and not fast at random data access. The #GtkListStore sets the - * #GTK_TREE_MODEL_ITERS_PERSIST flag, which means that #GtkTreeIters can be + * and not fast at random data access. The `GtkListStore` sets the + * `GTK_TREE_MODEL_ITERS_PERSIST` flag, which means that `GtkTreeIter`s can be * cached while the row exists. Thus, if access to a particular row is needed * often and your code is expected to run on older versions of GTK, it is worth * keeping the iter around. @@ -130,29 +131,29 @@ public import gtk.c.types; * It is important to note that only the methods * gtk_list_store_insert_with_values() and gtk_list_store_insert_with_valuesv() * are atomic, in the sense that the row is being appended to the store and the - * values filled in in a single operation with regard to #GtkTreeModel signaling. + * values filled in in a single operation with regard to `GtkTreeModel` signaling. * In contrast, using e.g. gtk_list_store_append() and then gtk_list_store_set() - * will first create a row, which triggers the #GtkTreeModel::row-inserted signal - * on #GtkListStore. The row, however, is still empty, and any signal handler - * connecting to #GtkTreeModel::row-inserted on this particular store should be prepared + * will first create a row, which triggers the `GtkTreeModel::row-inserted` signal + * on `GtkListStore`. The row, however, is still empty, and any signal handler + * connecting to `GtkTreeModel::row-inserted` on this particular store should be prepared * for the situation that the row might be empty. This is especially important - * if you are wrapping the #GtkListStore inside a #GtkTreeModelFilter and are - * using a #GtkTreeModelFilterVisibleFunc. Using any of the non-atomic operations - * to append rows to the #GtkListStore will cause the - * #GtkTreeModelFilterVisibleFunc to be visited with an empty row first; the + * if you are wrapping the `GtkListStore` inside a `GtkTreeModel`Filter and are + * using a `GtkTreeModel`FilterVisibleFunc. Using any of the non-atomic operations + * to append rows to the `GtkListStore` will cause the + * `GtkTreeModel`FilterVisibleFunc to be visited with an empty row first; the * function must be prepared for that. * * # GtkListStore as GtkBuildable * - * The GtkListStore implementation of the GtkBuildable interface allows - * to specify the model columns with a element that may contain - * multiple elements, each specifying one model column. The “type” + * The GtkListStore implementation of the [iface@Gtk.Buildable] interface allows + * to specify the model columns with a `` element that may contain + * multiple `` elements, each specifying one model column. The “type” * attribute specifies the data type for the column. * * Additionally, it is possible to specify content for the list store - * in the UI definition, with the element. It can contain multiple - * elements, each specifying to content for one row of the list model. - * Inside a , the elements specify the content for individual cells. + * in the UI definition, with the `` element. It can contain multiple + * `` elements, each specifying to content for one row of the list model. + * Inside a ``, the `` elements specify the content for individual cells. * * Note that it is probably more common to define your models in the code, * and one might consider it a layering violation to specify the content of @@ -160,7 +161,8 @@ public import gtk.c.types; * is to separate the two, as far as possible. * * An example of a UI Definition fragment for a list store: - * |[ + * + * ```xml * * * @@ -180,7 +182,7 @@ public import gtk.c.types; * * * - * ]| + * ``` */ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, TreeModelIF, TreeSortableIF { @@ -256,9 +258,9 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * Non-vararg creation function. Used primarily by language bindings. * * Params: - * types = an array of #GType types for the columns, from first to last + * types = an array of `GType` types for the columns, from first to last * - * Returns: a new #GtkListStore + * Returns: a new `GtkListStore` * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -280,7 +282,7 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). * * Params: - * iter = An unset #GtkTreeIter to set to the appended row + * iter = An unset `GtkTreeIter` to set to the appended row */ public void append(out TreeIter iter) { @@ -307,7 +309,7 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * gtk_list_store_set() or gtk_list_store_set_value(). * * Params: - * iter = An unset #GtkTreeIter to set to the new row + * iter = An unset `GtkTreeIter` to set to the new row * position = position to insert the new row, or -1 for last */ public void insert(out TreeIter iter, int position) @@ -326,8 +328,8 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * in values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). * * Params: - * iter = An unset #GtkTreeIter to set to the new row - * sibling = A valid #GtkTreeIter, or %NULL + * iter = An unset `GtkTreeIter` to set to the new row + * sibling = A valid `GtkTreeIter` */ public void insertAfter(out TreeIter iter, TreeIter sibling) { @@ -345,8 +347,8 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). * * Params: - * iter = An unset #GtkTreeIter to set to the new row - * sibling = A valid #GtkTreeIter, or %NULL + * iter = An unset `GtkTreeIter` to set to the new row + * sibling = A valid `GtkTreeIter` */ public void insertBefore(out TreeIter iter, TreeIter sibling) { @@ -365,7 +367,7 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * This function is mainly intended for language-bindings. * * Params: - * iter = An unset #GtkTreeIter to set to the new row + * iter = An unset `GtkTreeIter` to set to the new row * position = position to insert the new row, or -1 for last * columns = an array of column numbers * values = an array of GValues @@ -386,13 +388,13 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, } /** - * > This function is slow. Only use it for debugging and/or testing - * > purposes. + * Checks if the given iter is a valid iter for this `GtkListStore`. * - * Checks if the given iter is a valid iter for this #GtkListStore. + * This function is slow. Only use it for debugging and/or testing + * purposes. * * Params: - * iter = A #GtkTreeIter. + * iter = the iterator to check * * Returns: %TRUE if the iter is valid, %FALSE if the iter is invalid. */ @@ -407,8 +409,8 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * will be moved to the start of the list. * * Params: - * iter = A #GtkTreeIter. - * position = A #GtkTreeIter or %NULL. + * iter = A `GtkTreeIter` + * position = A `GtkTreeIter` */ public void moveAfter(TreeIter iter, TreeIter position) { @@ -421,8 +423,8 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * will be moved to the end of the list. * * Params: - * iter = A #GtkTreeIter. - * position = A #GtkTreeIter, or %NULL. + * iter = A `GtkTreeIter` + * position = A `GtkTreeIter` */ public void moveBefore(TreeIter iter, TreeIter position) { @@ -435,7 +437,7 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). * * Params: - * iter = An unset #GtkTreeIter to set to the prepend row + * iter = An unset `GtkTreeIter` to set to the prepend row */ public void prepend(out TreeIter iter) { @@ -452,7 +454,7 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * to the last row in @list_store. * * Params: - * iter = A valid #GtkTreeIter + * iter = A valid `GtkTreeIter` * * Returns: %TRUE if @iter is valid, %FALSE if not. */ @@ -477,13 +479,13 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, } /** - * This function is meant primarily for #GObjects that inherit from #GtkListStore, - * and should only be used when constructing a new #GtkListStore. It will not - * function after a row has been added, or a method on the #GtkTreeModel + * This function is meant primarily for `GObject`s that inherit from `GtkListStore`, + * and should only be used when constructing a new `GtkListStore`. It will not + * function after a row has been added, or a method on the `GtkTreeModel` * interface is called. * * Params: - * types = An array length n of #GTypes + * types = An array length n of `GType`s */ public void setColumnTypes(GType[] types) { @@ -495,7 +497,7 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * bindings. * * Params: - * iter = A valid #GtkTreeIter for the row being modified + * iter = A valid `GtkTreeIter` for the row being modified * varArgs = va_list of column/value pairs */ public void setValist(TreeIter iter, void* varArgs) @@ -509,7 +511,7 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * column. * * Params: - * iter = A valid #GtkTreeIter for the row being modified + * iter = A valid `GtkTreeIter` for the row being modified * column = column number to modify * value = new value for the cell */ @@ -526,7 +528,7 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * change is not known until run-time. * * Params: - * iter = A valid #GtkTreeIter for the row being modified + * iter = A valid `GtkTreeIter` for the row being modified * columns = an array of column numbers * values = an array of GValues */ @@ -546,8 +548,8 @@ public class ListStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * unsorted stores. * * Params: - * a = A #GtkTreeIter. - * b = Another #GtkTreeIter. + * a = A `GtkTreeIter` + * b = Another `GtkTreeIter` */ public void swap(TreeIter a, TreeIter b) { diff --git a/generated/gtkd/gtk/ListView.d b/source/generated/gtk/gtk/ListView.d similarity index 93% rename from generated/gtkd/gtk/ListView.d rename to source/generated/gtk/gtk/ListView.d index a626cb94a..9f20607dc 100644 --- a/generated/gtkd/gtk/ListView.d +++ b/source/generated/gtk/gtk/ListView.d @@ -111,18 +111,20 @@ private import std.algorithm; * * ``` * listview[.separators][.rich-list][.navigation-sidebar][.data-table] - * ├── row + * ├── row[.activatable] * │ - * ├── row + * ├── row[.activatable] * │ * ┊ * ╰── [rubberband] * ``` * - * `GtkListView` uses a single CSS node named listview. It may carry the - * .separators style class, when `GtkListView`:show-separators property - * is set. Each child widget uses a single CSS node named row. For - * rubberband selection, a node with name rubberband is used. + * `GtkListView` uses a single CSS node named `listview`. It may carry the + * `.separators` style class, when [property@Gtk.ListView:show-separators] + * property is set. Each child widget uses a single CSS node named `row`. + * If the [property@Gtk.ListItem:activatable] property is set, the + * corresponding row will have the `.activatable` style class. For + * rubberband selection, a node with name `rubberband` is used. * * The main listview node may also carry style classes to select * the style of [list presentation](ListContainers.html#list-styles): @@ -180,8 +182,8 @@ public class ListView : ListBase * ``` * * Params: - * model = the model to use, or %NULL - * factory = The factory to populate items with, or %NULL + * model = the model to use + * factory = The factory to populate items with * * Returns: a new `GtkListView` using the given @model and @factory * @@ -280,7 +282,7 @@ public class ListView : ListBase * Sets the `GtkListItemFactory` to use for populating list items. * * Params: - * factory = the factory to use or %NULL for none + * factory = the factory to use */ public void setFactory(ListItemFactory factory) { @@ -293,7 +295,7 @@ public class ListView : ListBase * This must be a [iface@Gtk.SelectionModel] to use. * * Params: - * model = the model to use or %NULL for none + * model = the model to use */ public void setModel(SelectionModelIF model) { diff --git a/generated/gtkd/gtk/LockButton.d b/source/generated/gtk/gtk/LockButton.d similarity index 98% rename from generated/gtkd/gtk/LockButton.d rename to source/generated/gtk/gtk/LockButton.d index 2e1625ba8..18e8b0fc5 100644 --- a/generated/gtkd/gtk/LockButton.d +++ b/source/generated/gtk/gtk/LockButton.d @@ -150,7 +150,7 @@ public class LockButton : Button * Sets the `GPermission` object that controls @button. * * Params: - * permission = a `GPermission` object, or %NULL + * permission = a `GPermission` object */ public void setPermission(Permission permission) { diff --git a/generated/gtkd/gtk/MapListModel.d b/source/generated/gtk/gtk/MapListModel.d similarity index 95% rename from generated/gtkd/gtk/MapListModel.d rename to source/generated/gtk/gtk/MapListModel.d index df266c6aa..a80e19346 100644 --- a/generated/gtkd/gtk/MapListModel.d +++ b/source/generated/gtk/gtk/MapListModel.d @@ -50,8 +50,7 @@ public import gtk.c.types; * * widgets = gtk_widget_observe_children (widget); * - * controllers = gtk_map_list_model_new (G_TYPE_LIST_MODEL, - * widgets, + * controllers = gtk_map_list_model_new (widgets, * map_to_controllers, * NULL, NULL); * @@ -104,8 +103,8 @@ public class MapListModel : ObjectG, ListModelIF * Creates a new `GtkMapListModel` for the given arguments. * * Params: - * model = The model to map or %NULL for none - * mapFunc = map function or %NULL to not map items + * model = The model to map + * mapFunc = map function * userData = user data passed to @map_func * userDestroy = destroy notifier for @user_data * @@ -166,7 +165,7 @@ public class MapListModel : ObjectG, ListModelIF * function returns items of the appropriate type. * * Params: - * mapFunc = map function or %NULL to not map items + * mapFunc = map function * userData = user data passed to @map_func * userDestroy = destroy notifier for @user_data */ diff --git a/generated/gtkd/gtk/MediaControls.d b/source/generated/gtk/gtk/MediaControls.d similarity index 96% rename from generated/gtkd/gtk/MediaControls.d rename to source/generated/gtk/gtk/MediaControls.d index adafff858..006cec140 100644 --- a/generated/gtkd/gtk/MediaControls.d +++ b/source/generated/gtk/gtk/MediaControls.d @@ -78,8 +78,7 @@ public class MediaControls : Widget * Creates a new `GtkMediaControls` managing the @stream passed to it. * * Params: - * stream = a #GtkMediaStream to - * manage or %NULL for none. + * stream = a `GtkMediaStream` to manage * * Returns: a new `GtkMediaControls` * @@ -118,7 +117,7 @@ public class MediaControls : Widget * Sets the stream that is controlled by @controls. * * Params: - * stream = a `GtkMediaStream`, or %NULL + * stream = a `GtkMediaStream` */ public void setMediaStream(MediaStream stream) { diff --git a/generated/gtkd/gtk/MediaFile.d b/source/generated/gtk/gtk/MediaFile.d similarity index 98% rename from generated/gtkd/gtk/MediaFile.d rename to source/generated/gtk/gtk/MediaFile.d index 4baf1886e..999d83476 100644 --- a/generated/gtkd/gtk/MediaFile.d +++ b/source/generated/gtk/gtk/MediaFile.d @@ -185,7 +185,6 @@ public class MediaFile : MediaStream * %NULL is returned. * * Returns: The currently playing file - * or %NULL if not playing from a file. */ public FileIF getFile() { @@ -205,8 +204,7 @@ public class MediaFile : MediaStream * When @self is not playing or not playing from a stream, * %NULL is returned. * - * Returns: The currently playing - * stream or %NULL if not playing from a stream. + * Returns: The currently playing stream */ public InputStream getInputStream() { diff --git a/generated/gtkd/gtk/MediaStream.d b/source/generated/gtk/gtk/MediaStream.d similarity index 90% rename from generated/gtkd/gtk/MediaStream.d rename to source/generated/gtk/gtk/MediaStream.d index c2d27fcb3..5e5456079 100644 --- a/generated/gtkd/gtk/MediaStream.d +++ b/source/generated/gtk/gtk/MediaStream.d @@ -94,10 +94,12 @@ public class MediaStream : ObjectG, PaintableIF /** * Pauses the media stream and marks it as ended. * - * This is a hint only, calls to GtkMediaStream.play() + * This is a hint only, calls to [method@Gtk.MediaStream.play] * may still happen. * * The media stream must be prepared when this function is called. + * + * Deprecated: Use [method@Gtk.MediaStream.stream_ended] instead */ public void ended() { @@ -333,16 +335,9 @@ public class MediaStream : ObjectG, PaintableIF } /** - * Called by `GtkMediaStream` implementations to advertise the stream - * being ready to play and providing details about the stream. - * - * Note that the arguments are hints. If the stream implementation - * cannot determine the correct values, it is better to err on the - * side of caution and return %TRUE. User interfaces will use those - * values to determine what controls to show. + * Same as gtk_media_stream_stream_prepared(). * - * This function may not be called again until the stream has been - * reset via [method@Gtk.MediaStream.unprepared]. + * Deprecated: Use [method@Gtk.MediaStream.stream_prepared] instead. * * Params: * hasAudio = %TRUE if the stream should advertise audio support @@ -498,12 +493,64 @@ public class MediaStream : ObjectG, PaintableIF gtk_media_stream_set_volume(gtkMediaStream, volume); } + /** + * Pauses the media stream and marks it as ended. + * + * This is a hint only, calls to [method@Gtk.MediaStream.play] + * may still happen. + * + * The media stream must be prepared when this function is called. + * + * Since: 4.4 + */ + public void streamEnded() + { + gtk_media_stream_stream_ended(gtkMediaStream); + } + + /** + * Called by `GtkMediaStream` implementations to advertise the stream + * being ready to play and providing details about the stream. + * + * Note that the arguments are hints. If the stream implementation + * cannot determine the correct values, it is better to err on the + * side of caution and return %TRUE. User interfaces will use those + * values to determine what controls to show. + * + * This function may not be called again until the stream has been + * reset via [method@Gtk.MediaStream.stream_unprepared]. + * + * Params: + * hasAudio = %TRUE if the stream should advertise audio support + * hasVideo = %TRUE if the stream should advertise video support + * seekable = %TRUE if the stream should advertise seekability + * duration = The duration of the stream or 0 if unknown + * + * Since: 4.4 + */ + public void streamPrepared(bool hasAudio, bool hasVideo, bool seekable, long duration) + { + gtk_media_stream_stream_prepared(gtkMediaStream, hasAudio, hasVideo, seekable, duration); + } + /** * Resets a given media stream implementation. * - * [method@Gtk.MediaStream.prepared] can then be called again. + * [method@Gtk.MediaStream.stream_prepared] can then be called again. * * This function will also reset any error state the stream was in. + * + * Since: 4.4 + */ + public void streamUnprepared() + { + gtk_media_stream_stream_unprepared(gtkMediaStream); + } + + /** + * Same as gtk_media_stream_stream_unprepared(). + * + * Deprecated: Use [method@Gtk.MediaStream.stream_unprepared] instead. */ public void unprepared() { diff --git a/generated/gtkd/gtk/MenuButton.d b/source/generated/gtk/gtk/MenuButton.d similarity index 76% rename from generated/gtkd/gtk/MenuButton.d rename to source/generated/gtk/gtk/MenuButton.d index 4bd11eef8..7a57d5884 100644 --- a/generated/gtkd/gtk/MenuButton.d +++ b/source/generated/gtk/gtk/MenuButton.d @@ -29,10 +29,12 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; +private import gobject.Signals; private import gtk.Popover; private import gtk.Widget; private import gtk.c.functions; public import gtk.c.types; +private import std.algorithm; /** @@ -81,6 +83,11 @@ public import gtk.c.types; * `GtkMenuButton` has a single CSS node with name `menubutton` * which contains a `button` node with a `.toggle` style class. * + * If the button contains an icon, it will have the `.image-button` style class, + * if it contains text, it will have `.text-button` style class. If an arrow is + * visible in addition to an icon, text or a custom child, it will also have + * `.arrow-button` style class. + * * Inside the toggle button content, there is an `arrow` node for * the indicator, which will carry one of the `.none`, `.up`, `.down`, * `.left` or `.right` style classes to indicate the direction that @@ -92,7 +99,7 @@ public import gtk.c.types; * * # Accessibility * - * `GtkMenuButton` uses the #GTK_ACCESSIBLE_ROLE_BUTTON role. + * `GtkMenuButton` uses the %GTK_ACCESSIBLE_ROLE_BUTTON role. */ public class MenuButton : Widget { @@ -152,6 +159,37 @@ public class MenuButton : Widget this(cast(GtkMenuButton*) __p); } + /** + * Gets whether to show a dropdown arrow even when using an icon. + * + * Returns: whether to show a dropdown arrow even when using an icon + * + * Since: 4.4 + */ + public bool getAlwaysShowArrow() + { + return gtk_menu_button_get_always_show_arrow(gtkMenuButton) != 0; + } + + /** + * Gets the child widget of @menu_button. + * + * Returns: the child widget of @menu_button + * + * Since: 4.6 + */ + public Widget getChild() + { + auto __p = gtk_menu_button_get_child(gtkMenuButton); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + /** * Returns the direction the popup will be pointing at when popped up. * @@ -195,7 +233,7 @@ public class MenuButton : Widget /** * Returns the `GMenuModel` used to generate the popup. * - * Returns: a `GMenuModel` or %NULL + * Returns: a `GMenuModel` */ public MenuModel getMenuModel() { @@ -229,6 +267,18 @@ public class MenuButton : Widget return ObjectG.getDObject!(Popover)(cast(GtkPopover*) __p); } + /** + * Returns whether the menu button acts as a primary menu. + * + * Returns: %TRUE if the button is a primary menu + * + * Since: 4.4 + */ + public bool getPrimary() + { + return gtk_menu_button_get_primary(gtkMenuButton) != 0; + } + /** * Returns whether an embedded underline in the text indicates a * mnemonic. @@ -257,6 +307,40 @@ public class MenuButton : Widget gtk_menu_button_popup(gtkMenuButton); } + /** + * Sets whether to show a dropdown arrow even when using an icon or a custom + * child. + * + * Params: + * alwaysShowArrow = hether to show a dropdown arrow even when using an icon + * + * Since: 4.4 + */ + public void setAlwaysShowArrow(bool alwaysShowArrow) + { + gtk_menu_button_set_always_show_arrow(gtkMenuButton, alwaysShowArrow); + } + + /** + * Sets the child widget of @menu_button. + * + * Setting a child resets [property@Gtk.MenuButton:label] and + * [property@Gtk.MenuButton:icon-name]. + * + * If [property@Gtk.MenuButton:always-show-arrow] is set to `TRUE` and + * [property@Gtk.MenuButton:direction] is not `GTK_ARROW_NONE`, a dropdown arrow + * will be shown next to the child. + * + * Params: + * child = the child widget + * + * Since: 4.6 + */ + public void setChild(Widget child) + { + gtk_menu_button_set_child(gtkMenuButton, (child is null) ? null : child.getWidgetStruct()); + } + /** * Sets @func to be called when a popup is about to be shown. * @@ -317,6 +401,13 @@ public class MenuButton : Widget /** * Sets the name of an icon to show inside the menu button. * + * Setting icon name resets [property@Gtk.MenuButton:label] and + * [property@Gtk.MenuButton:child]. + * + * If [property@Gtk.MenuButton:always-show-arrow] is set to `TRUE` and + * [property@Gtk.MenuButton:direction] is not `GTK_ARROW_NONE`, a dropdown arrow + * will be shown next to the icon. + * * Params: * iconName = the icon name */ @@ -328,6 +419,12 @@ public class MenuButton : Widget /** * Sets the label to show inside the menu button. * + * Setting a label resets [property@Gtk.MenuButton:icon-name] and + * [property@Gtk.MenuButton:child]. + * + * If [property@Gtk.MenuButton:direction] is not `GTK_ARROW_NONE`, a dropdown + * arrow will be shown next to the label. + * * Params: * label = the label */ @@ -373,6 +470,21 @@ public class MenuButton : Widget gtk_menu_button_set_popover(gtkMenuButton, (popover is null) ? null : popover.getWidgetStruct()); } + /** + * Sets whether menu button acts as a primary menu. + * + * Primary menus can be opened with the F10 key. + * + * Params: + * primary = whether the menubutton should act as a primary menu + * + * Since: 4.4 + */ + public void setPrimary(bool primary) + { + gtk_menu_button_set_primary(gtkMenuButton, primary); + } + /** * If true, an underline in the text indicates a mnemonic. * @@ -383,4 +495,17 @@ public class MenuButton : Widget { gtk_menu_button_set_use_underline(gtkMenuButton, useUnderline); } + + /** + * Emitted to when the menu button is activated. + * + * The `::activate` signal on `GtkMenuButton` is an action signal and + * emitting it causes the button to pop up its menu. + * + * Since: 4.4 + */ + gulong addOnActivate(void delegate(MenuButton) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "activate", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } } diff --git a/generated/gtkd/gtk/MessageDialog.d b/source/generated/gtk/gtk/MessageDialog.d similarity index 99% rename from generated/gtkd/gtk/MessageDialog.d rename to source/generated/gtk/gtk/MessageDialog.d index 9429d0722..a15159650 100644 --- a/generated/gtkd/gtk/MessageDialog.d +++ b/source/generated/gtk/gtk/MessageDialog.d @@ -177,7 +177,7 @@ public class MessageDialog : Dialog * for the corresponding function in the parent [class@Gtk.Dialog]. * * Returns: A `GtkBox` corresponding to the - * “message area” in the @message_dialog. + * “message area” in the @message_dialog */ public Widget getMessageArea() { diff --git a/generated/gtkd/gtk/MnemonicAction.d b/source/generated/gtk/gtk/MnemonicAction.d similarity index 100% rename from generated/gtkd/gtk/MnemonicAction.d rename to source/generated/gtk/gtk/MnemonicAction.d diff --git a/generated/gtkd/gtk/MnemonicTrigger.d b/source/generated/gtk/gtk/MnemonicTrigger.d similarity index 100% rename from generated/gtkd/gtk/MnemonicTrigger.d rename to source/generated/gtk/gtk/MnemonicTrigger.d diff --git a/generated/gtkd/gtk/MountOperation.d b/source/generated/gtk/gtk/MountOperation.d similarity index 97% rename from generated/gtkd/gtk/MountOperation.d rename to source/generated/gtk/gtk/MountOperation.d index c51d9d797..f39583f24 100644 --- a/generated/gtkd/gtk/MountOperation.d +++ b/source/generated/gtk/gtk/MountOperation.d @@ -87,7 +87,7 @@ public class MountOperation : DGioMountOperation * Creates a new `GtkMountOperation`. * * Params: - * parent = transient parent of the window, or %NULL + * parent = transient parent of the window * * Returns: a new `GtkMountOperation` * @@ -167,7 +167,7 @@ public class MountOperation : DGioMountOperation * `GtkMountOperation`. * * Params: - * parent = transient parent of the window, or %NULL + * parent = transient parent of the window */ public void setParent(Window parent) { diff --git a/generated/gtkd/gtk/MultiFilter.d b/source/generated/gtk/gtk/MultiFilter.d similarity index 100% rename from generated/gtkd/gtk/MultiFilter.d rename to source/generated/gtk/gtk/MultiFilter.d diff --git a/generated/gtkd/gtk/MultiSelection.d b/source/generated/gtk/gtk/MultiSelection.d similarity index 98% rename from generated/gtkd/gtk/MultiSelection.d rename to source/generated/gtk/gtk/MultiSelection.d index 387ebd8fc..16e0fcdca 100644 --- a/generated/gtkd/gtk/MultiSelection.d +++ b/source/generated/gtk/gtk/MultiSelection.d @@ -83,7 +83,7 @@ public class MultiSelection : ObjectG, ListModelIF, SelectionModelIF * Creates a new selection to handle @model. * * Params: - * model = the `GListModel` to manage, or %NULL + * model = the `GListModel` to manage * * Returns: a new `GtkMultiSelection` * diff --git a/generated/gtkd/gtk/MultiSorter.d b/source/generated/gtk/gtk/MultiSorter.d similarity index 100% rename from generated/gtkd/gtk/MultiSorter.d rename to source/generated/gtk/gtk/MultiSorter.d diff --git a/generated/gtkd/gtk/NamedAction.d b/source/generated/gtk/gtk/NamedAction.d similarity index 100% rename from generated/gtkd/gtk/NamedAction.d rename to source/generated/gtk/gtk/NamedAction.d diff --git a/generated/gtkd/gtk/NativeDialog.d b/source/generated/gtk/gtk/NativeDialog.d similarity index 99% rename from generated/gtkd/gtk/NativeDialog.d rename to source/generated/gtk/gtk/NativeDialog.d index cedda0194..3e968b779 100644 --- a/generated/gtkd/gtk/NativeDialog.d +++ b/source/generated/gtk/gtk/NativeDialog.d @@ -208,7 +208,7 @@ public class NativeDialog : ObjectG * Passing %NULL for @parent unsets the current transient window. * * Params: - * parent = parent window, or %NULL + * parent = parent window */ public void setTransientFor(Window parent) { diff --git a/generated/gtkd/gtk/NativeIF.d b/source/generated/gtk/gtk/NativeIF.d similarity index 100% rename from generated/gtkd/gtk/NativeIF.d rename to source/generated/gtk/gtk/NativeIF.d diff --git a/generated/gtkd/gtk/NativeT.d b/source/generated/gtk/gtk/NativeT.d similarity index 100% rename from generated/gtkd/gtk/NativeT.d rename to source/generated/gtk/gtk/NativeT.d diff --git a/generated/gtkd/gtk/NeverTrigger.d b/source/generated/gtk/gtk/NeverTrigger.d similarity index 100% rename from generated/gtkd/gtk/NeverTrigger.d rename to source/generated/gtk/gtk/NeverTrigger.d diff --git a/generated/gtkd/gtk/NoSelection.d b/source/generated/gtk/gtk/NoSelection.d similarity index 98% rename from generated/gtkd/gtk/NoSelection.d rename to source/generated/gtk/gtk/NoSelection.d index 28ff1f67e..42e32dcd7 100644 --- a/generated/gtkd/gtk/NoSelection.d +++ b/source/generated/gtk/gtk/NoSelection.d @@ -86,7 +86,7 @@ public class NoSelection : ObjectG, ListModelIF, SelectionModelIF * Creates a new selection to handle @model. * * Params: - * model = the `GListModel` to manage, or %NULL + * model = the `GListModel` to manage * * Returns: a new `GtkNoSelection` * diff --git a/generated/gtkd/gtk/Notebook.d b/source/generated/gtk/gtk/Notebook.d similarity index 97% rename from generated/gtkd/gtk/Notebook.d rename to source/generated/gtk/gtk/Notebook.d index 42c591381..1c0fc59a0 100644 --- a/generated/gtkd/gtk/Notebook.d +++ b/source/generated/gtk/gtk/Notebook.d @@ -211,7 +211,7 @@ public class Notebook : Widget * for the page, or %NULL to use the default label, “page N” * menuLabel = the widget to use as a label for the * page-switch menu, if that is enabled. If %NULL, and @tab_label - * is a #GtkLabel or %NULL, then the menu label will be a newly + * is a `GtkLabel` or %NULL, then the menu label will be a newly * created label with the same text as @tab_label; if @tab_label * is not a `GtkLabel`, @menu_label must be specified if the * page-switch menu is to be used. @@ -533,9 +533,9 @@ public class Notebook : Widget * for the page, or %NULL to use the default label, “page N” * menuLabel = the widget to use as a label for the * page-switch menu, if that is enabled. If %NULL, and @tab_label - * is a #GtkLabel or %NULL, then the menu label will be a newly + * is a `GtkLabel` or %NULL, then the menu label will be a newly * created label with the same text as @tab_label; if @tab_label - * is not a #GtkLabel, @menu_label must be specified if the + * is not a `GtkLabel`, @menu_label must be specified if the * page-switch menu is to be used. * position = the index (starting at 0) at which to insert the page, * or -1 to append the page after all other pages. @@ -597,7 +597,7 @@ public class Notebook : Widget * * Params: * child = the `GtkWidget` to use as the contents of the page - * tabLabel = the #GtkWidget to be used as the label + * tabLabel = the `GtkWidget` to be used as the label * for the page, or %NULL to use the default label, “page N” * * Returns: the index (starting from 0) of the prepended @@ -618,9 +618,9 @@ public class Notebook : Widget * for the page, or %NULL to use the default label, “page N” * menuLabel = the widget to use as a label for the * page-switch menu, if that is enabled. If %NULL, and @tab_label - * is a #GtkLabel or %NULL, then the menu label will be a newly + * is a `GtkLabel` or %NULL, then the menu label will be a newly * created label with the same text as @tab_label; if @tab_label - * is not a #GtkLabel, @menu_label must be specified if the + * is not a `GtkLabel`, @menu_label must be specified if the * page-switch menu is to be used. * * Returns: the index (starting from 0) of the prepended @@ -678,7 +678,7 @@ public class Notebook : Widget * more than one widget on the same side. * * Params: - * widget = a #GtkWidget + * widget = a `GtkWidget` * packType = pack type of the action widget */ public void setActionWidget(Widget widget, GtkPackType packType) @@ -908,8 +908,8 @@ public class Notebook : Widget * Params: * page = the tab of @notebook that is being detached * - * Returns: a `GtkNotebook` that @page should be - * added to, or %NULL. + * Returns: a `GtkNotebook` that + * @page should be added to */ gulong addOnCreateWindow(Notebook delegate(Widget, Notebook) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -933,7 +933,7 @@ public class Notebook : Widget * right after a page is added to the notebook. * * Params: - * child = the child #GtkWidget affected + * child = the child `GtkWidget` affected * pageNum = the new page number for @child */ gulong addOnPageAdded(void delegate(Widget, uint, Notebook) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) @@ -946,7 +946,7 @@ public class Notebook : Widget * right after a page is removed from the notebook. * * Params: - * child = the child #GtkWidget affected + * child = the child `GtkWidget` affected * pageNum = the @child page number */ gulong addOnPageRemoved(void delegate(Widget, uint, Notebook) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) @@ -959,7 +959,7 @@ public class Notebook : Widget * right after a page has been reordered. * * Params: - * child = the child #GtkWidget affected + * child = the child `GtkWidget` affected * pageNum = the new page number for @child */ gulong addOnPageReordered(void delegate(Widget, uint, Notebook) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) diff --git a/generated/gtkd/gtk/NotebookPage.d b/source/generated/gtk/gtk/NotebookPage.d similarity index 100% rename from generated/gtkd/gtk/NotebookPage.d rename to source/generated/gtk/gtk/NotebookPage.d diff --git a/generated/gtkd/gtk/NothingAction.d b/source/generated/gtk/gtk/NothingAction.d similarity index 100% rename from generated/gtkd/gtk/NothingAction.d rename to source/generated/gtk/gtk/NothingAction.d diff --git a/generated/gtkd/gtk/NumericSorter.d b/source/generated/gtk/gtk/NumericSorter.d similarity index 97% rename from generated/gtkd/gtk/NumericSorter.d rename to source/generated/gtk/gtk/NumericSorter.d index ca901a8bd..117cebd45 100644 --- a/generated/gtkd/gtk/NumericSorter.d +++ b/source/generated/gtk/gtk/NumericSorter.d @@ -101,7 +101,7 @@ public class NumericSorter : Sorter /** * Gets the expression that is evaluated to obtain numbers from items. * - * Returns: a `GtkExpression`, or %NULL + * Returns: a `GtkExpression` */ public Expression getExpression() { @@ -135,7 +135,7 @@ public class NumericSorter : Sorter * numerically, such as %G_TYPE_INT or %G_TYPE_DOUBLE. * * Params: - * expression = a `GtkExpression`, or %NULL + * expression = a `GtkExpression` */ public void setExpression(Expression expression) { diff --git a/generated/gtkd/gtk/ObjectExpression.d b/source/generated/gtk/gtk/ObjectExpression.d similarity index 100% rename from generated/gtkd/gtk/ObjectExpression.d rename to source/generated/gtk/gtk/ObjectExpression.d diff --git a/generated/gtkd/gtk/OrientableIF.d b/source/generated/gtk/gtk/OrientableIF.d similarity index 94% rename from generated/gtkd/gtk/OrientableIF.d rename to source/generated/gtk/gtk/OrientableIF.d index 2da200a7e..0def2f7a0 100644 --- a/generated/gtkd/gtk/OrientableIF.d +++ b/source/generated/gtk/gtk/OrientableIF.d @@ -52,7 +52,7 @@ public interface OrientableIF{ /** * Retrieves the orientation of the @orientable. * - * Returns: the orientation of the @orientable. + * Returns: the orientation of the @orientable */ public GtkOrientation getOrientation(); @@ -60,7 +60,7 @@ public interface OrientableIF{ * Sets the orientation of the @orientable. * * Params: - * orientation = the orientable’s new orientation. + * orientation = the orientable’s new orientation */ public void setOrientation(GtkOrientation orientation); } diff --git a/generated/gtkd/gtk/OrientableT.d b/source/generated/gtk/gtk/OrientableT.d similarity index 94% rename from generated/gtkd/gtk/OrientableT.d rename to source/generated/gtk/gtk/OrientableT.d index 577753604..66a4c719c 100644 --- a/generated/gtkd/gtk/OrientableT.d +++ b/source/generated/gtk/gtk/OrientableT.d @@ -49,7 +49,7 @@ public template OrientableT(TStruct) /** * Retrieves the orientation of the @orientable. * - * Returns: the orientation of the @orientable. + * Returns: the orientation of the @orientable */ public GtkOrientation getOrientation() { @@ -60,7 +60,7 @@ public template OrientableT(TStruct) * Sets the orientation of the @orientable. * * Params: - * orientation = the orientable’s new orientation. + * orientation = the orientable’s new orientation */ public void setOrientation(GtkOrientation orientation) { diff --git a/generated/gtkd/gtk/Overlay.d b/source/generated/gtk/gtk/Overlay.d similarity index 100% rename from generated/gtkd/gtk/Overlay.d rename to source/generated/gtk/gtk/Overlay.d diff --git a/generated/gtkd/gtk/OverlayLayout.d b/source/generated/gtk/gtk/OverlayLayout.d similarity index 100% rename from generated/gtkd/gtk/OverlayLayout.d rename to source/generated/gtk/gtk/OverlayLayout.d diff --git a/generated/gtkd/gtk/OverlayLayoutChild.d b/source/generated/gtk/gtk/OverlayLayoutChild.d similarity index 100% rename from generated/gtkd/gtk/OverlayLayoutChild.d rename to source/generated/gtk/gtk/OverlayLayoutChild.d diff --git a/generated/gtkd/gtk/PadController.d b/source/generated/gtk/gtk/PadController.d similarity index 94% rename from generated/gtkd/gtk/PadController.d rename to source/generated/gtk/gtk/PadController.d index 146a61c51..b19e71478 100644 --- a/generated/gtkd/gtk/PadController.d +++ b/source/generated/gtk/gtk/PadController.d @@ -43,7 +43,7 @@ public import gtk.c.types; * * These buttons and sensors have no implicit meaning, and by default they * perform no action. `GtkPadController` is provided to map those to - * `GAction` objects, thus letting the application give them a more + * [iface@Gio.Action] objects, thus letting the application give them a more * semantic meaning. * * Buttons and sensors are not constrained to triggering a single action, @@ -56,10 +56,10 @@ public import gtk.c.types; * different modes. See [method@Gdk.DevicePad.get_n_groups] and * [method@Gdk.DevicePad.get_group_n_modes]. * - * Each of the actions that a given button/strip/ring performs for a given - * mode is defined by a [struct@Gtk.PadActionEntry]. It contains an action - * name that will be looked up in the given `GActionGroup` and activated - * whenever the specified input element and mode are triggered. + * Each of the actions that a given button/strip/ring performs for a given mode + * is defined by a [struct@Gtk.PadActionEntry]. It contains an action name that + * will be looked up in the given [iface@Gio.ActionGroup] and activated whenever + * the specified input element and mode are triggered. * * A simple example of `GtkPadController` usage: Assigning button 1 in all * modes and pad devices to an "invert-selection" action: @@ -171,7 +171,7 @@ public class PadController : EventController * mode = the mode that will trigger this action, or -1 for all modes. * label = Human readable description of this action, this string should * be deemed user-visible. - * actionName = action name that will be activated in the #GActionGroup + * actionName = action name that will be activated in the `GActionGroup` */ public void setAction(GtkPadActionType type, int index, int mode, string label, string actionName) { diff --git a/generated/gtkd/gtk/PageSetup.d b/source/generated/gtk/gtk/PageSetup.d similarity index 98% rename from generated/gtkd/gtk/PageSetup.d rename to source/generated/gtk/gtk/PageSetup.d index ef40c915b..bb975696b 100644 --- a/generated/gtkd/gtk/PageSetup.d +++ b/source/generated/gtk/gtk/PageSetup.d @@ -202,7 +202,7 @@ public class PageSetup : ObjectG * * Params: * keyFile = the `GKeyFile` to retrieve the page_setup from - * groupName = the name of the group in the key_file to read, or %NULL + * groupName = the name of the group in the key_file to read * to use the default name “Page Setup” * * Returns: the restored `GtkPageSetup` @@ -425,7 +425,7 @@ public class PageSetup : ObjectG * * Params: * keyFile = the `GKeyFile` to retrieve the page_setup from - * groupName = the name of the group in the key_file to read, or %NULL + * groupName = the name of the group in the key_file to read * to use the default name “Page Setup” * * Returns: %TRUE on success @@ -474,7 +474,7 @@ public class PageSetup : ObjectG * Sets the page orientation of the `GtkPageSetup`. * * Params: - * orientation = a #GtkPageOrientation value + * orientation = a `GtkPageOrientation` value */ public void setOrientation(GtkPageOrientation orientation) { @@ -488,7 +488,7 @@ public class PageSetup : ObjectG * See [method@Gtk.PageSetup.set_paper_size_and_default_margins]. * * Params: - * size = a #GtkPaperSize + * size = a `GtkPaperSize` */ public void setPaperSize(PaperSize size) { @@ -500,7 +500,7 @@ public class PageSetup : ObjectG * the margins according to the new paper size. * * Params: - * size = a #GtkPaperSize + * size = a `GtkPaperSize` */ public void setPaperSizeAndDefaultMargins(PaperSize size) { @@ -558,7 +558,7 @@ public class PageSetup : ObjectG /** * Serialize page setup to an a{sv} variant. * - * Returns: a new, floating, #GVariant + * Returns: a new, floating, `GVariant` */ public Variant toGvariant() { diff --git a/generated/gtkd/gtk/PageSetupUnixDialog.d b/source/generated/gtk/gtk/PageSetupUnixDialog.d similarity index 97% rename from generated/gtkd/gtk/PageSetupUnixDialog.d rename to source/generated/gtk/gtk/PageSetupUnixDialog.d index d99cb661e..3f43c8198 100644 --- a/generated/gtkd/gtk/PageSetupUnixDialog.d +++ b/source/generated/gtk/gtk/PageSetupUnixDialog.d @@ -85,8 +85,8 @@ public class PageSetupUnixDialog : Dialog * Creates a new page setup dialog. * * Params: - * title = the title of the dialog, or %NULL - * parent = transient parent of the dialog, or %NULL + * title = the title of the dialog + * parent = transient parent of the dialog * * Returns: the new `GtkPageSetupUnixDialog` * diff --git a/generated/gtkd/gtk/Paned.d b/source/generated/gtk/gtk/Paned.d similarity index 83% rename from generated/gtkd/gtk/Paned.d rename to source/generated/gtk/gtk/Paned.d index e772e01e7..1c4ffd75d 100644 --- a/generated/gtkd/gtk/Paned.d +++ b/source/generated/gtk/gtk/Paned.d @@ -36,7 +36,7 @@ private import std.algorithm; /** - * `GtkPaned` has two panes, arranged either horizontally or vertically. + * A widget with two panes, arranged either horizontally or vertically. * * ![An example GtkPaned](panes.png) * @@ -55,13 +55,13 @@ private import std.algorithm; * each child inside a [class@Gtk.Frame] so that the gutter appears as a * ridge. No separator is drawn if one of the children is missing. * - * Each child has two options that can be set, @resize and @shrink. If - * @resize is true, then when the `GtkPaned` is resized, that child will - * expand or shrink along with the paned widget. If @shrink is true, then + * Each child has two options that can be set, "resize" and "shrink". If + * "resize" is true then, when the `GtkPaned` is resized, that child will + * expand or shrink along with the paned widget. If "shrink" is true, then * that child can be made smaller than its requisition by the user. - * Setting @shrink to %FALSE allows the application to set a minimum size. - * If @resize is false for both children, then this is treated as if - * @resize is true for both children. + * Setting "shrink" to false allows the application to set a minimum size. + * If "resize" is false for both children, then this is treated as if + * "resize" is true for both children. * * The application can set the position of the slider as if it were set * by the user, by calling [method@Gtk.Paned.set_position]. @@ -148,7 +148,7 @@ public class Paned : Widget, OrientableIF * Params: * orientation = the paned’s orientation. * - * Returns: a new `GtkPaned`. + * Returns: the newly created paned widget * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -167,8 +167,6 @@ public class Paned : Widget, OrientableIF /** * Retrieves the end child of the given `GtkPaned`. * - * See also: `GtkPaned`:end-child - * * Returns: the end child widget */ public Widget getEndChild() @@ -186,7 +184,7 @@ public class Paned : Widget, OrientableIF /** * Obtains the position of the divider between the two panes. * - * Returns: position of the divider + * Returns: the position of the divider, in pixels */ public int getPosition() { @@ -194,9 +192,9 @@ public class Paned : Widget, OrientableIF } /** - * Returns whether the end child can be resized. + * Returns whether the [property@Gtk.Paned:end-child] can be resized. * - * Returns: %TRUE if the end child is resizable + * Returns: true if the end child is resizable */ public bool getResizeEndChild() { @@ -204,9 +202,9 @@ public class Paned : Widget, OrientableIF } /** - * Returns whether the start child can be resized. + * Returns whether the [property@Gtk.Paned:start-child] can be resized. * - * Returns: %TRUE if the start child is resizable + * Returns: true if the start child is resizable */ public bool getResizeStartChild() { @@ -214,9 +212,9 @@ public class Paned : Widget, OrientableIF } /** - * Returns whether the end child can be shrunk. + * Returns whether the [property@Gtk.Paned:end-child] can shrink. * - * Returns: %TRUE if the end child is shrinkable + * Returns: true if the end child is shrinkable */ public bool getShrinkEndChild() { @@ -224,9 +222,9 @@ public class Paned : Widget, OrientableIF } /** - * Returns whether the start child can be shrunk. + * Returns whether the [property@Gtk.Paned:start-child] can shrink. * - * Returns: %TRUE if the start child is shrinkable + * Returns: true if the start child is shrinkable */ public bool getShrinkStartChild() { @@ -236,8 +234,6 @@ public class Paned : Widget, OrientableIF /** * Retrieves the start child of the given `GtkPaned`. * - * See also: `GtkPaned`:start-child - * * Returns: the start child widget */ public Widget getStartChild() @@ -265,6 +261,8 @@ public class Paned : Widget, OrientableIF /** * Sets the end child of @paned to @child. * + * If @child is `NULL`, the existing child will be removed. + * * Params: * child = the widget to add */ @@ -278,7 +276,7 @@ public class Paned : Widget, OrientableIF * * Params: * position = pixel position of divider, a negative value means that the position - * is unset. + * is unset */ public void setPosition(int position) { @@ -286,10 +284,10 @@ public class Paned : Widget, OrientableIF } /** - * Sets the `GtkPaned`:resize-end-child property + * Sets whether the [property@Gtk.Paned:end-child] can be resized. * * Params: - * resize = %TRUE to let the end child be resized + * resize = true to let the end child be resized */ public void setResizeEndChild(bool resize) { @@ -297,10 +295,10 @@ public class Paned : Widget, OrientableIF } /** - * Sets the `GtkPaned`:resize-start-child property + * Sets whether the [property@Gtk.Paned:start-child] can be resized. * * Params: - * resize = %TRUE to let the start child be resized + * resize = true to let the start child be resized */ public void setResizeStartChild(bool resize) { @@ -308,10 +306,10 @@ public class Paned : Widget, OrientableIF } /** - * Sets the `GtkPaned`:shrink-end-child property + * Sets whether the [property@Gtk.Paned:end-child] can shrink. * * Params: - * resize = %TRUE to let the end child be shrunk + * resize = true to let the end child be shrunk */ public void setShrinkEndChild(bool resize) { @@ -319,10 +317,10 @@ public class Paned : Widget, OrientableIF } /** - * Sets the `GtkPaned`:shrink-start-child property + * Sets whether the [property@Gtk.Paned:start-child] can shrink. * * Params: - * resize = %TRUE to let the start child be shrunk + * resize = true to let the start child be shrunk */ public void setShrinkStartChild(bool resize) { @@ -332,6 +330,8 @@ public class Paned : Widget, OrientableIF /** * Sets the start child of @paned to @child. * + * If @child is `NULL`, the existing child will be removed. + * * Params: * child = the widget to add */ @@ -357,7 +357,8 @@ public class Paned : Widget, OrientableIF * * This is a [keybinding signal](class.SignalAction.html). * - * The default binding for this signal is Return or Space. + * The default binding for this signal is Return or + * Space. */ gulong addOnAcceptPosition(bool delegate(Paned) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -373,7 +374,7 @@ public class Paned : Widget, OrientableIF * * This is a [keybinding signal](class.SignalAction.html). * - * The default binding for this signal is Escape. + * The default binding for this signal is Escape. */ gulong addOnCancelPosition(bool delegate(Paned) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -385,7 +386,7 @@ public class Paned : Widget, OrientableIF * * This is a [keybinding signal](class.SignalAction.html). * - * The default binding is F6. + * The default binding is F6. * * Params: * reversed = whether cycling backward or forward @@ -401,7 +402,7 @@ public class Paned : Widget, OrientableIF * * This is a [keybinding signal](class.SignalAction.html). * - * The default binding for this signal is F8. + * The default binding for this signal is F8. * * Params: * reversed = whether cycling backward or forward @@ -417,7 +418,7 @@ public class Paned : Widget, OrientableIF * This is a [keybinding signal](class.SignalAction.html). * * Params: - * scrollType = a #GtkScrollType + * scrollType = a `GtkScrollType` */ gulong addOnMoveHandle(bool delegate(GtkScrollType, Paned) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -430,7 +431,7 @@ public class Paned : Widget, OrientableIF * * This is a [keybinding signal](class.SignalAction.html). * - * The default binding is Tab. + * The default binding is Tab. */ gulong addOnToggleHandleFocus(bool delegate(Paned) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { diff --git a/generated/gtkd/gtk/PaperSize.d b/source/generated/gtk/gtk/PaperSize.d similarity index 98% rename from generated/gtkd/gtk/PaperSize.d rename to source/generated/gtk/gtk/PaperSize.d index 79494371a..41c8887b8 100644 --- a/generated/gtkd/gtk/PaperSize.d +++ b/source/generated/gtk/gtk/PaperSize.d @@ -35,7 +35,7 @@ private import glib.c.functions; private import gobject.ObjectG; private import gtk.c.functions; public import gtk.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -82,7 +82,7 @@ public class PaperSize ~this () { - if ( Linker.isLoaded(LIBRARY_GTK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GTK[0]) && ownedRef ) gtk_paper_size_free(gtkPaperSize); } @@ -102,7 +102,7 @@ public class PaperSize * see [func@Gtk.PaperSize.get_default]. * * Params: - * name = a paper size name, or %NULL + * name = a paper size name * * Returns: a new `GtkPaperSize`, use [method@Gtk.PaperSize.free] * to free it @@ -213,8 +213,7 @@ public class PaperSize * groupName = the name of the group in the key file to read, * or %NULL to read the first group * - * Returns: a new `GtkPaperSize` object with the restored - * paper size, or %NULL if an error occurred + * Returns: a new `GtkPaperSize` object with the restored paper size * * Throws: GException on failure. * Throws: ConstructionException GTK+ fails to create the object. diff --git a/generated/gtkd/gtk/ParamSpecExpression.d b/source/generated/gtk/gtk/ParamSpecExpression.d similarity index 97% rename from generated/gtkd/gtk/ParamSpecExpression.d rename to source/generated/gtk/gtk/ParamSpecExpression.d index a535bfa19..d2769fdd0 100644 --- a/generated/gtkd/gtk/ParamSpecExpression.d +++ b/source/generated/gtk/gtk/ParamSpecExpression.d @@ -30,7 +30,7 @@ public import gtk.c.types; /** - * A #GParamSpec for properties holding a #GtkExpression. + * A `GParamSpec` for properties holding a `GtkExpression`. */ public class ParamSpecExpression : ParamSpec { diff --git a/generated/gtkd/gtk/PasswordEntry.d b/source/generated/gtk/gtk/PasswordEntry.d similarity index 99% rename from generated/gtkd/gtk/PasswordEntry.d rename to source/generated/gtk/gtk/PasswordEntry.d index 2fe7b6b1a..9ef63951d 100644 --- a/generated/gtkd/gtk/PasswordEntry.d +++ b/source/generated/gtk/gtk/PasswordEntry.d @@ -130,7 +130,7 @@ public class PasswordEntry : Widget, EditableIF /** * Gets the menu model set with gtk_password_entry_set_extra_menu(). * - * Returns: (nullable): the menu model + * Returns: the menu model */ public MenuModel getExtraMenu() { diff --git a/source/generated/gtk/gtk/PasswordEntryBuffer.d b/source/generated/gtk/gtk/PasswordEntryBuffer.d new file mode 100644 index 000000000..cf3e0563e --- /dev/null +++ b/source/generated/gtk/gtk/PasswordEntryBuffer.d @@ -0,0 +1,95 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module gtk.PasswordEntryBuffer; + +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.EntryBuffer; +private import gtk.c.functions; +public import gtk.c.types; + + +/** + * A `GtkEntryBuffer` that locks the underlying memory to prevent it + * from being swapped to disk. + * + * `GtkPasswordEntry` uses a `GtkPasswordEntryBuffer`. + * + * Since: 4.4 + */ +public class PasswordEntryBuffer : EntryBuffer +{ + /** the main Gtk struct */ + protected GtkPasswordEntryBuffer* gtkPasswordEntryBuffer; + + /** Get the main Gtk struct */ + public GtkPasswordEntryBuffer* getPasswordEntryBufferStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkPasswordEntryBuffer; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkPasswordEntryBuffer; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkPasswordEntryBuffer* gtkPasswordEntryBuffer, bool ownedRef = false) + { + this.gtkPasswordEntryBuffer = gtkPasswordEntryBuffer; + super(cast(GtkEntryBuffer*)gtkPasswordEntryBuffer, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_password_entry_buffer_get_type(); + } + + /** + * Creates a new `GtkEntryBuffer` using secure memory allocations. + * + * Returns: the newly created instance + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_password_entry_buffer_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkPasswordEntryBuffer*) __p, true); + } +} diff --git a/generated/gtkd/gtk/Picture.d b/source/generated/gtk/gtk/Picture.d similarity index 97% rename from generated/gtkd/gtk/Picture.d rename to source/generated/gtk/gtk/Picture.d index 9100112e9..da402723a 100644 --- a/generated/gtkd/gtk/Picture.d +++ b/source/generated/gtk/gtk/Picture.d @@ -199,7 +199,7 @@ public class Picture : Widget * its size and contents in response to it. * * Params: - * paintable = a `GdkPaintable`, or %NULL + * paintable = a `GdkPaintable` * * Returns: a new `GtkPicture` * @@ -226,7 +226,7 @@ public class Picture : Widget * The pixbuf must not be modified after passing it to this function. * * Params: - * pixbuf = a `GdkPixbuf`, or %NULL + * pixbuf = a `GdkPixbuf` * * Returns: a new `GtkPicture` * @@ -299,8 +299,7 @@ public class Picture : Widget /** * Gets the `GdkPaintable` being displayed by the `GtkPicture`. * - * Returns: the displayed paintable, or %NULL if - * the picture is empty + * Returns: the displayed paintable */ public PaintableIF getPaintable() { @@ -357,7 +356,7 @@ public class Picture : Widget * See [ctor@Gtk.Picture.new_for_file] for details. * * Params: - * file = a `GFile` or %NULL + * file = a `GFile` */ public void setFile(FileIF file) { @@ -403,7 +402,7 @@ public class Picture : Widget * See [ctor@Gtk.Picture.new_for_paintable] for details. * * Params: - * paintable = a `GdkPaintable` or %NULL + * paintable = a `GdkPaintable` */ public void setPaintable(PaintableIF paintable) { @@ -418,7 +417,7 @@ public class Picture : Widget * This is a utility function that calls [method@Gtk.Picture.set_paintable]. * * Params: - * pixbuf = a `GdkPixbuf` or %NULL + * pixbuf = a `GdkPixbuf` */ public void setPixbuf(Pixbuf pixbuf) { diff --git a/generated/gtkd/gtk/Popover.d b/source/generated/gtk/gtk/Popover.d similarity index 95% rename from generated/gtkd/gtk/Popover.d rename to source/generated/gtk/gtk/Popover.d index 097d4d48b..18341a142 100644 --- a/generated/gtkd/gtk/Popover.d +++ b/source/generated/gtk/gtk/Popover.d @@ -280,10 +280,8 @@ public class Popover : Widget, NativeIF, ShortcutManagerIF /** * Pops @popover down. * - * This is different from a [method@Gtk.Widget.hide] call - * in that it may show the popover with a transition. If - * you want to hide the popover without a transition, just - * use [method@Gtk.Widget.hide]. + * This may have the side-effect of closing a parent popover + * as well. See [property@Gtk.Popover:cascade-popdown]. */ public void popdown() { @@ -292,11 +290,6 @@ public class Popover : Widget, NativeIF, ShortcutManagerIF /** * Pops @popover up. - * - * This is different from a [method@Gtk.Widget.show() call - * in that it may show the popover with a transition. If - * you want to show the popover without a transition, just - * use [method@Gtk.Widget.show]. */ public void popup() { @@ -315,8 +308,8 @@ public class Popover : Widget, NativeIF, ShortcutManagerIF * Sets whether @popover is modal. * * A modal popover will grab the keyboard focus on it when being - * displayed. Clicking outside the popover area or pressing Esc - * will dismiss the popover. + * displayed. Focus will wrap around within the popover. Clicking + * outside the popover area or pressing Esc will dismiss the popover. * * Called this function on an already showing popup with a new * autohide value different from the current one, will cause the diff --git a/generated/gtkd/gtk/PopoverMenu.d b/source/generated/gtk/gtk/PopoverMenu.d similarity index 95% rename from generated/gtkd/gtk/PopoverMenu.d rename to source/generated/gtk/gtk/PopoverMenu.d index bf02632a5..f1ac02128 100644 --- a/generated/gtkd/gtk/PopoverMenu.d +++ b/source/generated/gtk/gtk/PopoverMenu.d @@ -57,8 +57,8 @@ public import gtk.c.types; * of a toplevel `` element, which contains one or more `` * elements. Each `` element contains `` and `` * elements with a mandatory name attribute. `` elements have the - * same content model as ``. Instead of ``, you can use `` or `
` + * same content model as ``. Instead of `` + * or ``, you can use `` or `
` * elements. * * ```xml @@ -84,17 +84,18 @@ public import gtk.c.types; * content. `` elements can be marked for translation with a * `translatable="yes"` attribute. It is also possible to specify message * context and translator comments, using the context and comments attributes. - * To make use of this, the #GtkBuilder must have been given the gettext + * To make use of this, the `GtkBuilder` must have been given the gettext * domain to use. * * The following attributes are used when constructing menu items: * * - "label": a user-visible string to display + * - "use-markup": whether the text in the menu item includes [Pango markup](https://docs.gtk.org/Pango/pango_markup.html) * - "action": the prefixed name of the action to trigger * - "target": the parameter to use when activating the action * - "icon" and "verb-icon": names of icons that may be displayed - * - "submenu-action": name of an action that may be used to determine - * if a submenu can be opened + * - "submenu-action": name of an action that may be used to track + * whether a submenu is open * - "hidden-when": a string used to determine when the item will be hidden. * Possible values include "action-disabled", "action-missing", "macos-menubar". * This is mainly useful for exported menus, see [method@Gtk.Application.set_menubar]. @@ -188,7 +189,7 @@ public class PopoverMenu : Popover * to control this. * * Params: - * model = a `GMenuModel`, or %NULL + * model = a `GMenuModel` * * Returns: the new `GtkPopoverMenu` * @@ -295,7 +296,7 @@ public class PopoverMenu : Popover * to @model. * * Params: - * model = a `GMenuModel`, or %NULL + * model = a `GMenuModel` */ public void setMenuModel(MenuModel model) { diff --git a/generated/gtkd/gtk/PopoverMenuBar.d b/source/generated/gtk/gtk/PopoverMenuBar.d similarity index 97% rename from generated/gtkd/gtk/PopoverMenuBar.d rename to source/generated/gtk/gtk/PopoverMenuBar.d index b5359605e..f0655d766 100644 --- a/generated/gtkd/gtk/PopoverMenuBar.d +++ b/source/generated/gtk/gtk/PopoverMenuBar.d @@ -103,7 +103,7 @@ public class PopoverMenuBar : Widget * Creates a `GtkPopoverMenuBar` from a `GMenuModel`. * * Params: - * model = a `GMenuModel`, or %NULL + * model = a `GMenuModel` * * Returns: a new `GtkPopoverMenuBar` * @@ -160,7 +160,7 @@ public class PopoverMenuBar : Widget * gtk_popover_menu_bar_add_child(). * * Params: - * child = the #GtkWidget to remove + * child = the `GtkWidget` to remove * * Returns: %TRUE if the widget was removed */ @@ -174,7 +174,7 @@ public class PopoverMenuBar : Widget * its contents. * * Params: - * model = a `GMenuModel`, or %NULL + * model = a `GMenuModel` */ public void setMenuModel(MenuModel model) { diff --git a/generated/gtkd/gtk/PrintContext.d b/source/generated/gtk/gtk/PrintContext.d similarity index 100% rename from generated/gtkd/gtk/PrintContext.d rename to source/generated/gtk/gtk/PrintContext.d diff --git a/generated/gtkd/gtk/PrintJob.d b/source/generated/gtk/gtk/PrintJob.d similarity index 100% rename from generated/gtkd/gtk/PrintJob.d rename to source/generated/gtk/gtk/PrintJob.d diff --git a/generated/gtkd/gtk/PrintOperation.d b/source/generated/gtk/gtk/PrintOperation.d similarity index 99% rename from generated/gtkd/gtk/PrintOperation.d rename to source/generated/gtk/gtk/PrintOperation.d index 345766425..5ca9bc4e2 100644 --- a/generated/gtkd/gtk/PrintOperation.d +++ b/source/generated/gtk/gtk/PrintOperation.d @@ -485,7 +485,7 @@ public class PrintOperation : ObjectG, PrintOperationPreviewIF * to the [signal@Gtk.PrintOperation::request-page-setup] signal. * * Params: - * defaultPageSetup = a `GtkPageSetup`, or %NULL + * defaultPageSetup = a `GtkPageSetup` */ public void setDefaultPageSetup(PageSetup defaultPageSetup) { @@ -708,7 +708,7 @@ public class PrintOperation : ObjectG, PrintOperationPreviewIF * information you need from the widgets. * * Returns: A custom widget that gets embedded in - * the print dialog, or %NULL + * the print dialog */ gulong addOnCreateCustomWidget(ObjectG delegate(PrintOperation) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -875,7 +875,7 @@ public class PrintOperation : ObjectG, PrintOperationPreviewIF * Params: * preview = the `GtkPrintOperationPreview` for the current operation * context = the `GtkPrintContext` that will be used - * parent = the `GtkWindow` to use as window parent, or %NULL + * parent = the `GtkWindow` to use as window parent * * Returns: %TRUE if the listener wants to take over control of the preview */ diff --git a/generated/gtkd/gtk/PrintOperationPreviewIF.d b/source/generated/gtk/gtk/PrintOperationPreviewIF.d similarity index 98% rename from generated/gtkd/gtk/PrintOperationPreviewIF.d rename to source/generated/gtk/gtk/PrintOperationPreviewIF.d index fe10b6378..7beef1415 100644 --- a/generated/gtkd/gtk/PrintOperationPreviewIF.d +++ b/source/generated/gtk/gtk/PrintOperationPreviewIF.d @@ -110,7 +110,7 @@ public interface PrintOperationPreviewIF{ * A handler for this signal can be used for setup tasks. * * Params: - * context = the current #GtkPrintContext + * context = the current `GtkPrintContext` */ gulong addOnReady(void delegate(PrintContext, PrintOperationPreviewIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0); } diff --git a/generated/gtkd/gtk/PrintOperationPreviewT.d b/source/generated/gtk/gtk/PrintOperationPreviewT.d similarity index 98% rename from generated/gtkd/gtk/PrintOperationPreviewT.d rename to source/generated/gtk/gtk/PrintOperationPreviewT.d index 4bf2c4244..7a469fcd4 100644 --- a/generated/gtkd/gtk/PrintOperationPreviewT.d +++ b/source/generated/gtk/gtk/PrintOperationPreviewT.d @@ -119,7 +119,7 @@ public template PrintOperationPreviewT(TStruct) * A handler for this signal can be used for setup tasks. * * Params: - * context = the current #GtkPrintContext + * context = the current `GtkPrintContext` */ gulong addOnReady(void delegate(PrintContext, PrintOperationPreviewIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { diff --git a/generated/gtkd/gtk/PrintSettings.d b/source/generated/gtk/gtk/PrintSettings.d similarity index 99% rename from generated/gtkd/gtk/PrintSettings.d rename to source/generated/gtk/gtk/PrintSettings.d index e16433b0d..4f85c2358 100644 --- a/generated/gtkd/gtk/PrintSettings.d +++ b/source/generated/gtk/gtk/PrintSettings.d @@ -700,7 +700,7 @@ public class PrintSettings : ObjectG * * Params: * key = a key - * value = a string value, or %NULL + * value = a string value */ public void set(string key, string value) { @@ -768,7 +768,7 @@ public class PrintSettings : ObjectG * Sets the value of %GTK_PRINT_SETTINGS_DUPLEX. * * Params: - * duplex = a #GtkPrintDuplex value + * duplex = a `GtkPrintDuplex` value */ public void setDuplex(GtkPrintDuplex duplex) { @@ -850,7 +850,7 @@ public class PrintSettings : ObjectG * Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT. * * Params: - * numberUpLayout = a #GtkNumberUpLayout value + * numberUpLayout = a `GtkNumberUpLayout` value */ public void setNumberUpLayout(GtkNumberUpLayout numberUpLayout) { @@ -894,7 +894,7 @@ public class PrintSettings : ObjectG * Sets the value of %GTK_PRINT_SETTINGS_PAGE_SET. * * Params: - * pageSet = a #GtkPageSet value + * pageSet = a `GtkPageSet` value */ public void setPageSet(GtkPageSet pageSet) { @@ -942,7 +942,7 @@ public class PrintSettings : ObjectG * Sets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES. * * Params: - * pages = a #GtkPrintPages value + * pages = a `GtkPrintPages` value */ public void setPrintPages(GtkPrintPages pages) { @@ -976,7 +976,7 @@ public class PrintSettings : ObjectG * Sets the value of %GTK_PRINT_SETTINGS_QUALITY. * * Params: - * quality = a #GtkPrintQuality value + * quality = a `GtkPrintQuality` value */ public void setQuality(GtkPrintQuality quality) { diff --git a/generated/gtkd/gtk/PrintUnixDialog.d b/source/generated/gtk/gtk/PrintUnixDialog.d similarity index 98% rename from generated/gtkd/gtk/PrintUnixDialog.d rename to source/generated/gtk/gtk/PrintUnixDialog.d index 999381062..4b5022149 100644 --- a/generated/gtkd/gtk/PrintUnixDialog.d +++ b/source/generated/gtk/gtk/PrintUnixDialog.d @@ -158,8 +158,8 @@ public class PrintUnixDialog : Dialog * Creates a new `GtkPrintUnixDialog`. * * Params: - * title = Title of the dialog, or %NULL - * parent = Transient parent of the dialog, or %NULL + * title = Title of the dialog + * parent = Transient parent of the dialog * * Returns: a new `GtkPrintUnixDialog` * @@ -355,7 +355,7 @@ public class PrintUnixDialog : Dialog * is shown. * * Params: - * settings = a `GtkPrintSettings`, or %NULL + * settings = a `GtkPrintSettings` */ public void setSettings(PrintSettings settings) { diff --git a/generated/gtkd/gtk/Printer.d b/source/generated/gtk/gtk/Printer.d similarity index 100% rename from generated/gtkd/gtk/Printer.d rename to source/generated/gtk/gtk/Printer.d diff --git a/generated/gtkd/gtk/ProgressBar.d b/source/generated/gtk/gtk/ProgressBar.d similarity index 97% rename from generated/gtkd/gtk/ProgressBar.d rename to source/generated/gtk/gtk/ProgressBar.d index 5b6667200..290d1c958 100644 --- a/generated/gtkd/gtk/ProgressBar.d +++ b/source/generated/gtk/gtk/ProgressBar.d @@ -81,7 +81,7 @@ public import gtk.c.types; * * # Accessibility * - * `GtkProgressBar` uses the #GTK_ACCESSIBLE_ROLE_PROGRESS_BAR role. + * `GtkProgressBar` uses the %GTK_ACCESSIBLE_ROLE_PROGRESS_BAR role. */ public class ProgressBar : Widget, OrientableIF { @@ -202,8 +202,7 @@ public class ProgressBar : Widget, OrientableIF * The return value is a reference to the text, not a copy of it, * so will become invalid if you change the text in the progress bar. * - * Returns: text, or %NULL; this string is owned by the widget - * and should not be modified or freed. + * Returns: the text */ public string getText() { @@ -313,7 +312,7 @@ public class ProgressBar : Widget, OrientableIF * [property@Gtk.ProgressBar:show-text] is %TRUE. * * Params: - * text = a UTF-8 string, or %NULL + * text = a UTF-8 string */ public void setText(string text) { diff --git a/generated/gtkd/gtk/PropertyExpression.d b/source/generated/gtk/gtk/PropertyExpression.d similarity index 92% rename from generated/gtkd/gtk/PropertyExpression.d rename to source/generated/gtk/gtk/PropertyExpression.d index 4f8afb654..62e8a0475 100644 --- a/generated/gtkd/gtk/PropertyExpression.d +++ b/source/generated/gtk/gtk/PropertyExpression.d @@ -72,9 +72,10 @@ public class PropertyExpression : Expression } /** - * Creates an expression that looks up a property via the - * given `expression` or the `this` argument when `expression` - * is `NULL`. + * Creates an expression that looks up a property. + * + * The object to use is found by evaluating the `expression`, + * or using the `this` argument when `expression` is `NULL`. * * If the resulting object conforms to `this_type`, its property named * `property_name` will be queried. Otherwise, this expression's @@ -106,9 +107,10 @@ public class PropertyExpression : Expression } /** - * Creates an expression that looks up a property via the - * given `expression` or the `this` argument when `expression` - * is `NULL`. + * Creates an expression that looks up a property. + * + * The object to use is found by evaluating the `expression`, + * or using the `this` argument when `expression` is `NULL`. * * If the resulting object conforms to `this_type`, its * property specified by `pspec` will be queried. diff --git a/generated/gtkd/gtk/Range.d b/source/generated/gtk/gtk/Range.d similarity index 98% rename from generated/gtkd/gtk/Range.d rename to source/generated/gtk/gtk/Range.d index 7d26752fa..3d3956918 100644 --- a/generated/gtkd/gtk/Range.d +++ b/source/generated/gtk/gtk/Range.d @@ -189,10 +189,8 @@ public class Range : Widget, OrientableIF * This function is useful mainly for `GtkRange` subclasses. * * Params: - * sliderStart = return location for the slider's - * start, or %NULL - * sliderEnd = return location for the slider's - * end, or %NULL + * sliderStart = return location for the slider's start + * sliderEnd = return location for the slider's end */ public void getSliderRange(out int sliderStart, out int sliderEnd) { diff --git a/generated/gtkd/gtk/RecentInfo.d b/source/generated/gtk/gtk/RecentInfo.d similarity index 95% rename from generated/gtkd/gtk/RecentInfo.d rename to source/generated/gtk/gtk/RecentInfo.d index 4a91c65fd..4ca4f5381 100644 --- a/generated/gtkd/gtk/RecentInfo.d +++ b/source/generated/gtk/gtk/RecentInfo.d @@ -34,7 +34,7 @@ private import glib.c.functions; private import gobject.ObjectG; private import gtk.c.functions; public import gtk.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -72,7 +72,7 @@ public class RecentInfo ~this () { - if ( Linker.isLoaded(LIBRARY_GTK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GTK[0]) && ownedRef ) gtk_recent_info_unref(gtkRecentInfo); } @@ -86,14 +86,15 @@ public class RecentInfo /** * Creates a `GAppInfo` for the specified `GtkRecentInfo` * + * In case of error, @error will be set either with a + * %GTK_RECENT_MANAGER_ERROR or a %G_IO_ERROR + * * Params: * appName = the name of the application that should * be mapped to a `GAppInfo`; if %NULL is used then the default * application for the MIME type is used * - * Returns: the newly created `GAppInfo`, - * or %NULL. In case of error, @error will be set either with a - * %GTK_RECENT_MANAGER_ERROR or a %G_IO_ERROR + * Returns: the newly created `GAppInfo` * * Throws: GException on failure. */ @@ -129,10 +130,10 @@ public class RecentInfo } /** - * Gets the the time when the resource + * Gets the time when the resource * was added to the recently used resources list. * - * Returns: a #GDateTime for the time + * Returns: a `GDateTime` for the time * when the resource was added */ public DateTime getAdded() @@ -236,8 +237,7 @@ public class RecentInfo /** * Retrieves the icon associated to the resource MIME type. * - * Returns: a #GIcon containing the icon, or %NULL. - * Use g_object_unref() when finished using the icon + * Returns: a `GIcon` containing the icon */ public IconIF getGicon() { @@ -285,7 +285,7 @@ public class RecentInfo * Gets the time when the meta-data * for the resource was last modified. * - * Returns: a #GDateTime for the time + * Returns: a `GDateTime` for the time * when the resource was last modified */ public DateTime getModified() @@ -365,7 +365,7 @@ public class RecentInfo * Gets the time when the meta-data * for the resource was last visited. * - * Returns: a #GDateTime for the time + * Returns: a `GDateTime` for the time * when the resource was last visited */ public DateTime getVisited() diff --git a/generated/gtkd/gtk/RecentManager.d b/source/generated/gtk/gtk/RecentManager.d similarity index 99% rename from generated/gtkd/gtk/RecentManager.d rename to source/generated/gtk/gtk/RecentManager.d index f66813b6f..771838193 100644 --- a/generated/gtkd/gtk/RecentManager.d +++ b/source/generated/gtk/gtk/RecentManager.d @@ -139,7 +139,7 @@ public class RecentManager : ObjectG * signal each time something inside the list changes. * * `GtkRecentManager` objects are expensive: be sure to create them - * only when needed. You should use [type_func@Gtk.RecentManager.get_default] + * only when needed. You should use [func@Gtk.RecentManager.get_default] * instead. * * Returns: A newly created `GtkRecentManager` object diff --git a/generated/gtkd/gtk/Requisition.d b/source/generated/gtk/gtk/Requisition.d similarity index 92% rename from generated/gtkd/gtk/Requisition.d rename to source/generated/gtk/gtk/Requisition.d index 0aa222d6e..cccbc7673 100644 --- a/generated/gtkd/gtk/Requisition.d +++ b/source/generated/gtk/gtk/Requisition.d @@ -29,12 +29,12 @@ private import glib.MemorySlice; private import gobject.ObjectG; private import gtk.c.functions; public import gtk.c.types; -private import gtkd.Loader; +private import linker.Loader; /** - * A #GtkRequisition-struct represents the desired size of a widget. See - * [GtkWidget’s geometry management section][geometry-management] for + * A `GtkRequisition` represents the desired size of a widget. See + * [GtkWidget’s geometry management section](class.Widget.html#height-for-width-geometry-management) for * more information. */ public final class Requisition @@ -68,7 +68,7 @@ public final class Requisition ~this () { - if ( Linker.isLoaded(LIBRARY_GTK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GTK[0]) && ownedRef ) gtk_requisition_free(gtkRequisition); } diff --git a/generated/gtkd/gtk/Revealer.d b/source/generated/gtk/gtk/Revealer.d similarity index 100% rename from generated/gtkd/gtk/Revealer.d rename to source/generated/gtk/gtk/Revealer.d diff --git a/generated/gtkd/gtk/RootIF.d b/source/generated/gtk/gtk/RootIF.d similarity index 97% rename from generated/gtkd/gtk/RootIF.d rename to source/generated/gtk/gtk/RootIF.d index 768b9bc77..65a6b064d 100644 --- a/generated/gtkd/gtk/RootIF.d +++ b/source/generated/gtk/gtk/RootIF.d @@ -75,8 +75,7 @@ public interface RootIF{ * `gtk_widget_has_focus (widget)` will be %FALSE for the * widget. * - * Returns: the currently focused - * widget, or %NULL if there is none. + * Returns: the currently focused widget */ public Widget getFocus(); diff --git a/generated/gtkd/gtk/RootT.d b/source/generated/gtk/gtk/RootT.d similarity index 97% rename from generated/gtkd/gtk/RootT.d rename to source/generated/gtk/gtk/RootT.d index ff3bc06d9..1716356cf 100644 --- a/generated/gtkd/gtk/RootT.d +++ b/source/generated/gtk/gtk/RootT.d @@ -82,8 +82,7 @@ public template RootT(TStruct) * `gtk_widget_has_focus (widget)` will be %FALSE for the * widget. * - * Returns: the currently focused - * widget, or %NULL if there is none. + * Returns: the currently focused widget */ public Widget getFocus() { diff --git a/generated/gtkd/gtk/Scale.d b/source/generated/gtk/gtk/Scale.d similarity index 97% rename from generated/gtkd/gtk/Scale.d rename to source/generated/gtk/gtk/Scale.d index a907cebc1..7acbdf3e7 100644 --- a/generated/gtkd/gtk/Scale.d +++ b/source/generated/gtk/gtk/Scale.d @@ -195,7 +195,7 @@ public class Scale : Range * max = maximum value * step = step increment (tick size) used with keyboard shortcuts * - * Returns: a new #GtkScale + * Returns: a new `GtkScale` * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -225,12 +225,11 @@ public class Scale : Range * Params: * value = the value at which the mark is placed, must be between * the lower and upper limits of the scales’ adjustment - * position = where to draw the mark. For a horizontal scale, #GTK_POS_TOP + * position = where to draw the mark. For a horizontal scale, %GTK_POS_TOP * and %GTK_POS_LEFT are drawn above the scale, anything else below. - * For a vertical scale, #GTK_POS_LEFT and %GTK_POS_TOP are drawn to + * For a vertical scale, %GTK_POS_LEFT and %GTK_POS_TOP are drawn to * the left of the scale, anything else to the right. - * markup = Text to be shown at the mark, using - * Pango markup, or %NULL + * markup = Text to be shown at the mark, using Pango markup */ public void addMark(double value, GtkPositionType position, string markup) { @@ -309,8 +308,8 @@ public class Scale : Range * values are undefined. * * Params: - * x = location to store X offset of layout, or %NULL - * y = location to store Y offset of layout, or %NULL + * x = location to store X offset of layout + * y = location to store Y offset of layout */ public void getLayoutOffsets(out int x, out int y) { diff --git a/generated/gtkd/gtk/ScaleButton.d b/source/generated/gtk/gtk/ScaleButton.d similarity index 100% rename from generated/gtkd/gtk/ScaleButton.d rename to source/generated/gtk/gtk/ScaleButton.d diff --git a/generated/gtkd/gtk/ScrollableIF.d b/source/generated/gtk/gtk/ScrollableIF.d similarity index 89% rename from generated/gtkd/gtk/ScrollableIF.d rename to source/generated/gtk/gtk/ScrollableIF.d index cb4aff601..158abd4d5 100644 --- a/generated/gtkd/gtk/ScrollableIF.d +++ b/source/generated/gtk/gtk/ScrollableIF.d @@ -44,21 +44,20 @@ public import gtk.c.types; * All scrollable widgets should do the following. * * - When a parent widget sets the scrollable child widget’s adjustments, - * the widget should populate the adjustments’ - * [property@Gtk.Adjustment:lower], - * [property@Gtk.Adjustment:upper], - * [property@Gtk.Adjustment:step-increment], - * [property@Gtk.Adjustment:page-increment] and - * [property@Gtk.Adjustment:page-size] properties and connect to the - * [signal@Gtk.Adjustment::value-changed] signal. + * the widget should connect to the [signal@Gtk.Adjustment::value-changed] + * signal. The child widget should then populate the adjustments’ properties + * as soon as possible, which usually means queueing an allocation right away + * and populating the properties in the [vfunc@Gtk.Widget.size_allocate] + * implementation. * * - Because its preferred size is the size for a fully expanded widget, * the scrollable widget must be able to cope with underallocations. * This means that it must accept any value passed to its - * GtkWidgetClass.size_allocate() function. + * [vfunc@Gtk.Widget.size_allocate] implementation. * * - When the parent allocates space to the scrollable child widget, - * the widget should update the adjustments’ properties with new values. + * the widget must ensure the adjustments’ property values are correct and up + * to date, for example using [method@Gtk.Adjustment.configure]. * * - When any of the adjustments emits the [signal@Gtk.Adjustment::value-changed] * signal, the scrollable widget should scroll its contents. diff --git a/generated/gtkd/gtk/ScrollableT.d b/source/generated/gtk/gtk/ScrollableT.d similarity index 91% rename from generated/gtkd/gtk/ScrollableT.d rename to source/generated/gtk/gtk/ScrollableT.d index c1ad896d6..8a8bccfff 100644 --- a/generated/gtkd/gtk/ScrollableT.d +++ b/source/generated/gtk/gtk/ScrollableT.d @@ -44,21 +44,20 @@ public import gtk.c.types; * All scrollable widgets should do the following. * * - When a parent widget sets the scrollable child widget’s adjustments, - * the widget should populate the adjustments’ - * [property@Gtk.Adjustment:lower], - * [property@Gtk.Adjustment:upper], - * [property@Gtk.Adjustment:step-increment], - * [property@Gtk.Adjustment:page-increment] and - * [property@Gtk.Adjustment:page-size] properties and connect to the - * [signal@Gtk.Adjustment::value-changed] signal. + * the widget should connect to the [signal@Gtk.Adjustment::value-changed] + * signal. The child widget should then populate the adjustments’ properties + * as soon as possible, which usually means queueing an allocation right away + * and populating the properties in the [vfunc@Gtk.Widget.size_allocate] + * implementation. * * - Because its preferred size is the size for a fully expanded widget, * the scrollable widget must be able to cope with underallocations. * This means that it must accept any value passed to its - * GtkWidgetClass.size_allocate() function. + * [vfunc@Gtk.Widget.size_allocate] implementation. * * - When the parent allocates space to the scrollable child widget, - * the widget should update the adjustments’ properties with new values. + * the widget must ensure the adjustments’ property values are correct and up + * to date, for example using [method@Gtk.Adjustment.configure]. * * - When any of the adjustments emits the [signal@Gtk.Adjustment::value-changed] * signal, the scrollable widget should scroll its contents. diff --git a/generated/gtkd/gtk/Scrollbar.d b/source/generated/gtk/gtk/Scrollbar.d similarity index 98% rename from generated/gtkd/gtk/Scrollbar.d rename to source/generated/gtk/gtk/Scrollbar.d index d0b85f446..bf75ee707 100644 --- a/generated/gtkd/gtk/Scrollbar.d +++ b/source/generated/gtk/gtk/Scrollbar.d @@ -40,7 +40,7 @@ public import gtk.c.types; * ![An example GtkScrollbar](scrollbar.png) * * Its position and movement are controlled by the adjustment that is passed to - * or created by [ctor@Gtk.Scrollbar.new]. See [class.Gtk.Adjustment] for more + * or created by [ctor@Gtk.Scrollbar.new]. See [class@Gtk.Adjustment] for more * details. The [property@Gtk.Adjustment:value] field sets the position of the * thumb and must be between [property@Gtk.Adjustment:lower] and * [property@Gtk.Adjustment:upper] - [property@Gtk.Adjustment:page-size]. diff --git a/generated/gtkd/gtk/ScrolledWindow.d b/source/generated/gtk/gtk/ScrolledWindow.d similarity index 99% rename from generated/gtkd/gtk/ScrolledWindow.d rename to source/generated/gtk/gtk/ScrolledWindow.d index 02ea18b0b..fac741a29 100644 --- a/generated/gtkd/gtk/ScrolledWindow.d +++ b/source/generated/gtk/gtk/ScrolledWindow.d @@ -324,9 +324,9 @@ public class ScrolledWindow : Widget * * Params: * hscrollbarPolicy = location to store the policy - * for the horizontal scrollbar, or %NULL + * for the horizontal scrollbar * vscrollbarPolicy = location to store the policy - * for the vertical scrollbar, or %NULL + * for the vertical scrollbar */ public void getPolicy(out GtkPolicyType hscrollbarPolicy, out GtkPolicyType vscrollbarPolicy) { diff --git a/generated/gtkd/gtk/SearchBar.d b/source/generated/gtk/gtk/SearchBar.d similarity index 99% rename from generated/gtkd/gtk/SearchBar.d rename to source/generated/gtk/gtk/SearchBar.d index 7dce1fedc..706072b86 100644 --- a/generated/gtkd/gtk/SearchBar.d +++ b/source/generated/gtk/gtk/SearchBar.d @@ -57,7 +57,7 @@ public import gtk.c.types; * The following example shows you how to create a more complex search * entry. * - * [A simple example](https://gitlab.gnome.org/GNOME/gtk/tree/master/examples/search-bar.c) + * [A simple example](https://gitlab.gnome.org/GNOME/gtk/tree/main/examples/search-bar.c) * * # CSS nodes * diff --git a/generated/gtkd/gtk/SearchEntry.d b/source/generated/gtk/gtk/SearchEntry.d similarity index 99% rename from generated/gtkd/gtk/SearchEntry.d rename to source/generated/gtk/gtk/SearchEntry.d index d99fd6d02..da00371ad 100644 --- a/generated/gtkd/gtk/SearchEntry.d +++ b/source/generated/gtk/gtk/SearchEntry.d @@ -175,7 +175,7 @@ public class SearchEntry : Widget, EditableIF * [method@Gtk.EventControllerKey.forward]. * * Params: - * widget = a #GtkWidget + * widget = a `GtkWidget` */ public void setKeyCaptureWidget(Widget widget) { diff --git a/generated/gtkd/gtk/SelectionFilterModel.d b/source/generated/gtk/gtk/SelectionFilterModel.d similarity index 98% rename from generated/gtkd/gtk/SelectionFilterModel.d rename to source/generated/gtk/gtk/SelectionFilterModel.d index 1921fd34e..a14cfb25d 100644 --- a/generated/gtkd/gtk/SelectionFilterModel.d +++ b/source/generated/gtk/gtk/SelectionFilterModel.d @@ -80,7 +80,7 @@ public class SelectionFilterModel : ObjectG, ListModelIF * selected items from the underlying selection model. * * Params: - * model = the selection model to filter, or %NULL + * model = the selection model to filter * * Returns: a new `GtkSelectionFilterModel` * diff --git a/generated/gtkd/gtk/SelectionModelIF.d b/source/generated/gtk/gtk/SelectionModelIF.d similarity index 95% rename from generated/gtkd/gtk/SelectionModelIF.d rename to source/generated/gtk/gtk/SelectionModelIF.d index 0a67ac44f..5481907e3 100644 --- a/generated/gtkd/gtk/SelectionModelIF.d +++ b/source/generated/gtk/gtk/SelectionModelIF.d @@ -48,12 +48,14 @@ private import std.algorithm; * [signal@Gtk.SelectionModel::selection-changed] signal by calling the * [method@Gtk.SelectionModel.selection_changed] function. The positions given * in that signal may have their selection state changed, though that is not a - * requirement. If new items added to the model via the ::items-changed signal - * are selected or not is up to the implementation. + * requirement. If new items added to the model via the + * [signal@Gio.ListModel::items-changed] signal are selected or not is up to the + * implementation. * - * Note that items added via ::items-changed may already be selected and no - * [Gtk.SelectionModel::selection-changed] will be emitted for them. So to - * track which items are selected, it is necessary to listen to both signals. + * Note that items added via [signal@Gio.ListModel::items-changed] may already + * be selected and no [signal@Gtk.SelectionModel::selection-changed] will be + * emitted for them. So to track which items are selected, it is necessary to + * listen to both signals. * * Additionally, the interface can expose functionality to select and unselect * items. If these functions are implemented, GTK's list widgets will allow users @@ -206,8 +208,7 @@ public interface SelectionModelIF{ * be selected. * * Params: - * selected = bitmask specifying if items should be selected or - * unselected + * selected = bitmask specifying if items should be selected or unselected * mask = bitmask specifying which items should be updated * * Returns: %TRUE if this action was supported and no fallback should be diff --git a/generated/gtkd/gtk/SelectionModelT.d b/source/generated/gtk/gtk/SelectionModelT.d similarity index 96% rename from generated/gtkd/gtk/SelectionModelT.d rename to source/generated/gtk/gtk/SelectionModelT.d index 010242e7a..435b6ac31 100644 --- a/generated/gtkd/gtk/SelectionModelT.d +++ b/source/generated/gtk/gtk/SelectionModelT.d @@ -48,12 +48,14 @@ public import std.algorithm; * [signal@Gtk.SelectionModel::selection-changed] signal by calling the * [method@Gtk.SelectionModel.selection_changed] function. The positions given * in that signal may have their selection state changed, though that is not a - * requirement. If new items added to the model via the ::items-changed signal - * are selected or not is up to the implementation. + * requirement. If new items added to the model via the + * [signal@Gio.ListModel::items-changed] signal are selected or not is up to the + * implementation. * - * Note that items added via ::items-changed may already be selected and no - * [Gtk.SelectionModel::selection-changed] will be emitted for them. So to - * track which items are selected, it is necessary to listen to both signals. + * Note that items added via [signal@Gio.ListModel::items-changed] may already + * be selected and no [signal@Gtk.SelectionModel::selection-changed] will be + * emitted for them. So to track which items are selected, it is necessary to + * listen to both signals. * * Additionally, the interface can expose functionality to select and unselect * items. If these functions are implemented, GTK's list widgets will allow users @@ -238,8 +240,7 @@ public template SelectionModelT(TStruct) * be selected. * * Params: - * selected = bitmask specifying if items should be selected or - * unselected + * selected = bitmask specifying if items should be selected or unselected * mask = bitmask specifying which items should be updated * * Returns: %TRUE if this action was supported and no fallback should be diff --git a/generated/gtkd/gtk/Separator.d b/source/generated/gtk/gtk/Separator.d similarity index 97% rename from generated/gtkd/gtk/Separator.d rename to source/generated/gtk/gtk/Separator.d index 9942bb837..19bacf5f9 100644 --- a/generated/gtkd/gtk/Separator.d +++ b/source/generated/gtk/gtk/Separator.d @@ -49,7 +49,7 @@ public import gtk.c.types; * * # Accessibility * - * `GtkSeparator` uses the #GTK_ACCESSIBLE_ROLE_SEPARATOR role. + * `GtkSeparator` uses the %GTK_ACCESSIBLE_ROLE_SEPARATOR role. */ public class Separator : Widget, OrientableIF { diff --git a/generated/gtkd/gtk/Settings.d b/source/generated/gtk/gtk/Settings.d similarity index 97% rename from generated/gtkd/gtk/Settings.d rename to source/generated/gtk/gtk/Settings.d index ab9234940..e20e4cf07 100644 --- a/generated/gtkd/gtk/Settings.d +++ b/source/generated/gtk/gtk/Settings.d @@ -58,7 +58,7 @@ public import gtk.c.types; * configuration facility. * * There is one `GtkSettings` instance per display. It can be obtained with - * [type_func@GtkSettings.get_for_display], but in many cases, it is more + * [func@Gtk.Settings.get_for_display], but in many cases, it is more * convenient to use [method@Gtk.Widget.get_settings]. */ public class Settings : ObjectG, StyleProviderIF @@ -103,7 +103,7 @@ public class Settings : ObjectG, StyleProviderIF * Gets the `GtkSettings` object for the default display, creating * it if necessary. * - * See [type_func@Gtk.Settings.get_for_display]. + * See [func@Gtk.Settings.get_for_display]. * * Returns: a `GtkSettings` object. If there is * no default display, then returns %NULL. diff --git a/generated/gtkd/gtk/Shortcut.d b/source/generated/gtk/gtk/Shortcut.d similarity index 98% rename from generated/gtkd/gtk/Shortcut.d rename to source/generated/gtk/gtk/Shortcut.d index 22661c0d3..99c40ac30 100644 --- a/generated/gtkd/gtk/Shortcut.d +++ b/source/generated/gtk/gtk/Shortcut.d @@ -44,7 +44,7 @@ public import gtk.c.types; * The actual work is usually done via [class@Gtk.ShortcutController], * which decides if and when to activate a shortcut. Using that controller * directly however is rarely necessary as various higher level - * convenience APIs exist on #GtkWidgets that make it easier to use + * convenience APIs exist on `GtkWidget`s that make it easier to use * shortcuts in GTK. * * `GtkShortcut` does provide functionality to make it easy for users diff --git a/generated/gtkd/gtk/ShortcutAction.d b/source/generated/gtk/gtk/ShortcutAction.d similarity index 99% rename from generated/gtkd/gtk/ShortcutAction.d rename to source/generated/gtk/gtk/ShortcutAction.d index 5e44abd8c..fdd69fb3a 100644 --- a/generated/gtkd/gtk/ShortcutAction.d +++ b/source/generated/gtk/gtk/ShortcutAction.d @@ -117,7 +117,6 @@ public class ShortcutAction : ObjectG * string_ = the string to parse * * Returns: a new `GtkShortcutAction` - * or %NULL on error * * Throws: ConstructionException GTK+ fails to create the object. */ diff --git a/generated/gtkd/gtk/ShortcutController.d b/source/generated/gtk/gtk/ShortcutController.d similarity index 95% rename from generated/gtkd/gtk/ShortcutController.d rename to source/generated/gtk/gtk/ShortcutController.d index 392dca429..3331f9f52 100644 --- a/generated/gtkd/gtk/ShortcutController.d +++ b/source/generated/gtk/gtk/ShortcutController.d @@ -41,8 +41,8 @@ public import gtk.c.types; * * Most common shortcuts are using this controller implicitly, e.g. by * adding a mnemonic underline to a `GtkLabel`, or by installing a key - * binding using gtk_widget_class_add_binding(), or by adding accelerators - * to global actions using gtk_application_set_accels_for_action(). + * binding using [method@Gtk.WidgetClass.add_binding], or by adding accelerators + * to global actions using [method@Gtk.Application.set_accels_for_action]. * * But it is possible to create your own shortcut controller, and add * shortcuts to it. @@ -63,7 +63,7 @@ public import gtk.c.types; * managed * * - * &lt;Control&gt;k + * <Control>k * activate * * @@ -190,8 +190,9 @@ public class ShortcutController : EventController, ListModelIF, BuildableIF } /** - * Gets the scope for when this controller activates its shortcuts. See - * gtk_shortcut_controller_set_scope() for details. + * Gets the scope for when this controller activates its shortcuts. + * + * See [method@Gtk.ShortcutController.set_scope] for details. * * Returns: the controller's scope */ @@ -215,12 +216,12 @@ public class ShortcutController : EventController, ListModelIF, BuildableIF } /** - * Sets the controller to have the given @mnemonics_modifiers. + * Sets the controller to use the given modifier for mnemonics. * * The mnemonics modifiers determines which modifiers need to be pressed to allow * activation of shortcuts with mnemonics triggers. * - * GTK normally uses the Alt modifier for mnemonics, except in #GtkPopoverMenus, + * GTK normally uses the Alt modifier for mnemonics, except in `GtkPopoverMenu`s, * where mnemonics can be triggered without any modifiers. It should be very * rarely necessary to change this, and doing so is likely to interfere with * other shortcuts. diff --git a/generated/gtkd/gtk/ShortcutLabel.d b/source/generated/gtk/gtk/ShortcutLabel.d similarity index 100% rename from generated/gtkd/gtk/ShortcutLabel.d rename to source/generated/gtk/gtk/ShortcutLabel.d diff --git a/generated/gtkd/gtk/ShortcutManagerIF.d b/source/generated/gtk/gtk/ShortcutManagerIF.d similarity index 100% rename from generated/gtkd/gtk/ShortcutManagerIF.d rename to source/generated/gtk/gtk/ShortcutManagerIF.d diff --git a/generated/gtkd/gtk/ShortcutManagerT.d b/source/generated/gtk/gtk/ShortcutManagerT.d similarity index 100% rename from generated/gtkd/gtk/ShortcutManagerT.d rename to source/generated/gtk/gtk/ShortcutManagerT.d diff --git a/generated/gtkd/gtk/ShortcutTrigger.d b/source/generated/gtk/gtk/ShortcutTrigger.d similarity index 94% rename from generated/gtkd/gtk/ShortcutTrigger.d rename to source/generated/gtk/gtk/ShortcutTrigger.d index bbf2d23a1..8605c7c4c 100644 --- a/generated/gtkd/gtk/ShortcutTrigger.d +++ b/source/generated/gtk/gtk/ShortcutTrigger.d @@ -105,7 +105,6 @@ public class ShortcutTrigger : ObjectG * string_ = the string to parse * * Returns: a new `GtkShortcutTrigger` - * or %NULL on error * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -122,8 +121,8 @@ public class ShortcutTrigger : ObjectG } /** - * The types of @trigger1 and @trigger2 are #gconstpointer only to allow - * use of this function as a #GCompareFunc. + * The types of @trigger1 and @trigger2 are `gconstpointer` only to allow + * use of this function as a `GCompareFunc`. * * They must each be a `GtkShortcutTrigger`. * @@ -142,8 +141,8 @@ public class ShortcutTrigger : ObjectG /** * Checks if @trigger1 and @trigger2 trigger under the same conditions. * - * The types of @one and @two are #gconstpointer only to allow use of this - * function with #GHashTable. They must each be a `GtkShortcutTrigger`. + * The types of @one and @two are `gconstpointer` only to allow use of this + * function with `GHashTable`. They must each be a `GtkShortcutTrigger`. * * Params: * trigger2 = a `GtkShortcutTrigger` @@ -163,8 +162,8 @@ public class ShortcutTrigger : ObjectG * architectures or even different versions of GTK. Do not use this * function as a basis for building protocols or file formats. * - * The types of @trigger is #gconstpointer only to allow use of this - * function with #GHashTable. They must each be a `GtkShortcutTrigger`. + * The types of @trigger is `gconstpointer` only to allow use of this + * function with `GHashTable`. They must each be a `GtkShortcutTrigger`. * * Returns: a hash value corresponding to @trigger */ diff --git a/generated/gtkd/gtk/ShortcutsGroup.d b/source/generated/gtk/gtk/ShortcutsGroup.d similarity index 100% rename from generated/gtkd/gtk/ShortcutsGroup.d rename to source/generated/gtk/gtk/ShortcutsGroup.d diff --git a/generated/gtkd/gtk/ShortcutsSection.d b/source/generated/gtk/gtk/ShortcutsSection.d similarity index 100% rename from generated/gtkd/gtk/ShortcutsSection.d rename to source/generated/gtk/gtk/ShortcutsSection.d diff --git a/generated/gtkd/gtk/ShortcutsShortcut.d b/source/generated/gtk/gtk/ShortcutsShortcut.d similarity index 100% rename from generated/gtkd/gtk/ShortcutsShortcut.d rename to source/generated/gtk/gtk/ShortcutsShortcut.d diff --git a/generated/gtkd/gtk/ShortcutsWindow.d b/source/generated/gtk/gtk/ShortcutsWindow.d similarity index 95% rename from generated/gtkd/gtk/ShortcutsWindow.d rename to source/generated/gtk/gtk/ShortcutsWindow.d index 065488fb9..93b131fd5 100644 --- a/generated/gtkd/gtk/ShortcutsWindow.d +++ b/source/generated/gtk/gtk/ShortcutsWindow.d @@ -54,7 +54,7 @@ private import std.algorithm; * are arranged in columns, and spread across several pages if there are too * many to find on a single page. * - * The .ui file for this example can be found [here](https://gitlab.gnome.org/GNOME/gtk/tree/master/demos/gtk-demo/shortcuts-gedit.ui). + * The .ui file for this example can be found [here](https://gitlab.gnome.org/GNOME/gtk/tree/main/demos/gtk-demo/shortcuts-gedit.ui). * * # An example with multiple views: * @@ -63,7 +63,7 @@ private import std.algorithm; * This example shows a `GtkShortcutsWindow` that has been configured to show only * the shortcuts relevant to the "stopwatch" view. * - * The .ui file for this example can be found [here](https://gitlab.gnome.org/GNOME/gtk/tree/master/demos/gtk-demo/shortcuts-clocks.ui). + * The .ui file for this example can be found [here](https://gitlab.gnome.org/GNOME/gtk/tree/main/demos/gtk-demo/shortcuts-clocks.ui). * * # An example with multiple sections: * @@ -72,7 +72,7 @@ private import std.algorithm; * This example shows a `GtkShortcutsWindow` with two sections, "Editor Shortcuts" * and "Terminal Shortcuts". * - * The .ui file for this example can be found [here](https://gitlab.gnome.org/GNOME/gtk/tree/master/demos/gtk-demo/shortcuts-builder.ui). + * The .ui file for this example can be found [here](https://gitlab.gnome.org/GNOME/gtk/tree/main/demos/gtk-demo/shortcuts-builder.ui). */ public class ShortcutsWindow : Window { diff --git a/generated/gtkd/gtk/SignalAction.d b/source/generated/gtk/gtk/SignalAction.d similarity index 100% rename from generated/gtkd/gtk/SignalAction.d rename to source/generated/gtk/gtk/SignalAction.d diff --git a/generated/gtkd/gtk/SignalListItemFactory.d b/source/generated/gtk/gtk/SignalListItemFactory.d similarity index 96% rename from generated/gtkd/gtk/SignalListItemFactory.d rename to source/generated/gtk/gtk/SignalListItemFactory.d index 0b6d2379f..a29067d49 100644 --- a/generated/gtkd/gtk/SignalListItemFactory.d +++ b/source/generated/gtk/gtk/SignalListItemFactory.d @@ -68,7 +68,7 @@ private import std.algorithm; * was emitted on a listitem, the listitem will be destroyed and not be used again. * * Note that during the signal emissions, changing properties on the - * #GtkListItems passed will not trigger notify signals as the listitem's + * `GtkListItem`s passed will not trigger notify signals as the listitem's * notifications are frozen. See g_object_freeze_notify() for details. * * For tracking changes in other properties in the `GtkListItem`, the @@ -144,7 +144,7 @@ public class SignalListItemFactory : ListItemFactory * in this signal. * * Params: - * listitem = The #GtkListItem to bind + * listitem = The `GtkListItem` to bind */ gulong addOnBind(void delegate(ListItem, SignalListItemFactory) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -160,7 +160,7 @@ public class SignalListItemFactory : ListItemFactory * of this signal and can be used to undo everything done in this signal. * * Params: - * listitem = The #GtkListItem to set up + * listitem = The `GtkListItem` to set up */ gulong addOnSetup(void delegate(ListItem, SignalListItemFactory) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -176,7 +176,7 @@ public class SignalListItemFactory : ListItemFactory * signal and should be used to undo everything done in that signal. * * Params: - * listitem = The #GtkListItem to teardown + * listitem = The `GtkListItem` to teardown */ gulong addOnTeardown(void delegate(ListItem, SignalListItemFactory) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -191,7 +191,7 @@ public class SignalListItemFactory : ListItemFactory * signal and should be used to undo everything done in that signal. * * Params: - * listitem = The #GtkListItem to unbind + * listitem = The `GtkListItem` to unbind */ gulong addOnUnbind(void delegate(ListItem, SignalListItemFactory) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { diff --git a/generated/gtkd/gtk/SingleSelection.d b/source/generated/gtk/gtk/SingleSelection.d similarity index 96% rename from generated/gtkd/gtk/SingleSelection.d rename to source/generated/gtk/gtk/SingleSelection.d index c72d88131..ef0e4983d 100644 --- a/generated/gtkd/gtk/SingleSelection.d +++ b/source/generated/gtk/gtk/SingleSelection.d @@ -39,9 +39,9 @@ public import gtk.c.types; * item. * * Note that the selection is *persistent* -- if the selected item is removed - * and re-added in the same ::items-changed emission, it stays selected. - * In particular, this means that changing the sort order of an underlying sort - * model will preserve the selection. + * and re-added in the same [signal@Gio.ListModel::items-changed] emission, it + * stays selected. In particular, this means that changing the sort order of an + * underlying sort model will preserve the selection. */ public class SingleSelection : ObjectG, ListModelIF, SelectionModelIF { @@ -88,7 +88,7 @@ public class SingleSelection : ObjectG, ListModelIF, SelectionModelIF * Creates a new selection to handle @model. * * Params: - * model = the `GListModel` to manage, or %NULL + * model = the `GListModel` to manage * * Returns: a new `GtkSingleSelection` * diff --git a/generated/gtkd/gtk/SizeGroup.d b/source/generated/gtk/gtk/SizeGroup.d similarity index 100% rename from generated/gtkd/gtk/SizeGroup.d rename to source/generated/gtk/gtk/SizeGroup.d diff --git a/generated/gtkd/gtk/SliceListModel.d b/source/generated/gtk/gtk/SliceListModel.d similarity index 99% rename from generated/gtkd/gtk/SliceListModel.d rename to source/generated/gtk/gtk/SliceListModel.d index 17a8da095..9a1a94d53 100644 --- a/generated/gtkd/gtk/SliceListModel.d +++ b/source/generated/gtk/gtk/SliceListModel.d @@ -84,7 +84,7 @@ public class SliceListModel : ObjectG, ListModelIF * of the given @model. * * Params: - * model = The model to use, or %NULL + * model = The model to use * offset = the offset of the slice * size = maximum size of the slice * diff --git a/generated/gtkd/gtk/Snapshot.d b/source/generated/gtk/gtk/Snapshot.d similarity index 91% rename from generated/gtkd/gtk/Snapshot.d rename to source/generated/gtk/gtk/Snapshot.d index 37d415e77..8f266dbdc 100644 --- a/generated/gtkd/gtk/Snapshot.d +++ b/source/generated/gtk/gtk/Snapshot.d @@ -51,17 +51,17 @@ private import pango.PgLayout; /** - * `GtkSnapshot` assists in creating `GskRenderNodes` for widgets. + * `GtkSnapshot` assists in creating [class@Gsk.RenderNode]s for widgets. * * It functions in a similar way to a cairo context, and maintains a stack * of render nodes and their associated transformations. * - * The node at the top of the stack is the the one that gtk_snapshot_append_… - * functions operate on. Use the gtk_snapshot_push_… functions and - * gtk_snapshot_pop() to change the current node. + * The node at the top of the stack is the one that `gtk_snapshot_append_…()` + * functions operate on. Use the `gtk_snapshot_push_…()` functions and + * [method@Snapshot.pop] to change the current node. * * The typical way to obtain a `GtkSnapshot` object is as an argument to - * the GtkWidgetClass.snapshot() vfunc. If you need to create your own + * the [vfunc@Gtk.Widget.snapshot] vfunc. If you need to create your own * `GtkSnapshot`, use [ctor@Gtk.Snapshot.new]. */ public class Snapshot : DGdkSnapshot @@ -124,7 +124,7 @@ public class Snapshot : DGdkSnapshot * The four sides of the border can have different widths and colors. * * Params: - * outline = a `GskRoundedRect` describing the outline of the border + * outline = the outline of the border * borderWidth = the stroke width of the border on * the top, right, bottom and left side respectively. * borderColor = the color used on the top, right, @@ -142,7 +142,7 @@ public class Snapshot : DGdkSnapshot } /** - * Creates a new `GskCairoNode` and appends it to the current + * Creates a new [class@Gsk.CairoNode] and appends it to the current * render node of @snapshot, without changing the current node. * * Params: @@ -172,7 +172,7 @@ public class Snapshot : DGdkSnapshot * @color is transparent. * * Params: - * color = the `GdkRGBA` to draw + * color = the color to draw * bounds = the bounds for the new node */ public void appendColor(RGBA color, Rect bounds) @@ -188,8 +188,7 @@ public class Snapshot : DGdkSnapshot * center = the center point of the conic gradient * rotation = the clockwise rotation in degrees of the starting angle. * 0 means the starting angle is the top. - * stops = a pointer to an array of `GskColorStop` - * defining the gradient + * stops = the color stops defining the gradient */ public void appendConicGradient(Rect bounds, Point center, float rotation, GskColorStop[] stops) { @@ -225,8 +224,7 @@ public class Snapshot : DGdkSnapshot * bounds = the rectangle to render the linear gradient into * startPoint = the point at which the linear gradient will begin * endPoint = the point at which the linear gradient will finish - * stops = a pointer to an array of `GskColorStop` - * defining the gradient + * stops = the color stops defining the gradient */ public void appendLinearGradient(Rect bounds, Point startPoint, Point endPoint, GskColorStop[] stops) { @@ -241,7 +239,7 @@ public class Snapshot : DGdkSnapshot * will become the initial node. * * Params: - * node = a #GskRenderNode + * node = a `GskRenderNode` */ public void appendNode(RenderNode node) { @@ -274,8 +272,7 @@ public class Snapshot : DGdkSnapshot * vradius = the vertical radius * start = the start position (on the horizontal axis) * end = the end position (on the horizontal axis) - * stops = a pointer to an array of `GskColorStop` - * defining the gradient + * stops = the color stops defining the gradient */ public void appendRadialGradient(Rect bounds, Point center, float hradius, float vradius, float start, float end, GskColorStop[] stops) { @@ -289,8 +286,7 @@ public class Snapshot : DGdkSnapshot * bounds = the rectangle to render the linear gradient into * startPoint = the point at which the linear gradient will begin * endPoint = the point at which the linear gradient will finish - * stops = a pointer to an array of `GskColorStop` - * defining the gradient + * stops = the color stops defining the gradient */ public void appendRepeatingLinearGradient(Rect bounds, Point startPoint, Point endPoint, GskColorStop[] stops) { @@ -307,8 +303,7 @@ public class Snapshot : DGdkSnapshot * vradius = the vertical radius * start = the start position (on the horizontal axis) * end = the end position (on the horizontal axis) - * stops = a pointer to an array of `GskColorStop` - * defining the gradient + * stops = the color stops defining the gradient */ public void appendRepeatingRadialGradient(Rect bounds, Point center, float hradius, float vradius, float start, float end, GskColorStop[] stops) { @@ -321,7 +316,7 @@ public class Snapshot : DGdkSnapshot * current render node of @snapshot. * * Params: - * texture = the `GdkTexture` to render + * texture = the texture to render * bounds = the bounds for the new node */ public void appendTexture(Texture texture, Rect bounds) @@ -333,7 +328,7 @@ public class Snapshot : DGdkSnapshot * Returns the node that was constructed by @snapshot * and frees @snapshot. * - * Returns: a newly-created `GskRenderNode` + * Returns: a newly-created [class@Gsk.RenderNode] */ public RenderNode freeToNode() { @@ -355,7 +350,7 @@ public class Snapshot : DGdkSnapshot * size = The size of the resulting paintable * or %NULL to use the bounds of the snapshot * - * Returns: a newly-created `GdkPaintable` + * Returns: a newly-created [iface@Gdk.Paintable] */ public PaintableIF freeToPaintable(Size size) { @@ -371,7 +366,7 @@ public class Snapshot : DGdkSnapshot /** * Removes the top element from the stack of render nodes and - * adds it to the nearest `GskGLShaderNode` below it. + * adds it to the nearest [class@Gsk.GLShaderNode] below it. * * This must be called the same number of times as the number * of textures is needed for the shader in @@ -429,7 +424,7 @@ public class Snapshot : DGdkSnapshot * The image is recorded until the next call to [method@Gtk.Snapshot.pop]. * * Params: - * radius = the blur radius to use + * radius = the blur radius to use. Must be positive */ public void pushBlur(double radius) { @@ -484,11 +479,11 @@ public class Snapshot : DGdkSnapshot } /** - * Push a `GskGLShaderNode`. + * Push a [class@Gsk.GLShaderNode]. * * The node uses the given [class@Gsk.GLShader] and uniform values * Additionally this takes a list of @n_children other nodes - * which will be passed to the `GskGLShaderNode`. + * which will be passed to the [class@Gsk.GLShaderNode]. * * The @take_args argument is a block of data to use for uniform * arguments, as per types and offsets defined by the @shader. @@ -577,11 +572,10 @@ public class Snapshot : DGdkSnapshot * * Params: * shadow = the first shadow specification - * nShadows = number of shadow specifications */ - public void pushShadow(GskShadow* shadow, size_t nShadows) + public void pushShadow(GskShadow[] shadow) { - gtk_snapshot_push_shadow(gtkSnapshot, shadow, nShadows); + gtk_snapshot_push_shadow(gtkSnapshot, shadow.ptr, cast(size_t)shadow.length); } /** @@ -590,7 +584,7 @@ public class Snapshot : DGdkSnapshot * the current node. * * Params: - * context = the `GtkStyleContext` to use + * context = the style context that defines the background * x = X origin of the rectangle * y = Y origin of the rectangle * width = rectangle width @@ -607,7 +601,7 @@ public class Snapshot : DGdkSnapshot * the current node. * * Params: - * context = the `GtkStyleContext` to use + * context = the style context that defines the focus ring * x = X origin of the rectangle * y = Y origin of the rectangle * width = rectangle width @@ -624,7 +618,7 @@ public class Snapshot : DGdkSnapshot * the current node. * * Params: - * context = the `GtkStyleContext` to use + * context = the style context that defines the frame * x = X origin of the rectangle * y = Y origin of the rectangle * width = rectangle width @@ -643,8 +637,8 @@ public class Snapshot : DGdkSnapshot * x = X origin * y = Y origin * layout = the `PangoLayout` of the text - * index = the index in the #PangoLayout - * direction = the #PangoDirection of the text + * index = the index in the `PangoLayout` + * direction = the `PangoDirection` of the text */ public void renderInsertionCursor(StyleContext context, double x, double y, PgLayout layout, int index, PangoDirection direction) { @@ -657,10 +651,10 @@ public class Snapshot : DGdkSnapshot * without changing the current node. * * Params: - * context = the `GtkStyleContext` to use + * context = the style context that defines the text * x = X origin of the rectangle * y = Y origin of the rectangle - * layout = the #PangoLayout to render + * layout = the `PangoLayout` to render */ public void renderLayout(StyleContext context, double x, double y, PgLayout layout) { @@ -669,7 +663,7 @@ public class Snapshot : DGdkSnapshot /** * Restores @snapshot to the state saved by a preceding call to - * gtk_snapshot_save() and removes that state from the stack of + * [method@Snapshot.save] and removes that state from the stack of * saved states. */ public void restore() @@ -711,12 +705,12 @@ public class Snapshot : DGdkSnapshot * * When [method@Gtk.Snapshot.restore] is called, @snapshot will * be restored to the saved state. Multiple calls to - * gtk_snapshot_save() and gtk_snapshot_restore() can be nested; - * each call to gtk_snapshot_restore() restores the state from - * the matching paired gtk_snapshot_save(). + * [method@Snapshot.save] and [class@Snapshot.restore] can be nested; + * each call to `gtk_snapshot_restore()` restores the state from + * the matching paired `gtk_snapshot_save()`. * * It is necessary to clear all saved states with corresponding - * calls to gtk_snapshot_restore(). + * calls to `gtk_snapshot_restore()`. */ public void save() { @@ -757,7 +751,7 @@ public class Snapshot : DGdkSnapshot * * After calling this function, it is no longer possible to * add more nodes to @snapshot. The only function that should - * be called after this is g_object_unref(). + * be called after this is [method@GObject.Object.unref]. * * Returns: the constructed `GskRenderNode` */ @@ -779,13 +773,13 @@ public class Snapshot : DGdkSnapshot * * After calling this function, it is no longer possible to * add more nodes to @snapshot. The only function that should - * be called after this is g_object_unref(). + * be called after this is [method@GObject.Object.unref]. * * Params: * size = The size of the resulting paintable * or %NULL to use the bounds of the snapshot * - * Returns: a new #GdkPaintable + * Returns: a new `GdkPaintable` */ public PaintableIF toPaintable(Size size) { diff --git a/generated/gtkd/gtk/SortListModel.d b/source/generated/gtk/gtk/SortListModel.d similarity index 91% rename from generated/gtkd/gtk/SortListModel.d rename to source/generated/gtk/gtk/SortListModel.d index e0387b571..c87c758b5 100644 --- a/generated/gtkd/gtk/SortListModel.d +++ b/source/generated/gtk/gtk/SortListModel.d @@ -34,8 +34,15 @@ public import gtk.c.types; /** - * `GtkSortListModel` is a list model that sorts the elements of - * the underlying model according to a `GtkSorter`. + * A `GListModel` that sorts the elements of an underlying model + * according to a `GtkSorter`. + * + * The model is a stable sort. If two items compare equal according + * to the sorter, the one that appears first in the original model will + * also appear first after sorting. + * Note that if you change the sorter, the previous order will have no + * influence on the new order. If you want that, consider using a + * `GtkMultiSorter` and appending the previous sorter to it. * * The model can be set up to do incremental sorting, so that * sorting long lists doesn't block the UI. See @@ -89,8 +96,8 @@ public class SortListModel : ObjectG, ListModelIF * Creates a new sort list model that uses the @sorter to sort @model. * * Params: - * model = the model to sort, or %NULL - * sorter = the `GtkSorter` to sort @model with, or %NULL + * model = the model to sort + * sorter = the `GtkSorter` to sort @model with, * * Returns: a new `GtkSortListModel` * diff --git a/generated/gtkd/gtk/Sorter.d b/source/generated/gtk/gtk/Sorter.d similarity index 92% rename from generated/gtkd/gtk/Sorter.d rename to source/generated/gtk/gtk/Sorter.d index 9ad08dbe8..e69200899 100644 --- a/generated/gtkd/gtk/Sorter.d +++ b/source/generated/gtk/gtk/Sorter.d @@ -89,15 +89,15 @@ public class Sorter : ObjectG } /** - * Emits the [signal@Gtk.Sorter::changed] signal to notify all users - * of the sorter that it has changed. + * Notifies all users of the sorter that it has changed. * - * Users of the sorter should then update the sort order via - * gtk_sorter_compare(). + * This emits the [signal@Gtk.Sorter::changed] signal. Users + * of the sorter should then update the sort order via + * [method@Gtk.Sorter.compare]. * - * Depending on the @change parameter, it may be possible to update - * the sort order without a full resorting. Refer to the - * [enum@Gtk.SorterChange] documentation for details. + * Depending on the @change parameter, it may be possible to + * update the sort order without a full resorting. Refer to + * the [enum@Gtk.SorterChange] documentation for details. * * This function is intended for implementors of `GtkSorter` * subclasses and should not be called from other functions. diff --git a/generated/gtkd/gtk/SpinButton.d b/source/generated/gtk/gtk/SpinButton.d similarity index 97% rename from generated/gtkd/gtk/SpinButton.d rename to source/generated/gtk/gtk/SpinButton.d index d2fdbd155..a0e7a929a 100644 --- a/generated/gtkd/gtk/SpinButton.d +++ b/source/generated/gtk/gtk/SpinButton.d @@ -202,8 +202,7 @@ public class SpinButton : Widget, CellEditableIF, EditableIF, OrientableIF * Creates a new `GtkSpinButton`. * * Params: - * adjustment = the `GtkAdjustment` that this spin - * button should use, or %NULL + * adjustment = the `GtkAdjustment` that this spin button should use * climbRate = specifies by how much the rate of change in the value will * accelerate if you continue to hold down an up/down button or arrow key * digits = the number of decimal places to display @@ -321,8 +320,8 @@ public class SpinButton : Widget, CellEditableIF, EditableIF, OrientableIF * See [method@Gtk.SpinButton.set_increments]. * * Params: - * step = location to store step increment, or %NULL - * page = location to store page increment, or %NULL + * step = location to store step increment + * page = location to store page increment */ public void getIncrements(out double step, out double page) { @@ -345,8 +344,8 @@ public class SpinButton : Widget, CellEditableIF, EditableIF, OrientableIF * See [method@Gtk.SpinButton.set_range]. * * Params: - * min = location to store minimum allowed value, or %NULL - * max = location to store maximum allowed value, or %NULL + * min = location to store minimum allowed value + * max = location to store maximum allowed value */ public void getRange(out double min, out double max) { @@ -570,7 +569,7 @@ public class SpinButton : Widget, CellEditableIF, EditableIF, OrientableIF * The default bindings for this signal are Up/Down and PageUp/PageDown. * * Params: - * scroll = a #GtkScrollType to specify the speed and amount of change + * scroll = a `GtkScrollType` to specify the speed and amount of change */ gulong addOnChangeValue(void delegate(GtkScrollType, SpinButton) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { diff --git a/generated/gtkd/gtk/Spinner.d b/source/generated/gtk/gtk/Spinner.d similarity index 100% rename from generated/gtkd/gtk/Spinner.d rename to source/generated/gtk/gtk/Spinner.d diff --git a/generated/gtkd/gtk/Stack.d b/source/generated/gtk/gtk/Stack.d similarity index 98% rename from generated/gtkd/gtk/Stack.d rename to source/generated/gtk/gtk/Stack.d index 762453e9d..583cb5474 100644 --- a/generated/gtkd/gtk/Stack.d +++ b/source/generated/gtk/gtk/Stack.d @@ -165,7 +165,7 @@ public class Stack : Widget * * Params: * child = the widget to add - * name = the name for @child or %NULL + * name = the name for @child * * Returns: the `GtkStackPage` for @child */ @@ -241,7 +241,7 @@ public class Stack : Widget } /** - * Returns whether the #GtkStack is set up to interpolate between + * Returns whether the `GtkStack` is set up to interpolate between * the sizes of children on page switch. * * Returns: %TRUE if child sizes are interpolated @@ -441,7 +441,7 @@ public class Stack : Widget } /** - * Sets the #GtkStack to be vertically homogeneous or not. + * Sets the `GtkStack` to be vertically homogeneous or not. * * If it is homogeneous, the `GtkStack` will request the same * height for all its children. If it isn't, the stack diff --git a/generated/gtkd/gtk/StackPage.d b/source/generated/gtk/gtk/StackPage.d similarity index 100% rename from generated/gtkd/gtk/StackPage.d rename to source/generated/gtk/gtk/StackPage.d diff --git a/generated/gtkd/gtk/StackSidebar.d b/source/generated/gtk/gtk/StackSidebar.d similarity index 98% rename from generated/gtkd/gtk/StackSidebar.d rename to source/generated/gtk/gtk/StackSidebar.d index 6717b0ad7..b5f26bb68 100644 --- a/generated/gtkd/gtk/StackSidebar.d +++ b/source/generated/gtk/gtk/StackSidebar.d @@ -106,7 +106,7 @@ public class StackSidebar : Widget /** * Retrieves the stack. * - * Returns: the associated #GtkStack or + * Returns: the associated `GtkStack` or * %NULL if none has been set explicitly */ public Stack getStack() diff --git a/generated/gtkd/gtk/StackSwitcher.d b/source/generated/gtk/gtk/StackSwitcher.d similarity index 90% rename from generated/gtkd/gtk/StackSwitcher.d rename to source/generated/gtk/gtk/StackSwitcher.d index aa6d7aa97..0a2a28d24 100644 --- a/generated/gtkd/gtk/StackSwitcher.d +++ b/source/generated/gtk/gtk/StackSwitcher.d @@ -26,6 +26,8 @@ module gtk.StackSwitcher; private import glib.ConstructionException; private import gobject.ObjectG; +private import gtk.OrientableIF; +private import gtk.OrientableT; private import gtk.Stack; private import gtk.Widget; private import gtk.c.functions; @@ -60,8 +62,14 @@ public import gtk.c.types; * * `GtkStackSwitcher` uses the %GTK_ACCESSIBLE_ROLE_TAB_LIST role * and uses the %GTK_ACCESSIBLE_ROLE_TAB for its buttons. + * + * # Orientable + * + * Since GTK 4.4, `GtkStackSwitcher` implements `GtkOrientable` allowing + * the stack switcher to be made vertical with + * `gtk_orientable_set_orientation()`. */ -public class StackSwitcher : Widget +public class StackSwitcher : Widget, OrientableIF { /** the main Gtk struct */ protected GtkStackSwitcher* gtkStackSwitcher; @@ -89,6 +97,9 @@ public class StackSwitcher : Widget super(cast(GtkWidget*)gtkStackSwitcher, ownedRef); } + // add the Orientable capabilities + mixin OrientableT!(GtkStackSwitcher); + /** */ public static GType getType() @@ -118,8 +129,7 @@ public class StackSwitcher : Widget /** * Retrieves the stack. * - * Returns: the stack, or %NULL if - * none has been set explicitly. + * Returns: the stack */ public Stack getStack() { diff --git a/generated/gtkd/gtk/Statusbar.d b/source/generated/gtk/gtk/Statusbar.d similarity index 100% rename from generated/gtkd/gtk/Statusbar.d rename to source/generated/gtk/gtk/Statusbar.d diff --git a/generated/gtkd/gtk/StringFilter.d b/source/generated/gtk/gtk/StringFilter.d similarity index 99% rename from generated/gtkd/gtk/StringFilter.d rename to source/generated/gtk/gtk/StringFilter.d index e52cb2df3..28ff9d410 100644 --- a/generated/gtkd/gtk/StringFilter.d +++ b/source/generated/gtk/gtk/StringFilter.d @@ -92,7 +92,6 @@ public class StringFilter : Filter * * Params: * expression = The expression to evaluate - * or %NULL for none * * Returns: a new `GtkStringFilter` * diff --git a/generated/gtkd/gtk/StringList.d b/source/generated/gtk/gtk/StringList.d similarity index 100% rename from generated/gtkd/gtk/StringList.d rename to source/generated/gtk/gtk/StringList.d diff --git a/generated/gtkd/gtk/StringObject.d b/source/generated/gtk/gtk/StringObject.d similarity index 100% rename from generated/gtkd/gtk/StringObject.d rename to source/generated/gtk/gtk/StringObject.d diff --git a/generated/gtkd/gtk/StringSorter.d b/source/generated/gtk/gtk/StringSorter.d similarity index 97% rename from generated/gtkd/gtk/StringSorter.d rename to source/generated/gtk/gtk/StringSorter.d index 407f3307f..6b47032ca 100644 --- a/generated/gtkd/gtk/StringSorter.d +++ b/source/generated/gtk/gtk/StringSorter.d @@ -106,7 +106,7 @@ public class StringSorter : Sorter /** * Gets the expression that is evaluated to obtain strings from items. * - * Returns: a `GtkExpression`, or %NULL + * Returns: a `GtkExpression` */ public Expression getExpression() { @@ -136,7 +136,7 @@ public class StringSorter : Sorter * The expression must have the type %G_TYPE_STRING. * * Params: - * expression = a `GtkExpression`, or %NULL + * expression = a `GtkExpression` */ public void setExpression(Expression expression) { diff --git a/generated/gtkd/gtk/StyleContext.d b/source/generated/gtk/gtk/StyleContext.d similarity index 100% rename from generated/gtkd/gtk/StyleContext.d rename to source/generated/gtk/gtk/StyleContext.d diff --git a/generated/gtkd/gtk/StyleProviderIF.d b/source/generated/gtk/gtk/StyleProviderIF.d similarity index 98% rename from generated/gtkd/gtk/StyleProviderIF.d rename to source/generated/gtk/gtk/StyleProviderIF.d index b5e7bc669..12cacf7c3 100644 --- a/generated/gtkd/gtk/StyleProviderIF.d +++ b/source/generated/gtk/gtk/StyleProviderIF.d @@ -39,7 +39,7 @@ private import std.algorithm; * adding `GtkStyleProviders`. * * GTK uses the `GtkStyleProvider` implementation for CSS in - * [iface@Gtk.CssProvider]. + * [class@Gtk.CssProvider]. */ public interface StyleProviderIF{ /** Get the main Gtk struct */ diff --git a/generated/gtkd/gtk/StyleProviderT.d b/source/generated/gtk/gtk/StyleProviderT.d similarity index 98% rename from generated/gtkd/gtk/StyleProviderT.d rename to source/generated/gtk/gtk/StyleProviderT.d index 2caceaece..a41422cd2 100644 --- a/generated/gtkd/gtk/StyleProviderT.d +++ b/source/generated/gtk/gtk/StyleProviderT.d @@ -39,7 +39,7 @@ public import std.algorithm; * adding `GtkStyleProviders`. * * GTK uses the `GtkStyleProvider` implementation for CSS in - * [iface@Gtk.CssProvider]. + * [class@Gtk.CssProvider]. */ public template StyleProviderT(TStruct) { diff --git a/generated/gtkd/gtk/Switch.d b/source/generated/gtk/gtk/Switch.d similarity index 97% rename from generated/gtkd/gtk/Switch.d rename to source/generated/gtk/gtk/Switch.d index 03e54b0c5..1b329a699 100644 --- a/generated/gtkd/gtk/Switch.d +++ b/source/generated/gtk/gtk/Switch.d @@ -156,7 +156,7 @@ public class Switch : Widget, ActionableIF * * Normally, this is the same as [property@Gtk.Switch:active], unless * the switch is set up for delayed state changes. This function is - * typically called from a [signal@Gtk.Switch`::state-set] signal handler. + * typically called from a [signal@Gtk.Switch::state-set] signal handler. * * See [signal@Gtk.Switch::state-set] for details. * @@ -193,7 +193,7 @@ public class Switch : Widget, ActionableIF * default handler from running. * * Visually, the underlying state is represented by the trough color of - * the switch, while the [property@Gtk.Switch`:active] property is + * the switch, while the [property@Gtk.Switch:active] property is * represented by the position of the switch. * * Params: diff --git a/source/generated/gtk/gtk/SymbolicPaintableIF.d b/source/generated/gtk/gtk/SymbolicPaintableIF.d new file mode 100644 index 000000000..863caf4c1 --- /dev/null +++ b/source/generated/gtk/gtk/SymbolicPaintableIF.d @@ -0,0 +1,78 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module gtk.SymbolicPaintableIF; + +private import gdk.RGBA; +private import gdk.Snapshot; +private import gtk.c.functions; +public import gtk.c.types; + + +/** + * `GtkSymbolicPaintable` is an interface that support symbolic colors in + * paintables. + * + * `GdkPaintable`s implementing the interface will have the + * [vfunc@Gtk.SymbolicPaintable.snapshot_symbolic] function called and + * have the colors for drawing symbolic icons passed. At least 4 colors are guaranteed + * to be passed every time. + * + * These 4 colors are the foreground color, and the colors to use for errors, warnings + * and success information in that order. + * + * More colors may be added in the future. + * + * Since: 4.6 + */ +public interface SymbolicPaintableIF{ + /** Get the main Gtk struct */ + public GtkSymbolicPaintable* getSymbolicPaintableStruct(bool transferOwnership = false); + + /** the main Gtk struct as a void* */ + protected void* getStruct(); + + + /** */ + public static GType getType() + { + return gtk_symbolic_paintable_get_type(); + } + + /** + * Snapshots the paintable with the given colors. + * + * If less than 4 colors are provided, GTK will pad the array with default + * colors. + * + * Params: + * snapshot = a `GdkSnapshot` to snapshot to + * width = width to snapshot in + * height = height to snapshot in + * colors = a pointer to an array of colors + * + * Since: 4.6 + */ + public void snapshotSymbolic(Snapshot snapshot, double width, double height, RGBA[] colors); +} diff --git a/source/generated/gtk/gtk/SymbolicPaintableT.d b/source/generated/gtk/gtk/SymbolicPaintableT.d new file mode 100644 index 000000000..8f790f3fe --- /dev/null +++ b/source/generated/gtk/gtk/SymbolicPaintableT.d @@ -0,0 +1,84 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module gtk.SymbolicPaintableT; + +public import gdk.RGBA; +public import gdk.Snapshot; +public import gtk.c.functions; +public import gtk.c.types; + + +/** + * `GtkSymbolicPaintable` is an interface that support symbolic colors in + * paintables. + * + * `GdkPaintable`s implementing the interface will have the + * [vfunc@Gtk.SymbolicPaintable.snapshot_symbolic] function called and + * have the colors for drawing symbolic icons passed. At least 4 colors are guaranteed + * to be passed every time. + * + * These 4 colors are the foreground color, and the colors to use for errors, warnings + * and success information in that order. + * + * More colors may be added in the future. + * + * Since: 4.6 + */ +public template SymbolicPaintableT(TStruct) +{ + /** Get the main Gtk struct */ + public GtkSymbolicPaintable* getSymbolicPaintableStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return cast(GtkSymbolicPaintable*)getStruct(); + } + + + /** + * Snapshots the paintable with the given colors. + * + * If less than 4 colors are provided, GTK will pad the array with default + * colors. + * + * Params: + * snapshot = a `GdkSnapshot` to snapshot to + * width = width to snapshot in + * height = height to snapshot in + * colors = a pointer to an array of colors + * + * Since: 4.6 + */ + public void snapshotSymbolic(Snapshot snapshot, double width, double height, RGBA[] colors) + { + GdkRGBA[] colorsArray = new GdkRGBA[colors.length]; + for ( int i = 0; i < colors.length; i++ ) + { + colorsArray[i] = *(colors[i].getRGBAStruct()); + } + + gtk_symbolic_paintable_snapshot_symbolic(getSymbolicPaintableStruct(), (snapshot is null) ? null : snapshot.getSnapshotStruct(), width, height, colorsArray.ptr, cast(size_t)colors.length); + } +} diff --git a/generated/gtkd/gtk/Text.d b/source/generated/gtk/gtk/Text.d similarity index 89% rename from generated/gtkd/gtk/Text.d rename to source/generated/gtk/gtk/Text.d index 83f22daa1..bbdce9f5f 100644 --- a/generated/gtkd/gtk/Text.d +++ b/source/generated/gtk/gtk/Text.d @@ -26,10 +26,12 @@ module gtk.Text; private import gio.MenuModel; private import glib.ConstructionException; +private import glib.MemorySlice; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; private import gobject.Signals; +private import graphene.Rect; private import gtk.EditableIF; private import gtk.EditableT; private import gtk.EntryBuffer; @@ -45,7 +47,7 @@ private import std.algorithm; * The `GtkText` widget is a single-line text entry widget. * * `GtkText` is the common implementation of single-line text editing - * that is shared between `GtkEntry`, `GtkPasswordEntry, `GtkSpinButton` + * that is shared between `GtkEntry`, `GtkPasswordEntry`, `GtkSpinButton` * and other widgets. In all of these, `GtkText` is used as the delegate * for the [iface@Gtk.Editable] implementation. * @@ -185,7 +187,40 @@ public class Text : Widget, EditableIF } /** - * Retrieves the value set by gtk_text_set_activates_default(). + * Determine the positions of the strong and weak cursors if the + * insertion point in the layout is at @position. + * + * The position of each cursor is stored as a zero-width rectangle. + * The strong cursor location is the location where characters of + * the directionality equal to the base direction are inserted. + * The weak cursor location is the location where characters of + * the directionality opposite to the base direction are inserted. + * + * The rectangle positions are in widget coordinates. + * + * Params: + * position = the character position + * strong = location to store the strong cursor position + * weak = location to store the weak cursor position + * + * Since: 4.4 + */ + public void computeCursorExtents(size_t position, out Rect strong, out Rect weak) + { + graphene_rect_t* outstrong = sliceNew!graphene_rect_t(); + graphene_rect_t* outweak = sliceNew!graphene_rect_t(); + + gtk_text_compute_cursor_extents(gtkText, position, outstrong, outweak); + + strong = ObjectG.getDObject!(Rect)(outstrong, true); + weak = ObjectG.getDObject!(Rect)(outweak, true); + } + + /** + * Returns whether pressing Enter will activate + * the default widget for the window containing @self. + * + * See [method@Gtk.Text.set_activates_default]. * * Returns: %TRUE if the `GtkText` will activate the default widget */ @@ -195,11 +230,11 @@ public class Text : Widget, EditableIF } /** - * Gets the attribute list that was set on the `GtkText` - * using gtk_text_set_attributes(). + * Gets the attribute list that was set on the `GtkText`. * - * Returns: the attribute list, - * or %NULL if none was set. + * See [method@Gtk.Text.set_attributes]. + * + * Returns: the attribute list */ public PgAttributeList getAttributes() { @@ -215,7 +250,7 @@ public class Text : Widget, EditableIF /** * Get the `GtkEntryBuffer` object which holds the text for - * this self. + * this widget. * * Returns: A `GtkEntryBuffer` object. */ @@ -243,7 +278,9 @@ public class Text : Widget, EditableIF } /** - * Gets the menu model set with gtk_text_set_extra_menu(). + * Gets the menu model for extra items in the context menu. + * + * See [method@Gtk.Text.set_extra_menu]. * * Returns: the menu model */ @@ -276,8 +313,7 @@ public class Text : Widget, EditableIF } /** - * Retrieves the character displayed in place of the real characters - * for entries with visibility set to false. + * Retrieves the character displayed when visibility is set to false. * * Note that GTK does not compute this value unless it needs it, * so the value returned by this function is not very useful unless @@ -308,9 +344,11 @@ public class Text : Widget, EditableIF } /** - * Gets the value set by gtk_text_set_overwrite_mode(). + * Gets whether text is overwritten when typing in the `GtkText`. + * + * See [method@Gtk.Text.set_overwrite_mode]. * - * Returns: whether the text is overwritten when typing. + * Returns: whether the text is overwritten when typing */ public bool getOverwriteMode() { @@ -321,11 +359,9 @@ public class Text : Widget, EditableIF * Retrieves the text that will be displayed when * @self is empty and unfocused * - * Returns: a pointer - * to the placeholder text as a string. This string - * points to internally allocated storage in the widget - * and must not be freed, modified or stored. If no placeholder - * text has been set, %NULL will be returned. + * If no placeholder text has been set, %NULL will be returned. + * + * Returns: the placeholder text */ public string getPlaceholderText() { @@ -344,11 +380,11 @@ public class Text : Widget, EditableIF } /** - * Gets the tabstops that were set on the `GtkText` - * using gtk_text_set_tabs(). + * Gets the tabstops that were set on the `GtkText`. + * + * See [method@Gtk.Text.set_tabs]. * - * Returns: the tabstops, - * or %NULL if none was set. + * Returns: the tabstops */ public PgTabArray getTabs() { @@ -414,8 +450,8 @@ public class Text : Widget, EditableIF } /** - * If @activates is %TRUE, pressing Enter in the @self will - * activate the default widget for the window containing @self. + * If @activates is %TRUE, pressing Enter will activate + * the default widget for the window containing @self. * * This usually means that the dialog containing the `GtkText` * will be closed, since the default widget is usually one of @@ -433,7 +469,7 @@ public class Text : Widget, EditableIF * Sets attributes that are applied to the text. * * Params: - * attrs = a `PangoAttrList` or %NULL to unset + * attrs = a `PangoAttrList` */ public void setAttributes(PgAttributeList attrs) { @@ -506,8 +542,7 @@ public class Text : Widget, EditableIF } /** - * Sets the character to use in place of the actual text when - * in “password mode”. + * Sets the character to use when in “password mode”. * * By default, GTK picks the best invisible char available in the * current font. If you set the invisible char to 0, then the user @@ -561,7 +596,7 @@ public class Text : Widget, EditableIF * * Params: * text = a string to be displayed when @self - * is empty and unfocused, or %NULL + * is empty and unfocused */ public void setPlaceholderText(string text) { @@ -704,7 +739,7 @@ public class Text : Widget, EditableIF * for deleting a word. * * Params: - * type = the granularity of the deletion, as a #GtkDeleteType + * type = the granularity of the deletion, as a `GtkDeleteType` * count = the number of @type units to delete */ gulong addOnDeleteFromCursor(void delegate(GtkDeleteType, int, Text) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) @@ -729,7 +764,7 @@ public class Text : Widget, EditableIF } /** - * Emitted to present the Emoji chooser for the @self. + * Emitted to present the Emoji chooser for the widget. * * This is a [keybinding signal](class.SignalAction.html). * @@ -765,7 +800,7 @@ public class Text : Widget, EditableIF * - Home, End move to the ends of the buffer * * Params: - * step = the granularity of the move, as a #GtkMovementStep + * step = the granularity of the move, as a `GtkMovementStep` * count = the number of @step units to move * extend = %TRUE if the move should extend the selection */ diff --git a/generated/gtkd/gtk/TextBuffer.d b/source/generated/gtk/gtk/TextBuffer.d similarity index 98% rename from generated/gtkd/gtk/TextBuffer.d rename to source/generated/gtk/gtk/TextBuffer.d index f3f595da9..6d096559f 100644 --- a/generated/gtkd/gtk/TextBuffer.d +++ b/source/generated/gtk/gtk/TextBuffer.d @@ -55,6 +55,9 @@ private import std.stdio; * [text widget conceptual overview](section-text-widget.html), * which gives an overview of all the objects and data types * related to the text widget and how they work together. + * + * GtkTextBuffer can support undoing changes to the buffer + * content, see [method@Gtk.TextBuffer.set_enable_undo]. */ public class TextBuffer : ObjectG { @@ -260,8 +263,8 @@ public class TextBuffer : ObjectG * is not %NULL then there must not be another mark in the buffer * with the same name. * - * Emits the `GtkTextBuffer`::mark-set signal as notification of - * the mark's initial placement. + * Emits the [signal@Gtk.TextBuffer::mark-set] signal as notification + * of the mark's initial placement. * * Params: * mark = the mark to add @@ -356,8 +359,8 @@ public class TextBuffer : ObjectG * [method@Gtk.TextBuffer.end_irreversible_action] after the irreversible * action has completed. * - * You may nest calls to gtk_text_buffer_begin_irreversible_action() and - * gtk_text_buffer_end_irreversible_action() pairs. + * You may nest calls to gtk_text_buffer_begin_irreversible_action() + * and gtk_text_buffer_end_irreversible_action() pairs. */ public void beginIrreversibleAction() { @@ -441,19 +444,19 @@ public class TextBuffer : ObjectG * side of the text you’re typing). * * The caller of this function does not own a - * reference to the returned #GtkTextMark, so you can ignore the + * reference to the returned `GtkTextMark`, so you can ignore the * return value if you like. Marks are owned by the buffer and go * away when the buffer does. * - * Emits the `GtkTextBuffer`::mark-set signal as notification of - * the mark's initial placement. + * Emits the [signal@Gtk.TextBuffer::mark-set] signal as notification + * of the mark's initial placement. * * Params: - * markName = name for mark, or %NULL + * markName = name for mark * where = location to place mark * leftGravity = whether the mark has left gravity * - * Returns: the new #GtkTextMark object + * Returns: the new `GtkTextMark` object */ public TextMark createMark(string markName, TextIter where, bool leftGravity) { @@ -582,11 +585,11 @@ public class TextBuffer : ObjectG * queue to be cleared. * * This should be called after completing modifications to the - * text buffer after gtk_text_buffer_begin_irreversible_action() + * text buffer after [method@Gtk.TextBuffer.begin_irreversible_action] * was called. * - * You may nest calls to gtk_text_buffer_begin_irreversible_action() and - * gtk_text_buffer_end_irreversible_action() pairs. + * You may nest calls to gtk_text_buffer_begin_irreversible_action() + * and gtk_text_buffer_end_irreversible_action() pairs. */ public void endIrreversibleAction() { @@ -877,7 +880,7 @@ public class TextBuffer : ObjectG * Params: * name = a mark name * - * Returns: a #GtkTextMark, or %NULL + * Returns: a `GtkTextMark` */ public TextMark getMark(string name) { @@ -1230,7 +1233,7 @@ public class TextBuffer : ObjectG * images and tags. If @start and @end are in a different buffer from * @buffer, the two buffers must share the same tag table. * - * Implemented via emissions of the insert_text and apply_tag signals, + * Implemented via emissions of the ::insert-text and ::apply-tag signals, * so expect those. * * Params: @@ -1269,8 +1272,8 @@ public class TextBuffer : ObjectG /** * Moves @mark to the new location @where. * - * Emits the `GtkTextBuffer`::mark-set - * signal as notification of the move. + * Emits the [signal@Gtk.TextBuffer::mark-set] signal + * as notification of the move. * * Params: * mark = a `GtkTextMark` @@ -1308,7 +1311,7 @@ public class TextBuffer : ObjectG * * Params: * clipboard = the `GdkClipboard` to paste from - * overrideLocation = location to insert pasted text, or %NULL + * overrideLocation = location to insert pasted text * defaultEditable = whether the buffer is editable by default */ public void pasteClipboard(Clipboard clipboard, TextIter overrideLocation, bool defaultEditable) @@ -1430,6 +1433,9 @@ public class TextBuffer : ObjectG /** * Sets whether or not to enable undoable actions in the text buffer. * + * Undoable actions in this context are changes to the text content of + * the buffer. Changes to tags and marks are not tracked. + * * If enabled, the user will be able to undo the last number of actions * up to [method@Gtk.TextBuffer.get_max_undo_levels]. * @@ -1642,7 +1648,7 @@ public class TextBuffer : ObjectG * revalidate it). The default signal handler revalidates * it to point to the end of the inserted text. * - * See also: [method@Gtk,TextBuffer.insert], + * See also: [method@Gtk.TextBuffer.insert], * [method@Gtk.TextBuffer.insert_range]. * * Params: diff --git a/generated/gtkd/gtk/TextChildAnchor.d b/source/generated/gtk/gtk/TextChildAnchor.d similarity index 85% rename from generated/gtkd/gtk/TextChildAnchor.d rename to source/generated/gtk/gtk/TextChildAnchor.d index ed162a3bf..e0005a781 100644 --- a/generated/gtkd/gtk/TextChildAnchor.d +++ b/source/generated/gtk/gtk/TextChildAnchor.d @@ -25,6 +25,7 @@ module gtk.TextChildAnchor; private import glib.ConstructionException; +private import glib.Str; private import gobject.ObjectG; private import gtk.Widget; private import gtk.c.functions; @@ -96,6 +97,30 @@ public class TextChildAnchor : ObjectG this(cast(GtkTextChildAnchor*) __p, true); } + /** + * Creates a new `GtkTextChildAnchor` with the given replacement character. + * + * Usually you would then insert it into a `GtkTextBuffer` with + * [method@Gtk.TextBuffer.insert_child_anchor]. + * + * Returns: a new `GtkTextChildAnchor` + * + * Since: 4.6 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string character) + { + auto __p = gtk_text_child_anchor_new_with_replacement(Str.toStringz(character)); + + if(__p is null) + { + throw new ConstructionException("null returned by new_with_replacement"); + } + + this(cast(GtkTextChildAnchor*) __p, true); + } + /** * Determines whether a child anchor has been deleted from * the buffer. diff --git a/generated/gtkd/gtk/TextIter.d b/source/generated/gtk/gtk/TextIter.d similarity index 98% rename from generated/gtkd/gtk/TextIter.d rename to source/generated/gtk/gtk/TextIter.d index 7a5cb3f11..712aca72d 100644 --- a/generated/gtkd/gtk/TextIter.d +++ b/source/generated/gtk/gtk/TextIter.d @@ -35,7 +35,7 @@ private import gtk.TextChildAnchor; private import gtk.TextTag; private import gtk.c.functions; public import gtk.c.types; -private import gtkd.Loader; +private import linker.Loader; private import pango.PgLanguage; @@ -78,7 +78,7 @@ public class TextIter ~this () { - if ( Linker.isLoaded(LIBRARY_GTK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GTK[0]) && ownedRef ) gtk_text_iter_free(gtkTextIter); } @@ -180,7 +180,7 @@ public class TextIter * Params: * pred = function to be called on each character * userData = user data for @pred - * limit = search limit, or %NULL for none + * limit = search limit * * Returns: whether a match was found */ @@ -238,8 +238,8 @@ public class TextIter * Params: * str = search string * flags = bitmask of flags affecting the search - * matchStart = return location for start of match, or %NULL - * matchEnd = return location for end of match, or %NULL + * matchStart = return location for start of match + * matchEnd = return location for end of match * limit = location of last possible @match_start, or %NULL for start of buffer * * Returns: whether a match was found @@ -300,7 +300,7 @@ public class TextIter * if no toggle is found. * * Params: - * tag = a `GtkTextTag`, or %NULL + * tag = a `GtkTextTag` * * Returns: whether we found a tag toggle before @iter */ @@ -499,7 +499,7 @@ public class TextIter * of text. * * Non-editable text is “locked” and can’t be changed by the - * user via #GtkTextView. If no tags applied to this text affect + * user via `GtkTextView`. If no tags applied to this text affect * editability, @default_setting will be returned. * * You don’t want to use this function to decide whether text can be @@ -565,7 +565,7 @@ public class TextIter * %FALSE for the same parameters. * * Params: - * tag = a `GtkTextTag`, or %NULL + * tag = a `GtkTextTag` * * Returns: whether @iter is the end of a range tagged with @tag */ @@ -692,7 +692,7 @@ public class TextIter * Params: * pred = a function to be called on each character * userData = user data for @pred - * limit = search limit, or %NULL for none + * limit = search limit * * Returns: whether a match was found */ @@ -753,8 +753,8 @@ public class TextIter * Params: * str = a search string * flags = flags affecting how the search is done - * matchStart = return location for start of match, or %NULL - * matchEnd = return location for end of match, or %NULL + * matchStart = return location for start of match + * matchEnd = return location for end of match * limit = location of last possible @match_end, or %NULL for the end of the buffer * * Returns: whether a match was found @@ -847,7 +847,7 @@ public class TextIter * if no toggle is found. * * Params: - * tag = a `GtkTextTag`, or %NULL + * tag = a `GtkTextTag` * * Returns: whether we found a tag toggle after @iter */ @@ -1603,7 +1603,7 @@ public class TextIter * will also return %TRUE for the same parameters. * * Params: - * tag = a `GtkTextTag`, or %NULL + * tag = a `GtkTextTag` * * Returns: whether @iter is the start of a range tagged with @tag */ @@ -1633,7 +1633,7 @@ public class TextIter * gtk_text_iter_ends_tag()) * * Params: - * tag = a `GtkTextTag`, or %NULL + * tag = a `GtkTextTag` * * Returns: whether @tag is toggled on or off at @iter */ diff --git a/generated/gtkd/gtk/TextMark.d b/source/generated/gtk/gtk/TextMark.d similarity index 99% rename from generated/gtkd/gtk/TextMark.d rename to source/generated/gtk/gtk/TextMark.d index b0eb70ca4..fbb21fa23 100644 --- a/generated/gtkd/gtk/TextMark.d +++ b/source/generated/gtk/gtk/TextMark.d @@ -117,7 +117,7 @@ public class TextMark : ObjectG * right side of the text you’re typing). * * Params: - * name = mark name or %NULL + * name = mark name * leftGravity = whether the mark should have left gravity * * Returns: new `GtkTextMark` diff --git a/generated/gtkd/gtk/TextTag.d b/source/generated/gtk/gtk/TextTag.d similarity index 99% rename from generated/gtkd/gtk/TextTag.d rename to source/generated/gtk/gtk/TextTag.d index 76d44748c..92453a2df 100644 --- a/generated/gtkd/gtk/TextTag.d +++ b/source/generated/gtk/gtk/TextTag.d @@ -90,7 +90,7 @@ public class TextTag : ObjectG * Creates a `GtkTextTag`. * * Params: - * name = tag name, or %NULL + * name = tag name * * Returns: a new `GtkTextTag` * diff --git a/generated/gtkd/gtk/TextTagTable.d b/source/generated/gtk/gtk/TextTagTable.d similarity index 98% rename from generated/gtkd/gtk/TextTagTable.d rename to source/generated/gtk/gtk/TextTagTable.d index 0ea9e1799..595f491d2 100644 --- a/generated/gtkd/gtk/TextTagTable.d +++ b/source/generated/gtk/gtk/TextTagTable.d @@ -168,8 +168,7 @@ public class TextTagTable : ObjectG, BuildableIF * Params: * name = name of a tag * - * Returns: The tag, - * or %NULL if none by that name is in the table. + * Returns: The tag */ public TextTag lookup(string name) { diff --git a/generated/gtkd/gtk/TextView.d b/source/generated/gtk/gtk/TextView.d similarity index 96% rename from generated/gtkd/gtk/TextView.d rename to source/generated/gtk/gtk/TextView.d index 4a38c6fd8..e2c27fe33 100644 --- a/generated/gtkd/gtk/TextView.d +++ b/source/generated/gtk/gtk/TextView.d @@ -40,6 +40,7 @@ private import gtk.TextMark; private import gtk.Widget; private import gtk.c.functions; public import gtk.c.types; +private import pango.PgContext; private import pango.PgTabArray; private import std.algorithm; @@ -78,7 +79,7 @@ private import std.algorithm; * * ## Accessibility * - * `GtkTextView` uses the #GTK_ACCESSIBLE_ROLE_TEXT_BOX role. + * `GtkTextView` uses the %GTK_ACCESSIBLE_ROLE_TEXT_BOX role. */ public class TextView : Widget, ScrollableIF { @@ -191,10 +192,10 @@ public class TextView : Widget, ScrollableIF * @child will scroll with the text view. * * If instead you want a widget that will not move with the - * `GtkTextView` contents see #GtkOverlay. + * `GtkTextView` contents see `GtkOverlay`. * * Params: - * child = a #GtkWidget + * child = a `GtkWidget` * xpos = X position of child in window coordinates * ypos = Y position of child in window coordinates */ @@ -249,11 +250,11 @@ public class TextView : Widget, ScrollableIF * Converts buffer coordinates to window coordinates. * * Params: - * win = a #GtkTextWindowType + * win = a `GtkTextWindowType` * bufferX = buffer x coordinate * bufferY = buffer y coordinate - * windowX = window x coordinate return location or %NULL - * windowY = window y coordinate return location or %NULL + * windowX = window x coordinate return location + * windowY = window y coordinate return location */ public void bufferToWindowCoords(GtkTextWindowType win, int bufferX, int bufferY, out int windowX, out int windowY) { @@ -303,7 +304,7 @@ public class TextView : Widget, ScrollableIF } /** - * Returns whether pressing the Tab key inserts a tab characters. + * Returns whether pressing the Tab key inserts a tab characters. * * See [method@Gtk.TextView.set_accepts_tab]. * @@ -369,10 +370,8 @@ public class TextView : Widget, ScrollableIF * * Params: * iter = a `GtkTextIter` - * strong = location to store the strong - * cursor position (may be %NULL) - * weak = location to store the weak - * cursor position (may be %NULL) + * strong = location to store the strong cursor position + * weak = location to store the weak cursor position */ public void getCursorLocations(TextIter iter, out GdkRectangle strong, out GdkRectangle weak) { @@ -430,7 +429,7 @@ public class TextView : Widget, ScrollableIF * Params: * win = a `GtkTextWindowType` * - * Returns: a `GtkWidget` or %NULL + * Returns: a `GtkWidget` */ public Widget getGutter(GtkTextWindowType win) { @@ -613,6 +612,28 @@ public class TextView : Widget, ScrollableIF gtk_text_view_get_line_yrange(gtkTextView, (iter is null) ? null : iter.getTextIterStruct(), &y, &height); } + /** + * Gets the `PangoContext` that is used for rendering LTR directed + * text layouts. + * + * The context may be replaced when CSS changes occur. + * + * Returns: a `PangoContext` + * + * Since: 4.4 + */ + public PgContext getLtrContext() + { + auto __p = gtk_text_view_get_ltr_context(gtkTextView); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PgContext)(cast(PangoContext*) __p); + } + /** * Gets whether the `GtkTextView` uses monospace styling. * @@ -682,6 +703,28 @@ public class TextView : Widget, ScrollableIF return gtk_text_view_get_right_margin(gtkTextView); } + /** + * Gets the `PangoContext` that is used for rendering RTL directed + * text layouts. + * + * The context may be replaced when CSS changes occur. + * + * Returns: a `PangoContext` + * + * Since: 4.4 + */ + public PgContext getRtlContext() + { + auto __p = gtk_text_view_get_rtl_context(gtkTextView); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PgContext)(cast(PangoContext*) __p); + } + /** * Gets the default tabs for @text_view. * @@ -954,7 +997,7 @@ public class TextView : Widget, ScrollableIF } /** - * Sets the behavior of the text widget when the Tab key is pressed. + * Sets the behavior of the text widget when the Tab key is pressed. * * If @accepts_tab is %TRUE, a tab character is inserted. If @accepts_tab * is %FALSE the keyboard focus is moved to the next widget in the focus @@ -1053,7 +1096,7 @@ public class TextView : Widget, ScrollableIF * * Params: * win = a `GtkTextWindowType` - * widget = a `GtkWidget` or %NULL + * widget = a `GtkWidget` */ public void setGutter(GtkTextWindowType win, Widget widget) { @@ -1216,7 +1259,7 @@ public class TextView : Widget, ScrollableIF * Tags in the buffer may override the default. * * Params: - * tabs = tabs as a #PangoTabArray + * tabs = tabs as a `PangoTabArray` */ public void setTabs(PgTabArray tabs) { @@ -1269,11 +1312,11 @@ public class TextView : Widget, ScrollableIF * coordinates. * * Params: - * win = a #GtkTextWindowType + * win = a `GtkTextWindowType` * windowX = window x coordinate * windowY = window y coordinate - * bufferX = buffer x coordinate return location or %NULL - * bufferY = buffer y coordinate return location or %NULL + * bufferX = buffer x coordinate return location + * bufferY = buffer y coordinate return location */ public void windowToBufferCoords(GtkTextWindowType win, int windowX, int windowY, out int bufferX, out int bufferY) { @@ -1336,7 +1379,7 @@ public class TextView : Widget, ScrollableIF * deleting a word backwards. * * Params: - * type = the granularity of the deletion, as a #GtkDeleteType + * type = the granularity of the deletion, as a `GtkDeleteType` * count = the number of @type units to delete */ gulong addOnDeleteFromCursor(void delegate(GtkDeleteType, int, TextView) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) @@ -1417,7 +1460,7 @@ public class TextView : Widget, ScrollableIF * move horizontally by pages * * Params: - * step = the granularity of the move, as a #GtkMovementStep + * step = the granularity of the move, as a `GtkMovementStep` * count = the number of @step units to move * extendSelection = %TRUE if the move should extend the selection */ @@ -1437,7 +1480,7 @@ public class TextView : Widget, ScrollableIF * There are no default bindings for this signal. * * Params: - * step = the granularity of the movement, as a #GtkScrollStep + * step = the granularity of the movement, as a `GtkScrollStep` * count = the number of @step units to move */ gulong addOnMoveViewport(void delegate(GtkScrollStep, int, TextView) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) diff --git a/generated/gtkd/gtk/ToggleButton.d b/source/generated/gtk/gtk/ToggleButton.d similarity index 92% rename from generated/gtkd/gtk/ToggleButton.d rename to source/generated/gtk/gtk/ToggleButton.d index 880895490..3eaf3aa75 100644 --- a/generated/gtkd/gtk/ToggleButton.d +++ b/source/generated/gtk/gtk/ToggleButton.d @@ -53,7 +53,7 @@ private import std.algorithm; * To simply switch the state of a toggle button, use * [method@Gtk.ToggleButton.toggled]. * - * # Grouping + * ## Grouping * * Toggle buttons can be grouped together, to form mutually exclusive * groups - only one of the buttons can be toggled at a time, and toggling @@ -61,20 +61,25 @@ private import std.algorithm; * * To add a `GtkToggleButton` to a group, use [method@Gtk.ToggleButton.set_group]. * - * # CSS nodes + * ## CSS nodes * * `GtkToggleButton` has a single CSS node with name button. To differentiate - * it from a plain `GtkButton`, it gets the .toggle style class. + * it from a plain `GtkButton`, it gets the `.toggle` style class. * * ## Creating two `GtkToggleButton` widgets. * * ```c - * static void output_state (GtkToggleButton *source, gpointer user_data) + * static void + * output_state (GtkToggleButton *source, + * gpointer user_data) * { - * printf ("Active: %d\n", gtk_toggle_button_get_active (source)); + * g_print ("Toggle button "%s" is active: %s", + * gtk_button_get_label (GTK_BUTTON (source)), + * gtk_toggle_button_get_active (source) ? "Yes" : "No"); * } * - * void make_toggles (void) + * static void + * make_toggles (void) * { * GtkWidget *window, *toggle1, *toggle2; * GtkWidget *box; @@ -83,7 +88,7 @@ private import std.algorithm; * window = gtk_window_new (); * box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); * - * text = "Hi, I’m a toggle button."; + * text = "Hi, I’m toggle button one"; * toggle1 = gtk_toggle_button_new_with_label (text); * * g_signal_connect (toggle1, "toggled", @@ -91,7 +96,7 @@ private import std.algorithm; * NULL); * gtk_box_append (GTK_BOX (box), toggle1); * - * text = "Hi, I’m a toggle button."; + * text = "Hi, I’m toggle button two"; * toggle2 = gtk_toggle_button_new_with_label (text); * g_signal_connect (toggle2, "toggled", * G_CALLBACK (output_state), @@ -223,7 +228,7 @@ public class ToggleButton : Button * * Setting up groups in a cycle leads to undefined behavior. * - * Note that the same effect can be achieved via the [interface@Gtk.Actionable] + * Note that the same effect can be achieved via the [iface@Gtk.Actionable] * API, by using the same action with parameter type and state type 's' * for all buttons in the group, and giving each button its own target * value. diff --git a/generated/gtkd/gtk/Tooltip.d b/source/generated/gtk/gtk/Tooltip.d similarity index 91% rename from generated/gtkd/gtk/Tooltip.d rename to source/generated/gtk/gtk/Tooltip.d index 3392d2714..b3165db78 100644 --- a/generated/gtkd/gtk/Tooltip.d +++ b/source/generated/gtk/gtk/Tooltip.d @@ -101,12 +101,12 @@ public class Tooltip : ObjectG * Replaces the widget packed into the tooltip with * @custom_widget. @custom_widget does not get destroyed when the tooltip goes * away. - * By default a box with a #GtkImage and #GtkLabel is embedded in + * By default a box with a `GtkImage` and `GtkLabel` is embedded in * the tooltip, which can be configured using gtk_tooltip_set_markup() * and gtk_tooltip_set_icon(). * * Params: - * customWidget = a #GtkWidget, or %NULL to unset the old custom widget. + * customWidget = a `GtkWidget`, or %NULL to unset the old custom widget. */ public void setCustom(Widget customWidget) { @@ -118,7 +118,7 @@ public class Tooltip : ObjectG * @paintable. If @paintable is %NULL, the image will be hidden. * * Params: - * paintable = a #GdkPaintable, or %NULL + * paintable = a `GdkPaintable` */ public void setIcon(PaintableIF paintable) { @@ -131,7 +131,7 @@ public class Tooltip : ObjectG * by @size. If @gicon is %NULL, the image will be hidden. * * Params: - * gicon = a #GIcon representing the icon, or %NULL + * gicon = a `GIcon` representing the icon */ public void setIconFromGicon(IconIF gicon) { @@ -144,7 +144,7 @@ public class Tooltip : ObjectG * by @size. If @icon_name is %NULL, the image will be hidden. * * Params: - * iconName = an icon name, or %NULL + * iconName = an icon name */ public void setIconFromIconName(string iconName) { @@ -172,7 +172,7 @@ public class Tooltip : ObjectG * See also [method@Gtk.Tooltip.set_markup]. * * Params: - * text = a text string or %NULL + * text = a text string */ public void setText(string text) { @@ -182,15 +182,15 @@ public class Tooltip : ObjectG /** * Sets the area of the widget, where the contents of this tooltip apply, * to be @rect (in widget coordinates). This is especially useful for - * properly setting tooltips on #GtkTreeView rows and cells, #GtkIconViews, + * properly setting tooltips on `GtkTreeView` rows and cells, `GtkIconViews`, * etc. * - * For setting tooltips on #GtkTreeView, please refer to the convenience + * For setting tooltips on `GtkTreeView`, please refer to the convenience * functions for this: gtk_tree_view_set_tooltip_row() and * gtk_tree_view_set_tooltip_cell(). * * Params: - * rect = a #GdkRectangle + * rect = a `GdkRectangle` */ public void setTipArea(GdkRectangle* rect) { diff --git a/generated/gtkd/gtk/TreeDragDestIF.d b/source/generated/gtk/gtk/TreeDragDestIF.d similarity index 97% rename from generated/gtkd/gtk/TreeDragDestIF.d rename to source/generated/gtk/gtk/TreeDragDestIF.d index 43e437681..b71579ccc 100644 --- a/generated/gtkd/gtk/TreeDragDestIF.d +++ b/source/generated/gtk/gtk/TreeDragDestIF.d @@ -48,7 +48,7 @@ public interface TreeDragDestIF{ } /** - * Asks the #GtkTreeDragDest to insert a row before the path @dest, + * Asks the `GtkTreeDragDest` to insert a row before the path @dest, * deriving the contents of the row from @value. If @dest is * outside the tree so that inserting before it is impossible, %FALSE * will be returned. Also, %FALSE may be returned if the new row is diff --git a/generated/gtkd/gtk/TreeDragDestT.d b/source/generated/gtk/gtk/TreeDragDestT.d similarity index 97% rename from generated/gtkd/gtk/TreeDragDestT.d rename to source/generated/gtk/gtk/TreeDragDestT.d index 8b43d6915..049e83289 100644 --- a/generated/gtkd/gtk/TreeDragDestT.d +++ b/source/generated/gtk/gtk/TreeDragDestT.d @@ -45,7 +45,7 @@ public template TreeDragDestT(TStruct) /** - * Asks the #GtkTreeDragDest to insert a row before the path @dest, + * Asks the `GtkTreeDragDest` to insert a row before the path @dest, * deriving the contents of the row from @value. If @dest is * outside the tree so that inserting before it is impossible, %FALSE * will be returned. Also, %FALSE may be returned if the new row is diff --git a/generated/gtkd/gtk/TreeDragSourceIF.d b/source/generated/gtk/gtk/TreeDragSourceIF.d similarity index 88% rename from generated/gtkd/gtk/TreeDragSourceIF.d rename to source/generated/gtk/gtk/TreeDragSourceIF.d index 21385b5ea..f05b14ab8 100644 --- a/generated/gtkd/gtk/TreeDragSourceIF.d +++ b/source/generated/gtk/gtk/TreeDragSourceIF.d @@ -49,7 +49,7 @@ public interface TreeDragSourceIF{ } /** - * Asks the #GtkTreeDragSource to delete the row at @path, because + * Asks the `GtkTreeDragSource` to delete the row at @path, because * it was moved somewhere else via drag-and-drop. Returns %FALSE * if the deletion fails because @path no longer exists, or for * some model-specific reason. Should robustly handle a @path no @@ -63,20 +63,20 @@ public interface TreeDragSourceIF{ public bool dragDataDelete(TreePath path); /** - * Asks the #GtkTreeDragSource to return a #GdkContentProvider representing + * Asks the `GtkTreeDragSource` to return a `GdkContentProvider` representing * the row at @path. Should robustly handle a @path no * longer found in the model! * * Params: * path = row that was dragged * - * Returns: a #GdkContentProvider for the - * given @path or %NULL if none exists + * Returns: a `GdkContentProvider` for the + * given @path */ public ContentProvider dragDataGet(TreePath path); /** - * Asks the #GtkTreeDragSource whether a particular row can be used as + * Asks the `GtkTreeDragSource` whether a particular row can be used as * the source of a DND operation. If the source doesn’t implement * this interface, the row is assumed draggable. * diff --git a/generated/gtkd/gtk/TreeDragSourceT.d b/source/generated/gtk/gtk/TreeDragSourceT.d similarity index 90% rename from generated/gtkd/gtk/TreeDragSourceT.d rename to source/generated/gtk/gtk/TreeDragSourceT.d index a8c717065..ecf8ffb8c 100644 --- a/generated/gtkd/gtk/TreeDragSourceT.d +++ b/source/generated/gtk/gtk/TreeDragSourceT.d @@ -46,7 +46,7 @@ public template TreeDragSourceT(TStruct) /** - * Asks the #GtkTreeDragSource to delete the row at @path, because + * Asks the `GtkTreeDragSource` to delete the row at @path, because * it was moved somewhere else via drag-and-drop. Returns %FALSE * if the deletion fails because @path no longer exists, or for * some model-specific reason. Should robustly handle a @path no @@ -63,15 +63,15 @@ public template TreeDragSourceT(TStruct) } /** - * Asks the #GtkTreeDragSource to return a #GdkContentProvider representing + * Asks the `GtkTreeDragSource` to return a `GdkContentProvider` representing * the row at @path. Should robustly handle a @path no * longer found in the model! * * Params: * path = row that was dragged * - * Returns: a #GdkContentProvider for the - * given @path or %NULL if none exists + * Returns: a `GdkContentProvider` for the + * given @path */ public ContentProvider dragDataGet(TreePath path) { @@ -86,7 +86,7 @@ public template TreeDragSourceT(TStruct) } /** - * Asks the #GtkTreeDragSource whether a particular row can be used as + * Asks the `GtkTreeDragSource` whether a particular row can be used as * the source of a DND operation. If the source doesn’t implement * this interface, the row is assumed draggable. * diff --git a/generated/gtkd/gtk/TreeExpander.d b/source/generated/gtk/gtk/TreeExpander.d similarity index 87% rename from generated/gtkd/gtk/TreeExpander.d rename to source/generated/gtk/gtk/TreeExpander.d index 5050e768d..0b685f7af 100644 --- a/generated/gtkd/gtk/TreeExpander.d +++ b/source/generated/gtk/gtk/TreeExpander.d @@ -144,6 +144,18 @@ public class TreeExpander : Widget return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); } + /** + * TreeExpander indents the child by the width of an expander-icon if it is not expandable. + * + * Returns: TRUE if the child should be indented when not expandable. Otherwise FALSE. + * + * Since: 4.6 + */ + public bool getIndentForIcon() + { + return gtk_tree_expander_get_indent_for_icon(gtkTreeExpander) != 0; + } + /** * Forwards the item set on the `GtkTreeListRow` that @self is managing. * @@ -188,18 +200,31 @@ public class TreeExpander : Widget * Sets the content widget to display. * * Params: - * child = a `GtkWidget`, or %NULL + * child = a `GtkWidget` */ public void setChild(Widget child) { gtk_tree_expander_set_child(gtkTreeExpander, (child is null) ? null : child.getWidgetStruct()); } + /** + * Sets if the TreeExpander should indent the child by the width of an expander-icon when it is not expandable. + * + * Params: + * indentForIcon = TRUE if the child should be indented without expander. Otherwise FALSE. + * + * Since: 4.6 + */ + public void setIndentForIcon(bool indentForIcon) + { + gtk_tree_expander_set_indent_for_icon(gtkTreeExpander, indentForIcon); + } + /** * Sets the tree list row that this expander should manage. * * Params: - * listRow = a `GtkTreeListRow`, or %NULL + * listRow = a `GtkTreeListRow` */ public void setListRow(TreeListRow listRow) { diff --git a/generated/gtkd/gtk/TreeIter.d b/source/generated/gtk/gtk/TreeIter.d similarity index 93% rename from generated/gtkd/gtk/TreeIter.d rename to source/generated/gtk/gtk/TreeIter.d index ba8511695..0ef2c20f1 100644 --- a/generated/gtkd/gtk/TreeIter.d +++ b/source/generated/gtk/gtk/TreeIter.d @@ -27,12 +27,12 @@ module gtk.TreeIter; private import gobject.ObjectG; private import gtk.c.functions; public import gtk.c.types; -private import gtkd.Loader; +private import linker.Loader; /** - * The #GtkTreeIter is the primary structure - * for accessing a #GtkTreeModel. Models are expected to put a unique + * The `GtkTreeIter` is the primary structure + * for accessing a `GtkTreeModel`. Models are expected to put a unique * integer in the @stamp member, and put * model-specific data in the three @user_data * members. @@ -68,7 +68,7 @@ public class TreeIter ~this () { - if ( Linker.isLoaded(LIBRARY_GTK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GTK[0]) && ownedRef ) gtk_tree_iter_free(gtkTreeIter); } diff --git a/generated/gtkd/gtk/TreeListModel.d b/source/generated/gtk/gtk/TreeListModel.d similarity index 100% rename from generated/gtkd/gtk/TreeListModel.d rename to source/generated/gtk/gtk/TreeListModel.d diff --git a/generated/gtkd/gtk/TreeListRow.d b/source/generated/gtk/gtk/TreeListRow.d similarity index 100% rename from generated/gtkd/gtk/TreeListRow.d rename to source/generated/gtk/gtk/TreeListRow.d diff --git a/generated/gtkd/gtk/TreeListRowSorter.d b/source/generated/gtk/gtk/TreeListRowSorter.d similarity index 97% rename from generated/gtkd/gtk/TreeListRowSorter.d rename to source/generated/gtk/gtk/TreeListRowSorter.d index 3536beea0..438649170 100644 --- a/generated/gtkd/gtk/TreeListRowSorter.d +++ b/source/generated/gtk/gtk/TreeListRowSorter.d @@ -89,7 +89,7 @@ public class TreeListRowSorter : Sorter * being %FALSE as it can only sort [class@Gtk.TreeListRow]s. * * Params: - * sorter = a `GtkSorter`, or %NULL + * sorter = a `GtkSorter` * * Returns: a new `GtkTreeListRowSorter` * @@ -131,7 +131,7 @@ public class TreeListRowSorter : Sorter * the tree list rows passed to @self. * * Params: - * sorter = The sorter to use, or %NULL + * sorter = The sorter to use */ public void setSorter(Sorter sorter) { diff --git a/generated/gtkd/gtk/TreeModelFilter.d b/source/generated/gtk/gtk/TreeModelFilter.d similarity index 84% rename from generated/gtkd/gtk/TreeModelFilter.d rename to source/generated/gtk/gtk/TreeModelFilter.d index c667fc8bb..89652346d 100644 --- a/generated/gtkd/gtk/TreeModelFilter.d +++ b/source/generated/gtk/gtk/TreeModelFilter.d @@ -37,9 +37,9 @@ public import gtk.c.types; /** - * A GtkTreeModel which hides parts of an underlying tree model + * A `GtkTreeModel` which hides parts of an underlying tree model * - * A #GtkTreeModelFilter is a tree model which wraps another tree model, + * A `GtkTreeModelFilter` is a tree model which wraps another tree model, * and can do the following things: * * - Filter specific rows, based on data from a “visible column”, a column @@ -54,21 +54,21 @@ public import gtk.c.types; * on the given child model. * * - Set a different root node, also known as a “virtual root”. You can pass - * in a #GtkTreePath indicating the root node for the filter at construction + * in a `GtkTreePath` indicating the root node for the filter at construction * time. * - * The basic API is similar to #GtkTreeModelSort. For an example on its usage, - * see the section on #GtkTreeModelSort. + * The basic API is similar to `GtkTreeModelSort`. For an example on its usage, + * see the section on `GtkTreeModelSort`. * - * When using #GtkTreeModelFilter, it is important to realize that - * #GtkTreeModelFilter maintains an internal cache of all nodes which are + * When using `GtkTreeModelFilter`, it is important to realize that + * `GtkTreeModelFilter` maintains an internal cache of all nodes which are * visible in its clients. The cache is likely to be a subtree of the tree - * exposed by the child model. #GtkTreeModelFilter will not cache the entire + * exposed by the child model. `GtkTreeModelFilter` will not cache the entire * child model when unnecessary to not compromise the caching mechanism * that is exposed by the reference counting scheme. If the child model * implements reference counting, unnecessary signals may not be emitted - * because of reference counting rule 3, see the #GtkTreeModel - * documentation. (Note that e.g. #GtkTreeStore does not implement + * because of reference counting rule 3, see the `GtkTreeModel` + * documentation. (Note that e.g. `GtkTreeStore` does not implement * reference counting and will always emit all signals, even when * the receiving node is not visible). * @@ -78,29 +78,29 @@ public import gtk.c.types; * or its parents. Usually, having a dependency on the state of any child * node is not possible, unless references are taken on these explicitly. * When no such reference exists, no signals may be received for these child - * nodes (see reference counting rule number 3 in the #GtkTreeModel section). + * nodes (see reference counting rule number 3 in the `GtkTreeModel` section). * * Determining the visibility state of a given node based on the state * of its child nodes is a frequently occurring use case. Therefore, - * #GtkTreeModelFilter explicitly supports this. For example, when a node + * `GtkTreeModelFilter` explicitly supports this. For example, when a node * does not have any children, you might not want the node to be visible. * As soon as the first row is added to the node’s child level (or the * last row removed), the node’s visibility should be updated. * * This introduces a dependency from the node on its child nodes. In order - * to accommodate this, #GtkTreeModelFilter must make sure the necessary + * to accommodate this, `GtkTreeModelFilter` must make sure the necessary * signals are received from the child model. This is achieved by building, - * for all nodes which are exposed as visible nodes to #GtkTreeModelFilter's + * for all nodes which are exposed as visible nodes to `GtkTreeModelFilter`'s * clients, the child level (if any) and take a reference on the first node * in this level. Furthermore, for every row-inserted, row-changed or * row-deleted signal (also these which were not handled because the node - * was not cached), #GtkTreeModelFilter will check if the visibility state + * was not cached), `GtkTreeModelFilter` will check if the visibility state * of any parent node has changed. * * Beware, however, that this explicit support is limited to these two * cases. For example, if you want a node to be visible only if two nodes * in a child’s child level (2 levels deeper) are visible, you are on your - * own. In this case, either rely on #GtkTreeStore to emit all signals + * own. In this case, either rely on `GtkTreeStore` to emit all signals * because it does not implement reference counting, or for models that * do implement reference counting, obtain references on these child levels * yourself. @@ -165,8 +165,8 @@ public class TreeModelFilter : ObjectG, TreeDragSourceIF, TreeModelIF * returned. * * Params: - * filterIter = An uninitialized #GtkTreeIter. - * childIter = A valid #GtkTreeIter pointing to a row on the child model. + * filterIter = An uninitialized `GtkTreeIter` + * childIter = A valid `GtkTreeIter` pointing to a row on the child model. * * Returns: %TRUE, if @filter_iter was set, i.e. if @child_iter is a * valid iterator pointing to a visible row in child model. @@ -190,9 +190,9 @@ public class TreeModelFilter : ObjectG, TreeDragSourceIF, TreeModelIF * is returned. * * Params: - * childPath = A #GtkTreePath to convert. + * childPath = A `GtkTreePath` to convert. * - * Returns: A newly allocated #GtkTreePath, or %NULL. + * Returns: A newly allocated `GtkTreePath` */ public TreePath convertChildPathToPath(TreePath childPath) { @@ -210,8 +210,8 @@ public class TreeModelFilter : ObjectG, TreeDragSourceIF, TreeModelIF * Sets @child_iter to point to the row pointed to by @filter_iter. * * Params: - * childIter = An uninitialized #GtkTreeIter. - * filterIter = A valid #GtkTreeIter pointing to a row on @filter. + * childIter = An uninitialized `GtkTreeIter` + * filterIter = A valid `GtkTreeIter` pointing to a row on @filter. */ public void convertIterToChildIter(out TreeIter childIter, TreeIter filterIter) { @@ -229,9 +229,9 @@ public class TreeModelFilter : ObjectG, TreeDragSourceIF, TreeModelIF * does not point to a location in the child model, %NULL is returned. * * Params: - * filterPath = A #GtkTreePath to convert. + * filterPath = A `GtkTreePath` to convert. * - * Returns: A newly allocated #GtkTreePath, or %NULL. + * Returns: A newly allocated `GtkTreePath` */ public TreePath convertPathToChildPath(TreePath filterPath) { @@ -248,7 +248,7 @@ public class TreeModelFilter : ObjectG, TreeDragSourceIF, TreeModelIF /** * Returns a pointer to the child model of @filter. * - * Returns: A pointer to a #GtkTreeModel. + * Returns: A pointer to a `GtkTreeModel` */ public TreeModelIF getModel() { @@ -284,10 +284,10 @@ public class TreeModelFilter : ObjectG, TreeDragSourceIF, TreeModelIF * can only be called once for a given filter model. * * Params: - * types = The #GTypes of the columns. - * func = A #GtkTreeModelFilterModifyFunc - * data = User data to pass to the modify function, or %NULL. - * destroy = Destroy notifier of @data, or %NULL. + * types = The `GType`s of the columns. + * func = A `GtkTreeModelFilterModifyFunc` + * data = User data to pass to the modify function + * destroy = Destroy notifier of @data */ public void setModifyFunc(GType[] types, GtkTreeModelFilterModifyFunc func, void* data, GDestroyNotify destroy) { @@ -305,7 +305,7 @@ public class TreeModelFilter : ObjectG, TreeDragSourceIF, TreeModelIF * once for a given filter model. * * Params: - * column = A #int which is the column containing the visible information + * column = A `int` which is the column containing the visible information */ public void setVisibleColumn(int column) { @@ -350,9 +350,9 @@ public class TreeModelFilter : ObjectG, TreeDragSourceIF, TreeModelIF * once for a given filter model. * * Params: - * func = A #GtkTreeModelFilterVisibleFunc, the visible function - * data = User data to pass to the visible function, or %NULL - * destroy = Destroy notifier of @data, or %NULL + * func = A `GtkTreeModelFilterVisibleFunc`, the visible function + * data = User data to pass to the visible function + * destroy = Destroy notifier of @data */ public void setVisibleFunc(GtkTreeModelFilterVisibleFunc func, void* data, GDestroyNotify destroy) { diff --git a/generated/gtkd/gtk/TreeModelIF.d b/source/generated/gtk/gtk/TreeModelIF.d similarity index 80% rename from generated/gtkd/gtk/TreeModelIF.d rename to source/generated/gtk/gtk/TreeModelIF.d index 98dff6712..d769c26ed 100644 --- a/generated/gtkd/gtk/TreeModelIF.d +++ b/source/generated/gtk/gtk/TreeModelIF.d @@ -41,17 +41,17 @@ private import std.algorithm; /** * The tree interface used by GtkTreeView * - * The #GtkTreeModel interface defines a generic tree interface for - * use by the #GtkTreeView widget. It is an abstract interface, and + * The `GtkTreeModel` interface defines a generic tree interface for + * use by the `GtkTreeView` widget. It is an abstract interface, and * is designed to be usable with any appropriate data structure. The * programmer just has to implement this interface on their own data - * type for it to be viewable by a #GtkTreeView widget. + * type for it to be viewable by a `GtkTreeView` widget. * * The model is represented as a hierarchical tree of strongly-typed, * columned data. In other words, the model can be seen as a tree where * every node has different values depending on which column is being * queried. The type of data found in a column is determined by using - * the GType system (ie. #G_TYPE_INT, #GTK_TYPE_BUTTON, #G_TYPE_POINTER, + * the GType system (ie. %G_TYPE_INT, %GTK_TYPE_BUTTON, %G_TYPE_POINTER, * etc). The types are homogeneous per column across all nodes. It is * important to note that this interface only provides a way of examining * a model and observing changes. The implementation of each individual @@ -59,7 +59,7 @@ private import std.algorithm; * * In order to make life simpler for programmers who do not need to * write their own specialized model, two generic models are provided - * — the #GtkTreeStore and the #GtkListStore. To use these, the + * — the `GtkTreeStore` and the `GtkListStore`. To use these, the * developer simply pushes data into these models as necessary. These * models provide the data structure as well as all appropriate tree * interfaces. As a result, implementing drag and drop, sorting, and @@ -88,14 +88,14 @@ private import std.algorithm; * way. One can convert a path to an iterator by calling * gtk_tree_model_get_iter(). These iterators are the primary way * of accessing a model and are similar to the iterators used by - * #GtkTextBuffer. They are generally statically allocated on the + * `GtkTextBuffer`. They are generally statically allocated on the * stack and only used for a short time. The model interface defines * a set of operations using them for navigating the model. * * It is expected that models fill in the iterator with private data. - * For example, the #GtkListStore model, which is internally a simple + * For example, the `GtkListStore` model, which is internally a simple * linked list, stores a list node in one of the pointers. The - * #GtkTreeModelSort stores an array and an offset in two of the + * `GtkTreeModel`Sort stores an array and an offset in two of the * pointers. Additionally, there is an integer field. This field is * generally filled with a unique stamp per model. This stamp is for * catching errors resulting from using invalid iterators with a model. @@ -106,11 +106,11 @@ private import std.algorithm; * to own all outstanding iterators and nothing needs to be done to * free them from the user’s point of view. Additionally, some models * guarantee that an iterator is valid for as long as the node it refers - * to is valid (most notably the #GtkTreeStore and #GtkListStore). + * to is valid (most notably the `GtkTreeStore` and `GtkListStore`). * Although generally uninteresting, as one always has to allow for * the case where iterators do not persist beyond a signal, some very * important performance enhancements were made in the sort model. - * As a result, the #GTK_TREE_MODEL_ITERS_PERSIST flag was added to + * As a result, the %GTK_TREE_MODEL_ITERS_PERSIST flag was added to * indicate this behavior. * * To help show some common operation of a model, some examples are @@ -151,8 +151,8 @@ private import std.algorithm; * This second example shows a quick way of iterating through a list * and getting a string and an integer from each row. The * populate_model() function used below is not - * shown, as it is specific to the #GtkListStore. For information on - * how to write such a function, see the #GtkListStore documentation. + * shown, as it is specific to the `GtkListStore`. For information on + * how to write such a function, see the `GtkListStore` documentation. * * ## Reading data from a `GtkTreeModel` * @@ -206,11 +206,11 @@ private import std.algorithm; * } * ``` * - * The #GtkTreeModel interface contains two methods for reference + * The `GtkTreeModel` interface contains two methods for reference * counting: gtk_tree_model_ref_node() and gtk_tree_model_unref_node(). * These two methods are optional to implement. The reference counting * is meant as a way for views to let models know when nodes are being - * displayed. #GtkTreeView will take a reference on a node when it is + * displayed. `GtkTreeView` will take a reference on a node when it is * visible, which means the node is either in the toplevel or expanded. * Being displayed does not mean that the node is currently directly * visible to the user in the viewport. Based on this reference counting @@ -251,19 +251,19 @@ public interface TreeModelIF{ } /** - * Creates a new #GtkTreeModel, with @child_model as the child_model + * Creates a new `GtkTreeModel`, with @child_model as the child_model * and @root as the virtual root. * * Params: - * root = A #GtkTreePath or %NULL. + * root = A `GtkTreePath` * - * Returns: A new #GtkTreeModel. + * Returns: A new `GtkTreeModel`. */ public TreeModelIF filterNew(TreePath root); alias foreac = foreach_; /** - * Calls func on each node in model in a depth-first fashion. + * Calls @func on each node in model in a depth-first fashion. * * If @func returns %TRUE, then the tree ceases to be walked, * and gtk_tree_model_foreach() returns. @@ -287,7 +287,7 @@ public interface TreeModelIF{ /** * Returns a set of flags supported by this interface. * - * The flags are a bitwise combination of #GtkTreeModelFlags. + * The flags are a bitwise combination of `GtkTreeModel`Flags. * The flags supported should not change during the lifetime * of the @tree_model. * @@ -296,12 +296,14 @@ public interface TreeModelIF{ public GtkTreeModelFlags getFlags(); /** - * Sets @iter to a valid iterator pointing to @path. If @path does - * not exist, @iter is set to an invalid iterator and %FALSE is returned. + * Sets @iter to a valid iterator pointing to @path. + * + * If @path does not exist, @iter is set to an invalid + * iterator and %FALSE is returned. * * Params: - * iter = the uninitialized #GtkTreeIter-struct - * path = the #GtkTreePath-struct + * iter = the uninitialized `GtkTreeIter` + * path = the `GtkTreePath` * * Returns: %TRUE, if @iter was set */ @@ -309,11 +311,12 @@ public interface TreeModelIF{ /** * Initializes @iter with the first iterator in the tree - * (the one at the path "0") and returns %TRUE. Returns - * %FALSE if the tree is empty. + * (the one at the path "0"). + * + * Returns %FALSE if the tree is empty, %TRUE otherwise. * * Params: - * iter = the uninitialized #GtkTreeIter-struct + * iter = the uninitialized `GtkTreeIter` * * Returns: %TRUE, if @iter was set */ @@ -321,11 +324,13 @@ public interface TreeModelIF{ /** * Sets @iter to a valid iterator pointing to @path_string, if it - * exists. Otherwise, @iter is left invalid and %FALSE is returned. + * exists. + * + * Otherwise, @iter is left invalid and %FALSE is returned. * * Params: - * iter = an uninitialized #GtkTreeIter-struct - * pathString = a string representation of a #GtkTreePath-struct + * iter = an uninitialized `GtkTreeIter` + * pathString = a string representation of a `GtkTreePath` * * Returns: %TRUE, if @iter was set */ @@ -339,14 +344,14 @@ public interface TreeModelIF{ public int getNColumns(); /** - * Returns a newly-created #GtkTreePath-struct referenced by @iter. + * Returns a newly-created `GtkTreePath` referenced by @iter. * * This path should be freed with gtk_tree_path_free(). * * Params: - * iter = the #GtkTreeIter-struct + * iter = the `GtkTreeIter` * - * Returns: a newly-created #GtkTreePath-struct + * Returns: a newly-created `GtkTreePath` */ public TreePath getPath(TreeIter iter); @@ -358,15 +363,16 @@ public interface TreeModelIF{ * return value for this string. * * Params: - * iter = a #GtkTreeIter-struct + * iter = a `GtkTreeIter` * - * Returns: a newly-allocated string. - * Must be freed with g_free(). + * Returns: a newly-allocated string */ public string getStringFromIter(TreeIter iter); /** - * See gtk_tree_model_get(), this version takes a va_list + * Gets the value of one or more cells in the row referenced by @iter. + * + * See [method@Gtk.TreeModel.get], this version takes a va_list * for language bindings to use. * * Params: @@ -382,9 +388,9 @@ public interface TreeModelIF{ * to free any allocated memory. * * Params: - * iter = the #GtkTreeIter-struct + * iter = the `GtkTreeIter` * column = the column to lookup the value at - * value = an empty #GValue to set + * value = an empty `GValue` to set */ public void getValue(TreeIter iter, int column, out Value value); @@ -399,8 +405,8 @@ public interface TreeModelIF{ * `gtk_tree_model_get_iter_first (tree_model, iter);` * * Params: - * iter = the new #GtkTreeIter-struct to be set to the child - * parent = the #GtkTreeIter-struct, or %NULL + * iter = the new `GtkTreeIter` to be set to the child + * parent = the `GtkTreeIter` * * Returns: %TRUE, if @iter has been set to the first child */ @@ -410,7 +416,7 @@ public interface TreeModelIF{ * Returns %TRUE if @iter has children, %FALSE otherwise. * * Params: - * iter = the #GtkTreeIter-struct to test for children + * iter = the `GtkTreeIter` to test for children * * Returns: %TRUE if @iter has children */ @@ -423,7 +429,7 @@ public interface TreeModelIF{ * of toplevel nodes is returned. * * Params: - * iter = the #GtkTreeIter-struct, or %NULL + * iter = the `GtkTreeIter` * * Returns: the number of children of @iter */ @@ -436,7 +442,7 @@ public interface TreeModelIF{ * to be invalid. * * Params: - * iter = the #GtkTreeIter-struct + * iter = the `GtkTreeIter` * * Returns: %TRUE if @iter has been changed to the next node */ @@ -452,8 +458,8 @@ public interface TreeModelIF{ * is set. * * Params: - * iter = the #GtkTreeIter-struct to set to the nth child - * parent = the #GtkTreeIter-struct to get the child from, or %NULL. + * iter = the `GtkTreeIter` to set to the nth child + * parent = the `GtkTreeIter` to get the child from * n = the index of the desired child * * Returns: %TRUE, if @parent has an @n-th child @@ -472,8 +478,8 @@ public interface TreeModelIF{ * and @iter cannot point to the same memory location. * * Params: - * iter = the new #GtkTreeIter-struct to set to the parent - * child = the #GtkTreeIter-struct + * iter = the new `GtkTreeIter` to set to the parent + * child = the `GtkTreeIter` * * Returns: %TRUE, if @iter is set to the parent of @child */ @@ -486,7 +492,7 @@ public interface TreeModelIF{ * set to be invalid. * * Params: - * iter = the #GtkTreeIter-struct + * iter = the `GtkTreeIter` * * Returns: %TRUE if @iter has been changed to the previous node */ @@ -512,21 +518,25 @@ public interface TreeModelIF{ * of its reffed state. * * Params: - * iter = the #GtkTreeIter-struct + * iter = the `GtkTreeIter` */ public void refNode(TreeIter iter); /** - * Emits the #GtkTreeModel::row-changed signal on @tree_model. + * Emits the ::row-changed signal on @tree_model. + * + * See [signal@Gtk.TreeModel::row-changed]. * * Params: - * path = a #GtkTreePath-struct pointing to the changed row - * iter = a valid #GtkTreeIter-struct pointing to the changed row + * path = a `GtkTreePath` pointing to the changed row + * iter = a valid `GtkTreeIter` pointing to the changed row */ public void rowChanged(TreePath path, TreeIter iter); /** - * Emits the #GtkTreeModel::row-deleted signal on @tree_model. + * Emits the ::row-deleted signal on @tree_model. + * + * See [signal@Gtk.TreeModel::row-deleted]. * * This should be called by models after a row has been removed. * The location pointed to by @path should be the location that @@ -536,41 +546,48 @@ public interface TreeModelIF{ * outstanding references on the deleted node should not be released. * * Params: - * path = a #GtkTreePath-struct pointing to the previous location of + * path = a `GtkTreePath` pointing to the previous location of * the deleted row */ public void rowDeleted(TreePath path); /** - * Emits the #GtkTreeModel::row-has-child-toggled signal on - * @tree_model. This should be called by models after the child + * Emits the ::row-has-child-toggled signal on @tree_model. + * + * See [signal@Gtk.TreeModel::row-has-child-toggled]. + * + * This should be called by models after the child * state of a node changes. * * Params: - * path = a #GtkTreePath-struct pointing to the changed row - * iter = a valid #GtkTreeIter-struct pointing to the changed row + * path = a `GtkTreePath` pointing to the changed row + * iter = a valid `GtkTreeIter` pointing to the changed row */ public void rowHasChildToggled(TreePath path, TreeIter iter); /** - * Emits the #GtkTreeModel::row-inserted signal on @tree_model. + * Emits the ::row-inserted signal on @tree_model. + * + * See [signal@Gtk.TreeModel::row-inserted]. * * Params: - * path = a #GtkTreePath-struct pointing to the inserted row - * iter = a valid #GtkTreeIter-struct pointing to the inserted row + * path = a `GtkTreePath` pointing to the inserted row + * iter = a valid `GtkTreeIter` pointing to the inserted row */ public void rowInserted(TreePath path, TreeIter iter); /** - * Emits the #GtkTreeModel::rows-reordered signal on @tree_model. + * Emits the ::rows-reordered signal on @tree_model. + * + * See [signal@Gtk.TreeModel::rows-reordered]. * * This should be called by models when their rows have been * reordered. * * Params: - * path = a #GtkTreePath-struct pointing to the tree node whose children + * path = a `GtkTreePath` pointing to the tree node whose children * have been reordered - * iter = a valid #GtkTreeIter-struct pointing to the node whose children + * iter = a valid `GtkTreeIter` pointing to the node whose children * have been reordered, or %NULL if the depth of @path is 0 * newOrder = an array of integers mapping the current position of * each child to its old position before the re-ordering, @@ -579,15 +596,17 @@ public interface TreeModelIF{ public void rowsReordered(TreePath path, TreeIter iter, int* newOrder); /** - * Emits the #GtkTreeModel::rows-reordered signal on @tree_model. + * Emits the ::rows-reordered signal on @tree_model. + * + * See [signal@Gtk.TreeModel::rows-reordered]. * * This should be called by models when their rows have been * reordered. * * Params: - * path = a #GtkTreePath-struct pointing to the tree node whose children + * path = a `GtkTreePath` pointing to the tree node whose children * have been reordered - * iter = a valid #GtkTreeIter-struct pointing to the node + * iter = a valid `GtkTreeIter` pointing to the node * whose children have been reordered, or %NULL if the depth * of @path is 0 * newOrder = an array of integers @@ -608,7 +627,7 @@ public interface TreeModelIF{ * Please note that nodes that are deleted are not unreffed. * * Params: - * iter = the #GtkTreeIter-struct + * iter = the `GtkTreeIter` */ public void unrefNode(TreeIter iter); @@ -616,8 +635,8 @@ public interface TreeModelIF{ * This signal is emitted when a row in the model has changed. * * Params: - * path = a #GtkTreePath-struct identifying the changed row - * iter = a valid #GtkTreeIter-struct pointing to the changed row + * path = a `GtkTreePath` identifying the changed row + * iter = a valid `GtkTreeIter` pointing to the changed row */ gulong addOnRowChanged(void delegate(TreePath, TreeIter, TreeModelIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0); @@ -632,7 +651,7 @@ public interface TreeModelIF{ * the row previously was at. It may not be a valid location anymore. * * Params: - * path = a #GtkTreePath-struct identifying the row + * path = a `GtkTreePath` identifying the row */ gulong addOnRowDeleted(void delegate(TreePath, TreeModelIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0); @@ -641,8 +660,8 @@ public interface TreeModelIF{ * row or lost its last child row. * * Params: - * path = a #GtkTreePath-struct identifying the row - * iter = a valid #GtkTreeIter-struct pointing to the row + * path = a `GtkTreePath` identifying the row + * iter = a valid `GtkTreeIter` pointing to the row */ gulong addOnRowHasChildToggled(void delegate(TreePath, TreeIter, TreeModelIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0); @@ -655,23 +674,23 @@ public interface TreeModelIF{ * then fill it with the desired values. * * Params: - * path = a #GtkTreePath-struct identifying the new row - * iter = a valid #GtkTreeIter-struct pointing to the new row + * path = a `GtkTreePath` identifying the new row + * iter = a valid `GtkTreeIter` pointing to the new row */ gulong addOnRowInserted(void delegate(TreePath, TreeIter, TreeModelIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0); /** * This signal is emitted when the children of a node in the - * #GtkTreeModel have been reordered. + * `GtkTreeModel` have been reordered. * * Note that this signal is not emitted * when rows are reordered by DND, since this is implemented * by removing and then reinserting the row. * * Params: - * path = a #GtkTreePath-struct identifying the tree node whose children + * path = a `GtkTreePath` identifying the tree node whose children * have been reordered - * iter = a valid #GtkTreeIter-struct pointing to the node whose children + * iter = a valid `GtkTreeIter` pointing to the node whose children * have been reordered, or %NULL if the depth of @path is 0 * newOrder = an array of integers mapping the current position * of each child to its old position before the re-ordering, diff --git a/generated/gtkd/gtk/TreeModelSort.d b/source/generated/gtk/gtk/TreeModelSort.d similarity index 88% rename from generated/gtkd/gtk/TreeModelSort.d rename to source/generated/gtk/gtk/TreeModelSort.d index 2911985a2..0cb394445 100644 --- a/generated/gtkd/gtk/TreeModelSort.d +++ b/source/generated/gtk/gtk/TreeModelSort.d @@ -42,23 +42,23 @@ public import gtk.c.types; /** * A GtkTreeModel which makes an underlying tree model sortable * - * The #GtkTreeModelSort is a model which implements the #GtkTreeSortable + * The `GtkTreeModelSort` is a model which implements the `GtkTreeSortable` * interface. It does not hold any data itself, but rather is created with * a child model and proxies its data. It has identical column types to * this child model, and the changes in the child are propagated. The * primary purpose of this model is to provide a way to sort a different * model without modifying it. Note that the sort function used by - * #GtkTreeModelSort is not guaranteed to be stable. + * `GtkTreeModelSort` is not guaranteed to be stable. * * The use of this is best demonstrated through an example. In the - * following sample code we create two #GtkTreeView widgets each with a + * following sample code we create two `GtkTreeView` widgets each with a * view of the same data. As the model is wrapped here by a - * #GtkTreeModelSort, the two #GtkTreeViews can each sort their + * `GtkTreeModelSort`, the two `GtkTreeView`s can each sort their * view of the data without affecting the other. By contrast, if we * simply put the same model in each widget, then sorting the first would * sort the second. * - * ## Using a #GtkTreeModelSort + * ## Using a `GtkTreeModelSort` * * |[ * { @@ -88,8 +88,8 @@ public import gtk.c.types; * ]| * * To demonstrate how to access the underlying child model from the sort - * model, the next example will be a callback for the #GtkTreeSelection - * #GtkTreeSelection::changed signal. In this callback, we get a string + * model, the next example will be a callback for the `GtkTreeSelection` + * `GtkTreeSelection::changed` signal. In this callback, we get a string * from COLUMN_1 of the model. We then modify the string, find the same * selected row on the child model, and change the row there. * @@ -182,12 +182,12 @@ public class TreeModelSort : ObjectG, TreeDragSourceIF, TreeModelIF, TreeSortabl } /** - * Creates a new #GtkTreeModelSort, with @child_model as the child model. + * Creates a new `GtkTreeModelSort`, with @child_model as the child model. * * Params: - * childModel = A #GtkTreeModel + * childModel = A `GtkTreeModel` * - * Returns: A new #GtkTreeModelSort. + * Returns: A new `GtkTreeModelSort`. * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -222,8 +222,8 @@ public class TreeModelSort : ObjectG, TreeDragSourceIF, TreeModelIF, TreeSortabl * is returned. Note: a boolean is only returned since 2.14. * * Params: - * sortIter = An uninitialized #GtkTreeIter. - * childIter = A valid #GtkTreeIter pointing to a row on the child model + * sortIter = An uninitialized `GtkTreeIter` + * childIter = A valid `GtkTreeIter` pointing to a row on the child model * * Returns: %TRUE, if @sort_iter was set, i.e. if @sort_iter is a * valid iterator pointer to a visible row in the child model. @@ -246,9 +246,9 @@ public class TreeModelSort : ObjectG, TreeDragSourceIF, TreeModelIF, TreeSortabl * path on the child model, then %NULL is returned. * * Params: - * childPath = A #GtkTreePath to convert + * childPath = A `GtkTreePath` to convert * - * Returns: A newly allocated #GtkTreePath, or %NULL + * Returns: A newly allocated `GtkTreePath` */ public TreePath convertChildPathToPath(TreePath childPath) { @@ -266,8 +266,8 @@ public class TreeModelSort : ObjectG, TreeDragSourceIF, TreeModelIF, TreeSortabl * Sets @child_iter to point to the row pointed to by @sorted_iter. * * Params: - * childIter = An uninitialized #GtkTreeIter - * sortedIter = A valid #GtkTreeIter pointing to a row on @tree_model_sort. + * childIter = An uninitialized `GtkTreeIter` + * sortedIter = A valid `GtkTreeIter` pointing to a row on @tree_model_sort. */ public void convertIterToChildIter(out TreeIter childIter, TreeIter sortedIter) { @@ -286,9 +286,9 @@ public class TreeModelSort : ObjectG, TreeDragSourceIF, TreeModelIF, TreeSortabl * %NULL is returned. * * Params: - * sortedPath = A #GtkTreePath to convert + * sortedPath = A `GtkTreePath` to convert * - * Returns: A newly allocated #GtkTreePath, or %NULL + * Returns: A newly allocated `GtkTreePath` */ public TreePath convertPathToChildPath(TreePath sortedPath) { @@ -303,7 +303,7 @@ public class TreeModelSort : ObjectG, TreeDragSourceIF, TreeModelIF, TreeSortabl } /** - * Returns the model the #GtkTreeModelSort is sorting. + * Returns the model the `GtkTreeModelSort` is sorting. * * Returns: the "child model" being sorted */ @@ -323,10 +323,10 @@ public class TreeModelSort : ObjectG, TreeDragSourceIF, TreeModelIF, TreeSortabl * > This function is slow. Only use it for debugging and/or testing * > purposes. * - * Checks if the given iter is a valid iter for this #GtkTreeModelSort. + * Checks if the given iter is a valid iter for this `GtkTreeModelSort`. * * Params: - * iter = A #GtkTreeIter. + * iter = A `GtkTreeIter` * * Returns: %TRUE if the iter is valid, %FALSE if the iter is invalid. */ @@ -338,7 +338,7 @@ public class TreeModelSort : ObjectG, TreeDragSourceIF, TreeModelIF, TreeSortabl /** * This resets the default sort function to be in the “unsorted” state. That * is, it is in the same order as the child model. It will re-sort the model - * to be in the same order as the child model only if the #GtkTreeModelSort + * to be in the same order as the child model only if the `GtkTreeModelSort` * is in “unsorted” state. */ public void resetDefaultSortFunc() diff --git a/generated/gtkd/gtk/TreeModelT.d b/source/generated/gtk/gtk/TreeModelT.d similarity index 83% rename from generated/gtkd/gtk/TreeModelT.d rename to source/generated/gtk/gtk/TreeModelT.d index 87dbe92cf..987e8f6bc 100644 --- a/generated/gtkd/gtk/TreeModelT.d +++ b/source/generated/gtk/gtk/TreeModelT.d @@ -41,17 +41,17 @@ public import std.algorithm; /** * The tree interface used by GtkTreeView * - * The #GtkTreeModel interface defines a generic tree interface for - * use by the #GtkTreeView widget. It is an abstract interface, and + * The `GtkTreeModel` interface defines a generic tree interface for + * use by the `GtkTreeView` widget. It is an abstract interface, and * is designed to be usable with any appropriate data structure. The * programmer just has to implement this interface on their own data - * type for it to be viewable by a #GtkTreeView widget. + * type for it to be viewable by a `GtkTreeView` widget. * * The model is represented as a hierarchical tree of strongly-typed, * columned data. In other words, the model can be seen as a tree where * every node has different values depending on which column is being * queried. The type of data found in a column is determined by using - * the GType system (ie. #G_TYPE_INT, #GTK_TYPE_BUTTON, #G_TYPE_POINTER, + * the GType system (ie. %G_TYPE_INT, %GTK_TYPE_BUTTON, %G_TYPE_POINTER, * etc). The types are homogeneous per column across all nodes. It is * important to note that this interface only provides a way of examining * a model and observing changes. The implementation of each individual @@ -59,7 +59,7 @@ public import std.algorithm; * * In order to make life simpler for programmers who do not need to * write their own specialized model, two generic models are provided - * — the #GtkTreeStore and the #GtkListStore. To use these, the + * — the `GtkTreeStore` and the `GtkListStore`. To use these, the * developer simply pushes data into these models as necessary. These * models provide the data structure as well as all appropriate tree * interfaces. As a result, implementing drag and drop, sorting, and @@ -88,14 +88,14 @@ public import std.algorithm; * way. One can convert a path to an iterator by calling * gtk_tree_model_get_iter(). These iterators are the primary way * of accessing a model and are similar to the iterators used by - * #GtkTextBuffer. They are generally statically allocated on the + * `GtkTextBuffer`. They are generally statically allocated on the * stack and only used for a short time. The model interface defines * a set of operations using them for navigating the model. * * It is expected that models fill in the iterator with private data. - * For example, the #GtkListStore model, which is internally a simple + * For example, the `GtkListStore` model, which is internally a simple * linked list, stores a list node in one of the pointers. The - * #GtkTreeModelSort stores an array and an offset in two of the + * `GtkTreeModel`Sort stores an array and an offset in two of the * pointers. Additionally, there is an integer field. This field is * generally filled with a unique stamp per model. This stamp is for * catching errors resulting from using invalid iterators with a model. @@ -106,11 +106,11 @@ public import std.algorithm; * to own all outstanding iterators and nothing needs to be done to * free them from the user’s point of view. Additionally, some models * guarantee that an iterator is valid for as long as the node it refers - * to is valid (most notably the #GtkTreeStore and #GtkListStore). + * to is valid (most notably the `GtkTreeStore` and `GtkListStore`). * Although generally uninteresting, as one always has to allow for * the case where iterators do not persist beyond a signal, some very * important performance enhancements were made in the sort model. - * As a result, the #GTK_TREE_MODEL_ITERS_PERSIST flag was added to + * As a result, the %GTK_TREE_MODEL_ITERS_PERSIST flag was added to * indicate this behavior. * * To help show some common operation of a model, some examples are @@ -151,8 +151,8 @@ public import std.algorithm; * This second example shows a quick way of iterating through a list * and getting a string and an integer from each row. The * populate_model() function used below is not - * shown, as it is specific to the #GtkListStore. For information on - * how to write such a function, see the #GtkListStore documentation. + * shown, as it is specific to the `GtkListStore`. For information on + * how to write such a function, see the `GtkListStore` documentation. * * ## Reading data from a `GtkTreeModel` * @@ -206,11 +206,11 @@ public import std.algorithm; * } * ``` * - * The #GtkTreeModel interface contains two methods for reference + * The `GtkTreeModel` interface contains two methods for reference * counting: gtk_tree_model_ref_node() and gtk_tree_model_unref_node(). * These two methods are optional to implement. The reference counting * is meant as a way for views to let models know when nodes are being - * displayed. #GtkTreeView will take a reference on a node when it is + * displayed. `GtkTreeView` will take a reference on a node when it is * visible, which means the node is either in the toplevel or expanded. * Being displayed does not mean that the node is currently directly * visible to the user in the viewport. Based on this reference counting @@ -259,13 +259,13 @@ public template TreeModelT(TStruct) */ /** - * Creates a new #GtkTreeModel, with @child_model as the child_model + * Creates a new `GtkTreeModel`, with @child_model as the child_model * and @root as the virtual root. * * Params: - * root = A #GtkTreePath or %NULL. + * root = A `GtkTreePath` * - * Returns: A new #GtkTreeModel. + * Returns: A new `GtkTreeModel`. */ public TreeModelIF filterNew(TreePath root) { @@ -281,7 +281,7 @@ public template TreeModelT(TStruct) alias foreac = foreach_; /** - * Calls func on each node in model in a depth-first fashion. + * Calls @func on each node in model in a depth-first fashion. * * If @func returns %TRUE, then the tree ceases to be walked, * and gtk_tree_model_foreach() returns. @@ -311,7 +311,7 @@ public template TreeModelT(TStruct) /** * Returns a set of flags supported by this interface. * - * The flags are a bitwise combination of #GtkTreeModelFlags. + * The flags are a bitwise combination of `GtkTreeModel`Flags. * The flags supported should not change during the lifetime * of the @tree_model. * @@ -323,12 +323,14 @@ public template TreeModelT(TStruct) } /** - * Sets @iter to a valid iterator pointing to @path. If @path does - * not exist, @iter is set to an invalid iterator and %FALSE is returned. + * Sets @iter to a valid iterator pointing to @path. + * + * If @path does not exist, @iter is set to an invalid + * iterator and %FALSE is returned. * * Params: - * iter = the uninitialized #GtkTreeIter-struct - * path = the #GtkTreePath-struct + * iter = the uninitialized `GtkTreeIter` + * path = the `GtkTreePath` * * Returns: %TRUE, if @iter was set */ @@ -345,11 +347,12 @@ public template TreeModelT(TStruct) /** * Initializes @iter with the first iterator in the tree - * (the one at the path "0") and returns %TRUE. Returns - * %FALSE if the tree is empty. + * (the one at the path "0"). + * + * Returns %FALSE if the tree is empty, %TRUE otherwise. * * Params: - * iter = the uninitialized #GtkTreeIter-struct + * iter = the uninitialized `GtkTreeIter` * * Returns: %TRUE, if @iter was set */ @@ -366,11 +369,13 @@ public template TreeModelT(TStruct) /** * Sets @iter to a valid iterator pointing to @path_string, if it - * exists. Otherwise, @iter is left invalid and %FALSE is returned. + * exists. + * + * Otherwise, @iter is left invalid and %FALSE is returned. * * Params: - * iter = an uninitialized #GtkTreeIter-struct - * pathString = a string representation of a #GtkTreePath-struct + * iter = an uninitialized `GtkTreeIter` + * pathString = a string representation of a `GtkTreePath` * * Returns: %TRUE, if @iter was set */ @@ -396,14 +401,14 @@ public template TreeModelT(TStruct) } /** - * Returns a newly-created #GtkTreePath-struct referenced by @iter. + * Returns a newly-created `GtkTreePath` referenced by @iter. * * This path should be freed with gtk_tree_path_free(). * * Params: - * iter = the #GtkTreeIter-struct + * iter = the `GtkTreeIter` * - * Returns: a newly-created #GtkTreePath-struct + * Returns: a newly-created `GtkTreePath` */ public TreePath getPath(TreeIter iter) { @@ -425,10 +430,9 @@ public template TreeModelT(TStruct) * return value for this string. * * Params: - * iter = a #GtkTreeIter-struct + * iter = a `GtkTreeIter` * - * Returns: a newly-allocated string. - * Must be freed with g_free(). + * Returns: a newly-allocated string */ public string getStringFromIter(TreeIter iter) { @@ -439,7 +443,9 @@ public template TreeModelT(TStruct) } /** - * See gtk_tree_model_get(), this version takes a va_list + * Gets the value of one or more cells in the row referenced by @iter. + * + * See [method@Gtk.TreeModel.get], this version takes a va_list * for language bindings to use. * * Params: @@ -458,9 +464,9 @@ public template TreeModelT(TStruct) * to free any allocated memory. * * Params: - * iter = the #GtkTreeIter-struct + * iter = the `GtkTreeIter` * column = the column to lookup the value at - * value = an empty #GValue to set + * value = an empty `GValue` to set */ public void getValue(TreeIter iter, int column, out Value value) { @@ -482,8 +488,8 @@ public template TreeModelT(TStruct) * `gtk_tree_model_get_iter_first (tree_model, iter);` * * Params: - * iter = the new #GtkTreeIter-struct to be set to the child - * parent = the #GtkTreeIter-struct, or %NULL + * iter = the new `GtkTreeIter` to be set to the child + * parent = the `GtkTreeIter` * * Returns: %TRUE, if @iter has been set to the first child */ @@ -502,7 +508,7 @@ public template TreeModelT(TStruct) * Returns %TRUE if @iter has children, %FALSE otherwise. * * Params: - * iter = the #GtkTreeIter-struct to test for children + * iter = the `GtkTreeIter` to test for children * * Returns: %TRUE if @iter has children */ @@ -518,7 +524,7 @@ public template TreeModelT(TStruct) * of toplevel nodes is returned. * * Params: - * iter = the #GtkTreeIter-struct, or %NULL + * iter = the `GtkTreeIter` * * Returns: the number of children of @iter */ @@ -534,7 +540,7 @@ public template TreeModelT(TStruct) * to be invalid. * * Params: - * iter = the #GtkTreeIter-struct + * iter = the `GtkTreeIter` * * Returns: %TRUE if @iter has been changed to the next node */ @@ -553,8 +559,8 @@ public template TreeModelT(TStruct) * is set. * * Params: - * iter = the #GtkTreeIter-struct to set to the nth child - * parent = the #GtkTreeIter-struct to get the child from, or %NULL. + * iter = the `GtkTreeIter` to set to the nth child + * parent = the `GtkTreeIter` to get the child from * n = the index of the desired child * * Returns: %TRUE, if @parent has an @n-th child @@ -582,8 +588,8 @@ public template TreeModelT(TStruct) * and @iter cannot point to the same memory location. * * Params: - * iter = the new #GtkTreeIter-struct to set to the parent - * child = the #GtkTreeIter-struct + * iter = the new `GtkTreeIter` to set to the parent + * child = the `GtkTreeIter` * * Returns: %TRUE, if @iter is set to the parent of @child */ @@ -605,7 +611,7 @@ public template TreeModelT(TStruct) * set to be invalid. * * Params: - * iter = the #GtkTreeIter-struct + * iter = the `GtkTreeIter` * * Returns: %TRUE if @iter has been changed to the previous node */ @@ -634,7 +640,7 @@ public template TreeModelT(TStruct) * of its reffed state. * * Params: - * iter = the #GtkTreeIter-struct + * iter = the `GtkTreeIter` */ public void refNode(TreeIter iter) { @@ -642,11 +648,13 @@ public template TreeModelT(TStruct) } /** - * Emits the #GtkTreeModel::row-changed signal on @tree_model. + * Emits the ::row-changed signal on @tree_model. + * + * See [signal@Gtk.TreeModel::row-changed]. * * Params: - * path = a #GtkTreePath-struct pointing to the changed row - * iter = a valid #GtkTreeIter-struct pointing to the changed row + * path = a `GtkTreePath` pointing to the changed row + * iter = a valid `GtkTreeIter` pointing to the changed row */ public void rowChanged(TreePath path, TreeIter iter) { @@ -654,7 +662,9 @@ public template TreeModelT(TStruct) } /** - * Emits the #GtkTreeModel::row-deleted signal on @tree_model. + * Emits the ::row-deleted signal on @tree_model. + * + * See [signal@Gtk.TreeModel::row-deleted]. * * This should be called by models after a row has been removed. * The location pointed to by @path should be the location that @@ -664,7 +674,7 @@ public template TreeModelT(TStruct) * outstanding references on the deleted node should not be released. * * Params: - * path = a #GtkTreePath-struct pointing to the previous location of + * path = a `GtkTreePath` pointing to the previous location of * the deleted row */ public void rowDeleted(TreePath path) @@ -673,13 +683,16 @@ public template TreeModelT(TStruct) } /** - * Emits the #GtkTreeModel::row-has-child-toggled signal on - * @tree_model. This should be called by models after the child + * Emits the ::row-has-child-toggled signal on @tree_model. + * + * See [signal@Gtk.TreeModel::row-has-child-toggled]. + * + * This should be called by models after the child * state of a node changes. * * Params: - * path = a #GtkTreePath-struct pointing to the changed row - * iter = a valid #GtkTreeIter-struct pointing to the changed row + * path = a `GtkTreePath` pointing to the changed row + * iter = a valid `GtkTreeIter` pointing to the changed row */ public void rowHasChildToggled(TreePath path, TreeIter iter) { @@ -687,11 +700,13 @@ public template TreeModelT(TStruct) } /** - * Emits the #GtkTreeModel::row-inserted signal on @tree_model. + * Emits the ::row-inserted signal on @tree_model. + * + * See [signal@Gtk.TreeModel::row-inserted]. * * Params: - * path = a #GtkTreePath-struct pointing to the inserted row - * iter = a valid #GtkTreeIter-struct pointing to the inserted row + * path = a `GtkTreePath` pointing to the inserted row + * iter = a valid `GtkTreeIter` pointing to the inserted row */ public void rowInserted(TreePath path, TreeIter iter) { @@ -699,15 +714,17 @@ public template TreeModelT(TStruct) } /** - * Emits the #GtkTreeModel::rows-reordered signal on @tree_model. + * Emits the ::rows-reordered signal on @tree_model. + * + * See [signal@Gtk.TreeModel::rows-reordered]. * * This should be called by models when their rows have been * reordered. * * Params: - * path = a #GtkTreePath-struct pointing to the tree node whose children + * path = a `GtkTreePath` pointing to the tree node whose children * have been reordered - * iter = a valid #GtkTreeIter-struct pointing to the node whose children + * iter = a valid `GtkTreeIter` pointing to the node whose children * have been reordered, or %NULL if the depth of @path is 0 * newOrder = an array of integers mapping the current position of * each child to its old position before the re-ordering, @@ -719,15 +736,17 @@ public template TreeModelT(TStruct) } /** - * Emits the #GtkTreeModel::rows-reordered signal on @tree_model. + * Emits the ::rows-reordered signal on @tree_model. + * + * See [signal@Gtk.TreeModel::rows-reordered]. * * This should be called by models when their rows have been * reordered. * * Params: - * path = a #GtkTreePath-struct pointing to the tree node whose children + * path = a `GtkTreePath` pointing to the tree node whose children * have been reordered - * iter = a valid #GtkTreeIter-struct pointing to the node + * iter = a valid `GtkTreeIter` pointing to the node * whose children have been reordered, or %NULL if the depth * of @path is 0 * newOrder = an array of integers @@ -751,7 +770,7 @@ public template TreeModelT(TStruct) * Please note that nodes that are deleted are not unreffed. * * Params: - * iter = the #GtkTreeIter-struct + * iter = the `GtkTreeIter` */ public void unrefNode(TreeIter iter) { @@ -762,8 +781,8 @@ public template TreeModelT(TStruct) * This signal is emitted when a row in the model has changed. * * Params: - * path = a #GtkTreePath-struct identifying the changed row - * iter = a valid #GtkTreeIter-struct pointing to the changed row + * path = a `GtkTreePath` identifying the changed row + * iter = a valid `GtkTreeIter` pointing to the changed row */ gulong addOnRowChanged(void delegate(TreePath, TreeIter, TreeModelIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -781,7 +800,7 @@ public template TreeModelT(TStruct) * the row previously was at. It may not be a valid location anymore. * * Params: - * path = a #GtkTreePath-struct identifying the row + * path = a `GtkTreePath` identifying the row */ gulong addOnRowDeleted(void delegate(TreePath, TreeModelIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -793,8 +812,8 @@ public template TreeModelT(TStruct) * row or lost its last child row. * * Params: - * path = a #GtkTreePath-struct identifying the row - * iter = a valid #GtkTreeIter-struct pointing to the row + * path = a `GtkTreePath` identifying the row + * iter = a valid `GtkTreeIter` pointing to the row */ gulong addOnRowHasChildToggled(void delegate(TreePath, TreeIter, TreeModelIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -810,8 +829,8 @@ public template TreeModelT(TStruct) * then fill it with the desired values. * * Params: - * path = a #GtkTreePath-struct identifying the new row - * iter = a valid #GtkTreeIter-struct pointing to the new row + * path = a `GtkTreePath` identifying the new row + * iter = a valid `GtkTreeIter` pointing to the new row */ gulong addOnRowInserted(void delegate(TreePath, TreeIter, TreeModelIF) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { @@ -820,16 +839,16 @@ public template TreeModelT(TStruct) /** * This signal is emitted when the children of a node in the - * #GtkTreeModel have been reordered. + * `GtkTreeModel` have been reordered. * * Note that this signal is not emitted * when rows are reordered by DND, since this is implemented * by removing and then reinserting the row. * * Params: - * path = a #GtkTreePath-struct identifying the tree node whose children + * path = a `GtkTreePath` identifying the tree node whose children * have been reordered - * iter = a valid #GtkTreeIter-struct pointing to the node whose children + * iter = a valid `GtkTreeIter` pointing to the node whose children * have been reordered, or %NULL if the depth of @path is 0 * newOrder = an array of integers mapping the current position * of each child to its old position before the re-ordering, diff --git a/generated/gtkd/gtk/TreePath.d b/source/generated/gtk/gtk/TreePath.d similarity index 92% rename from generated/gtkd/gtk/TreePath.d rename to source/generated/gtk/gtk/TreePath.d index b4793eb43..c6df21753 100644 --- a/generated/gtkd/gtk/TreePath.d +++ b/source/generated/gtk/gtk/TreePath.d @@ -30,7 +30,7 @@ private import glib.c.functions; private import gobject.ObjectG; private import gtk.c.functions; public import gtk.c.types; -private import gtkd.Loader; +private import linker.Loader; /** @@ -67,7 +67,7 @@ public class TreePath ~this () { - if ( Linker.isLoaded(LIBRARY_GTK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GTK[0]) && ownedRef ) gtk_tree_path_free(gtkTreePath); } @@ -115,7 +115,7 @@ public class TreePath * Params: * indices = array of indices * - * Returns: A newly created #GtkTreePath-struct + * Returns: A newly created `GtkTreePath` * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -132,7 +132,7 @@ public class TreePath } /** - * Creates a new #GtkTreePath-struct initialized to @path. + * Creates a new `GtkTreePath` initialized to @path. * * @path is expected to be a colon separated list of numbers. * For example, the string “10:4:0” would create a path of depth @@ -143,7 +143,7 @@ public class TreePath * Params: * path = The string representation of a path * - * Returns: A newly-created #GtkTreePath-struct, or %NULL + * Returns: A newly-created `GtkTreePath` * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -180,7 +180,7 @@ public class TreePath * If the two nodes are equal, then 0 is returned. * * Params: - * b = a #GtkTreePath-struct to compare with + * b = a `GtkTreePath` to compare with * * Returns: the relative positions of @a and @b */ @@ -190,9 +190,9 @@ public class TreePath } /** - * Creates a new #GtkTreePath-struct as a copy of @path. + * Creates a new `GtkTreePath` as a copy of @path. * - * Returns: a new #GtkTreePath-struct + * Returns: a new `GtkTreePath` */ public TreePath copy() { @@ -241,7 +241,7 @@ public class TreePath * * The length of the array can be obtained with gtk_tree_path_get_depth(). * - * Returns: The current indices, or %NULL + * Returns: The current indices */ public int* getIndices() { @@ -256,7 +256,7 @@ public class TreePath * The array should not be freed. * * Returns: The current - * indices, or %NULL + * indices */ public int[] getIndicesWithDepth() { @@ -271,7 +271,7 @@ public class TreePath * Returns %TRUE if @descendant is a descendant of @path. * * Params: - * descendant = another #GtkTreePath-struct + * descendant = another `GtkTreePath` * * Returns: %TRUE if @descendant is contained inside @path */ @@ -284,7 +284,7 @@ public class TreePath * Returns %TRUE if @path is a descendant of @ancestor. * * Params: - * ancestor = another #GtkTreePath-struct + * ancestor = another `GtkTreePath` * * Returns: %TRUE if @ancestor contains @path somewhere below it */ @@ -334,8 +334,7 @@ public class TreePath * return value for this string. If the path has * depth 0, %NULL is returned. * - * Returns: A newly-allocated string. - * Must be freed with g_free(). + * Returns: A newly-allocated string */ public override string toString() { diff --git a/generated/gtkd/gtk/TreeRowReference.d b/source/generated/gtk/gtk/TreeRowReference.d similarity index 89% rename from generated/gtkd/gtk/TreeRowReference.d rename to source/generated/gtk/gtk/TreeRowReference.d index a2a83806d..ffeb017a3 100644 --- a/generated/gtkd/gtk/TreeRowReference.d +++ b/source/generated/gtk/gtk/TreeRowReference.d @@ -31,12 +31,12 @@ private import gtk.TreeModelIF; private import gtk.TreePath; private import gtk.c.functions; public import gtk.c.types; -private import gtkd.Loader; +private import linker.Loader; /** * A GtkTreeRowReference tracks model changes so that it always refers to the - * same row (a #GtkTreePath refers to a position, not a fixed row). Create a + * same row (a `GtkTreePath` refers to a position, not a fixed row). Create a * new GtkTreeRowReference with gtk_tree_row_reference_new(). */ public class TreeRowReference @@ -70,7 +70,7 @@ public class TreeRowReference ~this () { - if ( Linker.isLoaded(LIBRARY_GTK) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_GTK[0]) && ownedRef ) gtk_tree_row_reference_free(gtkTreeRowReference); } @@ -90,10 +90,10 @@ public class TreeRowReference * @path isn’t a valid path in @model, then %NULL is returned. * * Params: - * model = a #GtkTreeModel - * path = a valid #GtkTreePath-struct to monitor + * model = a `GtkTreeModel` + * path = a valid `GtkTreePath` to monitor * - * Returns: a newly allocated #GtkTreeRowReference, or %NULL + * Returns: a newly allocated `GtkTreeRowReference` * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -126,7 +126,7 @@ public class TreeRowReference * These functions must be called exactly once per proxy when the * corresponding signal on the model is emitted. This single call * updates all row references for that proxy. Since built-in GTK - * objects like #GtkTreeView already use this mechanism internally, + * objects like `GtkTreeView` already use this mechanism internally, * using them as the proxy object will produce unpredictable results. * Further more, passing the same object as @model and @proxy * doesn’t work for reasons of internal implementation. @@ -136,11 +136,11 @@ public class TreeRowReference * itself, and is not generally needed by most applications. * * Params: - * proxy = a proxy #GObject - * model = a #GtkTreeModel - * path = a valid #GtkTreePath-struct to monitor + * proxy = a proxy `GObject` + * model = a `GtkTreeModel` + * path = a valid `GtkTreePath` to monitor * - * Returns: a newly allocated #GtkTreeRowReference, or %NULL + * Returns: a newly allocated `GtkTreeRowReference` * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -157,7 +157,7 @@ public class TreeRowReference } /** - * Copies a #GtkTreeRowReference. + * Copies a `GtkTreeRowReference`. * * Returns: a copy of @reference */ @@ -203,7 +203,7 @@ public class TreeRowReference * Returns a path that the row reference currently points to, * or %NULL if the path pointed to is no longer valid. * - * Returns: a current path, or %NULL + * Returns: a current path */ public TreePath getPath() { @@ -231,10 +231,10 @@ public class TreeRowReference /** * Lets a set of row reference created by * gtk_tree_row_reference_new_proxy() know that the - * model emitted the #GtkTreeModel::row-deleted signal. + * model emitted the ::row-deleted signal. * * Params: - * proxy = a #GObject + * proxy = a `GObject` * path = the path position that was deleted */ public static void deleted(ObjectG proxy, TreePath path) @@ -245,10 +245,10 @@ public class TreeRowReference /** * Lets a set of row reference created by * gtk_tree_row_reference_new_proxy() know that the - * model emitted the #GtkTreeModel::row-inserted signal. + * model emitted the ::row-inserted signal. * * Params: - * proxy = a #GObject + * proxy = a `GObject` * path = the row position that was inserted */ public static void inserted(ObjectG proxy, TreePath path) @@ -259,10 +259,10 @@ public class TreeRowReference /** * Lets a set of row reference created by * gtk_tree_row_reference_new_proxy() know that the - * model emitted the #GtkTreeModel::rows-reordered signal. + * model emitted the ::rows-reordered signal. * * Params: - * proxy = a #GObject + * proxy = a `GObject` * path = the parent path of the reordered signal * iter = the iter pointing to the parent of the reordered * newOrder = the new order of rows diff --git a/generated/gtkd/gtk/TreeSelection.d b/source/generated/gtk/gtk/TreeSelection.d similarity index 87% rename from generated/gtkd/gtk/TreeSelection.d rename to source/generated/gtk/gtk/TreeSelection.d index 3fd4d4b94..c86fc71ad 100644 --- a/generated/gtkd/gtk/TreeSelection.d +++ b/source/generated/gtk/gtk/TreeSelection.d @@ -40,15 +40,15 @@ private import std.algorithm; /** * The selection object for GtkTreeView * - * The #GtkTreeSelection object is a helper object to manage the selection - * for a #GtkTreeView widget. The #GtkTreeSelection object is - * automatically created when a new #GtkTreeView widget is created, and + * The `GtkTreeSelection` object is a helper object to manage the selection + * for a `GtkTreeView` widget. The `GtkTreeSelection` object is + * automatically created when a new `GtkTreeView` widget is created, and * cannot exist independently of this widget. The primary reason the - * #GtkTreeSelection objects exists is for cleanliness of code and API. + * `GtkTreeSelection` objects exists is for cleanliness of code and API. * That is, there is no conceptual reason all these functions could not be - * methods on the #GtkTreeView widget instead of a separate function. + * methods on the `GtkTreeView` widget instead of a separate function. * - * The #GtkTreeSelection object is gotten from a #GtkTreeView by calling + * The `GtkTreeSelection` object is gotten from a `GtkTreeView` by calling * gtk_tree_view_get_selection(). It can be manipulated to check the * selection status of the tree, as well as select and deselect individual * rows. Selection is done completely view side. As a result, multiple @@ -58,9 +58,9 @@ private import std.algorithm; * first. * * One of the important things to remember when monitoring the selection of - * a view is that the #GtkTreeSelection::changed signal is mostly a hint. + * a view is that the `GtkTreeSelection`::changed signal is mostly a hint. * That is, it may only emit one signal when a range of rows is selected. - * Additionally, it may on occasion emit a #GtkTreeSelection::changed signal + * Additionally, it may on occasion emit a `GtkTreeSelection`::changed signal * when nothing has happened (mostly as a result of programmers calling * select_row on an already selected row). */ @@ -132,14 +132,14 @@ public class TreeSelection : ObjectG /** * Sets @iter to the currently selected node if @selection is set to - * #GTK_SELECTION_SINGLE or #GTK_SELECTION_BROWSE. @iter may be NULL if you + * %GTK_SELECTION_SINGLE or %GTK_SELECTION_BROWSE. @iter may be NULL if you * just want to test if @selection has any selected nodes. @model is filled * with the current model as a convenience. This function will not work if you - * use @selection is #GTK_SELECTION_MULTIPLE. + * use @selection is %GTK_SELECTION_MULTIPLE. * * Params: - * model = A pointer to set to the #GtkTreeModel, or NULL. - * iter = The #GtkTreeIter, or NULL. + * model = A pointer to set to the `GtkTreeModel` + * iter = The `GtkTreeIter` * * Returns: TRUE, if there is a selected node. */ @@ -159,7 +159,7 @@ public class TreeSelection : ObjectG /** * Creates a list of path of all selected rows. Additionally, if you are * planning on modifying the model after calling this function, you may - * want to convert the returned list into a list of #GtkTreeRowReferences. + * want to convert the returned list into a list of `GtkTreeRowReference`s. * To do this, you can use gtk_tree_row_reference_new(). * * To free the return value, use: @@ -168,9 +168,9 @@ public class TreeSelection : ObjectG * ]| * * Params: - * model = A pointer to set to the #GtkTreeModel, or %NULL. + * model = A pointer to set to the `GtkTreeModel` * - * Returns: A #GList containing a #GtkTreePath for each selected row. + * Returns: A `GList` containing a `GtkTreePath` for each selected row. */ public ListG getSelectedRows(out TreeModelIF model) { @@ -191,7 +191,7 @@ public class TreeSelection : ObjectG /** * Returns the tree view associated with @selection. * - * Returns: A #GtkTreeView + * Returns: A `GtkTreeView` */ public TreeView getTreeView() { @@ -219,7 +219,7 @@ public class TreeSelection : ObjectG * Returns %TRUE if the row at @iter is currently selected. * * Params: - * iter = A valid #GtkTreeIter + * iter = A valid `GtkTreeIter` * * Returns: %TRUE, if @iter is selected */ @@ -233,7 +233,7 @@ public class TreeSelection : ObjectG * does not point to a valid location, %FALSE is returned * * Params: - * path = A #GtkTreePath to check selection on. + * path = A `GtkTreePath` to check selection on. * * Returns: %TRUE if @path is selected. */ @@ -243,7 +243,7 @@ public class TreeSelection : ObjectG } /** - * Selects all the nodes. @selection must be set to #GTK_SELECTION_MULTIPLE + * Selects all the nodes. @selection must be set to %GTK_SELECTION_MULTIPLE * mode. */ public void selectAll() @@ -255,7 +255,7 @@ public class TreeSelection : ObjectG * Selects the specified iterator. * * Params: - * iter = The #GtkTreeIter to be selected. + * iter = The `GtkTreeIter` to be selected. */ public void selectIter(TreeIter iter) { @@ -266,7 +266,7 @@ public class TreeSelection : ObjectG * Select the row at @path. * * Params: - * path = The #GtkTreePath to be selected. + * path = The `GtkTreePath` to be selected. */ public void selectPath(TreePath path) { @@ -275,7 +275,7 @@ public class TreeSelection : ObjectG /** * Selects a range of nodes, determined by @start_path and @end_path inclusive. - * @selection must be set to #GTK_SELECTION_MULTIPLE mode. + * @selection must be set to %GTK_SELECTION_MULTIPLE mode. * * Params: * startPath = The initial node of the range. @@ -302,7 +302,7 @@ public class TreeSelection : ObjectG /** * Sets the selection mode of the @selection. If the previous type was - * #GTK_SELECTION_MULTIPLE, then the anchor is kept selected, if it was + * %GTK_SELECTION_MULTIPLE, then the anchor is kept selected, if it was * previously selected. * * Params: @@ -343,7 +343,7 @@ public class TreeSelection : ObjectG * Unselects the specified iterator. * * Params: - * iter = The #GtkTreeIter to be unselected. + * iter = The `GtkTreeIter` to be unselected. */ public void unselectIter(TreeIter iter) { @@ -354,7 +354,7 @@ public class TreeSelection : ObjectG * Unselects the row at @path. * * Params: - * path = The #GtkTreePath to be unselected. + * path = The `GtkTreePath` to be unselected. */ public void unselectPath(TreePath path) { diff --git a/generated/gtkd/gtk/TreeSortableIF.d b/source/generated/gtk/gtk/TreeSortableIF.d similarity index 88% rename from generated/gtkd/gtk/TreeSortableIF.d rename to source/generated/gtk/gtk/TreeSortableIF.d index 141277e7c..3f6a75415 100644 --- a/generated/gtkd/gtk/TreeSortableIF.d +++ b/source/generated/gtk/gtk/TreeSortableIF.d @@ -33,8 +33,8 @@ private import std.algorithm; /** * The interface for sortable models used by GtkTreeView * - * #GtkTreeSortable is an interface to be implemented by tree models which - * support sorting. The #GtkTreeView uses the methods provided by this interface + * `GtkTreeSortable` is an interface to be implemented by tree models which + * support sorting. The `GtkTreeView` uses the methods provided by this interface * to sort the model. */ public interface TreeSortableIF{ @@ -59,7 +59,7 @@ public interface TreeSortableIF{ * * Params: * sortColumnId = The sort column id to be filled in - * order = The #GtkSortType to be filled in + * order = The `GtkSortType` to be filled in * * Returns: %TRUE if the sort column is not one of the special sort * column ids. @@ -88,15 +88,15 @@ public interface TreeSortableIF{ * * Params: * sortFunc = The comparison function - * userData = User data to pass to @sort_func, or %NULL - * destroy = Destroy notifier of @user_data, or %NULL + * userData = User data to pass to @sort_func + * destroy = Destroy notifier of @user_data */ public void setDefaultSortFunc(GtkTreeIterCompareFunc sortFunc, void* userData, GDestroyNotify destroy); /** * Sets the current sort column to be @sort_column_id. The @sortable will * resort itself to reflect this change, after emitting a - * #GtkTreeSortable::sort-column-changed signal. @sort_column_id may either be + * `GtkTreeSortable::sort-column-changed` signal. @sort_column_id may either be * a regular column id, or one of the following special values: * * - %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID: the default sort function @@ -118,13 +118,13 @@ public interface TreeSortableIF{ * Params: * sortColumnId = the sort column id to set the function for * sortFunc = The comparison function - * userData = User data to pass to @sort_func, or %NULL - * destroy = Destroy notifier of @user_data, or %NULL + * userData = User data to pass to @sort_func + * destroy = Destroy notifier of @user_data */ public void setSortFunc(int sortColumnId, GtkTreeIterCompareFunc sortFunc, void* userData, GDestroyNotify destroy); /** - * Emits a #GtkTreeSortable::sort-column-changed signal on @sortable. + * Emits a `GtkTreeSortable::sort-column-changed` signal on @sortable. */ public void sortColumnChanged(); diff --git a/generated/gtkd/gtk/TreeSortableT.d b/source/generated/gtk/gtk/TreeSortableT.d similarity index 89% rename from generated/gtkd/gtk/TreeSortableT.d rename to source/generated/gtk/gtk/TreeSortableT.d index 2e1eba8ee..ea796fa79 100644 --- a/generated/gtkd/gtk/TreeSortableT.d +++ b/source/generated/gtk/gtk/TreeSortableT.d @@ -33,8 +33,8 @@ public import std.algorithm; /** * The interface for sortable models used by GtkTreeView * - * #GtkTreeSortable is an interface to be implemented by tree models which - * support sorting. The #GtkTreeView uses the methods provided by this interface + * `GtkTreeSortable` is an interface to be implemented by tree models which + * support sorting. The `GtkTreeView` uses the methods provided by this interface * to sort the model. */ public template TreeSortableT(TStruct) @@ -56,7 +56,7 @@ public template TreeSortableT(TStruct) * * Params: * sortColumnId = The sort column id to be filled in - * order = The #GtkSortType to be filled in + * order = The `GtkSortType` to be filled in * * Returns: %TRUE if the sort column is not one of the special sort * column ids. @@ -91,8 +91,8 @@ public template TreeSortableT(TStruct) * * Params: * sortFunc = The comparison function - * userData = User data to pass to @sort_func, or %NULL - * destroy = Destroy notifier of @user_data, or %NULL + * userData = User data to pass to @sort_func + * destroy = Destroy notifier of @user_data */ public void setDefaultSortFunc(GtkTreeIterCompareFunc sortFunc, void* userData, GDestroyNotify destroy) { @@ -102,7 +102,7 @@ public template TreeSortableT(TStruct) /** * Sets the current sort column to be @sort_column_id. The @sortable will * resort itself to reflect this change, after emitting a - * #GtkTreeSortable::sort-column-changed signal. @sort_column_id may either be + * `GtkTreeSortable::sort-column-changed` signal. @sort_column_id may either be * a regular column id, or one of the following special values: * * - %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID: the default sort function @@ -127,8 +127,8 @@ public template TreeSortableT(TStruct) * Params: * sortColumnId = the sort column id to set the function for * sortFunc = The comparison function - * userData = User data to pass to @sort_func, or %NULL - * destroy = Destroy notifier of @user_data, or %NULL + * userData = User data to pass to @sort_func + * destroy = Destroy notifier of @user_data */ public void setSortFunc(int sortColumnId, GtkTreeIterCompareFunc sortFunc, void* userData, GDestroyNotify destroy) { @@ -136,7 +136,7 @@ public template TreeSortableT(TStruct) } /** - * Emits a #GtkTreeSortable::sort-column-changed signal on @sortable. + * Emits a `GtkTreeSortable::sort-column-changed` signal on @sortable. */ public void sortColumnChanged() { diff --git a/generated/gtkd/gtk/TreeStore.d b/source/generated/gtk/gtk/TreeStore.d similarity index 86% rename from generated/gtkd/gtk/TreeStore.d rename to source/generated/gtk/gtk/TreeStore.d index aec40efac..74fd7b86f 100644 --- a/generated/gtkd/gtk/TreeStore.d +++ b/source/generated/gtk/gtk/TreeStore.d @@ -46,17 +46,17 @@ public import gtk.c.types; /** * A tree-like data structure that can be used with the GtkTreeView * - * The #GtkTreeStore object is a list model for use with a #GtkTreeView - * widget. It implements the #GtkTreeModel interface, and consequently, + * The `GtkTreeStore` object is a list model for use with a `GtkTreeView` + * widget. It implements the `GtkTreeModel` interface, and consequently, * can use all of the methods available there. It also implements the - * #GtkTreeSortable interface so it can be sorted by the view. Finally, + * `GtkTreeSortable` interface so it can be sorted by the view. Finally, * it also implements the tree * [drag and drop][gtk3-GtkTreeView-drag-and-drop] * interfaces. * * # GtkTreeStore as GtkBuildable * - * The GtkTreeStore implementation of the #GtkBuildable interface allows + * The GtkTreeStore implementation of the `GtkBuildable` interface allows * to specify the model columns with a element that may contain * multiple elements, each specifying one model column. The “type” * attribute specifies the data type for the column. @@ -126,9 +126,9 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * Non vararg creation function. Used primarily by language bindings. * * Params: - * types = an array of #GType types for the columns, from first to last + * types = an array of `GType` types for the columns, from first to last * - * Returns: a new #GtkTreeStore + * Returns: a new `GtkTreeStore` * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -152,8 +152,8 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * gtk_tree_store_set() or gtk_tree_store_set_value(). * * Params: - * iter = An unset #GtkTreeIter to set to the appended row - * parent = A valid #GtkTreeIter, or %NULL + * iter = An unset `GtkTreeIter` to set to the appended row + * parent = A valid `GtkTreeIter` */ public void append(out TreeIter iter, TreeIter parent) { @@ -182,8 +182,8 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * gtk_tree_store_set_value(). * * Params: - * iter = An unset #GtkTreeIter to set to the new row - * parent = A valid #GtkTreeIter, or %NULL + * iter = An unset `GtkTreeIter` to set to the new row + * parent = A valid `GtkTreeIter` * position = position to insert the new row, or -1 for last */ public void insert(out TreeIter iter, TreeIter parent, int position) @@ -207,9 +207,9 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * gtk_tree_store_set() or gtk_tree_store_set_value(). * * Params: - * iter = An unset #GtkTreeIter to set to the new row - * parent = A valid #GtkTreeIter, or %NULL - * sibling = A valid #GtkTreeIter, or %NULL + * iter = An unset `GtkTreeIter` to set to the new row + * parent = A valid `GtkTreeIter` + * sibling = A valid `GtkTreeIter` */ public void insertAfter(out TreeIter iter, TreeIter parent, TreeIter sibling) { @@ -232,9 +232,9 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * gtk_tree_store_set() or gtk_tree_store_set_value(). * * Params: - * iter = An unset #GtkTreeIter to set to the new row - * parent = A valid #GtkTreeIter, or %NULL - * sibling = A valid #GtkTreeIter, or %NULL + * iter = An unset `GtkTreeIter` to set to the new row + * parent = A valid `GtkTreeIter` + * sibling = A valid `GtkTreeIter` */ public void insertBefore(out TreeIter iter, TreeIter parent, TreeIter sibling) { @@ -251,8 +251,8 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * function is mainly intended for language bindings. * * Params: - * iter = An unset #GtkTreeIter to set the new row, or %NULL. - * parent = A valid #GtkTreeIter, or %NULL + * iter = An unset `GtkTreeIter` to set the new row + * parent = A valid `GtkTreeIter` * position = position to insert the new row, or -1 for last * columns = an array of column numbers * values = an array of GValues @@ -277,8 +277,8 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * parent (or grandparent or great-grandparent) of @descendant. * * Params: - * iter = A valid #GtkTreeIter - * descendant = A valid #GtkTreeIter + * iter = A valid `GtkTreeIter` + * descendant = A valid `GtkTreeIter` * * Returns: %TRUE, if @iter is an ancestor of @descendant */ @@ -292,7 +292,7 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * for anything down a level, etc. * * Params: - * iter = A valid #GtkTreeIter + * iter = A valid `GtkTreeIter` * * Returns: The depth of @iter */ @@ -302,13 +302,13 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, } /** - * WARNING: This function is slow. Only use it for debugging and/or testing - * purposes. + * Checks if the given iter is a valid iter for this `GtkTreeStore`. * - * Checks if the given iter is a valid iter for this #GtkTreeStore. + * This function is slow. Only use it for debugging and/or testing + * purposes. * * Params: - * iter = A #GtkTreeIter. + * iter = the iterator to check * * Returns: %TRUE if the iter is valid, %FALSE if the iter is invalid. */ @@ -324,8 +324,8 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * to the start of the level. * * Params: - * iter = A #GtkTreeIter. - * position = A #GtkTreeIter. + * iter = A `GtkTreeIter`. + * position = A `GtkTreeIter`. */ public void moveAfter(TreeIter iter, TreeIter position) { @@ -339,8 +339,8 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * moved to the end of the level. * * Params: - * iter = A #GtkTreeIter. - * position = A #GtkTreeIter or %NULL. + * iter = A `GtkTreeIter` + * position = A `GtkTreeIter` */ public void moveBefore(TreeIter iter, TreeIter position) { @@ -355,8 +355,8 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * call gtk_tree_store_set() or gtk_tree_store_set_value(). * * Params: - * iter = An unset #GtkTreeIter to set to the prepended row - * parent = A valid #GtkTreeIter, or %NULL + * iter = An unset `GtkTreeIter` to set to the prepended row + * parent = A valid `GtkTreeIter` */ public void prepend(out TreeIter iter, TreeIter parent) { @@ -373,7 +373,7 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * last one. * * Params: - * iter = A valid #GtkTreeIter + * iter = A valid `GtkTreeIter` * * Returns: %TRUE if @iter is still valid, %FALSE if not. */ @@ -388,7 +388,7 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * unsorted stores. * * Params: - * parent = A #GtkTreeIter, or %NULL + * parent = A `GtkTreeIter` * newOrder = an array of integers mapping the new position of each child * to its old position before the re-ordering, * i.e. @new_order`[newpos] = oldpos`. @@ -399,13 +399,13 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, } /** - * This function is meant primarily for #GObjects that inherit from - * #GtkTreeStore, and should only be used when constructing a new - * #GtkTreeStore. It will not function after a row has been added, - * or a method on the #GtkTreeModel interface is called. + * This function is meant primarily for `GObjects` that inherit from + * `GtkTreeStore`, and should only be used when constructing a new + * `GtkTreeStore`. It will not function after a row has been added, + * or a method on the `GtkTreeModel` interface is called. * * Params: - * types = An array of #GType types, one for each column + * types = An array of `GType` types, one for each column */ public void setColumnTypes(GType[] types) { @@ -417,7 +417,7 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * use by language bindings. * * Params: - * iter = A valid #GtkTreeIter for the row being modified + * iter = A valid `GtkTreeIter` for the row being modified * varArgs = va_list of column/value pairs */ public void setValist(TreeIter iter, void* varArgs) @@ -431,7 +431,7 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * column. * * Params: - * iter = A valid #GtkTreeIter for the row being modified + * iter = A valid `GtkTreeIter` for the row being modified * column = column number to modify * value = new value for the cell */ @@ -447,7 +447,7 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * the number of columns to change is not known until run-time. * * Params: - * iter = A valid #GtkTreeIter for the row being modified + * iter = A valid `GtkTreeIter` for the row being modified * columns = an array of column numbers * values = an array of GValues */ @@ -467,8 +467,8 @@ public class TreeStore : ObjectG, BuildableIF, TreeDragDestIF, TreeDragSourceIF, * only works with unsorted stores. * * Params: - * a = A #GtkTreeIter. - * b = Another #GtkTreeIter. + * a = A `GtkTreeIter`. + * b = Another `GtkTreeIter`. */ public void swap(TreeIter a, TreeIter b) { diff --git a/generated/gtkd/gtk/TreeView.d b/source/generated/gtk/gtk/TreeView.d similarity index 88% rename from generated/gtkd/gtk/TreeView.d rename to source/generated/gtk/gtk/TreeView.d index 2d40af6ba..8502f9548 100644 --- a/generated/gtkd/gtk/TreeView.d +++ b/source/generated/gtk/gtk/TreeView.d @@ -175,9 +175,9 @@ public class TreeView : Widget, ScrollableIF } /** - * Creates a new #GtkTreeView widget. + * Creates a new `GtkTreeView` widget. * - * Returns: A newly created #GtkTreeView widget. + * Returns: A newly created `GtkTreeView` widget. * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -194,12 +194,12 @@ public class TreeView : Widget, ScrollableIF } /** - * Creates a new #GtkTreeView widget with the model initialized to @model. + * Creates a new `GtkTreeView` widget with the model initialized to @model. * * Params: * model = the model. * - * Returns: A newly created #GtkTreeView widget. + * Returns: A newly created `GtkTreeView` widget. * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -221,7 +221,7 @@ public class TreeView : Widget, ScrollableIF * GTK_TREE_VIEW_COLUMN_FIXED. * * Params: - * column = The #GtkTreeViewColumn to add. + * column = The `GtkTreeViewColumn` to add. * * Returns: The number of columns in @tree_view after appending. */ @@ -349,11 +349,11 @@ public class TreeView : Widget, ScrollableIF } /** - * Creates a #cairo_surface_t representation of the row at @path. + * Creates a `cairo_surface_t` representation of the row at @path. * This image is used for a drag icon. * * Params: - * path = a #GtkTreePath in @tree_view + * path = a `GtkTreePath` in @tree_view * * Returns: a newly-allocated surface of the drag icon. */ @@ -371,7 +371,7 @@ public class TreeView : Widget, ScrollableIF /** * Turns @tree_view into a drop destination for automatic DND. Calling - * this method sets #GtkTreeView:reorderable to %FALSE. + * this method sets `GtkTreeView`:reorderable to %FALSE. * * Params: * formats = the target formats that the drag will support @@ -385,7 +385,7 @@ public class TreeView : Widget, ScrollableIF /** * Turns @tree_view into a drag source for automatic DND. Calling this - * method sets #GtkTreeView:reorderable to %FALSE. + * method sets `GtkTreeView`:reorderable to %FALSE. * * Params: * startButtonMask = Mask of allowed buttons to start drag @@ -454,8 +454,8 @@ public class TreeView : Widget, ScrollableIF * itself, excluding surrounding borders and the tree expander area. * * Params: - * path = a #GtkTreePath for the row, or %NULL to get only horizontal coordinates - * column = a #GtkTreeViewColumn for the column, or %NULL to get only vertical coordinates + * path = a `GtkTreePath` for the row, or %NULL to get only horizontal coordinates + * column = a `GtkTreeViewColumn` for the column, or %NULL to get only vertical coordinates * rect = rectangle to fill with cell background rect */ public void getBackgroundArea(TreePath path, TreeViewColumn column, out GdkRectangle rect) @@ -475,8 +475,8 @@ public class TreeView : Widget, ScrollableIF * realized. * * Params: - * path = a #GtkTreePath for the row, or %NULL to get only horizontal coordinates - * column = a #GtkTreeViewColumn for the column, or %NULL to get only vertical coordinates + * path = a `GtkTreePath` for the row, or %NULL to get only horizontal coordinates + * column = a `GtkTreeViewColumn` for the column, or %NULL to get only vertical coordinates * rect = rectangle to fill with cell rect */ public void getCellArea(TreePath path, TreeViewColumn column, out GdkRectangle rect) @@ -485,12 +485,12 @@ public class TreeView : Widget, ScrollableIF } /** - * Gets the #GtkTreeViewColumn at the given position in the #tree_view. + * Gets the `GtkTreeViewColumn` at the given position in the #tree_view. * * Params: * n = The position of the column, counting from 0. * - * Returns: The #GtkTreeViewColumn, or %NULL if the + * Returns: The `GtkTreeViewColumn`, or %NULL if the * position is outside the range of columns. */ public TreeViewColumn getColumn(int n) @@ -506,10 +506,10 @@ public class TreeView : Widget, ScrollableIF } /** - * Returns a #GList of all the #GtkTreeViewColumn s currently in @tree_view. + * Returns a `GList` of all the `GtkTreeViewColumn`s currently in @tree_view. * The returned list must be freed with g_list_free (). * - * Returns: A list of #GtkTreeViewColumn s + * Returns: A list of `GtkTreeViewColumn`s */ public ListG getColumns() { @@ -528,14 +528,14 @@ public class TreeView : Widget, ScrollableIF * the cursor isn’t currently set, then *@path will be %NULL. If no column * currently has focus, then *@focus_column will be %NULL. * - * The returned #GtkTreePath must be freed with gtk_tree_path_free() when + * The returned `GtkTreePath` must be freed with gtk_tree_path_free() when * you are done with it. * * Params: * path = A pointer to be - * filled with the current cursor path, or %NULL + * filled with the current cursor path * focusColumn = A - * pointer to be filled with the current focus column, or %NULL + * pointer to be filled with the current focus column */ public void getCursor(out TreePath path, out TreeViewColumn focusColumn) { @@ -558,7 +558,7 @@ public class TreeView : Widget, ScrollableIF * dragX = the position to determine the destination row for * dragY = the position to determine the destination row for * path = Return location for the path of - * the highlighted row, or %NULL. + * the highlighted row * pos = Return location for the drop position, or * %NULL * @@ -580,8 +580,8 @@ public class TreeView : Widget, ScrollableIF * Gets information about the row that is highlighted for feedback. * * Params: - * path = Return location for the path of the highlighted row, or %NULL. - * pos = Return location for the drop position, or %NULL + * path = Return location for the path of the highlighted row + * pos = Return location for the drop position */ public void getDragDestRow(out TreePath path, out GtkTreeViewDropPosition pos) { @@ -646,7 +646,7 @@ public class TreeView : Widget, ScrollableIF /** * Returns which grid lines are enabled in @tree_view. * - * Returns: a #GtkTreeViewGridLines value indicating which grid lines + * Returns: a `GtkTreeView`GridLines value indicating which grid lines * are enabled. */ public GtkTreeViewGridLines getGridLines() @@ -707,11 +707,10 @@ public class TreeView : Widget, ScrollableIF } /** - * Returns the model the #GtkTreeView is based on. Returns %NULL if the + * Returns the model the `GtkTreeView` is based on. Returns %NULL if the * model is unset. * - * Returns: A #GtkTreeModel, or %NULL if - * none is currently being used. + * Returns: A `GtkTreeModel` */ public TreeModelIF getModel() { @@ -741,7 +740,7 @@ public class TreeView : Widget, ScrollableIF * coordinates must be converted using * gtk_tree_view_convert_widget_to_bin_window_coords(). It is primarily for * things like popup menus. If @path is non-%NULL, then it will be filled - * with the #GtkTreePath at that point. This path should be freed with + * with the `GtkTreePath` at that point. This path should be freed with * gtk_tree_path_free(). If @column is non-%NULL, then it will be filled * with the column at that point. @cell_x and @cell_y return the coordinates * relative to the cell background (i.e. the @background_area passed to @@ -756,14 +755,14 @@ public class TreeView : Widget, ScrollableIF * Params: * x = The x position to be identified (relative to bin_window). * y = The y position to be identified (relative to bin_window). - * path = A pointer to a #GtkTreePath - * pointer to be filled in, or %NULL + * path = A pointer to a `GtkTreePath` + * pointer to be filled in * column = A pointer to - * a #GtkTreeViewColumn pointer to be filled in, or %NULL + * a `GtkTreeViewColumn` pointer to be filled in * cellX = A pointer where the X coordinate - * relative to the cell can be placed, or %NULL + * relative to the cell can be placed * cellY = A pointer where the Y coordinate - * relative to the cell can be placed, or %NULL + * relative to the cell can be placed * * Returns: %TRUE if a row exists at that coordinate. */ @@ -803,7 +802,7 @@ public class TreeView : Widget, ScrollableIF /** * Returns whether rubber banding is turned on for @tree_view. If the - * selection mode is #GTK_SELECTION_MULTIPLE, rubber banding will allow the + * selection mode is %GTK_SELECTION_MULTIPLE, rubber banding will allow the * user to select multiple rows by dragging the mouse. * * Returns: %TRUE if rubber banding in @tree_view is enabled. @@ -824,7 +823,7 @@ public class TreeView : Widget, ScrollableIF } /** - * Returns the #GtkEntry which is currently in use as interactive search + * Returns the `GtkEntry` which is currently in use as interactive search * entry for @tree_view. In case the built-in entry is being used, %NULL * will be returned. * @@ -853,9 +852,9 @@ public class TreeView : Widget, ScrollableIF } /** - * Gets the #GtkTreeSelection associated with @tree_view. + * Gets the `GtkTreeSelection` associated with @tree_view. * - * Returns: A #GtkTreeSelection object. + * Returns: A `GtkTreeSelection` object. */ public TreeSelection getSelection() { @@ -893,16 +892,16 @@ public class TreeView : Widget, ScrollableIF } /** - * This function is supposed to be used in a #GtkWidget::query-tooltip - * signal handler for #GtkTreeView. The @x, @y and @keyboard_tip values + * This function is supposed to be used in a ::query-tooltip + * signal handler for `GtkTreeView`. The @x, @y and @keyboard_tip values * which are received in the signal handler, should be passed to this * function without modification. * * The return value indicates whether there is a tree view row at the given - * coordinates (%TRUE) or not (%FALSE) for mouse tooltips. For keyboard - * tooltips the row returned will be the cursor row. When %TRUE, then any of + * coordinates (%TRUE) or not (%FALSE) for mouse tooltips. For keyboard + * tooltips the row returned will be the cursor row. When %TRUE, then any of * @model, @path and @iter which have been provided will be set to point to - * that row and the corresponding model. @x and @y will always be converted + * that row and the corresponding model. @x and @y will always be converted * to be relative to @tree_view’s bin_window if @keyboard_tooltip is %FALSE. * * Params: @@ -910,11 +909,11 @@ public class TreeView : Widget, ScrollableIF * y = the y coordinate (relative to widget coordinates) * keyboardTip = whether this is a keyboard tooltip or not * model = a pointer to - * receive a #GtkTreeModel or %NULL - * path = a pointer to receive a #GtkTreePath or %NULL - * iter = a pointer to receive a #GtkTreeIter or %NULL + * receive a `GtkTreeModel` + * path = a pointer to receive a `GtkTreePath` + * iter = a pointer to receive a `GtkTreeIter` * - * Returns: whether or not the given tooltip context points to a row. + * Returns: whether or not the given tooltip context points to a row */ public bool getTooltipContext(int x, int y, bool keyboardTip, out TreeModelIF model, out TreePath path, out TreeIter iter) { @@ -938,9 +937,8 @@ public class TreeView : Widget, ScrollableIF * The paths should be freed with gtk_tree_path_free() after use. * * Params: - * startPath = Return location for start of region, - * or %NULL. - * endPath = Return location for end of region, or %NULL. + * startPath = Return location for start of region + * endPath = Return location for end of region * * Returns: %TRUE, if valid paths were placed in @start_path and @end_path. */ @@ -979,7 +977,7 @@ public class TreeView : Widget, ScrollableIF * set to be GTK_TREE_VIEW_COLUMN_FIXED. * * Params: - * column = The #GtkTreeViewColumn to be inserted. + * column = The `GtkTreeViewColumn` to be inserted. * position = The position to insert @column in. * * Returns: The number of columns in @tree_view after insertion. @@ -990,8 +988,8 @@ public class TreeView : Widget, ScrollableIF } /** - * Convenience function that inserts a new column into the #GtkTreeView - * with the given cell renderer and a #GtkTreeCellDataFunc to set cell renderer + * Convenience function that inserts a new column into the `GtkTreeView` + * with the given cell renderer and a `GtkTreeCellDataFunc` to set cell renderer * attributes (normally using data from the model). See also * gtk_tree_view_column_set_cell_data_func(), gtk_tree_view_column_pack_start(). * If @tree_view has “fixed_height” mode enabled, then the new column will have its @@ -1034,14 +1032,14 @@ public class TreeView : Widget, ScrollableIF * Params: * x = The x position to be identified (relative to bin_window) * y = The y position to be identified (relative to bin_window) - * path = A pointer to a #GtkTreePath pointer to - * be filled in, or %NULL + * path = A pointer to a `GtkTreePath` pointer to + * be filled in * column = A pointer to a - * #GtkTreeViewColumn pointer to be filled in, or %NULL + * `GtkTreeViewColumn` pointer to be filled in * cellX = A pointer where the X coordinate relative to the - * cell can be placed, or %NULL + * cell can be placed * cellY = A pointer where the Y coordinate relative to the - * cell can be placed, or %NULL + * cell can be placed * * Returns: %TRUE if the area at the given coordinates is blank, * %FALSE otherwise. @@ -1088,8 +1086,8 @@ public class TreeView : Widget, ScrollableIF * @column is placed in the first position. * * Params: - * column = The #GtkTreeViewColumn to be moved. - * baseColumn = The #GtkTreeViewColumn to be moved relative to, or %NULL. + * column = The `GtkTreeViewColumn` to be moved. + * baseColumn = The `GtkTreeViewColumn` to be moved relative to */ public void moveColumnAfter(TreeViewColumn column, TreeViewColumn baseColumn) { @@ -1100,7 +1098,7 @@ public class TreeView : Widget, ScrollableIF * Removes @column from @tree_view. * * Params: - * column = The #GtkTreeViewColumn to remove. + * column = The `GtkTreeViewColumn` to remove. * * Returns: The number of columns in @tree_view after removing. */ @@ -1113,8 +1111,8 @@ public class TreeView : Widget, ScrollableIF * Activates the cell determined by @path and @column. * * Params: - * path = The #GtkTreePath to be activated. - * column = The #GtkTreeViewColumn to be activated. + * path = The `GtkTreePath` to be activated. + * column = The `GtkTreeViewColumn` to be activated. */ public void rowActivated(TreePath path, TreeViewColumn column) { @@ -1125,7 +1123,7 @@ public class TreeView : Widget, ScrollableIF * Returns %TRUE if the node pointed to by @path is expanded in @tree_view. * * Params: - * path = A #GtkTreePath to test expansion state. + * path = A `GtkTreePath` to test expansion state. * * Returns: %TRUE if #path is expanded. */ @@ -1153,8 +1151,8 @@ public class TreeView : Widget, ScrollableIF * path will be modified to reflect this change. * * Params: - * path = The path of the row to move to, or %NULL. - * column = The #GtkTreeViewColumn to move horizontally to, or %NULL. + * path = The path of the row to move to + * column = The `GtkTreeViewColumn` to move horizontally to * useAlign = whether to use alignment arguments, or %FALSE. * rowAlign = The vertical alignment of the row specified by @path. * colAlign = The horizontal alignment of the column specified by @column. @@ -1183,7 +1181,7 @@ public class TreeView : Widget, ScrollableIF } /** - * Cause the #GtkTreeView::row-activated signal to be emitted + * Cause the `GtkTreeView`::row-activated signal to be emitted * on a single click instead of a double click. * * Params: @@ -1198,17 +1196,17 @@ public class TreeView : Widget, ScrollableIF * Sets a user function for determining where a column may be dropped when * dragged. This function is called on every column pair in turn at the * beginning of a column drag to determine where a drop can take place. The - * arguments passed to @func are: the @tree_view, the #GtkTreeViewColumn being - * dragged, the two #GtkTreeViewColumn s determining the drop spot, and - * @user_data. If either of the #GtkTreeViewColumn arguments for the drop spot + * arguments passed to @func are: the @tree_view, the `GtkTreeViewColumn` being + * dragged, the two `GtkTreeViewColumn`s determining the drop spot, and + * @user_data. If either of the `GtkTreeViewColumn` arguments for the drop spot * are %NULL, then they indicate an edge. If @func is set to be %NULL, then * @tree_view reverts to the default behavior of allowing all columns to be * dropped everywhere. * * Params: - * func = A function to determine which columns are reorderable, or %NULL. - * userData = User data to be passed to @func, or %NULL - * destroy = Destroy notifier for @user_data, or %NULL + * func = A function to determine which columns are reorderable + * userData = User data to be passed to @func + * destroy = Destroy notifier for @user_data */ public void setColumnDragFunction(GtkTreeViewColumnDropFunc func, void* userData, GDestroyNotify destroy) { @@ -1229,8 +1227,8 @@ public class TreeView : Widget, ScrollableIF * and the function will return without failing. * * Params: - * path = A #GtkTreePath - * focusColumn = A #GtkTreeViewColumn, or %NULL + * path = A `GtkTreePath` + * focusColumn = A `GtkTreeViewColumn` * startEditing = %TRUE if the specified cell should start being edited. */ public void setCursor(TreePath path, TreeViewColumn focusColumn, bool startEditing) @@ -1255,9 +1253,9 @@ public class TreeView : Widget, ScrollableIF * and the function will return without failing. * * Params: - * path = A #GtkTreePath - * focusColumn = A #GtkTreeViewColumn, or %NULL - * focusCell = A #GtkCellRenderer, or %NULL + * path = A `GtkTreePath` + * focusColumn = A `GtkTreeViewColumn` + * focusCell = A `GtkCellRenderer` * startEditing = %TRUE if the specified cell should start being edited. */ public void setCursorOnCell(TreePath path, TreeViewColumn focusColumn, CellRenderer focusCell, bool startEditing) @@ -1270,7 +1268,7 @@ public class TreeView : Widget, ScrollableIF * If @path is %NULL, an existing highlight is removed. * * Params: - * path = The path of the row to highlight, or %NULL + * path = The path of the row to highlight * pos = Specifies whether to drop before, after or into the row */ public void setDragDestRow(TreePath path, GtkTreeViewDropPosition pos) @@ -1323,7 +1321,7 @@ public class TreeView : Widget, ScrollableIF /** * Enables or disables the fixed height mode of @tree_view. - * Fixed height mode speeds up #GtkTreeView by assuming that all + * Fixed height mode speeds up `GtkTreeView` by assuming that all * rows have the same height. * Only enable this option if all rows are the same height and all * columns are of type %GTK_TREE_VIEW_COLUMN_FIXED. @@ -1340,7 +1338,7 @@ public class TreeView : Widget, ScrollableIF * Sets which grid lines to draw in @tree_view. * * Params: - * gridLines = a #GtkTreeViewGridLines value indicating which grid lines to + * gridLines = a `GtkTreeView`GridLines value indicating which grid lines to * enable. */ public void setGridLines(GtkTreeViewGridLines gridLines) @@ -1413,7 +1411,7 @@ public class TreeView : Widget, ScrollableIF } /** - * Sets the model for a #GtkTreeView. If the @tree_view already has a model + * Sets the model for a `GtkTreeView`. If the @tree_view already has a model * set, it will remove it before setting the new model. If @model is %NULL, * then it will unset the old model. * @@ -1427,12 +1425,12 @@ public class TreeView : Widget, ScrollableIF /** * This function is a convenience function to allow you to reorder - * models that support the #GtkTreeDragSourceIface and the - * #GtkTreeDragDestIface. Both #GtkTreeStore and #GtkListStore support + * models that support the `GtkTreeDragSourceIface` and the + * `GtkTreeDragDestIface`. Both `GtkTreeStore` and `GtkListStore` support * these. If @reorderable is %TRUE, then the user can reorder the * model by dragging and dropping rows. The developer can listen to - * these changes by connecting to the model’s #GtkTreeModel::row-inserted - * and #GtkTreeModel::row-deleted signals. The reordering is implemented + * these changes by connecting to the model’s `GtkTreeModel::row-inserted` + * and `GtkTreeModel::row-deleted` signals. The reordering is implemented * by setting up the tree view as a drag source and destination. * Therefore, drag and drop can not be used in a reorderable view for any * other purpose. @@ -1455,9 +1453,9 @@ public class TreeView : Widget, ScrollableIF * function is %NULL, no separators are drawn. This is the default value. * * Params: - * func = a #GtkTreeViewRowSeparatorFunc - * data = user data to pass to @func, or %NULL - * destroy = destroy notifier for @data, or %NULL + * func = a `GtkTreeView`RowSeparatorFunc + * data = user data to pass to @func + * destroy = destroy notifier for @data */ public void setRowSeparatorFunc(GtkTreeViewRowSeparatorFunc func, void* data, GDestroyNotify destroy) { @@ -1466,7 +1464,7 @@ public class TreeView : Widget, ScrollableIF /** * Enables or disables rubber banding in @tree_view. If the selection mode - * is #GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select + * is %GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select * multiple rows by dragging the mouse. * * Params: @@ -1504,7 +1502,7 @@ public class TreeView : Widget, ScrollableIF * entry again. * * Params: - * entry = the entry the interactive search code of @tree_view should use or %NULL + * entry = the entry the interactive search code of @tree_view should use */ public void setSearchEntry(EditableIF entry) { @@ -1514,12 +1512,12 @@ public class TreeView : Widget, ScrollableIF /** * Sets the compare function for the interactive search capabilities; note * that somewhat like strcmp() returning 0 for equality - * #GtkTreeViewSearchEqualFunc returns %FALSE on matches. + * `GtkTreeView`SearchEqualFunc returns %FALSE on matches. * * Params: * searchEqualFunc = the compare function to use during the search - * searchUserData = user data to pass to @search_equal_func, or %NULL - * searchDestroy = Destroy notifier for @search_user_data, or %NULL + * searchUserData = user data to pass to @search_equal_func + * searchDestroy = Destroy notifier for @search_user_data */ public void setSearchEqualFunc(GtkTreeViewSearchEqualFunc searchEqualFunc, void* searchUserData, GDestroyNotify searchDestroy) { @@ -1557,10 +1555,10 @@ public class TreeView : Widget, ScrollableIF * See also gtk_tree_view_set_tooltip_column() for a simpler alternative. * * Params: - * tooltip = a #GtkTooltip - * path = a #GtkTreePath or %NULL - * column = a #GtkTreeViewColumn or %NULL - * cell = a #GtkCellRenderer or %NULL + * tooltip = a `GtkTooltip` + * path = a `GtkTreePath` + * column = a `GtkTreeViewColumn` + * cell = a `GtkCellRenderer` */ public void setTooltipCell(Tooltip tooltip, TreePath path, TreeViewColumn column, CellRenderer cell) { @@ -1569,12 +1567,12 @@ public class TreeView : Widget, ScrollableIF /** * If you only plan to have simple (text-only) tooltips on full rows, you - * can use this function to have #GtkTreeView handle these automatically + * can use this function to have `GtkTreeView` handle these automatically * for you. @column should be set to the column in @tree_view’s model * containing the tooltip texts, or -1 to disable this feature. * - * When enabled, #GtkWidget:has-tooltip will be set to %TRUE and - * @tree_view will connect a #GtkWidget::query-tooltip signal handler. + * When enabled, `GtkWidget:has-tooltip` will be set to %TRUE and + * @tree_view will connect a `GtkWidget::query-tooltip` signal handler. * * Note that the signal handler sets the text with gtk_tooltip_set_markup(), * so &, <, etc have to be escaped in the text. @@ -1593,8 +1591,8 @@ public class TreeView : Widget, ScrollableIF * See also gtk_tooltip_set_tip_area(). * * Params: - * tooltip = a #GtkTooltip - * path = a #GtkTreePath + * tooltip = a `GtkTooltip` + * path = a `GtkTreePath` */ public void setTooltipRow(Tooltip tooltip, TreePath path) { @@ -1604,7 +1602,7 @@ public class TreeView : Widget, ScrollableIF /** * Undoes the effect of * gtk_tree_view_enable_model_drag_dest(). Calling this method sets - * #GtkTreeView:reorderable to %FALSE. + * `GtkTreeView`:reorderable to %FALSE. */ public void unsetRowsDragDest() { @@ -1614,7 +1612,7 @@ public class TreeView : Widget, ScrollableIF /** * Undoes the effect of * gtk_tree_view_enable_model_drag_source(). Calling this method sets - * #GtkTreeView:reorderable to %FALSE. + * `GtkTreeView`:reorderable to %FALSE. */ public void unsetRowsDragSource() { @@ -1644,18 +1642,18 @@ public class TreeView : Widget, ScrollableIF } /** - * The #GtkTreeView::move-cursor signal is a [keybinding - * signal][GtkSignalAction] which gets emitted when the user + * The `GtkTreeView`::move-cursor signal is a [keybinding + * signal][class@Gtk.SignalAction] which gets emitted when the user * presses one of the cursor keys. * * Applications should not connect to it, but may emit it with * g_signal_emit_by_name() if they need to control the cursor * programmatically. In contrast to gtk_tree_view_set_cursor() and * gtk_tree_view_set_cursor_on_cell() when moving horizontally - * #GtkTreeView::move-cursor does not reset the current selection. + * `GtkTreeView`::move-cursor does not reset the current selection. * * Params: - * step = the granularity of the move, as a #GtkMovementStep. + * step = the granularity of the move, as a `GtkMovementStep`. * %GTK_MOVEMENT_LOGICAL_POSITIONS, %GTK_MOVEMENT_VISUAL_POSITIONS, * %GTK_MOVEMENT_DISPLAY_LINES, %GTK_MOVEMENT_PAGES and * %GTK_MOVEMENT_BUFFER_ENDS are supported. @@ -1675,20 +1673,23 @@ public class TreeView : Widget, ScrollableIF /** * The "row-activated" signal is emitted when the method - * gtk_tree_view_row_activated() is called, when the user double - * clicks a treeview row with the "activate-on-single-click" - * property set to %FALSE, or when the user single clicks a row when - * the "activate-on-single-click" property set to %TRUE. It is also - * emitted when a non-editable row is selected and one of the keys: - * Space, Shift+Space, Return or Enter is pressed. + * [`method@Gtk.TreeView.row_activated`] is called. + * + * This signal is emitted when the user double-clicks a treeview row with the + * [property@Gtk.TreeView:activate-on-single-click] property set to %FALSE, + * or when the user single-clicks a row when that property set to %TRUE. + * + * This signal is also emitted when a non-editable row is selected and one + * of the keys: Space, Shift+Space, + * Return or Enter is pressed. * * For selection handling refer to the - * [tree widget conceptual overview][TreeWidget] - * as well as #GtkTreeSelection. + * [tree widget conceptual overview](section-tree-widget.html) + * as well as `GtkTreeSelection`. * * Params: - * path = the #GtkTreePath for the activated row - * column = the #GtkTreeViewColumn in which the activation occurred + * path = the `GtkTreePath` for the activated row + * column = the `GtkTreeViewColumn` in which the activation occurred */ gulong addOnRowActivated(void delegate(TreePath, TreeViewColumn, TreeView) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) { diff --git a/generated/gtkd/gtk/TreeViewColumn.d b/source/generated/gtk/gtk/TreeViewColumn.d similarity index 88% rename from generated/gtkd/gtk/TreeViewColumn.d rename to source/generated/gtk/gtk/TreeViewColumn.d index 96c5c7179..6e1421dae 100644 --- a/generated/gtkd/gtk/TreeViewColumn.d +++ b/source/generated/gtk/gtk/TreeViewColumn.d @@ -44,16 +44,16 @@ private import std.algorithm; /** - * A visible column in a GtkTreeView widget + * A visible column in a [class@Gtk.TreeView] widget * - * The GtkTreeViewColumn object represents a visible column in a #GtkTreeView widget. + * The `GtkTreeViewColumn` object represents a visible column in a `GtkTreeView` widget. * It allows to set properties of the column header, and functions as a holding pen * for the cell renderers which determine how the data in the column is displayed. * - * Please refer to the [tree widget conceptual overview][TreeWidget] + * Please refer to the [tree widget conceptual overview](section-tree-widget.html) * for an overview of all the objects and data types related to the tree widget and - * how they work together, and to the #GtkTreeView documentation for specifics about - * the CSS node structure for treeviews and their headers. + * how they work together, and to the [class@Gtk.TreeView] documentation for specifics + * about the CSS node structure for treeviews and their headers. */ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF { @@ -126,9 +126,9 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF } /** - * Creates a new #GtkTreeViewColumn. + * Creates a new `GtkTreeViewColumn`. * - * Returns: A newly created #GtkTreeViewColumn. + * Returns: A newly created `GtkTreeViewColumn`. * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -145,12 +145,12 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF } /** - * Creates a new #GtkTreeViewColumn using @area to render its cells. + * Creates a new `GtkTreeViewColumn` using @area to render its cells. * * Params: - * area = the #GtkCellArea that the newly created column should use to layout cells. + * area = the `GtkCellArea` that the newly created column should use to layout cells. * - * Returns: A newly created #GtkTreeViewColumn. + * Returns: A newly created `GtkTreeViewColumn`. * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -167,15 +167,17 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF } /** - * Adds an attribute mapping to the list in @tree_column. The @column is the + * Adds an attribute mapping to the list in @tree_column. + * + * The @column is the * column of the model to get a value from, and the @attribute is the * parameter on @cell_renderer to be set from the value. So for example * if column 2 of the model contains strings, you could have the - * “text” attribute of a #GtkCellRendererText get its values from + * “text” attribute of a `GtkCellRendererText` get its values from * column 2. * * Params: - * cellRenderer = the #GtkCellRenderer to set attributes on + * cellRenderer = the `GtkCellRenderer` to set attributes on * attribute = An attribute on the renderer * column = The column position on the model to get the attribute from. */ @@ -185,18 +187,18 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF } /** - * Obtains the horizontal position and size of a cell in a column. If the - * cell is not found in the column, @start_pos and @width are not changed and - * %FALSE is returned. + * Obtains the horizontal position and size of a cell in a column. + * + * If the cell is not found in the column, @start_pos and @width + * are not changed and %FALSE is returned. * * Params: - * cellRenderer = a #GtkCellRenderer + * cellRenderer = a `GtkCellRenderer` * xOffset = return location for the horizontal - * position of @cell within @tree_column, may be %NULL - * width = return location for the width of @cell, - * may be %NULL + * position of @cell within @tree_column + * width = return location for the width of @cell * - * Returns: %TRUE if @cell belongs to @tree_column. + * Returns: %TRUE if @cell belongs to @tree_column */ public bool cellGetPosition(CellRenderer cellRenderer, out int xOffset, out int width) { @@ -205,13 +207,13 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF /** * Obtains the width and height needed to render the column. This is used - * primarily by the #GtkTreeView. + * primarily by the `GtkTreeView`. * * Params: - * xOffset = location to return x offset of a cell relative to @cell_area, or %NULL - * yOffset = location to return y offset of a cell relative to @cell_area, or %NULL - * width = location to return width needed to render a cell, or %NULL - * height = location to return height needed to render a cell, or %NULL + * xOffset = location to return x offset of a cell relative to @cell_area + * yOffset = location to return y offset of a cell relative to @cell_area + * width = location to return width needed to render a cell + * height = location to return height needed to render a cell */ public void cellGetSize(out int xOffset, out int yOffset, out int width, out int height) { @@ -234,11 +236,11 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF * Sets the cell renderer based on the @tree_model and @iter. That is, for * every attribute mapping in @tree_column, it will get a value from the set * column on the @iter, and use that value to set the attribute on the cell - * renderer. This is used primarily by the #GtkTreeView. + * renderer. This is used primarily by the `GtkTreeView`. * * Params: - * treeModel = The #GtkTreeModel to get the cell renderers attributes from. - * iter = The #GtkTreeIter to get the cell renderer’s attributes from. + * treeModel = The `GtkTreeModel` to get the cell renderers attributes from. + * iter = The `GtkTreeIter` to get the cell renderer’s attributes from. * isExpander = %TRUE, if the row has children * isExpanded = %TRUE, if the row has visible children */ @@ -260,7 +262,7 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF * gtk_tree_view_column_set_attributes(). * * Params: - * cellRenderer = a #GtkCellRenderer to clear the attribute mapping on. + * cellRenderer = a `GtkCellRenderer` to clear the attribute mapping on. */ public void clearAttributes(CellRenderer cellRenderer) { @@ -281,7 +283,7 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF * 2 or more editable and activatable cells. * * Params: - * cell = A #GtkCellRenderer + * cell = A `GtkCellRenderer` */ public void focusCell(CellRenderer cell) { @@ -400,12 +402,13 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF } /** - * Gets the logical @sort_column_id that the model sorts on when this - * column is selected for sorting. - * See gtk_tree_view_column_set_sort_column_id(). + * Gets the logical @sort_column_id that the model sorts on + * when this column is selected for sorting. + * + * See [method@Gtk.TreeViewColumn.set_sort_column_id]. * * Returns: the current @sort_column_id for this column, or -1 if - * this column can’t be used for sorting. + * this column can’t be used for sorting */ public int getSortColumnId() { @@ -454,12 +457,12 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF } /** - * Returns the #GtkTreeView wherein @tree_column has been inserted. + * Returns the `GtkTreeView` wherein @tree_column has been inserted. * If @column is currently not inserted in any tree view, %NULL is * returned. * - * Returns: The tree view wherein @column has - * been inserted if any, %NULL otherwise. + * Returns: The tree view wherein @column + * has been inserted */ public Widget getTreeView() { @@ -485,11 +488,11 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF } /** - * Returns the #GtkWidget in the button on the column header. + * Returns the `GtkWidget` in the button on the column header. + * * If a custom widget has not been set then %NULL is returned. * - * Returns: The #GtkWidget in the column - * header, or %NULL + * Returns: The `GtkWidget` in the column header */ public Widget getWidget() { @@ -529,7 +532,7 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF * evenly between cells for which @expand is %TRUE. * * Params: - * cell = The #GtkCellRenderer. + * cell = The `GtkCellRenderer` * expand = %TRUE if @cell is to be given extra space allocated to @tree_column. */ public void packEnd(CellRenderer cell, bool expand) @@ -543,7 +546,7 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF * evenly between cells for which @expand is %TRUE. * * Params: - * cell = The #GtkCellRenderer. + * cell = The `GtkCellRenderer` * expand = %TRUE if @cell is to be given extra space allocated to @tree_column. */ public void packStart(CellRenderer cell, bool expand) @@ -574,15 +577,17 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF } /** - * Sets the #GtkTreeCellDataFunc to use for the column. This + * Sets the `GtkTreeCellDataFunc` to use for the column. + * + * This * function is used instead of the standard attributes mapping for * setting the column value, and should set the value of @tree_column's * cell renderer as appropriate. @func may be %NULL to remove an * older one. * * Params: - * cellRenderer = A #GtkCellRenderer - * func = The #GtkTreeCellDataFunc to use. + * cellRenderer = A `GtkCellRenderer` + * func = The `GtkTreeCellDataFunc` to use. * funcData = The user data for @func. * destroy = The destroy notification for @func_data */ @@ -625,7 +630,7 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF * unsets it. The effective value of @fixed_width is clamped between the * minimum and maximum width of the column; however, the value stored in the * “fixed-width” property is not clamped. If the column sizing is - * #GTK_TREE_VIEW_COLUMN_GROW_ONLY or #GTK_TREE_VIEW_COLUMN_AUTOSIZE, setting + * %GTK_TREE_VIEW_COLUMN_GROW_ONLY or %GTK_TREE_VIEW_COLUMN_AUTOSIZE, setting * a fixed width overrides the automatically calculated width. Note that * @fixed_width is only a hint to GTK; the width actually allocated to the * column may be greater or less than requested. @@ -681,9 +686,11 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF /** * If @resizable is %TRUE, then the user can explicitly resize the column by - * grabbing the outer edge of the column button. If resizable is %TRUE and - * sizing mode of the column is #GTK_TREE_VIEW_COLUMN_AUTOSIZE, then the sizing - * mode is changed to #GTK_TREE_VIEW_COLUMN_GROW_ONLY. + * grabbing the outer edge of the column button. + * + * If resizable is %TRUE and + * sizing mode of the column is %GTK_TREE_VIEW_COLUMN_AUTOSIZE, then the sizing + * mode is changed to %GTK_TREE_VIEW_COLUMN_GROW_ONLY. * * Params: * resizable = %TRUE, if the column can be resized @@ -697,7 +704,7 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF * Sets the growth behavior of @tree_column to @type. * * Params: - * type = The #GtkTreeViewColumnSizing. + * type = The `GtkTreeViewColumn`Sizing. */ public void setSizing(GtkTreeViewColumnSizing type) { @@ -788,10 +795,10 @@ public class TreeViewColumn : ObjectG, BuildableIF, CellLayoutIF /** * Sets the widget in the header to be @widget. If widget is %NULL, then the - * header button is set with a #GtkLabel set to the title of @tree_column. + * header button is set with a `GtkLabel` set to the title of @tree_column. * * Params: - * widget = A child #GtkWidget, or %NULL. + * widget = A child `GtkWidget` */ public void setWidget(Widget widget) { diff --git a/generated/gtkd/gtk/Video.d b/source/generated/gtk/gtk/Video.d similarity index 99% rename from generated/gtkd/gtk/Video.d rename to source/generated/gtk/gtk/Video.d index 0c2f69fae..94f11ad36 100644 --- a/generated/gtkd/gtk/Video.d +++ b/source/generated/gtk/gtk/Video.d @@ -47,7 +47,7 @@ public import gtk.c.types; * etc. It supports autoplay, looping, and simple media controls. It does * not have support for video overlays, multichannel audio, device * selection, or input. If you are writing a full-fledged video player, - * you may want to use the [class@Gdk.Paintable] API and a media framework + * you may want to use the [iface@Gdk.Paintable] API and a media framework * such as Gstreamer directly. */ public class Video : Widget diff --git a/generated/gtkd/gtk/Viewport.d b/source/generated/gtk/gtk/Viewport.d similarity index 100% rename from generated/gtkd/gtk/Viewport.d rename to source/generated/gtk/gtk/Viewport.d diff --git a/generated/gtkd/gtk/VolumeButton.d b/source/generated/gtk/gtk/VolumeButton.d similarity index 100% rename from generated/gtkd/gtk/VolumeButton.d rename to source/generated/gtk/gtk/VolumeButton.d diff --git a/generated/gtkd/gtk/Widget.d b/source/generated/gtk/gtk/Widget.d similarity index 95% rename from generated/gtkd/gtk/Widget.d rename to source/generated/gtk/gtk/Widget.d index bc1be9090..7f883985e 100644 --- a/generated/gtkd/gtk/Widget.d +++ b/source/generated/gtk/gtk/Widget.d @@ -508,18 +508,18 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF } /** - * For widgets that can be “activated” (buttons, menu items, etc.) + * For widgets that can be “activated” (buttons, menu items, etc.), * this function activates them. * * The activation will emit the signal set using - * gtk_widget_class_set_activate_signal() during class initialization. + * [method@Gtk.WidgetClass.set_activate_signal] during class initialization. * - * Activation is what happens when you press Enter on a widget during - * key navigation. + * Activation is what happens when you press Enter + * on a widget during key navigation. * * If you wish to handle the activation keybinding yourself, it is - * recommended to use gtk_widget_class_add_shortcut() with an action - * created with gtk_signal_action_new(). + * recommended to use [method@Gtk.WidgetClass.add_shortcut] with an action + * created with [ctor@Gtk.SignalAction.new]. * * If @widget isn't activatable, the function returns %FALSE. * @@ -544,7 +544,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * * Params: * name = the name of the action to activate - * args = parameters to use, or %NULL + * args = parameters to use * * Returns: %TRUE if the action was activated, %FALSE if the * action does not exist. @@ -569,7 +569,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * creating any kind of [class@Gtk.EventController]. * * Params: - * controller = a #GtkEventController that hasn't been + * controller = a `GtkEventController` that hasn't been * added to a widget yet */ public void addController(EventController controller) @@ -601,8 +601,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * See [method@Gtk.Widget.list_mnemonic_labels]. Note the * list of mnemonic labels for the widget is cleared when the * widget is destroyed, so the caller must make sure to update - * its internal state at this point as well, by using a connection - * to the [signal@Gtk.Widget::destroy] signal or a weak notifier. + * its internal state at this point as well. * * Params: * label = a `GtkWidget` that acts as a mnemonic label for @widget @@ -623,7 +622,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * frame or every few frames. The tick callback does not automatically * imply a relayout or repaint. If you want a repaint or relayout, and * aren’t changing widget properties that would trigger that (for example, - * changing the text of a #GtkLabel), then you will have to call + * changing the text of a `GtkLabel`), then you will have to call * [method@Gtk.Widget.queue_resize] or [method@Gtk.Widget.queue_draw] * yourself. * @@ -790,15 +789,16 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * Computes a matrix suitable to describe a transformation from * @widget's coordinate system into @target's coordinate system. * + * The transform can not be computed in certain cases, for example + * when @widget and @target do not share a common ancestor. In that + * case @out_transform gets set to the identity matrix. + * * Params: * target = the target widget that the matrix will transform to * outTransform = location to * store the final transformation * - * Returns: %TRUE if the transform could be computed, %FALSE otherwise. - * The transform can not be computed in certain cases, for example when - * @widget and @target do not share a common ancestor. In that - * case @out_transform gets set to the identity matrix. + * Returns: %TRUE if the transform could be computed, %FALSE otherwise */ public bool computeTransform(Widget target, out Matrix outTransform) { @@ -860,7 +860,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * of the [property@Gtk.Widget:root] property on the widget. * * Params: - * text = text to set on the layout (can be %NULL) + * text = text to set on the layout * * Returns: the new `PangoLayout` */ @@ -980,8 +980,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * Params: * widgetType = ancestor type * - * Returns: the ancestor widget, - * or %NULL if not found + * Returns: the ancestor widget */ public Widget getAncestor(GType widgetType) { @@ -1043,7 +1042,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * Note that this function always works, even when @widget is not * realized yet. * - * Returns: the appropriate clipboard object. + * Returns: the appropriate clipboard object */ public Clipboard getClipboard() { @@ -1062,7 +1061,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * * Returns: a %NULL-terminated list of * css classes currently applied to @widget. The returned - * list can be freed using g_strfreev(). + * list must freed using g_strfreev(). */ public string[] getCssClasses() { @@ -1088,7 +1087,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * See [method@Gtk.Widget.set_cursor] for details. * * Returns: the cursor - * currently in use or %NULL to use the default. + * currently in use or %NULL if the cursor is inherited */ public Cursor getCursor() { @@ -1163,7 +1162,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * Returns the current focus child of @widget. * * Returns: The current focus - * child of @widget, or %NULL in case the focus child is unset. + * child of @widget */ public Widget getFocusChild() { @@ -1208,7 +1207,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * * See [method@Gtk.Widget.set_font_map]. * - * Returns: A `PangoFontMap`, or %NULL + * Returns: A `PangoFontMap` */ public PgFontMap getFontMap() { @@ -1223,13 +1222,12 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF } /** - * Returns the `cairo_font_options_t` used for Pango rendering. + * Returns the `cairo_font_options_t` of widget. * - * When not set, the defaults font options for the `GdkDisplay` - * will be used. + * Seee [method@Gtk.Widget.set_font_options]. * * Returns: the `cairo_font_options_t` - * or %NULL if not set + * of widget */ public FontOption getFontOptions() { @@ -1267,8 +1265,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * * Unrealized widgets do not have a frame clock. * - * Returns: a `GdkFrameClock`, - * or %NULL if widget is unrealized + * Returns: a `GdkFrameClock` */ public FrameClock getFrameClock() { @@ -1310,9 +1307,9 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF /** * Returns the content height of the widget. * - * This function returns the size passed to its - * size-allocate implementation, which is the size you - * should be using in GtkWidgetClass.snapshot(). + * This function returns the height passed to its + * size-allocate implementation, which is the height you + * should be using in [vfunc@Gtk.Widget.snapshot]. * * For pointer events, see [method@Gtk.Widget.contains]. * @@ -1387,7 +1384,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF } /** - * Retrieves the layout manager used by @widget + * Retrieves the layout manager used by @widget. * * See [method@Gtk.Widget.set_layout_manager]. * @@ -1469,15 +1466,14 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF } /** - * Returns the `GtkNative` widget that contains @widget. + * Returns the nearest `GtkNative` ancestor of @widget. * * This function will return %NULL if the widget is not * contained inside a widget tree with a native ancestor. * * `GtkNative` widgets will return themselves here. * - * Returns: the `GtkNative` - * widget of @widget, or %NULL + * Returns: the `GtkNative` ancestor of @widget */ public NativeIF getNative() { @@ -1560,8 +1556,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF /** * Returns the parent widget of @widget. * - * Returns: the parent widget of @widget, - * or %NULL + * Returns: the parent widget of @widget */ public Widget getParent() { @@ -1592,8 +1587,8 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * Use [id@gtk_widget_measure] if you want to support baseline alignment. * * Params: - * minimumSize = location for storing the minimum size, or %NULL - * naturalSize = location for storing the natural size, or %NULL + * minimumSize = location for storing the minimum size + * naturalSize = location for storing the natural size */ public void getPreferredSize(out Requisition minimumSize, out Requisition naturalSize) { @@ -1634,7 +1629,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * Note that this function always works, even when @widget is not * realized yet. * - * Returns: the appropriate clipboard object. + * Returns: the appropriate clipboard object */ public Clipboard getPrimaryClipboard() { @@ -1697,8 +1692,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * * `GtkRoot` widgets will return themselves here. * - * Returns: the root widget of @widget, - * or %NULL + * Returns: the root widget of @widget */ public RootIF getRoot() { @@ -1751,9 +1745,9 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * Note that this function can only be called when the `GtkWidget` * is attached to a toplevel, since the settings object is specific * to a particular `GdkDisplay`. If you want to monitor the widget for - * changes in its settings, connect to notify::display. + * changes in its settings, connect to the `notify::display` signal. * - * Returns: the relevant #GtkSettings object + * Returns: the relevant `GtkSettings` object */ public Settings getSettings() { @@ -1800,8 +1794,8 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * this function. * * Params: - * width = return location for width, or %NULL - * height = return location for height, or %NULL + * width = return location for width + * height = return location for height */ public void getSizeRequest(out int width, out int height) { @@ -1832,8 +1826,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * The returned object is guaranteed to be the same * for the lifetime of @widget. * - * Returns: a `GtkStyleContext`. This memory - * is owned by @widget and must not be freed. + * Returns: the widgets `GtkStyleContext` */ public StyleContext getStyleContext() { @@ -1860,7 +1853,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * bindings which cannot easily make use of the GObject structure offsets. * * Params: - * widgetType = The #GType to get a template child for + * widgetType = The `GType` to get a template child for * name = The “id” of the child defined in the template XML * * Returns: The object built in the template XML with @@ -1964,9 +1957,9 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF /** * Returns the content width of the widget. * - * This function returns the size passed to its - * size-allocate implementation, which is the size you - * should be using in GtkWidgetClass.snapshot(). + * This function returns the width passed to its + * size-allocate implementation, which is the width you + * should be using in [vfunc@Gtk.Widget.snapshot]. * * For pointer events, see [method@Gtk.Widget.contains]. * @@ -1980,9 +1973,9 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF /** * Causes @widget to have the keyboard focus for the `GtkWindow` it's inside. * - * If @widget is not focusable, or its ::grab_focus implementation cannot - * transfer the focus to a descendant of @widget that is focusable, it will - * not take focus and %FALSE will be returned. + * If @widget is not focusable, or its [vfunc@Gtk.Widget.grab_focus] + * implementation cannot transfer the focus to a descendant of @widget + * that is focusable, it will not take focus and %FALSE will be returned. * * Calling [method@Gtk.Widget.grab_focus] on an already focused widget * is allowed, should not have an effect, and return %TRUE. @@ -2121,7 +2114,8 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * * Params: * name = the prefix for actions in @group - * group = a #GActionGroup, or %NULL + * group = a `GActionGroup`, or %NULL to remove + * the previously inserted group for @name */ public void insertActionGroup(string name, ActionGroupIF group) { @@ -2146,7 +2140,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * * Params: * parent = the parent `GtkWidget` to insert @widget into - * previousSibling = the new previous sibling of @widget or %NULL + * previousSibling = the new previous sibling of @widget */ public void insertAfter(Widget parent, Widget previousSibling) { @@ -2170,7 +2164,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * * Params: * parent = the parent `GtkWidget` to insert @widget into - * nextSibling = the new next sibling of @widget or %NULL + * nextSibling = the new next sibling of @widget */ public void insertBefore(Widget parent, Widget nextSibling) { @@ -2209,9 +2203,9 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * toplevel. * * This does not mean that the [property@Gtk.Widget:has-focus] - * property is necessarily set; [property@Gtk,Widget:has-focus] + * property is necessarily set; [property@Gtk.Widget:has-focus] * will only be set if the toplevel widget additionally has the - * global input focus.) + * global input focus. * * Returns: %TRUE if the widget is the focus widget. */ @@ -2266,7 +2260,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * * The default [signal@Gtk.Widget::keynav-failed] handler returns * %FALSE for %GTK_DIR_TAB_FORWARD and %GTK_DIR_TAB_BACKWARD. - * For the other values of #GtkDirectionType it returns %TRUE. + * For the other values of `GtkDirectionType` it returns %TRUE. * * Whenever the default handler returns %TRUE, it also calls * [method@Gtk.Widget.error_bell] to notify the user of the @@ -2337,7 +2331,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * if it is allocated at a height of 300 pixels. * * See [GtkWidget’s geometry management section](class.Widget.html#height-for-width-geometry-management) for - * a more details on implementing #GtkWidgetClass.measure(). + * a more details on implementing `GtkWidgetClass.measure()`. * * Params: * orientation = the orientation to measure @@ -2346,12 +2340,12 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * the height the widget should be measured with. The %GTK_ORIENTATION_VERTICAL * case is analogous. This way, both height-for-width and width-for-height * requests can be implemented. If no size is known, -1 can be passed. - * minimum = location to store the minimum size, or %NULL - * natural = location to store the natural size, or %NULL + * minimum = location to store the minimum size + * natural = location to store the natural size * minimumBaseline = location to store the baseline - * position for the minimum size, or %NULL + * position for the minimum size, or -1 to report no baseline * naturalBaseline = location to store the baseline - * position for the natural size, or %NULL + * position for the natural size, or -1 to report no baseline */ public void measure(GtkOrientation orientation, int forSize, out int minimum, out int natural, out int minimumBaseline, out int naturalBaseline) { @@ -2359,7 +2353,9 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF } /** - * Emits the `GtkWidget`::mnemonic-activate signal. + * Emits the ::mnemonic-activate signal. + * + * See [signal@Gtk.Widget::mnemonic-activate]. * * Params: * groupCycling = %TRUE if there are other widgets with the same mnemonic @@ -2421,8 +2417,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF } /** - * Finds the descendant of @widget closest - * to the screen at the point (@x, @y). + * Finds the descendant of @widget closest to the point (@x, @y). * * The point must be given in widget coordinates, so (0, 0) is assumed * to be the top left of @widget's content area. @@ -2443,7 +2438,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * flags = Flags to influence what is picked * * Returns: The widget descendant at - * the given coordinate or %NULL if none. + * the given point */ public Widget pick(double x, double y, GtkPickFlags flags) { @@ -2458,7 +2453,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF } /** - * Flags the widget for a rerun of the GtkWidgetClass::size_allocate + * Flags the widget for a rerun of the [vfunc@Gtk.Widget.size_allocate] * function. * * Use this function instead of [method@Gtk.Widget.queue_resize] @@ -2475,10 +2470,10 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF } /** - * Schedules this widget to be redrawn in paint phase of the - * current or the next frame. + * Schedules this widget to be redrawn in the paint phase + * of the current or the next frame. * - * This means @widget's GtkWidgetClass.snapshot() + * This means @widget's [vfunc@Gtk.Widget.snapshot] * implementation will be called. */ public void queueDraw() @@ -2495,9 +2490,9 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * enough space for the new text. * * Note that you cannot call gtk_widget_queue_resize() on a widget - * from inside its implementation of the GtkWidgetClass::size_allocate + * from inside its implementation of the [vfunc@Gtk.Widget.size_allocate] * virtual method. Calls to gtk_widget_queue_resize() from inside - * GtkWidgetClass::size_allocate will be silently ignored. + * [vfunc@Gtk.Widget.size_allocate] will be silently ignored. * * This function is only for use in widget implementations. */ @@ -2539,7 +2534,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * are destroyed, there is normally no need to call this function. * * Params: - * controller = a #GtkEventController + * controller = a `GtkEventController` */ public void removeController(EventController controller) { @@ -2653,7 +2648,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF } /** - * Will clear all style classes applied to @widget + * Clear all style classes applied to @widget * and replace them with @classes. * * Params: @@ -2672,8 +2667,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * inherited from the parent widget. * * Params: - * cursor = the new cursor or %NULL to use - * the default cursor + * cursor = the new cursor */ public void setCursor(Cursor cursor) { @@ -2694,8 +2688,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * with a %NULL cursor. * * Params: - * name = The name of the cursor or %NULL to use - * the default cursor + * name = The name of the cursor */ public void setCursorFromName(string name) { @@ -2728,8 +2721,6 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF /** * Set @child as the current focus child of @widget. * - * The previous focus child will be unset. - * * This function is only suitable for widget implementations. * If you want a certain widget to get the input focus, call * [method@Gtk.Widget.grab_focus] on it. @@ -2810,8 +2801,8 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * will be used. * * Params: - * options = a #cairo_font_options_t, or %NULL - * to unset any previously set default font options. + * options = a `cairo_font_options_t` + * to unset any previously set default font options */ public void setFontOptions(FontOption options) { @@ -2902,9 +2893,8 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF } /** - * Sets the layout manager delegate instance that - * provides an implementation for measuring and - * allocating the children of @widget. + * Sets the layout manager delegate instance that provides an + * implementation for measuring and allocating the children of @widget. * * Params: * layoutManager = a `GtkLayoutManager` @@ -2999,7 +2989,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * toplevel. The opacity value itself is not inherited by child * widgets (since that would make widgets deeper in the hierarchy * progressively more translucent). As a consequence, [class@Gtk.Popover]s - * and other [class@Gtk.Native] widgets with their own surface will use their + * and other [iface@Gtk.Native] widgets with their own surface will use their * own opacity value, and thus by default appear non-translucent, * even if they are attached to a toplevel that is translucent. * @@ -3288,10 +3278,10 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * Snapshot the a child of @widget. * * When a widget receives a call to the snapshot function, - * it must send synthetic `GtkWidget`Class.snapshot() calls + * it must send synthetic [vfunc@Gtk.Widget.snapshot] calls * to all children. This function provides a convenient way * of doing this. A widget, when it receives a call to its - * `GtkWidget`Class.snapshot() function, calls + * [vfunc@Gtk.Widget.snapshot] function, calls * gtk_widget_snapshot_child() once for each child, passing in * the @snapshot the widget received. * @@ -3302,7 +3292,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * * Params: * child = a child of @widget - * snapshot = #GtkSnapshot as passed to the widget. In particular, no + * snapshot = `GtkSnapshot` as passed to the widget. In particular, no * calls to gtk_snapshot_translate() or other transform calls should * have been made. */ @@ -3505,7 +3495,7 @@ public class Widget : ObjectG, AccessibleIF, BuildableIF, ConstraintTargetIF * y = the y coordinate of the cursor position where the request has * been emitted, relative to @widget's top * keyboardMode = %TRUE if the tooltip was triggered using the keyboard - * tooltip = a #GtkTooltip + * tooltip = a `GtkTooltip` * * Returns: %TRUE if @tooltip should be shown right now, %FALSE otherwise. */ diff --git a/generated/gtkd/gtk/WidgetClass.d b/source/generated/gtk/gtk/WidgetClass.d similarity index 89% rename from generated/gtkd/gtk/WidgetClass.d rename to source/generated/gtk/gtk/WidgetClass.d index 3feef8796..e40f40ebb 100644 --- a/generated/gtkd/gtk/WidgetClass.d +++ b/source/generated/gtk/gtk/WidgetClass.d @@ -78,7 +78,7 @@ public class WidgetClass * otherwise it is not guaranteed that the shortcut will be installed. * * Params: - * shortcut = the #GtkShortcut to add + * shortcut = the `GtkShortcut` to add */ public void addShortcut(Shortcut shortcut) { @@ -105,8 +105,8 @@ public class WidgetClass } /** - * Automatically assign an object declared in the class template XML to be - * set to a location on a freshly built instance’s private data, or + * Automatically assign an object declared in the class template XML to + * be set to a location on a freshly built instance’s private data, or * alternatively accessible via [method@Gtk.Widget.get_template_child]. * * The struct can point either into the public instance, then you should @@ -138,8 +138,9 @@ public class WidgetClass * name = The “id” of the child defined in the template XML * internalChild = Whether the child should be accessible as an “internal-child” * when this class is used in GtkBuilder XML - * structOffset = The structure offset into the composite widget’s instance public or private structure - * where the automated child pointer should be set, or 0 to not assign the pointer. + * structOffset = The structure offset into the composite widget’s instance + * public or private structure where the automated child pointer should be set, + * or 0 to not assign the pointer. */ public void bindTemplateChildFull(string name, bool internalChild, ptrdiff_t structOffset) { @@ -162,8 +163,10 @@ public class WidgetClass } /** - * Retrieves the signal id for the activation signal set using - * gtk_widget_class_set_activate_signal(). + * Retrieves the signal id for the activation signal. + * + * the activation signal is set using + * [method@Gtk.WidgetClass.set_activate_signal]. * * Returns: a signal id, or 0 if the widget class does not * specify an activation signal @@ -176,7 +179,7 @@ public class WidgetClass /** * Gets the name used by this class for matching in CSS code. * - * See gtk_widget_class_set_css_name() for details. + * See [method@Gtk.WidgetClass.set_css_name] for details. * * Returns: the CSS name of the given class */ @@ -187,9 +190,9 @@ public class WidgetClass /** * Retrieves the type of the [class@Gtk.LayoutManager] - * used by the `GtkWidget` class. + * used by widgets of class @widget_class. * - * See also: gtk_widget_class_set_layout_manager_type() + * See also: [method@Gtk.WidgetClass.set_layout_manager_type]. * * Returns: type of a `GtkLayoutManager` subclass, or %G_TYPE_INVALID */ @@ -207,7 +210,7 @@ public class WidgetClass * * Params: * actionName = a prefixed action name, such as "clipboard.paste" - * parameterType = the parameter type, or %NULL + * parameterType = the parameter type * activate = callback to use when the action is activated */ public void installAction(string actionName, string parameterType, GtkWidgetActionActivateFunc activate) @@ -243,9 +246,11 @@ public class WidgetClass } /** - * Queries the actions that have been installed for - * a widget class using [method@Gtk.WidgetClass.install_action] - * during class initialization. + * Returns details about the @index_-th action that has been + * installed for @widget_class during class initialization. + * + * See [method@Gtk.WidgetClass.install_action] for details on + * how to install actions. * * Note that this function will also return actions defined * by parent classes. You can identify those by looking @@ -258,8 +263,8 @@ public class WidgetClass * parameterType = return location for the parameter type * propertyName = return location for the property name * - * Returns: %TRUE if the action was found, - * %FALSE if @index_ is out of range + * Returns: %TRUE if the action was found, %FALSE if @index_ + * is out of range */ public bool queryAction(uint index, out GType owner, out string actionName, out VariantType parameterType, out string propertyName) { @@ -291,11 +296,12 @@ public class WidgetClass } /** - * Sets the GtkWidgetClass.activate_signal field with the - * given @signal_id; the signal will be emitted when calling - * gtk_widget_activate(). + * Sets the `GtkWidgetClass.activate_signal` field with the + * given @signal_id. * - * The @signal_id must have been registered with g_signal_new() + * The signal will be emitted when calling [method@Gtk.Widget.activate]. + * + * The @signal_id must have been registered with `g_signal_new()` * or g_signal_newv() before calling this function. * * Params: @@ -307,9 +313,10 @@ public class WidgetClass } /** - * Sets the GtkWidgetClass.activate_signal field with the signal id for - * the given @signal_name; the signal will be emitted when calling - * gtk_widget_activate(). + * Sets the `GtkWidgetClass.activate_signal` field with the signal id for + * the given @signal_name. + * + * The signal will be emitted when calling [method@Gtk.Widget.activate]. * * The @signal_name of @widget_type must have been registered with * g_signal_new() or g_signal_newv() before calling this function. @@ -338,8 +345,8 @@ public class WidgetClass } /** - * Sets the type to be used for creating layout managers for widgets of - * @widget_class. + * Sets the type to be used for creating layout managers for + * widgets of @widget_class. * * The given @type must be a subtype of [class@Gtk.LayoutManager]. * @@ -366,7 +373,7 @@ public class WidgetClass * [method@Gtk.Widget.init_template] in the widget’s instance initializer. * * Params: - * templateBytes = A #GBytes holding the #GtkBuilder XML + * templateBytes = A `GBytes` holding the `GtkBuilder` XML */ public void setTemplate(Bytes templateBytes) { @@ -395,7 +402,7 @@ public class WidgetClass * this class’s template data. * * Note that this must be called from a composite widget classes class - * initializer after calling gtk_widget_class_set_template(). + * initializer after calling [method@GtkWidgetClass.set_template]. * * Params: * scope_ = The `GtkBuilderScope` to use when loading diff --git a/generated/gtkd/gtk/WidgetPaintable.d b/source/generated/gtk/gtk/WidgetPaintable.d similarity index 97% rename from generated/gtkd/gtk/WidgetPaintable.d rename to source/generated/gtk/gtk/WidgetPaintable.d index cdc24564a..c285f8b71 100644 --- a/generated/gtkd/gtk/WidgetPaintable.d +++ b/source/generated/gtk/gtk/WidgetPaintable.d @@ -97,7 +97,7 @@ public class WidgetPaintable : ObjectG, PaintableIF * Creates a new widget paintable observing the given widget. * * Params: - * widget = a `GtkWidget` or %NULL + * widget = a `GtkWidget` * * Returns: a new `GtkWidgetPaintable` * @@ -136,7 +136,7 @@ public class WidgetPaintable : ObjectG, PaintableIF * Sets the widget that should be observed. * * Params: - * widget = the widget to observe or %NULL + * widget = the widget to observe */ public void setWidget(Widget widget) { diff --git a/generated/gtkd/gtk/Window.d b/source/generated/gtk/gtk/Window.d similarity index 97% rename from generated/gtkd/gtk/Window.d rename to source/generated/gtk/gtk/Window.d index 5f0881337..fe10404b1 100644 --- a/generated/gtkd/gtk/Window.d +++ b/source/generated/gtk/gtk/Window.d @@ -95,6 +95,14 @@ private import std.algorithm; * # Accessibility * * `GtkWindow` uses the %GTK_ACCESSIBLE_ROLE_WINDOW role. + * + * # Actions + * + * `GtkWindow` defines a set of built-in actions: + * - `default.activate`: Activate the default widget. + * - `window.minimize`: Minimize the window. + * - `window.toggle-maximized`: Maximize or restore the window. + * - `window.close`: Close the window. */ public class Window : Widget, NativeIF, RootIF, ShortcutManagerIF { @@ -268,7 +276,7 @@ public class Window : Widget, NativeIF, RootIF, ShortcutManagerIF } /** - * Opens or closes the [interactive debugger](#interactive-debugging). + * Opens or closes the [interactive debugger](running.html#interactive-debugging). * * The debugger offers access to the widget hierarchy of the application * and to useful debugging tools. @@ -342,7 +350,7 @@ public class Window : Widget, NativeIF, RootIF, ShortcutManagerIF /** * Gets the `GtkApplication` associated with the window. * - * Returns: a `GtkApplication`, or %NULL + * Returns: a `GtkApplication` */ public Application getApplication() { @@ -391,8 +399,8 @@ public class Window : Widget, NativeIF, RootIF, ShortcutManagerIF * “natural” size of the window will be used. * * Params: - * width = location to store the default width, or %NULL - * height = location to store the default height, or %NULL + * width = location to store the default width + * height = location to store the default height */ public void getDefaultSize(out int width, out int height) { @@ -402,8 +410,7 @@ public class Window : Widget, NativeIF, RootIF, ShortcutManagerIF /** * Returns the default widget for @window. * - * Returns: the default widget, or %NULL - * if there is none. + * Returns: the default widget */ public Widget getDefaultWidget() { @@ -445,8 +452,7 @@ public class Window : Widget, NativeIF, RootIF, ShortcutManagerIF * is not focused then `gtk_widget_has_focus (widget)` will * not be %TRUE for the widget. * - * Returns: the currently focused widget, - * or %NULL if there is none. + * Returns: the currently focused widget */ public Widget getFocus() { @@ -517,8 +523,7 @@ public class Window : Widget, NativeIF, RootIF, ShortcutManagerIF /** * Returns the name of the themed icon for the window. * - * Returns: the icon name or %NULL if the window has - * no themed icon + * Returns: the icon name */ public string getIconName() { @@ -560,9 +565,7 @@ public class Window : Widget, NativeIF, RootIF, ShortcutManagerIF /** * Retrieves the title of the window. * - * Returns: the title of the window, or %NULL if none has - * been set explicitly. The returned string is owned by the widget - * and must not be modified or freed. + * Returns: the title of the window */ public string getTitle() { @@ -573,7 +576,7 @@ public class Window : Widget, NativeIF, RootIF, ShortcutManagerIF * Returns the custom titlebar that has been set with * gtk_window_set_titlebar(). * - * Returns: the custom titlebar, or %NULL + * Returns: the custom titlebar */ public Widget getTitlebar() { @@ -590,8 +593,7 @@ public class Window : Widget, NativeIF, RootIF, ShortcutManagerIF /** * Fetches the transient parent for this window. * - * Returns: the transient parent for this - * window, or %NULL if no transient parent has been set. + * Returns: the transient parent for this window */ public Window getTransientFor() { @@ -855,7 +857,7 @@ public class Window : Widget, NativeIF, RootIF, ShortcutManagerIF * presses Enter in a dialog (for example). * * Params: - * defaultWidget = widget to be the default, or %NULL + * defaultWidget = widget to be the default * to unset the default widget for the toplevel */ public void setDefaultWidget(Widget defaultWidget) @@ -1106,7 +1108,7 @@ public class Window : Widget, NativeIF, RootIF, ShortcutManagerIF * much as the window manager would have done on X. * * Params: - * parent = parent window, or %NULL + * parent = parent window */ public void setTransientFor(Window parent) { diff --git a/generated/gtkd/gtk/WindowControls.d b/source/generated/gtk/gtk/WindowControls.d similarity index 98% rename from generated/gtkd/gtk/WindowControls.d rename to source/generated/gtk/gtk/WindowControls.d index 45edee879..61c8d20bf 100644 --- a/generated/gtkd/gtk/WindowControls.d +++ b/source/generated/gtk/gtk/WindowControls.d @@ -190,8 +190,7 @@ public class WindowControls : Widget * will display the part before the colon, otherwise after that. * * Params: - * layout = a decoration layout, or %NULL to - * unset the layout + * layout = a decoration layout, or %NULL to unset the layout */ public void setDecorationLayout(string layout) { diff --git a/generated/gtkd/gtk/WindowGroup.d b/source/generated/gtk/gtk/WindowGroup.d similarity index 100% rename from generated/gtkd/gtk/WindowGroup.d rename to source/generated/gtk/gtk/WindowGroup.d diff --git a/generated/gtkd/gtk/WindowHandle.d b/source/generated/gtk/gtk/WindowHandle.d similarity index 100% rename from generated/gtkd/gtk/WindowHandle.d rename to source/generated/gtk/gtk/WindowHandle.d diff --git a/generated/gtkd/gtk/c/functions.d b/source/generated/gtk/gtk/c/functions.d similarity index 99% rename from generated/gtkd/gtk/c/functions.d rename to source/generated/gtk/gtk/c/functions.d index 2ecad1309..bcda867c4 100644 --- a/generated/gtkd/gtk/c/functions.d +++ b/source/generated/gtk/gtk/c/functions.d @@ -26,7 +26,7 @@ module gtk.c.functions; import std.stdio; import gtk.c.types; -import gtkd.Loader; +import linker.Loader; version (Windows) static immutable LIBRARY_GTK = ["libgtk-4-1.dll;gtk-4-4.1.dll;gtk-4.dll"]; @@ -321,6 +321,7 @@ shared static this() // gtk.BitsetIter + Linker.link(gtk_bitset_iter_get_type, "gtk_bitset_iter_get_type", LIBRARY_GTK); Linker.link(gtk_bitset_iter_get_value, "gtk_bitset_iter_get_value", LIBRARY_GTK); Linker.link(gtk_bitset_iter_is_valid, "gtk_bitset_iter_is_valid", LIBRARY_GTK); Linker.link(gtk_bitset_iter_next, "gtk_bitset_iter_next", LIBRARY_GTK); @@ -1037,18 +1038,21 @@ shared static this() Linker.link(gtk_drop_down_get_model, "gtk_drop_down_get_model", LIBRARY_GTK); Linker.link(gtk_drop_down_get_selected, "gtk_drop_down_get_selected", LIBRARY_GTK); Linker.link(gtk_drop_down_get_selected_item, "gtk_drop_down_get_selected_item", LIBRARY_GTK); + Linker.link(gtk_drop_down_get_show_arrow, "gtk_drop_down_get_show_arrow", LIBRARY_GTK); Linker.link(gtk_drop_down_set_enable_search, "gtk_drop_down_set_enable_search", LIBRARY_GTK); Linker.link(gtk_drop_down_set_expression, "gtk_drop_down_set_expression", LIBRARY_GTK); Linker.link(gtk_drop_down_set_factory, "gtk_drop_down_set_factory", LIBRARY_GTK); Linker.link(gtk_drop_down_set_list_factory, "gtk_drop_down_set_list_factory", LIBRARY_GTK); Linker.link(gtk_drop_down_set_model, "gtk_drop_down_set_model", LIBRARY_GTK); Linker.link(gtk_drop_down_set_selected, "gtk_drop_down_set_selected", LIBRARY_GTK); + Linker.link(gtk_drop_down_set_show_arrow, "gtk_drop_down_set_show_arrow", LIBRARY_GTK); // gtk.DropTarget Linker.link(gtk_drop_target_get_type, "gtk_drop_target_get_type", LIBRARY_GTK); Linker.link(gtk_drop_target_new, "gtk_drop_target_new", LIBRARY_GTK); Linker.link(gtk_drop_target_get_actions, "gtk_drop_target_get_actions", LIBRARY_GTK); + Linker.link(gtk_drop_target_get_current_drop, "gtk_drop_target_get_current_drop", LIBRARY_GTK); Linker.link(gtk_drop_target_get_drop, "gtk_drop_target_get_drop", LIBRARY_GTK); Linker.link(gtk_drop_target_get_formats, "gtk_drop_target_get_formats", LIBRARY_GTK); Linker.link(gtk_drop_target_get_gtypes, "gtk_drop_target_get_gtypes", LIBRARY_GTK); @@ -1370,6 +1374,7 @@ shared static this() Linker.link(gtk_file_filter_add_mime_type, "gtk_file_filter_add_mime_type", LIBRARY_GTK); Linker.link(gtk_file_filter_add_pattern, "gtk_file_filter_add_pattern", LIBRARY_GTK); Linker.link(gtk_file_filter_add_pixbuf_formats, "gtk_file_filter_add_pixbuf_formats", LIBRARY_GTK); + Linker.link(gtk_file_filter_add_suffix, "gtk_file_filter_add_suffix", LIBRARY_GTK); Linker.link(gtk_file_filter_get_attributes, "gtk_file_filter_get_attributes", LIBRARY_GTK); Linker.link(gtk_file_filter_get_name, "gtk_file_filter_get_name", LIBRARY_GTK); Linker.link(gtk_file_filter_set_name, "gtk_file_filter_set_name", LIBRARY_GTK); @@ -1428,6 +1433,7 @@ shared static this() Linker.link(gtk_flow_box_get_type, "gtk_flow_box_get_type", LIBRARY_GTK); Linker.link(gtk_flow_box_new, "gtk_flow_box_new", LIBRARY_GTK); + Linker.link(gtk_flow_box_append, "gtk_flow_box_append", LIBRARY_GTK); Linker.link(gtk_flow_box_bind_model, "gtk_flow_box_bind_model", LIBRARY_GTK); Linker.link(gtk_flow_box_get_activate_on_single_click, "gtk_flow_box_get_activate_on_single_click", LIBRARY_GTK); Linker.link(gtk_flow_box_get_child_at_index, "gtk_flow_box_get_child_at_index", LIBRARY_GTK); @@ -1442,6 +1448,7 @@ shared static this() Linker.link(gtk_flow_box_insert, "gtk_flow_box_insert", LIBRARY_GTK); Linker.link(gtk_flow_box_invalidate_filter, "gtk_flow_box_invalidate_filter", LIBRARY_GTK); Linker.link(gtk_flow_box_invalidate_sort, "gtk_flow_box_invalidate_sort", LIBRARY_GTK); + Linker.link(gtk_flow_box_prepend, "gtk_flow_box_prepend", LIBRARY_GTK); Linker.link(gtk_flow_box_remove, "gtk_flow_box_remove", LIBRARY_GTK); Linker.link(gtk_flow_box_select_all, "gtk_flow_box_select_all", LIBRARY_GTK); Linker.link(gtk_flow_box_select_child, "gtk_flow_box_select_child", LIBRARY_GTK); @@ -1923,6 +1930,7 @@ shared static this() Linker.link(gtk_label_get_max_width_chars, "gtk_label_get_max_width_chars", LIBRARY_GTK); Linker.link(gtk_label_get_mnemonic_keyval, "gtk_label_get_mnemonic_keyval", LIBRARY_GTK); Linker.link(gtk_label_get_mnemonic_widget, "gtk_label_get_mnemonic_widget", LIBRARY_GTK); + Linker.link(gtk_label_get_natural_wrap_mode, "gtk_label_get_natural_wrap_mode", LIBRARY_GTK); Linker.link(gtk_label_get_selectable, "gtk_label_get_selectable", LIBRARY_GTK); Linker.link(gtk_label_get_selection_bounds, "gtk_label_get_selection_bounds", LIBRARY_GTK); Linker.link(gtk_label_get_single_line_mode, "gtk_label_get_single_line_mode", LIBRARY_GTK); @@ -1945,6 +1953,7 @@ shared static this() Linker.link(gtk_label_set_markup_with_mnemonic, "gtk_label_set_markup_with_mnemonic", LIBRARY_GTK); Linker.link(gtk_label_set_max_width_chars, "gtk_label_set_max_width_chars", LIBRARY_GTK); Linker.link(gtk_label_set_mnemonic_widget, "gtk_label_set_mnemonic_widget", LIBRARY_GTK); + Linker.link(gtk_label_set_natural_wrap_mode, "gtk_label_set_natural_wrap_mode", LIBRARY_GTK); Linker.link(gtk_label_set_selectable, "gtk_label_set_selectable", LIBRARY_GTK); Linker.link(gtk_label_set_single_line_mode, "gtk_label_set_single_line_mode", LIBRARY_GTK); Linker.link(gtk_label_set_text, "gtk_label_set_text", LIBRARY_GTK); @@ -2185,6 +2194,9 @@ shared static this() Linker.link(gtk_media_stream_set_muted, "gtk_media_stream_set_muted", LIBRARY_GTK); Linker.link(gtk_media_stream_set_playing, "gtk_media_stream_set_playing", LIBRARY_GTK); Linker.link(gtk_media_stream_set_volume, "gtk_media_stream_set_volume", LIBRARY_GTK); + Linker.link(gtk_media_stream_stream_ended, "gtk_media_stream_stream_ended", LIBRARY_GTK); + Linker.link(gtk_media_stream_stream_prepared, "gtk_media_stream_stream_prepared", LIBRARY_GTK); + Linker.link(gtk_media_stream_stream_unprepared, "gtk_media_stream_stream_unprepared", LIBRARY_GTK); Linker.link(gtk_media_stream_unprepared, "gtk_media_stream_unprepared", LIBRARY_GTK); Linker.link(gtk_media_stream_unrealize, "gtk_media_stream_unrealize", LIBRARY_GTK); Linker.link(gtk_media_stream_update, "gtk_media_stream_update", LIBRARY_GTK); @@ -2193,15 +2205,20 @@ shared static this() Linker.link(gtk_menu_button_get_type, "gtk_menu_button_get_type", LIBRARY_GTK); Linker.link(gtk_menu_button_new, "gtk_menu_button_new", LIBRARY_GTK); + Linker.link(gtk_menu_button_get_always_show_arrow, "gtk_menu_button_get_always_show_arrow", LIBRARY_GTK); + Linker.link(gtk_menu_button_get_child, "gtk_menu_button_get_child", LIBRARY_GTK); Linker.link(gtk_menu_button_get_direction, "gtk_menu_button_get_direction", LIBRARY_GTK); Linker.link(gtk_menu_button_get_has_frame, "gtk_menu_button_get_has_frame", LIBRARY_GTK); Linker.link(gtk_menu_button_get_icon_name, "gtk_menu_button_get_icon_name", LIBRARY_GTK); Linker.link(gtk_menu_button_get_label, "gtk_menu_button_get_label", LIBRARY_GTK); Linker.link(gtk_menu_button_get_menu_model, "gtk_menu_button_get_menu_model", LIBRARY_GTK); Linker.link(gtk_menu_button_get_popover, "gtk_menu_button_get_popover", LIBRARY_GTK); + Linker.link(gtk_menu_button_get_primary, "gtk_menu_button_get_primary", LIBRARY_GTK); Linker.link(gtk_menu_button_get_use_underline, "gtk_menu_button_get_use_underline", LIBRARY_GTK); Linker.link(gtk_menu_button_popdown, "gtk_menu_button_popdown", LIBRARY_GTK); Linker.link(gtk_menu_button_popup, "gtk_menu_button_popup", LIBRARY_GTK); + Linker.link(gtk_menu_button_set_always_show_arrow, "gtk_menu_button_set_always_show_arrow", LIBRARY_GTK); + Linker.link(gtk_menu_button_set_child, "gtk_menu_button_set_child", LIBRARY_GTK); Linker.link(gtk_menu_button_set_create_popup_func, "gtk_menu_button_set_create_popup_func", LIBRARY_GTK); Linker.link(gtk_menu_button_set_direction, "gtk_menu_button_set_direction", LIBRARY_GTK); Linker.link(gtk_menu_button_set_has_frame, "gtk_menu_button_set_has_frame", LIBRARY_GTK); @@ -2209,6 +2226,7 @@ shared static this() Linker.link(gtk_menu_button_set_label, "gtk_menu_button_set_label", LIBRARY_GTK); Linker.link(gtk_menu_button_set_menu_model, "gtk_menu_button_set_menu_model", LIBRARY_GTK); Linker.link(gtk_menu_button_set_popover, "gtk_menu_button_set_popover", LIBRARY_GTK); + Linker.link(gtk_menu_button_set_primary, "gtk_menu_button_set_primary", LIBRARY_GTK); Linker.link(gtk_menu_button_set_use_underline, "gtk_menu_button_set_use_underline", LIBRARY_GTK); // gtk.MessageDialog @@ -2520,6 +2538,11 @@ shared static this() Linker.link(gtk_password_entry_set_extra_menu, "gtk_password_entry_set_extra_menu", LIBRARY_GTK); Linker.link(gtk_password_entry_set_show_peek_icon, "gtk_password_entry_set_show_peek_icon", LIBRARY_GTK); + // gtk.PasswordEntryBuffer + + Linker.link(gtk_password_entry_buffer_get_type, "gtk_password_entry_buffer_get_type", LIBRARY_GTK); + Linker.link(gtk_password_entry_buffer_new, "gtk_password_entry_buffer_new", LIBRARY_GTK); + // gtk.Picture Linker.link(gtk_picture_get_type, "gtk_picture_get_type", LIBRARY_GTK); @@ -3446,11 +3469,17 @@ shared static this() Linker.link(gtk_switch_set_active, "gtk_switch_set_active", LIBRARY_GTK); Linker.link(gtk_switch_set_state, "gtk_switch_set_state", LIBRARY_GTK); + // gtk.SymbolicPaintable + + Linker.link(gtk_symbolic_paintable_get_type, "gtk_symbolic_paintable_get_type", LIBRARY_GTK); + Linker.link(gtk_symbolic_paintable_snapshot_symbolic, "gtk_symbolic_paintable_snapshot_symbolic", LIBRARY_GTK); + // gtk.Text Linker.link(gtk_text_get_type, "gtk_text_get_type", LIBRARY_GTK); Linker.link(gtk_text_new, "gtk_text_new", LIBRARY_GTK); Linker.link(gtk_text_new_with_buffer, "gtk_text_new_with_buffer", LIBRARY_GTK); + Linker.link(gtk_text_compute_cursor_extents, "gtk_text_compute_cursor_extents", LIBRARY_GTK); Linker.link(gtk_text_get_activates_default, "gtk_text_get_activates_default", LIBRARY_GTK); Linker.link(gtk_text_get_attributes, "gtk_text_get_attributes", LIBRARY_GTK); Linker.link(gtk_text_get_buffer, "gtk_text_get_buffer", LIBRARY_GTK); @@ -3564,6 +3593,7 @@ shared static this() Linker.link(gtk_text_child_anchor_get_type, "gtk_text_child_anchor_get_type", LIBRARY_GTK); Linker.link(gtk_text_child_anchor_new, "gtk_text_child_anchor_new", LIBRARY_GTK); + Linker.link(gtk_text_child_anchor_new_with_replacement, "gtk_text_child_anchor_new_with_replacement", LIBRARY_GTK); Linker.link(gtk_text_child_anchor_get_deleted, "gtk_text_child_anchor_get_deleted", LIBRARY_GTK); Linker.link(gtk_text_child_anchor_get_widgets, "gtk_text_child_anchor_get_widgets", LIBRARY_GTK); @@ -3720,12 +3750,14 @@ shared static this() Linker.link(gtk_text_view_get_left_margin, "gtk_text_view_get_left_margin", LIBRARY_GTK); Linker.link(gtk_text_view_get_line_at_y, "gtk_text_view_get_line_at_y", LIBRARY_GTK); Linker.link(gtk_text_view_get_line_yrange, "gtk_text_view_get_line_yrange", LIBRARY_GTK); + Linker.link(gtk_text_view_get_ltr_context, "gtk_text_view_get_ltr_context", LIBRARY_GTK); Linker.link(gtk_text_view_get_monospace, "gtk_text_view_get_monospace", LIBRARY_GTK); Linker.link(gtk_text_view_get_overwrite, "gtk_text_view_get_overwrite", LIBRARY_GTK); Linker.link(gtk_text_view_get_pixels_above_lines, "gtk_text_view_get_pixels_above_lines", LIBRARY_GTK); Linker.link(gtk_text_view_get_pixels_below_lines, "gtk_text_view_get_pixels_below_lines", LIBRARY_GTK); Linker.link(gtk_text_view_get_pixels_inside_wrap, "gtk_text_view_get_pixels_inside_wrap", LIBRARY_GTK); Linker.link(gtk_text_view_get_right_margin, "gtk_text_view_get_right_margin", LIBRARY_GTK); + Linker.link(gtk_text_view_get_rtl_context, "gtk_text_view_get_rtl_context", LIBRARY_GTK); Linker.link(gtk_text_view_get_tabs, "gtk_text_view_get_tabs", LIBRARY_GTK); Linker.link(gtk_text_view_get_top_margin, "gtk_text_view_get_top_margin", LIBRARY_GTK); Linker.link(gtk_text_view_get_visible_rect, "gtk_text_view_get_visible_rect", LIBRARY_GTK); @@ -3805,9 +3837,11 @@ shared static this() Linker.link(gtk_tree_expander_get_type, "gtk_tree_expander_get_type", LIBRARY_GTK); Linker.link(gtk_tree_expander_new, "gtk_tree_expander_new", LIBRARY_GTK); Linker.link(gtk_tree_expander_get_child, "gtk_tree_expander_get_child", LIBRARY_GTK); + Linker.link(gtk_tree_expander_get_indent_for_icon, "gtk_tree_expander_get_indent_for_icon", LIBRARY_GTK); Linker.link(gtk_tree_expander_get_item, "gtk_tree_expander_get_item", LIBRARY_GTK); Linker.link(gtk_tree_expander_get_list_row, "gtk_tree_expander_get_list_row", LIBRARY_GTK); Linker.link(gtk_tree_expander_set_child, "gtk_tree_expander_set_child", LIBRARY_GTK); + Linker.link(gtk_tree_expander_set_indent_for_icon, "gtk_tree_expander_set_indent_for_icon", LIBRARY_GTK); Linker.link(gtk_tree_expander_set_list_row, "gtk_tree_expander_set_list_row", LIBRARY_GTK); // gtk.TreeIter @@ -4764,6 +4798,7 @@ __gshared extern(C) // gtk.BitsetIter + GType function() c_gtk_bitset_iter_get_type; uint function(GtkBitsetIter* iter) c_gtk_bitset_iter_get_value; int function(GtkBitsetIter* iter) c_gtk_bitset_iter_is_valid; int function(GtkBitsetIter* iter, uint* value) c_gtk_bitset_iter_next; @@ -4775,9 +4810,9 @@ __gshared extern(C) // gtk.BookmarkList GType function() c_gtk_bookmark_list_get_type; - GtkBookmarkList* function(const(char)* filename, const(char)* attributes) c_gtk_bookmark_list_new; + GtkBookmarkList* function(char* filename, const(char)* attributes) c_gtk_bookmark_list_new; const(char)* function(GtkBookmarkList* self) c_gtk_bookmark_list_get_attributes; - const(char)* function(GtkBookmarkList* self) c_gtk_bookmark_list_get_filename; + char* function(GtkBookmarkList* self) c_gtk_bookmark_list_get_filename; int function(GtkBookmarkList* self) c_gtk_bookmark_list_get_io_priority; int function(GtkBookmarkList* self) c_gtk_bookmark_list_is_loading; void function(GtkBookmarkList* self, const(char)* attributes) c_gtk_bookmark_list_set_attributes; @@ -4843,13 +4878,13 @@ __gshared extern(C) GType function() c_gtk_builder_get_type; GtkBuilder* function() c_gtk_builder_new; - GtkBuilder* function(const(char)* filename) c_gtk_builder_new_from_file; + GtkBuilder* function(char* filename) c_gtk_builder_new_from_file; GtkBuilder* function(const(char)* resourcePath) c_gtk_builder_new_from_resource; GtkBuilder* function(const(char)* string_, ptrdiff_t length) c_gtk_builder_new_from_string; - int function(GtkBuilder* builder, const(char)* filename, GError** err) c_gtk_builder_add_from_file; + int function(GtkBuilder* builder, char* filename, GError** err) c_gtk_builder_add_from_file; int function(GtkBuilder* builder, const(char)* resourcePath, GError** err) c_gtk_builder_add_from_resource; int function(GtkBuilder* builder, const(char)* buffer, ptrdiff_t length, GError** err) c_gtk_builder_add_from_string; - int function(GtkBuilder* builder, const(char)* filename, char** objectIds, GError** err) c_gtk_builder_add_objects_from_file; + int function(GtkBuilder* builder, char* filename, char** objectIds, GError** err) c_gtk_builder_add_objects_from_file; int function(GtkBuilder* builder, const(char)* resourcePath, char** objectIds, GError** err) c_gtk_builder_add_objects_from_resource; int function(GtkBuilder* builder, const(char)* buffer, ptrdiff_t length, char** objectIds, GError** err) c_gtk_builder_add_objects_from_string; GClosure* function(GtkBuilder* builder, const(char)* functionName, GtkBuilderClosureFlags flags, GObject* object, GError** err) c_gtk_builder_create_closure; @@ -5363,7 +5398,7 @@ __gshared extern(C) GtkCssProvider* function() c_gtk_css_provider_new; void function(GtkCssProvider* cssProvider, char* data, ptrdiff_t length) c_gtk_css_provider_load_from_data; void function(GtkCssProvider* cssProvider, GFile* file) c_gtk_css_provider_load_from_file; - void function(GtkCssProvider* cssProvider, const(char)* path) c_gtk_css_provider_load_from_path; + void function(GtkCssProvider* cssProvider, char* path) c_gtk_css_provider_load_from_path; void function(GtkCssProvider* cssProvider, const(char)* resourcePath) c_gtk_css_provider_load_from_resource; void function(GtkCssProvider* provider, const(char)* name, const(char)* variant) c_gtk_css_provider_load_named; char* function(GtkCssProvider* provider) c_gtk_css_provider_to_string; @@ -5480,18 +5515,21 @@ __gshared extern(C) GListModel* function(GtkDropDown* self) c_gtk_drop_down_get_model; uint function(GtkDropDown* self) c_gtk_drop_down_get_selected; void* function(GtkDropDown* self) c_gtk_drop_down_get_selected_item; + int function(GtkDropDown* self) c_gtk_drop_down_get_show_arrow; void function(GtkDropDown* self, int enableSearch) c_gtk_drop_down_set_enable_search; void function(GtkDropDown* self, GtkExpression* expression) c_gtk_drop_down_set_expression; void function(GtkDropDown* self, GtkListItemFactory* factory) c_gtk_drop_down_set_factory; void function(GtkDropDown* self, GtkListItemFactory* factory) c_gtk_drop_down_set_list_factory; void function(GtkDropDown* self, GListModel* model) c_gtk_drop_down_set_model; void function(GtkDropDown* self, uint position) c_gtk_drop_down_set_selected; + void function(GtkDropDown* self, int showArrow) c_gtk_drop_down_set_show_arrow; // gtk.DropTarget GType function() c_gtk_drop_target_get_type; GtkDropTarget* function(GType type, GdkDragAction actions) c_gtk_drop_target_new; GdkDragAction function(GtkDropTarget* self) c_gtk_drop_target_get_actions; + GdkDrop* function(GtkDropTarget* self) c_gtk_drop_target_get_current_drop; GdkDrop* function(GtkDropTarget* self) c_gtk_drop_target_get_drop; GdkContentFormats* function(GtkDropTarget* self) c_gtk_drop_target_get_formats; GType* function(GtkDropTarget* self, size_t* nTypes) c_gtk_drop_target_get_gtypes; @@ -5813,6 +5851,7 @@ __gshared extern(C) void function(GtkFileFilter* filter, const(char)* mimeType) c_gtk_file_filter_add_mime_type; void function(GtkFileFilter* filter, const(char)* pattern) c_gtk_file_filter_add_pattern; void function(GtkFileFilter* filter) c_gtk_file_filter_add_pixbuf_formats; + void function(GtkFileFilter* filter, const(char)* suffix) c_gtk_file_filter_add_suffix; char** function(GtkFileFilter* filter) c_gtk_file_filter_get_attributes; const(char)* function(GtkFileFilter* filter) c_gtk_file_filter_get_name; void function(GtkFileFilter* filter, const(char)* name) c_gtk_file_filter_set_name; @@ -5871,6 +5910,7 @@ __gshared extern(C) GType function() c_gtk_flow_box_get_type; GtkWidget* function() c_gtk_flow_box_new; + void function(GtkFlowBox* self, GtkWidget* child) c_gtk_flow_box_append; void function(GtkFlowBox* box, GListModel* model, GtkFlowBoxCreateWidgetFunc createWidgetFunc, void* userData, GDestroyNotify userDataFreeFunc) c_gtk_flow_box_bind_model; int function(GtkFlowBox* box) c_gtk_flow_box_get_activate_on_single_click; GtkFlowBoxChild* function(GtkFlowBox* box, int idx) c_gtk_flow_box_get_child_at_index; @@ -5885,6 +5925,7 @@ __gshared extern(C) void function(GtkFlowBox* box, GtkWidget* widget, int position) c_gtk_flow_box_insert; void function(GtkFlowBox* box) c_gtk_flow_box_invalidate_filter; void function(GtkFlowBox* box) c_gtk_flow_box_invalidate_sort; + void function(GtkFlowBox* self, GtkWidget* child) c_gtk_flow_box_prepend; void function(GtkFlowBox* box, GtkWidget* widget) c_gtk_flow_box_remove; void function(GtkFlowBox* box) c_gtk_flow_box_select_all; void function(GtkFlowBox* box, GtkFlowBoxChild* child) c_gtk_flow_box_select_child; @@ -6224,7 +6265,7 @@ __gshared extern(C) int function(GtkIconTheme* self, const(char)* iconName) c_gtk_icon_theme_has_icon; GtkIconPaintable* function(GtkIconTheme* self, GIcon* icon, int size, int scale, GtkTextDirection direction, GtkIconLookupFlags flags) c_gtk_icon_theme_lookup_by_gicon; GtkIconPaintable* function(GtkIconTheme* self, const(char)* iconName, char** fallbacks, int size, int scale, GtkTextDirection direction, GtkIconLookupFlags flags) c_gtk_icon_theme_lookup_icon; - void function(GtkIconTheme* self, const(char)* path) c_gtk_icon_theme_set_resource_path; + void function(GtkIconTheme* self, char** path) c_gtk_icon_theme_set_resource_path; void function(GtkIconTheme* self, char** path) c_gtk_icon_theme_set_search_path; void function(GtkIconTheme* self, const(char)* themeName) c_gtk_icon_theme_set_theme_name; @@ -6366,6 +6407,7 @@ __gshared extern(C) int function(GtkLabel* self) c_gtk_label_get_max_width_chars; uint function(GtkLabel* self) c_gtk_label_get_mnemonic_keyval; GtkWidget* function(GtkLabel* self) c_gtk_label_get_mnemonic_widget; + GtkNaturalWrapMode function(GtkLabel* self) c_gtk_label_get_natural_wrap_mode; int function(GtkLabel* self) c_gtk_label_get_selectable; int function(GtkLabel* self, int* start, int* end) c_gtk_label_get_selection_bounds; int function(GtkLabel* self) c_gtk_label_get_single_line_mode; @@ -6388,6 +6430,7 @@ __gshared extern(C) void function(GtkLabel* self, const(char)* str) c_gtk_label_set_markup_with_mnemonic; void function(GtkLabel* self, int nChars) c_gtk_label_set_max_width_chars; void function(GtkLabel* self, GtkWidget* widget) c_gtk_label_set_mnemonic_widget; + void function(GtkLabel* self, GtkNaturalWrapMode wrapMode) c_gtk_label_set_natural_wrap_mode; void function(GtkLabel* self, int setting) c_gtk_label_set_selectable; void function(GtkLabel* self, int singleLineMode) c_gtk_label_set_single_line_mode; void function(GtkLabel* self, const(char)* str) c_gtk_label_set_text; @@ -6586,14 +6629,14 @@ __gshared extern(C) GType function() c_gtk_media_file_get_type; GtkMediaStream* function() c_gtk_media_file_new; GtkMediaStream* function(GFile* file) c_gtk_media_file_new_for_file; - GtkMediaStream* function(const(char)* filename) c_gtk_media_file_new_for_filename; + GtkMediaStream* function(char* filename) c_gtk_media_file_new_for_filename; GtkMediaStream* function(GInputStream* stream) c_gtk_media_file_new_for_input_stream; GtkMediaStream* function(const(char)* resourcePath) c_gtk_media_file_new_for_resource; void function(GtkMediaFile* self) c_gtk_media_file_clear; GFile* function(GtkMediaFile* self) c_gtk_media_file_get_file; GInputStream* function(GtkMediaFile* self) c_gtk_media_file_get_input_stream; void function(GtkMediaFile* self, GFile* file) c_gtk_media_file_set_file; - void function(GtkMediaFile* self, const(char)* filename) c_gtk_media_file_set_filename; + void function(GtkMediaFile* self, char* filename) c_gtk_media_file_set_filename; void function(GtkMediaFile* self, GInputStream* stream) c_gtk_media_file_set_input_stream; void function(GtkMediaFile* self, const(char)* resourcePath) c_gtk_media_file_set_resource; @@ -6628,6 +6671,9 @@ __gshared extern(C) void function(GtkMediaStream* self, int muted) c_gtk_media_stream_set_muted; void function(GtkMediaStream* self, int playing) c_gtk_media_stream_set_playing; void function(GtkMediaStream* self, double volume) c_gtk_media_stream_set_volume; + void function(GtkMediaStream* self) c_gtk_media_stream_stream_ended; + void function(GtkMediaStream* self, int hasAudio, int hasVideo, int seekable, long duration) c_gtk_media_stream_stream_prepared; + void function(GtkMediaStream* self) c_gtk_media_stream_stream_unprepared; void function(GtkMediaStream* self) c_gtk_media_stream_unprepared; void function(GtkMediaStream* self, GdkSurface* surface) c_gtk_media_stream_unrealize; void function(GtkMediaStream* self, long timestamp) c_gtk_media_stream_update; @@ -6636,15 +6682,20 @@ __gshared extern(C) GType function() c_gtk_menu_button_get_type; GtkWidget* function() c_gtk_menu_button_new; + int function(GtkMenuButton* menuButton) c_gtk_menu_button_get_always_show_arrow; + GtkWidget* function(GtkMenuButton* menuButton) c_gtk_menu_button_get_child; GtkArrowType function(GtkMenuButton* menuButton) c_gtk_menu_button_get_direction; int function(GtkMenuButton* menuButton) c_gtk_menu_button_get_has_frame; const(char)* function(GtkMenuButton* menuButton) c_gtk_menu_button_get_icon_name; const(char)* function(GtkMenuButton* menuButton) c_gtk_menu_button_get_label; GMenuModel* function(GtkMenuButton* menuButton) c_gtk_menu_button_get_menu_model; GtkPopover* function(GtkMenuButton* menuButton) c_gtk_menu_button_get_popover; + int function(GtkMenuButton* menuButton) c_gtk_menu_button_get_primary; int function(GtkMenuButton* menuButton) c_gtk_menu_button_get_use_underline; void function(GtkMenuButton* menuButton) c_gtk_menu_button_popdown; void function(GtkMenuButton* menuButton) c_gtk_menu_button_popup; + void function(GtkMenuButton* menuButton, int alwaysShowArrow) c_gtk_menu_button_set_always_show_arrow; + void function(GtkMenuButton* menuButton, GtkWidget* child) c_gtk_menu_button_set_child; void function(GtkMenuButton* menuButton, GtkMenuButtonCreatePopupFunc func, void* userData, GDestroyNotify destroyNotify) c_gtk_menu_button_set_create_popup_func; void function(GtkMenuButton* menuButton, GtkArrowType direction) c_gtk_menu_button_set_direction; void function(GtkMenuButton* menuButton, int hasFrame) c_gtk_menu_button_set_has_frame; @@ -6652,6 +6703,7 @@ __gshared extern(C) void function(GtkMenuButton* menuButton, const(char)* label) c_gtk_menu_button_set_label; void function(GtkMenuButton* menuButton, GMenuModel* menuModel) c_gtk_menu_button_set_menu_model; void function(GtkMenuButton* menuButton, GtkWidget* popover) c_gtk_menu_button_set_popover; + void function(GtkMenuButton* menuButton, int primary) c_gtk_menu_button_set_primary; void function(GtkMenuButton* menuButton, int useUnderline) c_gtk_menu_button_set_use_underline; // gtk.MessageDialog @@ -6963,6 +7015,11 @@ __gshared extern(C) void function(GtkPasswordEntry* entry, GMenuModel* model) c_gtk_password_entry_set_extra_menu; void function(GtkPasswordEntry* entry, int showPeekIcon) c_gtk_password_entry_set_show_peek_icon; + // gtk.PasswordEntryBuffer + + GType function() c_gtk_password_entry_buffer_get_type; + GtkEntryBuffer* function() c_gtk_password_entry_buffer_new; + // gtk.Picture GType function() c_gtk_picture_get_type; @@ -6980,7 +7037,7 @@ __gshared extern(C) void function(GtkPicture* self, const(char)* alternativeText) c_gtk_picture_set_alternative_text; void function(GtkPicture* self, int canShrink) c_gtk_picture_set_can_shrink; void function(GtkPicture* self, GFile* file) c_gtk_picture_set_file; - void function(GtkPicture* self, const(char)* filename) c_gtk_picture_set_filename; + void function(GtkPicture* self, char* filename) c_gtk_picture_set_filename; void function(GtkPicture* self, int keepAspectRatio) c_gtk_picture_set_keep_aspect_ratio; void function(GtkPicture* self, GdkPaintable* paintable) c_gtk_picture_set_paintable; void function(GtkPicture* self, GdkPixbuf* pixbuf) c_gtk_picture_set_pixbuf; @@ -7889,11 +7946,17 @@ __gshared extern(C) void function(GtkSwitch* self, int isActive) c_gtk_switch_set_active; void function(GtkSwitch* self, int state) c_gtk_switch_set_state; + // gtk.SymbolicPaintable + + GType function() c_gtk_symbolic_paintable_get_type; + void function(GtkSymbolicPaintable* paintable, GdkSnapshot* snapshot, double width, double height, GdkRGBA* colors, size_t nColors) c_gtk_symbolic_paintable_snapshot_symbolic; + // gtk.Text GType function() c_gtk_text_get_type; GtkWidget* function() c_gtk_text_new; GtkWidget* function(GtkEntryBuffer* buffer) c_gtk_text_new_with_buffer; + void function(GtkText* self, size_t position, graphene_rect_t* strong, graphene_rect_t* weak) c_gtk_text_compute_cursor_extents; int function(GtkText* self) c_gtk_text_get_activates_default; PangoAttrList* function(GtkText* self) c_gtk_text_get_attributes; GtkEntryBuffer* function(GtkText* self) c_gtk_text_get_buffer; @@ -8007,6 +8070,7 @@ __gshared extern(C) GType function() c_gtk_text_child_anchor_get_type; GtkTextChildAnchor* function() c_gtk_text_child_anchor_new; + GtkTextChildAnchor* function(const(char)* character) c_gtk_text_child_anchor_new_with_replacement; int function(GtkTextChildAnchor* anchor) c_gtk_text_child_anchor_get_deleted; GtkWidget** function(GtkTextChildAnchor* anchor, uint* outLen) c_gtk_text_child_anchor_get_widgets; @@ -8163,12 +8227,14 @@ __gshared extern(C) int function(GtkTextView* textView) c_gtk_text_view_get_left_margin; void function(GtkTextView* textView, GtkTextIter* targetIter, int y, int* lineTop) c_gtk_text_view_get_line_at_y; void function(GtkTextView* textView, GtkTextIter* iter, int* y, int* height) c_gtk_text_view_get_line_yrange; + PangoContext* function(GtkTextView* textView) c_gtk_text_view_get_ltr_context; int function(GtkTextView* textView) c_gtk_text_view_get_monospace; int function(GtkTextView* textView) c_gtk_text_view_get_overwrite; int function(GtkTextView* textView) c_gtk_text_view_get_pixels_above_lines; int function(GtkTextView* textView) c_gtk_text_view_get_pixels_below_lines; int function(GtkTextView* textView) c_gtk_text_view_get_pixels_inside_wrap; int function(GtkTextView* textView) c_gtk_text_view_get_right_margin; + PangoContext* function(GtkTextView* textView) c_gtk_text_view_get_rtl_context; PangoTabArray* function(GtkTextView* textView) c_gtk_text_view_get_tabs; int function(GtkTextView* textView) c_gtk_text_view_get_top_margin; void function(GtkTextView* textView, GdkRectangle* visibleRect) c_gtk_text_view_get_visible_rect; @@ -8248,9 +8314,11 @@ __gshared extern(C) GType function() c_gtk_tree_expander_get_type; GtkWidget* function() c_gtk_tree_expander_new; GtkWidget* function(GtkTreeExpander* self) c_gtk_tree_expander_get_child; + int function(GtkTreeExpander* self) c_gtk_tree_expander_get_indent_for_icon; void* function(GtkTreeExpander* self) c_gtk_tree_expander_get_item; GtkTreeListRow* function(GtkTreeExpander* self) c_gtk_tree_expander_get_list_row; void function(GtkTreeExpander* self, GtkWidget* child) c_gtk_tree_expander_set_child; + void function(GtkTreeExpander* self, int indentForIcon) c_gtk_tree_expander_set_indent_for_icon; void function(GtkTreeExpander* self, GtkTreeListRow* listRow) c_gtk_tree_expander_set_list_row; // gtk.TreeIter @@ -8614,7 +8682,7 @@ __gshared extern(C) GtkMediaStream* function(GtkVideo* self) c_gtk_video_get_media_stream; void function(GtkVideo* self, int autoplay) c_gtk_video_set_autoplay; void function(GtkVideo* self, GFile* file) c_gtk_video_set_file; - void function(GtkVideo* self, const(char)* filename) c_gtk_video_set_filename; + void function(GtkVideo* self, char* filename) c_gtk_video_set_filename; void function(GtkVideo* self, int loop) c_gtk_video_set_loop; void function(GtkVideo* self, GtkMediaStream* stream) c_gtk_video_set_media_stream; void function(GtkVideo* self, const(char)* resourcePath) c_gtk_video_set_resource; @@ -9205,6 +9273,7 @@ alias c_gtk_bitset_unref gtk_bitset_unref; // gtk.BitsetIter +alias c_gtk_bitset_iter_get_type gtk_bitset_iter_get_type; alias c_gtk_bitset_iter_get_value gtk_bitset_iter_get_value; alias c_gtk_bitset_iter_is_valid gtk_bitset_iter_is_valid; alias c_gtk_bitset_iter_next gtk_bitset_iter_next; @@ -9921,18 +9990,21 @@ alias c_gtk_drop_down_get_list_factory gtk_drop_down_get_list_factory; alias c_gtk_drop_down_get_model gtk_drop_down_get_model; alias c_gtk_drop_down_get_selected gtk_drop_down_get_selected; alias c_gtk_drop_down_get_selected_item gtk_drop_down_get_selected_item; +alias c_gtk_drop_down_get_show_arrow gtk_drop_down_get_show_arrow; alias c_gtk_drop_down_set_enable_search gtk_drop_down_set_enable_search; alias c_gtk_drop_down_set_expression gtk_drop_down_set_expression; alias c_gtk_drop_down_set_factory gtk_drop_down_set_factory; alias c_gtk_drop_down_set_list_factory gtk_drop_down_set_list_factory; alias c_gtk_drop_down_set_model gtk_drop_down_set_model; alias c_gtk_drop_down_set_selected gtk_drop_down_set_selected; +alias c_gtk_drop_down_set_show_arrow gtk_drop_down_set_show_arrow; // gtk.DropTarget alias c_gtk_drop_target_get_type gtk_drop_target_get_type; alias c_gtk_drop_target_new gtk_drop_target_new; alias c_gtk_drop_target_get_actions gtk_drop_target_get_actions; +alias c_gtk_drop_target_get_current_drop gtk_drop_target_get_current_drop; alias c_gtk_drop_target_get_drop gtk_drop_target_get_drop; alias c_gtk_drop_target_get_formats gtk_drop_target_get_formats; alias c_gtk_drop_target_get_gtypes gtk_drop_target_get_gtypes; @@ -10254,6 +10326,7 @@ alias c_gtk_file_filter_new_from_gvariant gtk_file_filter_new_from_gvariant; alias c_gtk_file_filter_add_mime_type gtk_file_filter_add_mime_type; alias c_gtk_file_filter_add_pattern gtk_file_filter_add_pattern; alias c_gtk_file_filter_add_pixbuf_formats gtk_file_filter_add_pixbuf_formats; +alias c_gtk_file_filter_add_suffix gtk_file_filter_add_suffix; alias c_gtk_file_filter_get_attributes gtk_file_filter_get_attributes; alias c_gtk_file_filter_get_name gtk_file_filter_get_name; alias c_gtk_file_filter_set_name gtk_file_filter_set_name; @@ -10312,6 +10385,7 @@ alias c_gtk_flatten_list_model_set_model gtk_flatten_list_model_set_model; alias c_gtk_flow_box_get_type gtk_flow_box_get_type; alias c_gtk_flow_box_new gtk_flow_box_new; +alias c_gtk_flow_box_append gtk_flow_box_append; alias c_gtk_flow_box_bind_model gtk_flow_box_bind_model; alias c_gtk_flow_box_get_activate_on_single_click gtk_flow_box_get_activate_on_single_click; alias c_gtk_flow_box_get_child_at_index gtk_flow_box_get_child_at_index; @@ -10326,6 +10400,7 @@ alias c_gtk_flow_box_get_selection_mode gtk_flow_box_get_selection_mode; alias c_gtk_flow_box_insert gtk_flow_box_insert; alias c_gtk_flow_box_invalidate_filter gtk_flow_box_invalidate_filter; alias c_gtk_flow_box_invalidate_sort gtk_flow_box_invalidate_sort; +alias c_gtk_flow_box_prepend gtk_flow_box_prepend; alias c_gtk_flow_box_remove gtk_flow_box_remove; alias c_gtk_flow_box_select_all gtk_flow_box_select_all; alias c_gtk_flow_box_select_child gtk_flow_box_select_child; @@ -10807,6 +10882,7 @@ alias c_gtk_label_get_lines gtk_label_get_lines; alias c_gtk_label_get_max_width_chars gtk_label_get_max_width_chars; alias c_gtk_label_get_mnemonic_keyval gtk_label_get_mnemonic_keyval; alias c_gtk_label_get_mnemonic_widget gtk_label_get_mnemonic_widget; +alias c_gtk_label_get_natural_wrap_mode gtk_label_get_natural_wrap_mode; alias c_gtk_label_get_selectable gtk_label_get_selectable; alias c_gtk_label_get_selection_bounds gtk_label_get_selection_bounds; alias c_gtk_label_get_single_line_mode gtk_label_get_single_line_mode; @@ -10829,6 +10905,7 @@ alias c_gtk_label_set_markup gtk_label_set_markup; alias c_gtk_label_set_markup_with_mnemonic gtk_label_set_markup_with_mnemonic; alias c_gtk_label_set_max_width_chars gtk_label_set_max_width_chars; alias c_gtk_label_set_mnemonic_widget gtk_label_set_mnemonic_widget; +alias c_gtk_label_set_natural_wrap_mode gtk_label_set_natural_wrap_mode; alias c_gtk_label_set_selectable gtk_label_set_selectable; alias c_gtk_label_set_single_line_mode gtk_label_set_single_line_mode; alias c_gtk_label_set_text gtk_label_set_text; @@ -11069,6 +11146,9 @@ alias c_gtk_media_stream_set_loop gtk_media_stream_set_loop; alias c_gtk_media_stream_set_muted gtk_media_stream_set_muted; alias c_gtk_media_stream_set_playing gtk_media_stream_set_playing; alias c_gtk_media_stream_set_volume gtk_media_stream_set_volume; +alias c_gtk_media_stream_stream_ended gtk_media_stream_stream_ended; +alias c_gtk_media_stream_stream_prepared gtk_media_stream_stream_prepared; +alias c_gtk_media_stream_stream_unprepared gtk_media_stream_stream_unprepared; alias c_gtk_media_stream_unprepared gtk_media_stream_unprepared; alias c_gtk_media_stream_unrealize gtk_media_stream_unrealize; alias c_gtk_media_stream_update gtk_media_stream_update; @@ -11077,15 +11157,20 @@ alias c_gtk_media_stream_update gtk_media_stream_update; alias c_gtk_menu_button_get_type gtk_menu_button_get_type; alias c_gtk_menu_button_new gtk_menu_button_new; +alias c_gtk_menu_button_get_always_show_arrow gtk_menu_button_get_always_show_arrow; +alias c_gtk_menu_button_get_child gtk_menu_button_get_child; alias c_gtk_menu_button_get_direction gtk_menu_button_get_direction; alias c_gtk_menu_button_get_has_frame gtk_menu_button_get_has_frame; alias c_gtk_menu_button_get_icon_name gtk_menu_button_get_icon_name; alias c_gtk_menu_button_get_label gtk_menu_button_get_label; alias c_gtk_menu_button_get_menu_model gtk_menu_button_get_menu_model; alias c_gtk_menu_button_get_popover gtk_menu_button_get_popover; +alias c_gtk_menu_button_get_primary gtk_menu_button_get_primary; alias c_gtk_menu_button_get_use_underline gtk_menu_button_get_use_underline; alias c_gtk_menu_button_popdown gtk_menu_button_popdown; alias c_gtk_menu_button_popup gtk_menu_button_popup; +alias c_gtk_menu_button_set_always_show_arrow gtk_menu_button_set_always_show_arrow; +alias c_gtk_menu_button_set_child gtk_menu_button_set_child; alias c_gtk_menu_button_set_create_popup_func gtk_menu_button_set_create_popup_func; alias c_gtk_menu_button_set_direction gtk_menu_button_set_direction; alias c_gtk_menu_button_set_has_frame gtk_menu_button_set_has_frame; @@ -11093,6 +11178,7 @@ alias c_gtk_menu_button_set_icon_name gtk_menu_button_set_icon_name; alias c_gtk_menu_button_set_label gtk_menu_button_set_label; alias c_gtk_menu_button_set_menu_model gtk_menu_button_set_menu_model; alias c_gtk_menu_button_set_popover gtk_menu_button_set_popover; +alias c_gtk_menu_button_set_primary gtk_menu_button_set_primary; alias c_gtk_menu_button_set_use_underline gtk_menu_button_set_use_underline; // gtk.MessageDialog @@ -11404,6 +11490,11 @@ alias c_gtk_password_entry_get_show_peek_icon gtk_password_entry_get_show_peek_i alias c_gtk_password_entry_set_extra_menu gtk_password_entry_set_extra_menu; alias c_gtk_password_entry_set_show_peek_icon gtk_password_entry_set_show_peek_icon; +// gtk.PasswordEntryBuffer + +alias c_gtk_password_entry_buffer_get_type gtk_password_entry_buffer_get_type; +alias c_gtk_password_entry_buffer_new gtk_password_entry_buffer_new; + // gtk.Picture alias c_gtk_picture_get_type gtk_picture_get_type; @@ -12330,11 +12421,17 @@ alias c_gtk_switch_get_state gtk_switch_get_state; alias c_gtk_switch_set_active gtk_switch_set_active; alias c_gtk_switch_set_state gtk_switch_set_state; +// gtk.SymbolicPaintable + +alias c_gtk_symbolic_paintable_get_type gtk_symbolic_paintable_get_type; +alias c_gtk_symbolic_paintable_snapshot_symbolic gtk_symbolic_paintable_snapshot_symbolic; + // gtk.Text alias c_gtk_text_get_type gtk_text_get_type; alias c_gtk_text_new gtk_text_new; alias c_gtk_text_new_with_buffer gtk_text_new_with_buffer; +alias c_gtk_text_compute_cursor_extents gtk_text_compute_cursor_extents; alias c_gtk_text_get_activates_default gtk_text_get_activates_default; alias c_gtk_text_get_attributes gtk_text_get_attributes; alias c_gtk_text_get_buffer gtk_text_get_buffer; @@ -12448,6 +12545,7 @@ alias c_gtk_text_buffer_undo gtk_text_buffer_undo; alias c_gtk_text_child_anchor_get_type gtk_text_child_anchor_get_type; alias c_gtk_text_child_anchor_new gtk_text_child_anchor_new; +alias c_gtk_text_child_anchor_new_with_replacement gtk_text_child_anchor_new_with_replacement; alias c_gtk_text_child_anchor_get_deleted gtk_text_child_anchor_get_deleted; alias c_gtk_text_child_anchor_get_widgets gtk_text_child_anchor_get_widgets; @@ -12604,12 +12702,14 @@ alias c_gtk_text_view_get_justification gtk_text_view_get_justification; alias c_gtk_text_view_get_left_margin gtk_text_view_get_left_margin; alias c_gtk_text_view_get_line_at_y gtk_text_view_get_line_at_y; alias c_gtk_text_view_get_line_yrange gtk_text_view_get_line_yrange; +alias c_gtk_text_view_get_ltr_context gtk_text_view_get_ltr_context; alias c_gtk_text_view_get_monospace gtk_text_view_get_monospace; alias c_gtk_text_view_get_overwrite gtk_text_view_get_overwrite; alias c_gtk_text_view_get_pixels_above_lines gtk_text_view_get_pixels_above_lines; alias c_gtk_text_view_get_pixels_below_lines gtk_text_view_get_pixels_below_lines; alias c_gtk_text_view_get_pixels_inside_wrap gtk_text_view_get_pixels_inside_wrap; alias c_gtk_text_view_get_right_margin gtk_text_view_get_right_margin; +alias c_gtk_text_view_get_rtl_context gtk_text_view_get_rtl_context; alias c_gtk_text_view_get_tabs gtk_text_view_get_tabs; alias c_gtk_text_view_get_top_margin gtk_text_view_get_top_margin; alias c_gtk_text_view_get_visible_rect gtk_text_view_get_visible_rect; @@ -12689,9 +12789,11 @@ alias c_gtk_tree_drag_source_row_draggable gtk_tree_drag_source_row_draggable; alias c_gtk_tree_expander_get_type gtk_tree_expander_get_type; alias c_gtk_tree_expander_new gtk_tree_expander_new; alias c_gtk_tree_expander_get_child gtk_tree_expander_get_child; +alias c_gtk_tree_expander_get_indent_for_icon gtk_tree_expander_get_indent_for_icon; alias c_gtk_tree_expander_get_item gtk_tree_expander_get_item; alias c_gtk_tree_expander_get_list_row gtk_tree_expander_get_list_row; alias c_gtk_tree_expander_set_child gtk_tree_expander_set_child; +alias c_gtk_tree_expander_set_indent_for_icon gtk_tree_expander_set_indent_for_icon; alias c_gtk_tree_expander_set_list_row gtk_tree_expander_set_list_row; // gtk.TreeIter diff --git a/generated/gtkd/gtk/c/types.d b/source/generated/gtk/gtk/c/types.d similarity index 91% rename from generated/gtkd/gtk/c/types.d rename to source/generated/gtk/gtk/c/types.d index 27a940b8c..a5acd4535 100644 --- a/generated/gtkd/gtk/c/types.d +++ b/source/generated/gtk/gtk/c/types.d @@ -103,7 +103,7 @@ public enum GtkAccessibleInvalidState alias GtkAccessibleInvalidState AccessibleInvalidState; /** - * The possible accessible properties of a `GtkAccessible`. + * The possible accessible properties of a [iface@Accessible]. */ public enum GtkAccessibleProperty { @@ -111,7 +111,7 @@ public enum GtkAccessibleProperty * Indicates whether inputting text * could trigger display of one or more predictions of the user's intended * value for a combobox, searchbox, or textbox and specifies how predictions - * would be presented if they were made. Value type: #GtkAccessibleAutocomplete + * would be presented if they were made. Value type: [enum@AccessibleAutocomplete] */ AUTOCOMPLETE = 0, /** @@ -160,7 +160,7 @@ public enum GtkAccessibleProperty /** * Indicates whether the element's * orientation is horizontal, vertical, or unknown/ambiguous. Value type: - * #GtkOrientation + * [enum@Orientation] */ ORIENTATION = 9, /** @@ -187,8 +187,7 @@ public enum GtkAccessibleProperty ROLE_DESCRIPTION = 13, /** * Indicates if items in a table or grid are - * sorted in ascending or descending order. Possible property values are in - * the #GtkAccessibleSort enumeration. Value type: #GtkAccessibleSort + * sorted in ascending or descending order. Value type: [enum@AccessibleSort] */ SORT = 14, /** @@ -215,7 +214,7 @@ public enum GtkAccessibleProperty alias GtkAccessibleProperty AccessibleProperty; /** - * The possible accessible relations of a `GtkAccessible`. + * The possible accessible relations of a [iface@Accessible]. * * Accessible relations can be references to other widgets, * integers or strings. @@ -323,7 +322,7 @@ public enum GtkAccessibleRelation alias GtkAccessibleRelation AccessibleRelation; /** - * The accessible role for a `GtkAccessible` implementation. + * The accessible role for a [iface@Accessible] implementation. * * Abstract roles are only used as part of the ontology; application * developers must not use abstract roles in their code. @@ -412,7 +411,7 @@ public enum GtkAccessibleRole GRID_CELL = 17, /** * An element that groups multiple widgets. GTK uses - * this role for various containers, like #GtkBox, #GtkViewport, and #GtkHeaderBar. + * this role for various containers, like [class@Box], [class@Viewport], and [class@HeaderBar]. */ GROUP = 18, /** @@ -692,7 +691,7 @@ public enum GtkAccessibleSort alias GtkAccessibleSort AccessibleSort; /** - * The possible accessible states of a `GtkAccessible`. + * The possible accessible states of a [iface@Accessible]. */ public enum GtkAccessibleState { @@ -702,24 +701,24 @@ public enum GtkAccessibleState BUSY = 0, /** * A “checked” state; indicates the current - * state of a #GtkCheckButton. Value type: #GtkAccessibleTristate + * state of a [class@CheckButton]. Value type: [enum@AccessibleTristate] */ CHECKED = 1, /** * A “disabled” state; corresponds to the - * #GtkWidget:sensitive property on #GtkWidget. It indicates a UI element + * [property@Widget:sensitive] property. It indicates a UI element * that is perceivable, but not editable or operable. Value type: boolean */ DISABLED = 2, /** * An “expanded” state; corresponds to the - * #GtkExpander:expanded property on #GtkExpander. Value type: boolean + * [property@Expander:expanded] property. Value type: boolean * or undefined */ EXPANDED = 3, /** * A “hidden” state; corresponds to the - * #GtkWidget:visible property on #GtkWidget. You can use this state + * [property@Widget:visible] property. You can use this state * explicitly on UI elements that should not be exposed to an assistive * technology. Value type: boolean * See also: %GTK_ACCESSIBLE_STATE_DISABLED @@ -727,12 +726,12 @@ public enum GtkAccessibleState HIDDEN = 4, /** * An “invalid” state; set when a widget - * is showing an error. Value type: #GtkAccessibleInvalidState + * is showing an error. Value type: [enum@AccessibleInvalidState] */ INVALID = 5, /** * A “pressed” state; indicates the current - * state of a #GtkToggleButton. Value type: #GtkAccessibleTristate + * state of a [class@ToggleButton]. Value type: [enum@AccessibleTristate] * enumeration */ PRESSED = 6, @@ -774,7 +773,7 @@ alias GtkAccessibleTristate AccessibleTristate; * * Alignment only matters if the widget receives a “too large” allocation, * for example if you packed the widget with the [property@Gtk.Widget:hexpand] - * property inside a `GtkBox`, then the widget might get extra space. + * property inside a [class@Box], then the widget might get extra space. * If you have for example a 16x16 icon inside a 32x32 space, the icon * could be scaled and stretched, it could be centered, or it could be * positioned to one side of the space. @@ -794,23 +793,20 @@ public enum GtkAlign */ FILL = 0, /** - * snap to left or top side, leaving space on right - * or bottom + * snap to left or top side, leaving space on right or bottom */ START = 1, /** - * snap to right or bottom side, leaving space on left - * or top + * snap to right or bottom side, leaving space on left or top */ END = 2, /** - * center natural width of widget inside the - * allocation + * center natural width of widget inside the allocation */ CENTER = 3, /** - * align the widget according to the baseline. See - * #GtkWidget + * align the widget according to the baseline. + * See [class@Gtk.Widget]. */ BASELINE = 4, } @@ -1002,7 +998,7 @@ alias GtkBorderStyle BorderStyle; * The list of flags that can be passed to gtk_builder_create_closure(). * * New values may be added in the future for new features, so external - * implementations of [interface@Gtk.BuilderScope] should test the flags + * implementations of [iface@Gtk.BuilderScope] should test the flags * for unknown values and raise a %GTK_BUILDER_ERROR_INVALID_ATTRIBUTE error * when they encounter one. */ @@ -1018,32 +1014,32 @@ alias GtkBuilderClosureFlags BuilderClosureFlags; /** * Error codes that identify various errors that can occur while using - * #GtkBuilder. + * `GtkBuilder`. */ public enum GtkBuilderError { /** * A type-func attribute didn’t name - * a function that returns a #GType. + * a function that returns a `GType`. */ INVALID_TYPE_FUNCTION = 0, /** - * The input contained a tag that #GtkBuilder + * The input contained a tag that `GtkBuilder` * can’t handle. */ UNHANDLED_TAG = 1, /** * An attribute that is required by - * #GtkBuilder was missing. + * `GtkBuilder` was missing. */ MISSING_ATTRIBUTE = 2, /** - * #GtkBuilder found an attribute that + * `GtkBuilder` found an attribute that * it doesn’t understand. */ INVALID_ATTRIBUTE = 3, /** - * #GtkBuilder found a tag that + * `GtkBuilder` found a tag that * it doesn’t understand. */ INVALID_TAG = 4, @@ -1053,7 +1049,7 @@ public enum GtkBuilderError */ MISSING_PROPERTY_VALUE = 5, /** - * #GtkBuilder couldn’t parse + * `GtkBuilder` couldn’t parse * some attribute value. */ INVALID_VALUE = 6, @@ -1136,10 +1132,7 @@ public enum GtkButtonsType alias GtkButtonsType ButtonsType; /** - * Determines if the edited accelerators are GTK accelerators. If - * they are, consumed modifiers are suppressed, only accelerators - * accepted by GTK are allowed, and the accelerators are rendered - * in the same way as they are in menus. + * The available modes for [property@Gtk.CellRendererAccel:accel-mode]. */ public enum GtkCellRendererAccelMode { @@ -1215,7 +1208,7 @@ public enum GtkCellRendererState alias GtkCellRendererState CellRendererState; /** - * The widget attributes that can be used when creating a `GtkConstraint`. + * The widget attributes that can be used when creating a [class@Constraint]. */ public enum GtkConstraintAttribute { @@ -1302,7 +1295,7 @@ alias GtkConstraintRelation ConstraintRelation; /** * The strength of a constraint, expressed as a symbolic constant. * - * The strength of a #GtkConstraint can be expressed with any positive + * The strength of a [class@Constraint] can be expressed with any positive * integer; the values of this enumeration can be used for readability. */ public enum GtkConstraintStrength @@ -1402,8 +1395,7 @@ public enum GtkCssParserError */ FAILED = 0, /** - * The given text does not form valid - * syntax + * The given text does not form valid syntax */ SYNTAX = 1, /** @@ -1415,8 +1407,7 @@ public enum GtkCssParserError */ NAME = 3, /** - * The given value is not - * correct + * The given value is not correct */ UNKNOWN_VALUE = 4, } @@ -1425,7 +1416,7 @@ alias GtkCssParserError CssParserError; /** * Warnings that can occur while parsing CSS. * - * Unlike #GtkCssParserErrors, warnings do not cause the parser to + * Unlike `GtkCssParserError`s, warnings do not cause the parser to * skip any input, but they indicate issues that should be fixed. */ public enum GtkCssParserWarning @@ -1441,33 +1432,96 @@ public enum GtkCssParserWarning */ SYNTAX = 1, /** - * A feature is not - * implemented + * A feature is not implemented */ UNIMPLEMENTED = 2, } alias GtkCssParserWarning CssParserWarning; +/** + * Flags to use with gtk_set_debug_flags(). + * + * Settings these flags causes GTK to print out different + * types of debugging information. Some of these flags are + * only available when GTK has been configured with `-Ddebug=true`. + */ public enum GtkDebugFlags { + /** + * Information about GtkTextView + */ TEXT = 1, + /** + * Information about GtkTreeView + */ TREE = 2, + /** + * Information about keyboard shortcuts + */ KEYBINDINGS = 4, + /** + * Information about modules and extensions + */ MODULES = 8, + /** + * Information about size allocation + */ GEOMETRY = 16, + /** + * Information about icon themes + */ ICONTHEME = 32, + /** + * Information about printing + */ PRINTING = 64, + /** + * Trace GtkBuilder operation + */ BUILDER = 128, + /** + * Information about size requests + */ SIZE_REQUEST = 256, + /** + * Disable the style property cache + */ NO_CSS_CACHE = 512, + /** + * Open the GTK inspector + */ INTERACTIVE = 1024, + /** + * Pretend the pointer is a touchscreen + */ TOUCHSCREEN = 2048, + /** + * Information about actions and menu models + */ ACTIONS = 4096, + /** + * Information from layout managers + */ LAYOUT = 8192, + /** + * Include debug render nodes in the generated snapshots + */ SNAPSHOT = 16384, + /** + * Information from the constraints solver + */ CONSTRAINTS = 32768, + /** + * Log unused GtkBuilder objects + */ BUILDER_OBJECTS = 65536, + /** + * Information about accessibility state changes + */ A11Y = 131072, + /** + * Information about icon fallback. Since: 4.2 + */ ICONFALLBACK = 262144, } alias GtkDebugFlags DebugFlags; @@ -1571,16 +1625,49 @@ public enum GtkDirectionType } alias GtkDirectionType DirectionType; +/** + * The identifiers for [iface@Gtk.Editable] properties. + * + * See [func@Gtk.Editable.install_properties] for details on how to + * implement the `GtkEditable` interface. + */ public enum GtkEditableProperties { + /** + * the property id for [property@Gtk.Editable:text] + */ PROP_TEXT = 0, + /** + * the property id for [property@Gtk.Editable:cursor-position] + */ PROP_CURSOR_POSITION = 1, + /** + * the property id for [property@Gtk.Editable:selection-bound] + */ PROP_SELECTION_BOUND = 2, + /** + * the property id for [property@Gtk.Editable:editable] + */ PROP_EDITABLE = 3, + /** + * the property id for [property@Gtk.Editable:width-chars] + */ PROP_WIDTH_CHARS = 4, + /** + * the property id for [property@Gtk.Editable:max-width-chars] + */ PROP_MAX_WIDTH_CHARS = 5, + /** + * the property id for [property@Gtk.Editable:xalign] + */ PROP_XALIGN = 6, + /** + * the property id for [property@Gtk.Editable:enable-undo] + */ PROP_ENABLE_UNDO = 7, + /** + * the number of properties + */ NUM_PROPERTIES = 8, } alias GtkEditableProperties EditableProperties; @@ -1634,7 +1721,7 @@ public enum GtkEventControllerScrollFlags alias GtkEventControllerScrollFlags EventControllerScrollFlags; /** - * Describes the state of a `GdkEventSequence` in a `GtkGesture`. + * Describes the state of a [struct@Gdk.EventSequence] in a [class@Gesture]. */ public enum GtkEventSequenceState { @@ -1915,11 +2002,11 @@ public enum GtkImageType */ ICON_NAME = 1, /** - * the widget contains a #GIcon + * the widget contains a `GIcon` */ GICON = 2, /** - * the widget contains a #GdkPaintable + * the widget contains a `GdkPaintable` */ PAINTABLE = 3, } @@ -1930,7 +2017,7 @@ alias GtkImageType ImageType; * or applications. * * Note that input methods may already tailor their behaviour according - * to the `GtkInputPurpose` of the entry. + * to the [enum@InputPurpose] of the entry. * * Some common sense is expected when using these flags - mixing * %GTK_INPUT_HINT_LOWERCASE with any of the uppercase hints makes no sense. @@ -2070,7 +2157,7 @@ public enum GtkInputPurpose alias GtkInputPurpose InputPurpose; /** - * Used for justifying the text inside a `GtkLabel` widget. + * Used for justifying the text inside a [class@Label] widget. */ public enum GtkJustification { @@ -2094,7 +2181,7 @@ public enum GtkJustification alias GtkJustification Justification; /** - * Describes how `GtkLevelBar` contents should be rendered. + * Describes how [class@LevelBar] contents should be rendered. * * Note that this enumeration could be extended with additional modes * in the future. @@ -2196,7 +2283,7 @@ public enum GtkLicense alias GtkLicense License; /** - * The type of message being displayed in a `GtkMessageDialog`. + * The type of message being displayed in a [class@MessageDialog]. */ public enum GtkMessageType : uint { @@ -2272,6 +2359,36 @@ public enum GtkMovementStep } alias GtkMovementStep MovementStep; +/** + * Options for selecting a different wrap mode for natural size + * requests. + * + * See for example the [property@Gtk.Label:natural-wrap-mode] property. + * + * Since: 4.6 + */ +public enum GtkNaturalWrapMode +{ + /** + * Inherit the minimum size request. + * In particular, this should be used with %PANGO_WRAP_CHAR. + */ + INHERIT = 0, + /** + * Try not to wrap the text. This mode is the + * closest to GTK3's behavior but can lead to a wide label leaving + * lots of empty space below the text. + */ + NONE = 1, + /** + * Attempt to wrap at word boundaries. This + * is useful in particular when using %PANGO_WRAP_WORD_CHAR as the + * wrap mode. + */ + WORD = 2, +} +alias GtkNaturalWrapMode NaturalWrapMode; + /** * The parameter used in the action signals of `GtkNotebook`. */ @@ -2332,7 +2449,7 @@ alias GtkNumberUpLayout NumberUpLayout; /** * Describes the way two values can be compared. * - * These values can be used with a `GCompareFunc`. However, + * These values can be used with a [callback@GLib.CompareFunc]. However, * a `GCompareFunc` is allowed to return any integer values. * For converting such a value to a `GtkOrdering` value, use * [func@Gtk.Ordering.from_cmpfunc]. @@ -2357,7 +2474,7 @@ alias GtkOrdering Ordering; /** * Represents the orientation of widgets and other objects. * - * Typical examples are `GtkBox or `GtkGesturePan`. + * Typical examples are [class@Box] or [class@GesturePan]. */ public enum GtkOrientation { @@ -2397,7 +2514,7 @@ alias GtkOverflow Overflow; /** * Represents the packing location of a children in its parent. * - * See `GtkWindowControls` for example. + * See [class@WindowControls] for example. */ public enum GtkPackType { @@ -2477,7 +2594,7 @@ public enum GtkPageSet alias GtkPageSet PageSet; /** - * Describes the panning direction of a `GtkGesturePan` + * Describes the panning direction of a [class@GesturePan]. */ public enum GtkPanDirection { @@ -2501,7 +2618,7 @@ public enum GtkPanDirection alias GtkPanDirection PanDirection; /** - * Flags that influence the behavior of gtk_widget_pick(). + * Flags that influence the behavior of [method@Widget.pick]. */ public enum GtkPickFlags { @@ -2514,7 +2631,7 @@ public enum GtkPickFlags */ INSENSITIVE = 1, /** - * Include widgets that are marked as non-targetable. See #GtkWidget:can-target + * Include widgets that are marked as non-targetable. See [property@Widget:can-target] */ NON_TARGETABLE = 2, } @@ -2568,8 +2685,8 @@ alias GtkPopoverMenuFlags PopoverMenuFlags; /** * Describes which edge of a widget a certain feature is positioned at. * - * For examples, see the tabs of a `GtkNotebook`, or the label - * of a `GtkScale`. + * For examples, see the tabs of a [class@Notebook], or the label + * of a [class@Scale]. */ public enum GtkPositionType { @@ -2850,7 +2967,7 @@ public enum GtkPrintStatus alias GtkPrintStatus PrintStatus; /** - * Describes limits of a `GtkEventController` for handling events + * Describes limits of a [class@EventController] for handling events * targeting other widgets. */ public enum GtkPropagationLimit @@ -2862,7 +2979,7 @@ public enum GtkPropagationLimit NONE = 0, /** * Events are only handled if their target - * is in the same #GtkNative as the event controllers widget. Note + * is in the same [iface@Native] as the event controllers widget. Note * that some event types have two targets (origin and destination). */ SAME_NATIVE = 1, @@ -2870,7 +2987,7 @@ public enum GtkPropagationLimit alias GtkPropagationLimit PropagationLimit; /** - * Describes the stage at which events are fed into a `GtkEventController`. + * Describes the stage at which events are fed into a [class@EventController]. */ public enum GtkPropagationPhase { @@ -2901,7 +3018,7 @@ public enum GtkPropagationPhase alias GtkPropagationPhase PropagationPhase; /** - * Error codes for #GtkRecentManager operations + * Error codes for `GtkRecentManager` operations */ public enum GtkRecentManagerError { @@ -3238,8 +3355,8 @@ public enum GtkShortcutActionFlags alias GtkShortcutActionFlags ShortcutActionFlags; /** - * Describes where `GtkShortcut`s added to a - * `GtkShortcutController` get handled. + * Describes where [class@Shortcut]s added to a + * [class@ShortcutController] get handled. */ public enum GtkShortcutScope { @@ -3250,7 +3367,7 @@ public enum GtkShortcutScope LOCAL = 0, /** * Shortcuts are handled by - * the first ancestor that is a #GtkShortcutManager + * the first ancestor that is a [iface@ShortcutManager] */ MANAGED = 1, /** @@ -3411,7 +3528,7 @@ alias GtkSorterChange SorterChange; public enum GtkSorterOrder { /** - * A partial order. Any #GtkOrdering is possible. + * A partial order. Any `GtkOrdering` is possible. */ PARTIAL = 0, /** @@ -3437,12 +3554,12 @@ alias GtkSorterOrder SorterOrder; public enum GtkSpinButtonUpdatePolicy { /** - * When refreshing your #GtkSpinButton, the value is + * When refreshing your `GtkSpinButton`, the value is * always displayed */ ALWAYS = 0, /** - * When refreshing your #GtkSpinButton, the value is + * When refreshing your `GtkSpinButton`, the value is * only displayed if it is valid within the bounds of the spin button's * adjustment */ @@ -3718,32 +3835,63 @@ public enum GtkStyleContextPrintFlags alias GtkStyleContextPrintFlags StyleContextPrintFlags; /** - * Values that can be passed to the GtkWidgetClass.system_setting_changed + * The indexes of colors passed to symbolic color rendering, such as + * [vfunc@Gtk.SymbolicPaintable.snapshot_symbolic]. + * + * More values may be added over time. + * + * Since: 4.6 + */ +public enum GtkSymbolicColor +{ + /** + * The default foreground color + */ + FOREGROUND = 0, + /** + * Indication color for errors + */ + ERROR = 1, + /** + * Indication color for warnings + */ + WARNING = 2, + /** + * Indication color for success + */ + SUCCESS = 3, +} +alias GtkSymbolicColor SymbolicColor; + +/** + * Values that can be passed to the [vfunc@Gtk.Widget.system_setting_changed] * vfunc. * * The values indicate which system setting has changed. * Widgets may need to drop caches, or react otherwise. * - * Most of the values correspond to `GtkSettings` properties. + * Most of the values correspond to [class@Settings] properties. * * More values may be added over time. */ public enum GtkSystemSetting { /** - * the #GtkSettings:gtk-xft-dpi setting has changed + * the [property@Gtk.Settings:gtk-xft-dpi] setting has changed */ DPI = 0, /** - * The #GtkSettings:gtk-font-name setting has changed + * The [property@Gtk.Settings:gtk-font-name] setting has changed */ FONT_NAME = 1, /** * The font configuration has changed in a way that * requires text to be redrawn. This can be any of the - * #GtkSettings:gtk-xft-antialias, #GtkSettings:gtk-xft-hinting, - * #GtkSettings:gtk-xft-hintstyle, #GtkSettings:gtk-xft-rgba or - * #GtkSettings:gtk-fontconfig-timestamp settings + * [property@Gtk.Settings:gtk-xft-antialias], + * [property@Gtk.Settings:gtk-xft-hinting], + * [property@Gtk.Settings:gtk-xft-hintstyle], + * [property@Gtk.Settings:gtk-xft-rgba] or + * [property@Gtk.Settings:gtk-fontconfig-timestamp] settings */ FONT_CONFIG = 2, /** @@ -3780,7 +3928,7 @@ alias GtkTextDirection TextDirection; /** * Granularity types that extend the text selection. Use the - * #GtkTextView::extend-selection signal to customize the selection. + * `GtkTextView::extend-selection` signal to customize the selection. */ public enum GtkTextExtendSelection { @@ -3825,7 +3973,7 @@ public enum GtkTextSearchFlags alias GtkTextSearchFlags TextSearchFlags; /** - * Used to reference the layers of #GtkTextView for the purpose of customized + * Used to reference the layers of `GtkTextView` for the purpose of customized * drawing with the ::snapshot_layer vfunc. */ public enum GtkTextViewLayer @@ -3842,7 +3990,7 @@ public enum GtkTextViewLayer alias GtkTextViewLayer TextViewLayer; /** - * Used to reference the parts of #GtkTextView. + * Used to reference the parts of `GtkTextView`. */ public enum GtkTextWindowType { @@ -3874,11 +4022,11 @@ public enum GtkTextWindowType alias GtkTextWindowType TextWindowType; /** - * These flags indicate various properties of a #GtkTreeModel. + * These flags indicate various properties of a `GtkTreeModel`. * - * They are returned by gtk_tree_model_get_flags(), and must be + * They are returned by [method@Gtk.TreeModel.get_flags], and must be * static for the lifetime of the object. A more complete description - * of #GTK_TREE_MODEL_ITERS_PERSIST can be found in the overview of + * of %GTK_TREE_MODEL_ITERS_PERSIST can be found in the overview of * this section. */ public enum GtkTreeModelFlags @@ -4041,7 +4189,7 @@ struct GtkActionableInterface * * Params: * actionable = a `GtkActionable` widget - * Returns: the action name, or %NULL if none is set + * Returns: the action name */ extern(C) const(char)* function(GtkActionable* actionable) getActionName; /** */ @@ -4232,11 +4380,11 @@ struct GtkBuildableIface /** * * Params: - * buildable = a #GtkBuildable - * builder = a #GtkBuilder used to construct this object + * buildable = a `GtkBuildable` + * builder = a `GtkBuilder` used to construct this object * child = child object or %NULL for non-child tags * tagname = name of tag - * parser = a #GtkBuildableParser to fill in + * parser = a `GtkBuildableParser` to fill in * data = return location for user data that will be passed in * to parser functions * Returns: %TRUE if an object has a custom implementation, %FALSE @@ -4252,8 +4400,8 @@ struct GtkBuildableIface /** * * Params: - * buildable = a #GtkBuildable - * builder = a #GtkBuilder + * buildable = a `GtkBuildable` + * builder = a `GtkBuilder` * childname = name of child * Returns: the internal child of the buildable object */ @@ -4299,7 +4447,7 @@ struct GtkBuilderListItemFactoryClass; struct GtkBuilderScope; /** - * The virtual function table to implement for #GtkBuilderScope implementations. + * The virtual function table to implement for `GtkBuilderScope` implementations. * Default implementations for each function do exist, but they usually just fail, * so it is suggested that implementations implement all of them. */ @@ -4363,12 +4511,12 @@ struct GtkCellAreaClass /** * * Params: - * area = a #GtkCellArea - * context = the #GtkCellAreaContext for this row of data. - * widget = the #GtkWidget that @area is rendering to - * event = the #GdkEvent to handle + * area = a `GtkCellArea` + * context = the `GtkCellArea`Context for this row of data. + * widget = the `GtkWidget` that @area is rendering to + * event = the `GdkEvent` to handle * cellArea = the @widget relative coordinates for @area - * flags = the #GtkCellRendererState for @area in this row. + * flags = the `GtkCellRenderer`State for @area in this row. * Returns: %TRUE if the event was handled by @area. */ extern(C) int function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, GdkEvent* event, GdkRectangle* cellArea, GtkCellRendererState flags) event; @@ -4379,23 +4527,23 @@ struct GtkCellAreaClass /** * * Params: - * area = a #GtkCellArea - * Returns: a newly created #GtkCellAreaContext which can be used with @area. + * area = a `GtkCellArea` + * Returns: a newly created `GtkCellArea`Context which can be used with @area. */ extern(C) GtkCellAreaContext* function(GtkCellArea* area) createContext; /** * * Params: - * area = a #GtkCellArea - * context = the #GtkCellAreaContext to copy - * Returns: a newly created #GtkCellAreaContext copy of @context. + * area = a `GtkCellArea` + * context = the `GtkCellArea`Context to copy + * Returns: a newly created `GtkCellArea`Context copy of @context. */ extern(C) GtkCellAreaContext* function(GtkCellArea* area, GtkCellAreaContext* context) copyContext; /** * * Params: - * area = a #GtkCellArea - * Returns: The #GtkSizeRequestMode preferred by @area. + * area = a `GtkCellArea` + * Returns: The `GtkSizeRequestMode` preferred by @area. */ extern(C) GtkSizeRequestMode function(GtkCellArea* area) getRequestMode; /** */ @@ -4413,26 +4561,26 @@ struct GtkCellAreaClass /** * * Params: - * area = a #GtkCellArea - * direction = the #GtkDirectionType + * area = a `GtkCellArea` + * direction = the `GtkDirectionType` * Returns: %TRUE if focus remains inside @area as a result of this call. */ extern(C) int function(GtkCellArea* area, GtkDirectionType direction) focus; /** * * Params: - * area = a #GtkCellArea + * area = a `GtkCellArea` * Returns: whether @area can do anything when activated. */ extern(C) int function(GtkCellArea* area) isActivatable; /** * * Params: - * area = a #GtkCellArea - * context = the #GtkCellAreaContext in context with the current row data - * widget = the #GtkWidget that @area is rendering on + * area = a `GtkCellArea` + * context = the `GtkCellArea`Context in context with the current row data + * widget = the `GtkWidget` that @area is rendering on * cellArea = the size and location of @area relative to @widget’s allocation - * flags = the #GtkCellRendererState flags for @area for this row of data. + * flags = the `GtkCellRenderer`State flags for @area for this row of data. * editOnly = if %TRUE then only cell renderers that are %GTK_CELL_RENDERER_MODE_EDITABLE * will be activated. * Returns: Whether @area was successfully activated. @@ -4497,7 +4645,7 @@ struct GtkCellLayoutIface /** * * Params: - * cellLayout = a #GtkCellLayout + * cellLayout = a `GtkCellLayout` * Returns: a list of cell renderers. The list, but not the renderers has * been newly allocated and should be freed with g_list_free() * when no longer needed. @@ -4506,9 +4654,8 @@ struct GtkCellLayoutIface /** * * Params: - * cellLayout = a #GtkCellLayout - * Returns: the cell area used by @cell_layout, - * or %NULL in case no cell area is used. + * cellLayout = a `GtkCellLayout` + * Returns: the cell area used by @cell_layout */ extern(C) GtkCellArea* function(GtkCellLayout* cellLayout) getArea; } @@ -4527,8 +4674,8 @@ struct GtkCellRendererClass /** * * Params: - * cell = a #GtkCellRenderer instance - * Returns: The #GtkSizeRequestMode preferred by this renderer. + * cell = a `GtkCellRenderer` instance + * Returns: The `GtkSizeRequestMode` preferred by this renderer. */ extern(C) GtkSizeRequestMode function(GtkCellRenderer* cell) getRequestMode; /** */ @@ -4546,11 +4693,11 @@ struct GtkCellRendererClass /** * * Params: - * cell = a #GtkCellRenderer - * event = a #GdkEvent + * cell = a `GtkCellRenderer` + * event = a `GdkEvent` * widget = widget that received the event * path = widget-dependent string representation of the event location; - * e.g. for #GtkTreeView, a string representation of #GtkTreePath + * e.g. for `GtkTreeView`, a string representation of `GtkTreePath` * backgroundArea = background area as passed to gtk_cell_renderer_render() * cellArea = cell area as passed to gtk_cell_renderer_render() * flags = render flags @@ -4560,15 +4707,15 @@ struct GtkCellRendererClass /** * * Params: - * cell = a #GtkCellRenderer - * event = a #GdkEvent + * cell = a `GtkCellRenderer` + * event = a `GdkEvent` * widget = widget that received the event * path = widget-dependent string representation of the event location; - * e.g. for #GtkTreeView, a string representation of #GtkTreePath + * e.g. for `GtkTreeView`, a string representation of `GtkTreePath` * backgroundArea = background area as passed to gtk_cell_renderer_render() * cellArea = cell area as passed to gtk_cell_renderer_render() * flags = render flags - * Returns: A new #GtkCellEditable for editing this + * Returns: A new `GtkCellEditable` for editing this * @cell, or %NULL if editing is not possible */ extern(C) GtkCellEditable* function(GtkCellRenderer* cell, GdkEvent* event, GtkWidget* widget, const(char)* path, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags) startEditing; @@ -4683,7 +4830,9 @@ struct GtkComboBoxClass extern(C) void function(GtkComboBox* comboBox) changed; /** */ extern(C) char* function(GtkComboBox* comboBox, const(char)* path) formatEntryText; - void*[8] padding; + /** */ + extern(C) void function(GtkComboBox* comboBox) activate; + void*[7] padding; } struct GtkComboBoxText; @@ -4747,9 +4896,8 @@ struct GtkCssLocation */ size_t chars; /** - * number of full lines that have been parsed - * If you want to display this as a line number, you - * need to add 1 to this. + * number of full lines that have been parsed. If you want to + * display this as a line number, you need to add 1 to this. */ size_t lines; /** @@ -4757,8 +4905,7 @@ struct GtkCssLocation */ size_t lineBytes; /** - * Number of characters parsed since the last line - * break + * Number of characters parsed since the last line break */ size_t lineChars; } @@ -4891,8 +5038,8 @@ struct GtkEditableInterface * * Params: * editable = a `GtkEditable` - * startPos = location to store the starting position, or %NULL - * endPos = location to store the end position, or %NULL + * startPos = location to store the starting position + * endPos = location to store the end position * Returns: %TRUE if there is a non-empty selection, %FALSE otherwise */ extern(C) int function(GtkEditable* editable, int* startPos, int* endPos) getSelectionBounds; @@ -4982,7 +5129,7 @@ struct GtkEntryBufferClass } /** - * Class structure for #GtkEntry. All virtual functions have a default + * Class structure for `GtkEntry`. All virtual functions have a default * implementation. Derived classes may set the virtual function pointers for the * signal handlers to %NULL, but must keep @get_text_area_size and * @get_frame_size non-%NULL; either use the default implementation, or provide @@ -5070,7 +5217,7 @@ struct GtkFilterClass /** * * Params: - * self = a #GtkFilter + * self = a `GtkFilter` * Returns: the strictness of @self */ extern(C) GtkFilterMatch function(GtkFilter* self) getStrictness; @@ -5160,8 +5307,7 @@ struct GtkFontChooserIface * Params: * fontchooser = a `GtkFontChooser` * Returns: A `PangoFontFamily` representing the - * selected font family, or %NULL. The returned object is owned by @fontchooser - * and must not be modified or freed. + * selected font family */ extern(C) PangoFontFamily* function(GtkFontChooser* fontchooser) getFontFamily; /** @@ -5169,8 +5315,7 @@ struct GtkFontChooserIface * Params: * fontchooser = a `GtkFontChooser` * Returns: A `PangoFontFace` representing the - * selected font group details, or %NULL. The returned object is owned by - * @fontchooser and must not be modified or freed. + * selected font group details */ extern(C) PangoFontFace* function(GtkFontChooser* fontchooser) getFontFace; /** @@ -5191,7 +5336,7 @@ struct GtkFontChooserIface * * Params: * fontchooser = a `GtkFontChooser` - * Returns: a `PangoFontMap`, or %NULL + * Returns: a `PangoFontMap` */ extern(C) PangoFontMap* function(GtkFontChooser* fontchooser) getFontMap; void*[10] padding; @@ -5380,7 +5525,7 @@ struct GtkIMContextClass /** * * Params: - * context = a #GtkIMContext + * context = a `GtkIMContext` * text = location to store a UTF-8 encoded * string of text holding context around the insertion point. * If the function returns %TRUE, then you must free the result @@ -5473,7 +5618,7 @@ struct GtkLayoutManager /** * The `GtkLayoutManagerClass` structure contains only private data, and * should only be accessed through the provided API, or when subclassing - * #GtkLayoutManager. + * `GtkLayoutManager`. */ struct GtkLayoutManagerClass { @@ -5485,16 +5630,16 @@ struct GtkLayoutManagerClass /** */ extern(C) void function(GtkLayoutManager* manager, GtkWidget* widget, int width, int height, int baseline) allocate; /** - * the type of #GtkLayoutChild used by this layout manager + * the type of `GtkLayoutChild` used by this layout manager */ GType layoutChildType; /** * * Params: - * manager = the #GtkLayoutManager + * manager = the `GtkLayoutManager` * widget = the widget using the @manager * forChild = the child of @widget - * Returns: a #GtkLayoutChild + * Returns: a `GtkLayoutChild` */ extern(C) GtkLayoutChild* function(GtkLayoutManager* manager, GtkWidget* widget, GtkWidget* forChild) createLayoutChild; /** */ @@ -5703,7 +5848,7 @@ struct GtkNativeDialog } /** - * Class structure for #GtkNativeDialog. + * Class structure for `GtkNativeDialog`. */ struct GtkNativeDialogClass { @@ -5801,7 +5946,7 @@ struct GtkPadActionEntry */ const(char)* label; /** - * action name that will be activated in the #GActionGroup. + * action name that will be activated in the `GActionGroup`. */ const(char)* actionName; } @@ -5842,6 +5987,13 @@ struct GtkParamSpecExpression struct GtkPasswordEntry; +struct GtkPasswordEntryBuffer; + +struct GtkPasswordEntryBufferClass +{ + GtkEntryBufferClass parentClass; +} + struct GtkPasswordEntryClass; struct GtkPicture; @@ -6038,7 +6190,7 @@ struct GtkRecentManager } /** - * #GtkRecentManagerClass contains only private data. + * `GtkRecentManagerClass` contains only private data. */ struct GtkRecentManagerClass { @@ -6060,7 +6212,7 @@ struct GtkRecentManagerPrivate; /** * Represents a request of a screen object in a given orientation. These * are primarily used in container implementations when allocating a natural - * size for children calling. See gtk_distribute_natural_allocation(). + * size for children calling. See [func@distribute_natural_allocation]. */ struct GtkRequestedSize { @@ -6155,8 +6307,8 @@ struct GtkSelectionFilterModelClass struct GtkSelectionModel; /** - * The list of virtual functions for the #GtkSelectionModel interface. - * No function must be implemented, but unless #GtkSelectionModel::is_selected() + * The list of virtual functions for the `GtkSelectionModel` interface. + * No function must be implemented, but unless `GtkSelectionModel::is_selected()` * is implemented, it will not be possible to select items in the set. * * The model does not need to implement any functions to support either @@ -6164,7 +6316,7 @@ struct GtkSelectionModel; * it means that users cannot select or unselect items in a list widget * using the model. * - * All selection functions fall back to #GtkSelectionModel::set_selection() + * All selection functions fall back to `GtkSelectionModel::set_selection()` * so it is sufficient to implement just that function for full selection * support. */ @@ -6250,8 +6402,7 @@ struct GtkSelectionModelInterface * * Params: * model = a `GtkSelectionModel` - * selected = bitmask specifying if items should be selected or - * unselected + * selected = bitmask specifying if items should be selected or unselected * mask = bitmask specifying which items should be updated * Returns: %TRUE if this action was supported and no fallback should be * tried. This does not mean that all items were updated according @@ -6286,10 +6437,11 @@ struct GtkShortcutLabelClass; struct GtkShortcutManager; /** - * The list of functions that can be implemented for the #GtkShortcutManager interface. + * The list of functions that can be implemented for the `GtkShortcutManager` + * interface. * - * Note that no function is mandatory to implement, the default implementation will work - * fine. + * Note that no function is mandatory to implement, the default implementation + * will work fine. */ struct GtkShortcutManagerInterface { @@ -6469,6 +6621,19 @@ struct GtkStyleProvider; struct GtkSwitch; +struct GtkSymbolicPaintable; + +/** + * The list of virtual functions for the `GtkSymbolicPaintable` interface. + * No function must be implemented, default implementations exist for each one. + */ +struct GtkSymbolicPaintableInterface +{ + GTypeInterface gIface; + /** */ + extern(C) void function(GtkSymbolicPaintable* paintable, GdkSnapshot* snapshot, double width, double height, GdkRGBA* colors, size_t nColors) snapshotSymbolic; +} + struct GtkText { GtkWidget parentInstance; @@ -6481,7 +6646,7 @@ struct GtkTextBuffer } /** - * The class structure for #GtkTextBuffer. + * The class structure for `GtkTextBuffer`. */ struct GtkTextBufferClass { @@ -6662,7 +6827,7 @@ struct GtkTreeDragDestIface /** * * Params: - * dragDest = a #GtkTreeDragDest + * dragDest = a `GtkTreeDragDest` * dest = row to drop in front of * value = data to drop * Returns: whether a new row was created before position @dest @@ -6671,7 +6836,7 @@ struct GtkTreeDragDestIface /** * * Params: - * dragDest = a #GtkTreeDragDest + * dragDest = a `GtkTreeDragDest` * destPath = destination row * value = the data being dropped * Returns: %TRUE if a drop is possible before @dest_path @@ -6687,7 +6852,7 @@ struct GtkTreeDragSourceIface /** * * Params: - * dragSource = a #GtkTreeDragSource + * dragSource = a `GtkTreeDragSource` * path = row on which user is initiating a drag * Returns: %TRUE if the row can be dragged */ @@ -6695,16 +6860,16 @@ struct GtkTreeDragSourceIface /** * * Params: - * dragSource = a #GtkTreeDragSource + * dragSource = a `GtkTreeDragSource` * path = row that was dragged - * Returns: a #GdkContentProvider for the - * given @path or %NULL if none exists + * Returns: a `GdkContentProvider` for the + * given @path */ extern(C) GdkContentProvider* function(GtkTreeDragSource* dragSource, GtkTreePath* path) dragDataGet; /** * * Params: - * dragSource = a #GtkTreeDragSource + * dragSource = a `GtkTreeDragSource` * path = row that was being dragged * Returns: %TRUE if the row was successfully deleted */ @@ -6795,21 +6960,21 @@ struct GtkTreeModelIface /** * * Params: - * treeModel = a #GtkTreeModel + * treeModel = a `GtkTreeModel` * Returns: the flags supported by this interface */ extern(C) GtkTreeModelFlags function(GtkTreeModel* treeModel) getFlags; /** * * Params: - * treeModel = a #GtkTreeModel + * treeModel = a `GtkTreeModel` * Returns: the number of columns */ extern(C) int function(GtkTreeModel* treeModel) getNColumns; /** * * Params: - * treeModel = a #GtkTreeModel + * treeModel = a `GtkTreeModel` * index = the column index * Returns: the type of the column */ @@ -6817,18 +6982,18 @@ struct GtkTreeModelIface /** * * Params: - * treeModel = a #GtkTreeModel - * iter = the uninitialized #GtkTreeIter-struct - * path = the #GtkTreePath-struct + * treeModel = a `GtkTreeModel` + * iter = the uninitialized `GtkTreeIter` + * path = the `GtkTreePath` * Returns: %TRUE, if @iter was set */ extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreePath* path) getIter; /** * * Params: - * treeModel = a #GtkTreeModel - * iter = the #GtkTreeIter-struct - * Returns: a newly-created #GtkTreePath-struct + * treeModel = a `GtkTreeModel` + * iter = the `GtkTreeIter` + * Returns: a newly-created `GtkTreePath` */ extern(C) GtkTreePath* function(GtkTreeModel* treeModel, GtkTreeIter* iter) getPath; /** */ @@ -6836,50 +7001,50 @@ struct GtkTreeModelIface /** * * Params: - * treeModel = a #GtkTreeModel - * iter = the #GtkTreeIter-struct + * treeModel = a `GtkTreeModel` + * iter = the `GtkTreeIter` * Returns: %TRUE if @iter has been changed to the next node */ extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterNext; /** * * Params: - * treeModel = a #GtkTreeModel - * iter = the #GtkTreeIter-struct + * treeModel = a `GtkTreeModel` + * iter = the `GtkTreeIter` * Returns: %TRUE if @iter has been changed to the previous node */ extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterPrevious; /** * * Params: - * treeModel = a #GtkTreeModel - * iter = the new #GtkTreeIter-struct to be set to the child - * parent = the #GtkTreeIter-struct, or %NULL + * treeModel = a `GtkTreeModel` + * iter = the new `GtkTreeIter` to be set to the child + * parent = the `GtkTreeIter` * Returns: %TRUE, if @iter has been set to the first child */ extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreeIter* parent) iterChildren; /** * * Params: - * treeModel = a #GtkTreeModel - * iter = the #GtkTreeIter-struct to test for children + * treeModel = a `GtkTreeModel` + * iter = the `GtkTreeIter` to test for children * Returns: %TRUE if @iter has children */ extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterHasChild; /** * * Params: - * treeModel = a #GtkTreeModel - * iter = the #GtkTreeIter-struct, or %NULL + * treeModel = a `GtkTreeModel` + * iter = the `GtkTreeIter` * Returns: the number of children of @iter */ extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterNChildren; /** * * Params: - * treeModel = a #GtkTreeModel - * iter = the #GtkTreeIter-struct to set to the nth child - * parent = the #GtkTreeIter-struct to get the child from, or %NULL. + * treeModel = a `GtkTreeModel` + * iter = the `GtkTreeIter` to set to the nth child + * parent = the `GtkTreeIter` to get the child from * n = the index of the desired child * Returns: %TRUE, if @parent has an @n-th child */ @@ -6887,9 +7052,9 @@ struct GtkTreeModelIface /** * * Params: - * treeModel = a #GtkTreeModel - * iter = the new #GtkTreeIter-struct to set to the parent - * child = the #GtkTreeIter-struct + * treeModel = a `GtkTreeModel` + * iter = the new `GtkTreeIter` to set to the parent + * child = the `GtkTreeIter` * Returns: %TRUE, if @iter is set to the parent of @child */ extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreeIter* child) iterParent; @@ -6929,9 +7094,9 @@ struct GtkTreeSortableIface /** * * Params: - * sortable = A #GtkTreeSortable + * sortable = A `GtkTreeSortable` * sortColumnId = The sort column id to be filled in - * order = The #GtkSortType to be filled in + * order = The `GtkSortType` to be filled in * Returns: %TRUE if the sort column is not one of the special sort * column ids. */ @@ -6945,7 +7110,7 @@ struct GtkTreeSortableIface /** * * Params: - * sortable = A #GtkTreeSortable + * sortable = A `GtkTreeSortable` * Returns: %TRUE, if the model has a default sort function */ extern(C) int function(GtkTreeSortable* sortable) hasDefaultSortFunc; @@ -7210,7 +7375,7 @@ public alias extern(C) int function(int currentPage, void* data) GtkAssistantPag /** * The type of the callback functions used for iterating over the - * cell renderers and their allocated areas inside a #GtkCellArea, + * cell renderers and their allocated areas inside a `GtkCellArea`, * see gtk_cell_area_foreach_alloc(). * * Params: @@ -7227,7 +7392,7 @@ public alias extern(C) int function(GtkCellRenderer* renderer, GdkRectangle* cel /** * The type of the callback functions used for iterating over - * the cell renderers of a #GtkCellArea, see gtk_cell_area_foreach(). + * the cell renderers of a `GtkCellArea`, see gtk_cell_area_foreach(). * * Params: * renderer = the cell renderer to operate on @@ -7242,10 +7407,10 @@ public alias extern(C) int function(GtkCellRenderer* renderer, void* data) GtkCe * as appropriate. * * Params: - * cellLayout = a #GtkCellLayout + * cellLayout = a `GtkCellLayout` * cell = the cell renderer whose value is to be set * treeModel = the model - * iter = a #GtkTreeIter indicating the row to set the value for + * iter = a `GtkTreeIter` indicating the row to set the value for * data = user data passed to gtk_cell_layout_set_cell_data_func() */ public alias extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, GtkTreeModel* treeModel, GtkTreeIter* iter, void* data) GtkCellLayoutDataFunc; @@ -7276,7 +7441,7 @@ public alias extern(C) void function(GtkWidget* widget, int width, int height, i public alias extern(C) int function(void* item, void* userData) GtkCustomFilterFunc; /** - * A function to be used by #GtkCustomLayout to measure a widget. + * A function to be used by `GtkCustomLayout` to measure a widget. * * Params: * widget = the widget to be measured @@ -7306,7 +7471,7 @@ public alias extern(C) GtkSizeRequestMode function(GtkWidget* widget) GtkCustomR * and must not call any widget functions that cause changes. * * Params: - * drawingArea = the #GtkDrawingArea to redraw + * drawingArea = the `GtkDrawingArea` to redraw * cr = the context to draw to * width = the actual width of the contents. This value will be at least * as wide as GtkDrawingArea:width. @@ -7326,9 +7491,9 @@ public alias extern(C) void function(GtkDrawingArea* drawingArea, cairo_t* cr, i * `gtk_editable_get_text (GTK_EDITABLE (gtk_entry_completion_get_entry ()))`. * * Params: - * completion = the #GtkEntryCompletion + * completion = the `GtkEntryCompletion` * key = the string to match, normalized and case-folded - * iter = a #GtkTreeIter indicating the row to match + * iter = a `GtkTreeIter` indicating the row to match * userData = user data given to gtk_entry_completion_set_match_func() * * Returns: %TRUE if @iter should be displayed as a possible completion @@ -7405,8 +7570,8 @@ public alias extern(C) int function(GtkFlowBoxChild* child1, GtkFlowBoxChild* ch * See [method@Gtk.FontChooser.set_filter_func]. * * Params: - * family = a #PangoFontFamily - * face = a #PangoFontFace belonging to @family + * family = a `PangoFontFamily` + * face = a `PangoFontFace` belonging to @family * data = user data passed to gtk_font_chooser_set_filter_func() * * Returns: %TRUE if the font should be displayed @@ -7420,8 +7585,8 @@ public alias extern(C) int function(PangoFontFamily* family, PangoFontFace* face * It will be called on every selected row in the view. * * Params: - * iconView = a #GtkIconView - * path = The #GtkTreePath of a selected row + * iconView = a `GtkIconView` + * path = The `GtkTreePath` of a selected row * data = user data */ public alias extern(C) void function(GtkIconView* iconView, GtkTreePath* path, void* data) GtkIconViewForeachFunc; @@ -7430,6 +7595,9 @@ public alias extern(C) void function(GtkIconView* iconView, GtkTreePath* path, v * Called for list boxes that are bound to a `GListModel` with * gtk_list_box_bind_model() for each item that gets added to the model. * + * If the widget returned is not a #GtkListBoxRow widget, then the widget + * will be inserted as the child of an intermediate #GtkListBoxRow. + * * Params: * item = the item from the model for which to create a widget for * userData = user data @@ -7500,8 +7668,7 @@ public alias extern(C) void function(GtkListBoxRow* row, GtkListBoxRow* before, * item = The item to map * userData = user data * - * Returns: The item to map to. - * This function may not return %NULL + * Returns: The item to map to */ public alias extern(C) void* function(void* item, void* userData) GtkMapListModelMapFunc; @@ -7514,7 +7681,7 @@ public alias extern(C) void* function(void* item, void* userData) GtkMapListMode * or [method@Gtk.MenuButton.set_menu_model]. * * Params: - * menuButton = the #GtkMenuButton + * menuButton = the `GtkMenuButton` * userData = User data passed to gtk_menu_button_set_create_popup_func() */ public alias extern(C) void function(GtkMenuButton* menuButton, void* userData) GtkMenuButtonCreatePopupFunc; @@ -7527,7 +7694,7 @@ public alias extern(C) void function(GtkMenuButton* menuButton, void* userData) * is dismissed, and also serves as destroy notify for @data. * * Params: - * pageSetup = the #GtkPageSetup that has been passed to + * pageSetup = the `GtkPageSetup` that has been passed to * gtk_print_run_page_setup_dialog_async() * data = user data that has been passed to * gtk_print_run_page_setup_dialog_async() @@ -7540,9 +7707,9 @@ public alias extern(C) void function(GtkPageSetup* pageSetup, void* data) GtkPag * It is called when the print job has been completely sent. * * Params: - * printJob = the #GtkPrintJob + * printJob = the `GtkPrintJob` * userData = user data that has been passed to gtk_print_job_send() - * error = a #GError that contains error information if the sending + * error = a `GError` that contains error information if the sending * of the print job failed, otherwise %NULL */ public alias extern(C) void function(GtkPrintJob* printJob, void* userData, GError* error) GtkPrintJobCompleteFunc; @@ -7557,7 +7724,7 @@ public alias extern(C) void function(const(char)* key, const(char)* value, void* * a reference to it after the function has returned. * * Params: - * printer = a #GtkPrinter + * printer = a `GtkPrinter` * data = user data passed to gtk_enumerate_printers() * * Returns: %TRUE to stop the enumeration, %FALSE to continue @@ -7567,7 +7734,7 @@ public alias extern(C) int function(GtkPrinter* printer, void* data) GtkPrinterF /** * * Params: - * scale = The #GtkScale + * scale = The `GtkScale` * value = The numeric value to format * userData = user data * Returns: A newly allocated string describing a textual representation @@ -7582,6 +7749,8 @@ public alias extern(C) char* function(GtkScale* scale, double value, void* userD * widget = The widget passed to the activation * args = The arguments passed to the activation * userData = The user data provided when activating the action + * + * Returns: %TRUE if the action was successful. */ public alias extern(C) int function(GtkWidget* widget, GVariant* args, void* userData) GtkShortcutFunc; @@ -7632,10 +7801,10 @@ public alias extern(C) int function(GtkWidget* widget, GdkFrameClock* frameClock * See also: gtk_tree_view_column_set_cell_data_func() * * Params: - * treeColumn = A #GtkTreeViewColumn - * cell = The #GtkCellRenderer that is being rendered by @tree_column - * treeModel = The #GtkTreeModel being rendered - * iter = A #GtkTreeIter of the current row rendered + * treeColumn = A `GtkTreeViewColumn` + * cell = The `GtkCellRenderer` that is being rendered by @tree_column + * treeModel = The `GtkTreeModel` being rendered + * iter = A `GtkTreeIter` of the current row rendered * data = user data */ public alias extern(C) void function(GtkTreeViewColumn* treeColumn, GtkCellRenderer* cell, GtkTreeModel* treeModel, GtkTreeIter* iter, void* data) GtkTreeCellDataFunc; @@ -7646,7 +7815,7 @@ public alias extern(C) void function(GtkTreeViewColumn* treeColumn, GtkCellRende * respectively. * * If two iters compare as equal, their order in the sorted model - * is undefined. In order to ensure that the #GtkTreeSortable behaves as + * is undefined. In order to ensure that the `GtkTreeSortable` behaves as * expected, the GtkTreeIterCompareFunc must define a partial order on * the model, i.e. it must be reflexive, antisymmetric and transitive. * @@ -7655,9 +7824,9 @@ public alias extern(C) void function(GtkTreeViewColumn* treeColumn, GtkCellRende * `price_of(@a) - price_of(@b)`. * * Params: - * model = The #GtkTreeModel the comparison is within - * a = A #GtkTreeIter in @model - * b = Another #GtkTreeIter in @model + * model = The `GtkTreeModel` the comparison is within + * a = A `GtkTreeIter` in @model + * b = Another `GtkTreeIter` in @model * userData = Data passed when the compare func is assigned e.g. by * gtk_tree_sortable_set_sort_func() * @@ -7671,16 +7840,16 @@ public alias extern(C) int function(GtkTreeModel* model, GtkTreeIter* a, GtkTree * gtk_tree_list_row_set_expanded() is called. * * This function can return %NULL to indicate that @item is guaranteed to be - * a leaf node and will never have children. - * If it does not have children but may get children later, it should return - * an empty model that is filled once children arrive. + * a leaf node and will never have children. If it does not have children but + * may get children later, it should return an empty model that is filled once + * children arrive. * * Params: * item = The item that is being expanded * userData = User data passed when registering the function * - * Returns: The model tracking the children of @item or %NULL if - * @item can never have children + * Returns: The model tracking the children of + * @item or %NULL if @item can never have children */ public alias extern(C) GListModel* function(void* item, void* userData) GtkTreeListModelCreateModelFunc; @@ -7693,9 +7862,9 @@ public alias extern(C) GListModel* function(void* item, void* userData) GtkTreeL * particularly efficient operation. * * Params: - * model = the #GtkTreeModelFilter - * iter = a #GtkTreeIter pointing to the row whose display values are determined - * value = A #GValue which is already initialized for + * model = the `GtkTreeModelFilter` + * iter = a `GtkTreeIter` pointing to the row whose display values are determined + * value = A `GValue` which is already initialized for * with the correct type for the column @column. * column = the column whose display value is determined * data = user data given to gtk_tree_model_filter_set_modify_func() @@ -7706,8 +7875,8 @@ public alias extern(C) void function(GtkTreeModel* model, GtkTreeIter* iter, GVa * A function which decides whether the row indicated by @iter is visible. * * Params: - * model = the child model of the #GtkTreeModelFilter - * iter = a #GtkTreeIter pointing to the row in @model whose visibility + * model = the child model of the `GtkTreeModelFilter` + * iter = a `GtkTreeIter` pointing to the row in @model whose visibility * is determined * data = user data given to gtk_tree_model_filter_set_visible_func() * @@ -7720,9 +7889,9 @@ public alias extern(C) int function(GtkTreeModel* model, GtkTreeIter* iter, void * iterate over the rows in a tree model. * * Params: - * model = the #GtkTreeModel being iterated - * path = the current #GtkTreePath - * iter = the current #GtkTreeIter + * model = the `GtkTreeModel` being iterated + * path = the current `GtkTreePath` + * iter = the current `GtkTreeIter` * data = The user data passed to gtk_tree_model_foreach() * * Returns: %TRUE to stop iterating, %FALSE to continue @@ -7734,9 +7903,9 @@ public alias extern(C) int function(GtkTreeModel* model, GtkTreePath* path, GtkT * selected rows. It will be called on every selected row in the view. * * Params: - * model = The #GtkTreeModel being viewed - * path = The #GtkTreePath of a selected row - * iter = A #GtkTreeIter pointing to a selected row + * model = The `GtkTreeModel` being viewed + * path = The `GtkTreePath` of a selected row + * iter = A `GtkTreeIter` pointing to a selected row * data = user data */ public alias extern(C) void function(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter, void* data) GtkTreeSelectionForeachFunc; @@ -7750,9 +7919,9 @@ public alias extern(C) void function(GtkTreeModel* model, GtkTreePath* path, Gtk * change the selection. * * Params: - * selection = A #GtkTreeSelection - * model = A #GtkTreeModel being viewed - * path = The #GtkTreePath of the row in question + * selection = A `GtkTreeSelection` + * model = A `GtkTreeModel` being viewed + * path = The `GtkTreePath` of the row in question * pathCurrentlySelected = %TRUE, if the path is currently selected * data = user data * @@ -7771,10 +7940,10 @@ public alias extern(C) int function(GtkTreeSelection* selection, GtkTreeModel* m * spot to the user. * * Params: - * treeView = A #GtkTreeView - * column = The #GtkTreeViewColumn being dragged - * prevColumn = A #GtkTreeViewColumn on one side of @column - * nextColumn = A #GtkTreeViewColumn on the other side of @column + * treeView = A `GtkTreeView` + * column = The `GtkTreeViewColumn` being dragged + * prevColumn = A `GtkTreeViewColumn` on one side of @column + * nextColumn = A `GtkTreeViewColumn` on the other side of @column * data = user data * * Returns: %TRUE, if @column can be dropped in this spot @@ -7785,7 +7954,7 @@ public alias extern(C) int function(GtkTreeView* treeView, GtkTreeViewColumn* co * Function used for gtk_tree_view_map_expanded_rows(). * * Params: - * treeView = A #GtkTreeView + * treeView = A `GtkTreeView` * path = The path that’s expanded * userData = user data */ @@ -7794,12 +7963,12 @@ public alias extern(C) void function(GtkTreeView* treeView, GtkTreePath* path, v /** * Function type for determining whether the row pointed to by @iter should * be rendered as a separator. A common way to implement this is to have a - * boolean column in the model, whose values the #GtkTreeViewRowSeparatorFunc + * boolean column in the model, whose values the `GtkTreeViewRowSeparatorFunc` * returns. * * Params: - * model = the #GtkTreeModel - * iter = a #GtkTreeIter pointing at a row in @model + * model = the `GtkTreeModel` + * iter = a `GtkTreeIter` pointing at a row in @model * data = user data * * Returns: %TRUE if the row is a separator @@ -7813,10 +7982,10 @@ public alias extern(C) int function(GtkTreeModel* model, GtkTreeIter* iter, void * has some similarity to strcmp() returning 0 for equal strings. * * Params: - * model = the #GtkTreeModel being searched + * model = the `GtkTreeModel` being searched * column = the search column set by gtk_tree_view_set_search_column() * key = the key string to compare with - * iter = a #GtkTreeIter pointing the row of @model that should be compared + * iter = a `GtkTreeIter` pointing the row of @model that should be compared * with @key. * searchData = user data from gtk_tree_view_set_search_equal_func() * @@ -7845,11 +8014,11 @@ enum ACCESSIBLE_VALUE_UNDEFINED = -1; alias GTK_ACCESSIBLE_VALUE_UNDEFINED = ACCESSIBLE_VALUE_UNDEFINED; /** - * Like gtk_get_binary_age(), but from the headers used at + * Like [func@get_binary_age], but from the headers used at * application compile time, rather than from the library linked * against at application run time. */ -enum BINARY_AGE = 201; +enum BINARY_AGE = 603; alias GTK_BINARY_AGE = BINARY_AGE; enum IM_MODULE_EXTENSION_POINT_NAME = "gtk-im-module"; @@ -7865,33 +8034,47 @@ enum INPUT_ERROR = -1; alias GTK_INPUT_ERROR = INPUT_ERROR; /** - * Like gtk_get_interface_age(), but from the headers used at + * Like [func@get_interface_age], but from the headers used at * application compile time, rather than from the library linked * against at application run time. */ -enum INTERFACE_AGE = 1; +enum INTERFACE_AGE = 3; alias GTK_INTERFACE_AGE = INTERFACE_AGE; /** - * The name used for the stock full offset included by #GtkLevelBar. + * The value used to refer to a guaranteed invalid position + * in a `GListModel`. + * + * This value may be returned from some functions, others may + * accept it as input. Its interpretation may differ for different + * functions. + * + * Refer to each function's documentation for if this value is + * allowed and what it does. + */ +enum INVALID_LIST_POSITION = 4294967295; +alias GTK_INVALID_LIST_POSITION = INVALID_LIST_POSITION; + +/** + * The name used for the stock full offset included by `GtkLevelBar`. */ enum LEVEL_BAR_OFFSET_FULL = "full"; alias GTK_LEVEL_BAR_OFFSET_FULL = LEVEL_BAR_OFFSET_FULL; /** - * The name used for the stock high offset included by #GtkLevelBar. + * The name used for the stock high offset included by `GtkLevelBar`. */ enum LEVEL_BAR_OFFSET_HIGH = "high"; alias GTK_LEVEL_BAR_OFFSET_HIGH = LEVEL_BAR_OFFSET_HIGH; /** - * The name used for the stock low offset included by #GtkLevelBar. + * The name used for the stock low offset included by `GtkLevelBar`. */ enum LEVEL_BAR_OFFSET_LOW = "low"; alias GTK_LEVEL_BAR_OFFSET_LOW = LEVEL_BAR_OFFSET_LOW; /** - * Like gtk_get_major_version(), but from the headers used at + * Like [func@get_major_version], but from the headers used at * application compile time, rather than from the library linked * against at application run time. */ @@ -7905,19 +8088,19 @@ enum MEDIA_FILE_EXTENSION_POINT_NAME = "gtk-media-file"; alias GTK_MEDIA_FILE_EXTENSION_POINT_NAME = MEDIA_FILE_EXTENSION_POINT_NAME; /** - * Like gtk_get_micro_version(), but from the headers used at + * Like [func@get_micro_version], but from the headers used at * application compile time, rather than from the library linked * against at application run time. */ -enum MICRO_VERSION = 1; +enum MICRO_VERSION = 3; alias GTK_MICRO_VERSION = MICRO_VERSION; /** - * Like gtk_get_minor_version(), but from the headers used at + * Like [func@get_minor_version], but from the headers used at * application compile time, rather than from the library linked * against at application run time. */ -enum MINOR_VERSION = 2; +enum MINOR_VERSION = 6; alias GTK_MINOR_VERSION = MINOR_VERSION; /** @@ -8109,7 +8292,7 @@ alias GTK_STYLE_PROVIDER_PRIORITY_FALLBACK = STYLE_PROVIDER_PRIORITY_FALLBACK; * The priority used for style information provided * via `GtkSettings`. * - * This priority is higher than #GTK_STYLE_PROVIDER_PRIORITY_THEME + * This priority is higher than %GTK_STYLE_PROVIDER_PRIORITY_THEME * to let settings override themes. */ enum STYLE_PROVIDER_PRIORITY_SETTINGS = 400; @@ -8140,7 +8323,7 @@ enum TEXT_VIEW_PRIORITY_VALIDATE = 125; alias GTK_TEXT_VIEW_PRIORITY_VALIDATE = TEXT_VIEW_PRIORITY_VALIDATE; /** - * Uses the default sort function in a [interface@Gtk.TreeSortable]. + * Uses the default sort function in a [iface@Gtk.TreeSortable]. * * See also: [method@Gtk.TreeSortable.set_sort_column_id] */ @@ -8148,7 +8331,7 @@ enum TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID = -1; alias GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID = TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID; /** - * Disables sorting in a [interface@Gtk.TreeSortable]. + * Disables sorting in a [iface@Gtk.TreeSortable]. * * See also: [method@Gtk.TreeSortable.set_sort_column_id] */ diff --git a/generated/gtkd/harfbuzz/blob_t.d b/source/generated/harfbuzz/harfbuzz/blob_t.d similarity index 100% rename from generated/gtkd/harfbuzz/blob_t.d rename to source/generated/harfbuzz/harfbuzz/blob_t.d diff --git a/generated/gtkd/harfbuzz/buffer_t.d b/source/generated/harfbuzz/harfbuzz/buffer_t.d similarity index 100% rename from generated/gtkd/harfbuzz/buffer_t.d rename to source/generated/harfbuzz/harfbuzz/buffer_t.d diff --git a/generated/gtkd/harfbuzz/c/functions.d b/source/generated/harfbuzz/harfbuzz/c/functions.d similarity index 95% rename from generated/gtkd/harfbuzz/c/functions.d rename to source/generated/harfbuzz/harfbuzz/c/functions.d index 3f2aba88c..9cf8d470f 100644 --- a/generated/gtkd/harfbuzz/c/functions.d +++ b/source/generated/harfbuzz/harfbuzz/c/functions.d @@ -26,7 +26,7 @@ module harfbuzz.c.functions; import std.stdio; import harfbuzz.c.types; -import gtkd.Loader; +import linker.Loader; version (Windows) static immutable LIBRARY_HARFBUZZ = ["gobject-0.dll;gobject.dll;gobject.dll"]; @@ -45,6 +45,10 @@ shared static this() Linker.link(hb_gobject_buffer_get_type, "hb_gobject_buffer_get_type", LIBRARY_HARFBUZZ); + // harfbuzz.draw_funcs_t + + Linker.link(hb_gobject_draw_funcs_get_type, "hb_gobject_draw_funcs_get_type", LIBRARY_HARFBUZZ); + // harfbuzz.face_t Linker.link(hb_gobject_face_get_type, "hb_gobject_face_get_type", LIBRARY_HARFBUZZ); @@ -122,6 +126,10 @@ __gshared extern(C) GType function() c_hb_gobject_buffer_get_type; + // harfbuzz.draw_funcs_t + + GType function() c_hb_gobject_draw_funcs_get_type; + // harfbuzz.face_t GType function() c_hb_gobject_face_get_type; @@ -197,6 +205,10 @@ alias c_hb_gobject_blob_get_type hb_gobject_blob_get_type; alias c_hb_gobject_buffer_get_type hb_gobject_buffer_get_type; +// harfbuzz.draw_funcs_t + +alias c_hb_gobject_draw_funcs_get_type hb_gobject_draw_funcs_get_type; + // harfbuzz.face_t alias c_hb_gobject_face_get_type hb_gobject_face_get_type; diff --git a/generated/gtkd/harfbuzz/c/types.d b/source/generated/harfbuzz/harfbuzz/c/types.d similarity index 89% rename from generated/gtkd/harfbuzz/c/types.d rename to source/generated/harfbuzz/harfbuzz/c/types.d index 00a2edf9a..914e4fe8f 100644 --- a/generated/gtkd/harfbuzz/c/types.d +++ b/source/generated/harfbuzz/harfbuzz/c/types.d @@ -140,6 +140,9 @@ public alias uint hb_mask_t; * An integral type representing an OpenType 'name' table name identifier. * There are predefined name IDs, as well as name IDs return from other * API. These can be used to fetch name strings from a font face. + * + * For more information on these fields, see the + * [OpenType spec](https://docs.microsoft.com/en-us/typography/opentype/spec/name#name-ids). */ public alias uint hb_ot_name_id_t; @@ -1511,9 +1514,25 @@ public enum hb_buffer_flags_t /** * flag indicating that a dotted circle should * not be inserted in the rendering of incorrect - * character sequences (such at <0905 093E>). Since: 2.4 + * character sequences (such at <0905 093E>). Since: 2.4.0 */ DO_NOT_INSERT_DOTTED_CIRCLE = 16, + /** + * flag indicating that the hb_shape() call and its variants + * should perform various verification processes on the results + * of the shaping operation on the buffer. If the verification + * fails, then either a buffer message is sent, if a message + * handler is installed on the buffer, or a message is written + * to standard error. In either case, the shaping result might + * be modified to show the failed output. Since: 3.4.0 + */ + VERIFY = 32, + /** + * flag indicating that the @HB_GLYPH_FLAG_UNSAFE_TO_CONCAT + * glyph-flag should be produced by the shaper. By default + * it will not be produced since it incurs a cost. Since: 4.0.0 + */ + PRODUCE_UNSAFE_TO_CONCAT = 64, } alias hb_buffer_flags_t buffer_flags_t; @@ -1622,24 +1641,81 @@ public enum hb_glyph_flags_t * Indicates that if input text is broken at the * beginning of the cluster this glyph is part of, * then both sides need to be re-shaped, as the - * result might be different. On the flip side, - * it means that when this flag is not present, - * then it's safe to break the glyph-run at the - * beginning of this cluster, and the two sides - * represent the exact same result one would get - * if breaking input text at the beginning of - * this cluster and shaping the two sides - * separately. This can be used to optimize - * paragraph layout, by avoiding re-shaping - * of each line after line-breaking, or limiting - * the reshaping to a small piece around the - * breaking point only. + * result might be different. + * On the flip side, it means that when this + * flag is not present, then it is safe to break + * the glyph-run at the beginning of this + * cluster, and the two sides will represent the + * exact same result one would get if breaking + * input text at the beginning of this cluster + * and shaping the two sides separately. + * This can be used to optimize paragraph + * layout, by avoiding re-shaping of each line + * after line-breaking. */ UNSAFE_TO_BREAK = 1, + /** + * Indicates that if input text is changed on one + * side of the beginning of the cluster this glyph + * is part of, then the shaping results for the + * other side might change. + * Note that the absence of this flag will NOT by + * itself mean that it IS safe to concat text. + * Only two pieces of text both of which clear of + * this flag can be concatenated safely. + * This can be used to optimize paragraph + * layout, by avoiding re-shaping of each line + * after line-breaking, by limiting the + * reshaping to a small piece around the + * breaking positin only, even if the breaking + * position carries the + * #HB_GLYPH_FLAG_UNSAFE_TO_BREAK or when + * hyphenation or other text transformation + * happens at line-break position, in the following + * way: + * 1. Iterate back from the line-break position + * until the first cluster start position that is + * NOT unsafe-to-concat, 2. shape the segment from + * there till the end of line, 3. check whether the + * resulting glyph-run also is clear of the + * unsafe-to-concat at its start-of-text position; + * if it is, just splice it into place and the line + * is shaped; If not, move on to a position further + * back that is clear of unsafe-to-concat and retry + * from there, and repeat. + * At the start of next line a similar algorithm can + * be implemented. That is: 1. Iterate forward from + * the line-break position until the first cluster + * start position that is NOT unsafe-to-concat, 2. + * shape the segment from beginning of the line to + * that position, 3. check whether the resulting + * glyph-run also is clear of the unsafe-to-concat + * at its end-of-text position; if it is, just splice + * it into place and the beginning is shaped; If not, + * move on to a position further forward that is clear + * of unsafe-to-concat and retry up to there, and repeat. + * A slight complication will arise in the + * implementation of the algorithm above, + * because while our buffer API has a way to + * return flags for position corresponding to + * start-of-text, there is currently no position + * corresponding to end-of-text. This limitation + * can be alleviated by shaping more text than needed + * and looking for unsafe-to-concat flag within text + * clusters. + * The #HB_GLYPH_FLAG_UNSAFE_TO_BREAK flag will + * always imply this flag. + * To use this flag, you must enable the buffer flag + * @HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT during + * shaping, otherwise the buffer flag will not be + * reliably produced. + * Since: 4.0.0 + */ + UNSAFE_TO_CONCAT = 2, /** * All the currently defined flags. */ - DEFINED = 1, + DEFINED = 3, } alias hb_glyph_flags_t glyph_flags_t; @@ -1743,6 +1819,10 @@ public enum hb_ot_layout_baseline_tag_t * if the direction is horizontal or vertical, respectively. */ IDEO_FACE_TOP_OR_RIGHT = 1768121972, + /** + * The center of the ideographic character face. Since: 4.0.0 + */ + IDEO_FACE_CENTRAL = 1231251043, /** * Ideographic em-box bottom or left edge, * if the direction is horizontal or vertical, respectively. @@ -1750,9 +1830,13 @@ public enum hb_ot_layout_baseline_tag_t IDEO_EMBOX_BOTTOM_OR_LEFT = 1768187247, /** * Ideographic em-box top or right edge baseline, - * if the direction is horizontal or vertical, respectively. */ IDEO_EMBOX_TOP_OR_RIGHT = 1768191088, + /** + * The center of the ideographic em-box. Since: 4.0.0 + * if the direction is horizontal or vertical, respectively. + */ + IDEO_EMBOX_CENTRAL = 1231315813, /** * The baseline about which mathematical characters are centered. * In vertical writing mode when mathematical characters rotated 90 degrees clockwise, are centered. @@ -2862,6 +2946,30 @@ public enum hb_script_t * `Yezi`, Since: 2.6.7 */ YEZIDI = 1499822697, + /** + * `Cpmn`, Since: 3.0.0 + */ + CYPRO_MINOAN = 1131441518, + /** + * `Ougr`, Since: 3.0.0 + */ + OLD_UYGHUR = 1333094258, + /** + * `Tnsa`, Since: 3.0.0 + */ + TANGSA = 1416524641, + /** + * `Toto`, Since: 3.0.0 + */ + TOTO = 1416590447, + /** + * `Vith`, Since: 3.0.0 + */ + VITHKUQI = 1449751656, + /** + * `Zmth`, Since: 3.4.0 + */ + MATH = 1517122664, /** * No script set */ @@ -2869,6 +2977,53 @@ public enum hb_script_t } alias hb_script_t script_t; +/** + * Defined by [OpenType Design-Variation Axis Tag Registry](https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg). + * + * Since: 3.0.0 + */ +public enum hb_style_tag_t +{ + /** + * Used to vary between non-italic and italic. + * A value of 0 can be interpreted as "Roman" (non-italic); a value of 1 can + * be interpreted as (fully) italic. + */ + ITALIC = 1769234796, + /** + * Used to vary design to suit different text sizes. + * Non-zero. Values can be interpreted as text size, in points. + */ + OPTICAL_SIZE = 1869640570, + /** + * Used to vary between upright and slanted text. Values + * must be greater than -90 and less than +90. Values can be interpreted as + * the angle, in counter-clockwise degrees, of oblique slant from whatever the + * designer considers to be upright for that font design. Typical right-leaning + * Italic fonts have a negative slant angle (typically around -12) + */ + SLANT_ANGLE = 1936486004, + /** + * same as @HB_STYLE_TAG_SLANT_ANGLE expression as ratio. + * Typical right-leaning Italic fonts have a positive slant ratio (typically around 0.2) + */ + SLANT_RATIO = 1399615092, + /** + * Used to vary width of text from narrower to wider. + * Non-zero. Values can be interpreted as a percentage of whatever the font + * designer considers “normal width” for that font design. + */ + WIDTH = 2003072104, + /** + * Used to vary stroke thicknesses or other design details + * to give variation from lighter to blacker. Values can be interpreted in direct + * comparison to values for usWeightClass in the OS/2 table, + * or the CSS font-weight property. + */ + WEIGHT = 2003265652, +} +alias hb_style_tag_t style_tag_t; + /** * Data type for the Canonical_Combining_Class (ccc) property * from the Unicode Character Database. @@ -3272,6 +3427,54 @@ struct hb_blob_t; */ struct hb_buffer_t; +/** + * Glyph draw callbacks. + * + * #hb_draw_move_to_func_t, #hb_draw_line_to_func_t and + * #hb_draw_cubic_to_func_t calls are necessary to be defined but we translate + * #hb_draw_quadratic_to_func_t calls to #hb_draw_cubic_to_func_t if the + * callback isn't defined. + * + * Since: 4.0.0 + */ +struct hb_draw_funcs_t; + +/** + * Current drawing state. + * + * Since: 4.0.0 + */ +struct hb_draw_state_t +{ + /** + * Whether there is an open path + */ + hb_bool_t pathOpen; + /** + * X component of the start of current path + */ + float pathStartX; + /** + * Y component of the start of current path + */ + float pathStartY; + /** + * X component of current point + */ + float currentX; + /** + * Y component of current point + */ + float currentY; + hb_var_num_t reserved1; + hb_var_num_t reserved2; + hb_var_num_t reserved3; + hb_var_num_t reserved4; + hb_var_num_t reserved5; + hb_var_num_t reserved6; + hb_var_num_t reserved7; +} + /** * Data type for holding font faces. */ @@ -3502,6 +3705,23 @@ struct hb_ot_math_glyph_variant_t hb_position_t advance; } +/** + * Data type to hold math kerning (cut-in) information for a glyph. + * + * Since: 3.4.0 + */ +struct hb_ot_math_kern_entry_t +{ + /** + * The maximum height at which this entry should be used + */ + hb_position_t maxCorrectionHeight; + /** + * The kern value of the entry + */ + hb_position_t kernValue; +} + /** * Structure representing a name ID in a particular language. * @@ -3549,7 +3769,7 @@ struct hb_ot_var_axis_info_t */ hb_ot_var_axis_flags_t flags; /** - * The mininum value on the variation axis that the font covers + * The minimum value on the variation axis that the font covers */ float minValue; /** @@ -3669,6 +3889,20 @@ struct hb_var_int_t } } +struct hb_var_num_t +{ + union + { + float f; + uint u32; + int i32; + ushort[2] u16; + short[2] i16; + ubyte[4] u8; + byte[4] i8; + } +} + struct hb_variation_t { /** @@ -3708,6 +3942,90 @@ public alias extern(C) hb_bool_t function(hb_buffer_t* buffer, hb_font_t* font, */ public alias extern(C) void function(void* userData) hb_destroy_func_t; +/** + * A virtual method for the #hb_draw_funcs_t to perform a "close-path" draw + * operation. + * + * Params: + * dfuncs = draw functions object + * drawData = The data accompanying the draw functions + * st = current draw state + * userData = User data pointer passed by the caller + * + * Since: 4.0.0 + */ +public alias extern(C) void function(hb_draw_funcs_t* dfuncs, void* drawData, hb_draw_state_t* st, void* userData) hb_draw_close_path_func_t; + +/** + * A virtual method for the #hb_draw_funcs_t to perform a "cubic-to" draw + * operation. + * + * Params: + * dfuncs = draw functions object + * drawData = The data accompanying the draw functions + * st = current draw state + * control1X = X component of first control point + * control1Y = Y component of first control point + * control2X = X component of second control point + * control2Y = Y component of second control point + * toX = X component of target point + * toY = Y component of target point + * userData = User data pointer passed by the caller + * + * Since: 4.0.0 + */ +public alias extern(C) void function(hb_draw_funcs_t* dfuncs, void* drawData, hb_draw_state_t* st, float control1X, float control1Y, float control2X, float control2Y, float toX, float toY, void* userData) hb_draw_cubic_to_func_t; + +/** + * A virtual method for the #hb_draw_funcs_t to perform a "line-to" draw + * operation. + * + * Params: + * dfuncs = draw functions object + * drawData = The data accompanying the draw functions + * st = current draw state + * toX = X component of target point + * toY = Y component of target point + * userData = User data pointer passed by the caller + * + * Since: 4.0.0 + */ +public alias extern(C) void function(hb_draw_funcs_t* dfuncs, void* drawData, hb_draw_state_t* st, float toX, float toY, void* userData) hb_draw_line_to_func_t; + +/** + * A virtual method for the #hb_draw_funcs_t to perform a "move-to" draw + * operation. + * + * Params: + * dfuncs = draw functions object + * drawData = The data accompanying the draw functions + * st = current draw state + * toX = X component of target point + * toY = Y component of target point + * userData = User data pointer passed by the caller + * + * Since: 4.0.0 + */ +public alias extern(C) void function(hb_draw_funcs_t* dfuncs, void* drawData, hb_draw_state_t* st, float toX, float toY, void* userData) hb_draw_move_to_func_t; + +/** + * A virtual method for the #hb_draw_funcs_t to perform a "quadratic-to" draw + * operation. + * + * Params: + * dfuncs = draw functions object + * drawData = The data accompanying the draw functions + * st = current draw state + * controlX = X component of control point + * controlY = Y component of control point + * toX = X component of target point + * toY = Y component of target point + * userData = User data pointer passed by the caller + * + * Since: 4.0.0 + */ +public alias extern(C) void function(hb_draw_funcs_t* dfuncs, void* drawData, hb_draw_state_t* st, float controlX, float controlY, float toX, float toY, void* userData) hb_draw_quadratic_to_func_t; + /** * This method should retrieve the extents for a font. * @@ -3875,6 +4193,21 @@ public alias extern(C) hb_bool_t function(hb_font_t* font, void* fontData, hb_co */ public alias extern(C) hb_bool_t function(hb_font_t* font, void* fontData, hb_codepoint_t glyph, hb_position_t* x, hb_position_t* y, void* userData) hb_font_get_glyph_origin_func_t; +/** + * A virtual method for the #hb_font_funcs_t of an #hb_font_t object. + * + * Params: + * font = #hb_font_t to work upon + * fontData = @font user data pointer + * glyph = The glyph ID to query + * drawFuncs = The draw functions to send the shape data to + * drawData = The data accompanying the draw functions + * userData = User data pointer passed by the caller + * + * Since: 4.0.0 + */ +public alias extern(C) void function(hb_font_t* font, void* fontData, hb_codepoint_t glyph, hb_draw_funcs_t* drawFuncs, void* drawData, void* userData) hb_font_get_glyph_shape_func_t; + /** * A virtual method for the #hb_font_funcs_t of an #hb_font_t object. * @@ -4172,14 +4505,14 @@ alias HB_UNICODE_MAX = UNICODE_MAX; enum UNICODE_MAX_DECOMPOSITION_LEN = 19; alias HB_UNICODE_MAX_DECOMPOSITION_LEN = UNICODE_MAX_DECOMPOSITION_LEN; -enum VERSION_MAJOR = 2; +enum VERSION_MAJOR = 4; alias HB_VERSION_MAJOR = VERSION_MAJOR; enum VERSION_MICRO = 1; alias HB_VERSION_MICRO = VERSION_MICRO; -enum VERSION_MINOR = 8; +enum VERSION_MINOR = 2; alias HB_VERSION_MINOR = VERSION_MINOR; -enum VERSION_STRING = "2.8.1"; +enum VERSION_STRING = "4.2.1"; alias HB_VERSION_STRING = VERSION_STRING; diff --git a/generated/gstreamer/gst/mpegts/Mpegts.d b/source/generated/harfbuzz/harfbuzz/draw_funcs_t.d similarity index 66% rename from generated/gstreamer/gst/mpegts/Mpegts.d rename to source/generated/harfbuzz/harfbuzz/draw_funcs_t.d index 9173d383c..a9f406ce2 100644 --- a/generated/gstreamer/gst/mpegts/Mpegts.d +++ b/source/generated/harfbuzz/harfbuzz/draw_funcs_t.d @@ -22,22 +22,28 @@ // implement new conversion functionalities on the wrap.utils pakage -module gst.mpegts.Mpegts; +module harfbuzz.draw_funcs_t; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; +private import harfbuzz.c.functions; +public import harfbuzz.c.types; -/** */ -public struct Mpegts +/** + * Glyph draw callbacks. + * + * #hb_draw_move_to_func_t, #hb_draw_line_to_func_t and + * #hb_draw_cubic_to_func_t calls are necessary to be defined but we translate + * #hb_draw_quadratic_to_func_t calls to #hb_draw_cubic_to_func_t if the + * callback isn't defined. + * + * Since: 4.0.0 + */ +public struct draw_funcs_t { - /** - * Initializes the MPEG-TS helper library. Must be called before any - * usage. - */ - public static void initialize() + /** */ + public static GType getType() { - gst_mpegts_initialize(); + return hb_gobject_draw_funcs_get_type(); } } diff --git a/generated/gtkd/harfbuzz/face_t.d b/source/generated/harfbuzz/harfbuzz/face_t.d similarity index 100% rename from generated/gtkd/harfbuzz/face_t.d rename to source/generated/harfbuzz/harfbuzz/face_t.d diff --git a/generated/gtkd/harfbuzz/feature_t.d b/source/generated/harfbuzz/harfbuzz/feature_t.d similarity index 97% rename from generated/gtkd/harfbuzz/feature_t.d rename to source/generated/harfbuzz/harfbuzz/feature_t.d index 919948f18..e933bcdd8 100644 --- a/generated/gtkd/harfbuzz/feature_t.d +++ b/source/generated/harfbuzz/harfbuzz/feature_t.d @@ -26,9 +26,9 @@ module harfbuzz.feature_t; private import glib.MemorySlice; private import glib.Str; -private import gtkd.Loader; private import harfbuzz.c.functions; public import harfbuzz.c.types; +private import linker.Loader; /** @@ -69,7 +69,7 @@ public final class feature_t ~this () { - if ( Linker.isLoaded(LIBRARY_HARFBUZZ) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_HARFBUZZ[0]) && ownedRef ) sliceFree(hb_feature); } diff --git a/generated/gtkd/harfbuzz/font_funcs_t.d b/source/generated/harfbuzz/harfbuzz/font_funcs_t.d similarity index 100% rename from generated/gtkd/harfbuzz/font_funcs_t.d rename to source/generated/harfbuzz/harfbuzz/font_funcs_t.d diff --git a/generated/gtkd/harfbuzz/font_t.d b/source/generated/harfbuzz/harfbuzz/font_t.d similarity index 100% rename from generated/gtkd/harfbuzz/font_t.d rename to source/generated/harfbuzz/harfbuzz/font_t.d diff --git a/generated/gtkd/harfbuzz/glyph_info_t.d b/source/generated/harfbuzz/harfbuzz/glyph_info_t.d similarity index 100% rename from generated/gtkd/harfbuzz/glyph_info_t.d rename to source/generated/harfbuzz/harfbuzz/glyph_info_t.d diff --git a/generated/gtkd/harfbuzz/glyph_position_t.d b/source/generated/harfbuzz/harfbuzz/glyph_position_t.d similarity index 100% rename from generated/gtkd/harfbuzz/glyph_position_t.d rename to source/generated/harfbuzz/harfbuzz/glyph_position_t.d diff --git a/generated/gtkd/harfbuzz/language_t.d b/source/generated/harfbuzz/harfbuzz/language_t.d similarity index 100% rename from generated/gtkd/harfbuzz/language_t.d rename to source/generated/harfbuzz/harfbuzz/language_t.d diff --git a/generated/gtkd/harfbuzz/map_t.d b/source/generated/harfbuzz/harfbuzz/map_t.d similarity index 100% rename from generated/gtkd/harfbuzz/map_t.d rename to source/generated/harfbuzz/harfbuzz/map_t.d diff --git a/generated/gtkd/harfbuzz/ot_math_glyph_part_t.d b/source/generated/harfbuzz/harfbuzz/ot_math_glyph_part_t.d similarity index 97% rename from generated/gtkd/harfbuzz/ot_math_glyph_part_t.d rename to source/generated/harfbuzz/harfbuzz/ot_math_glyph_part_t.d index 989a009d2..f911c15c9 100644 --- a/generated/gtkd/harfbuzz/ot_math_glyph_part_t.d +++ b/source/generated/harfbuzz/harfbuzz/ot_math_glyph_part_t.d @@ -25,9 +25,9 @@ module harfbuzz.ot_math_glyph_part_t; private import glib.MemorySlice; -private import gtkd.Loader; private import harfbuzz.c.functions; public import harfbuzz.c.types; +private import linker.Loader; /** @@ -68,7 +68,7 @@ public final class ot_math_glyph_part_t ~this () { - if ( Linker.isLoaded(LIBRARY_HARFBUZZ) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_HARFBUZZ[0]) && ownedRef ) sliceFree(hb_ot_math_glyph_part); } diff --git a/generated/gtkd/harfbuzz/ot_math_glyph_variant_t.d b/source/generated/harfbuzz/harfbuzz/ot_math_glyph_variant_t.d similarity index 96% rename from generated/gtkd/harfbuzz/ot_math_glyph_variant_t.d rename to source/generated/harfbuzz/harfbuzz/ot_math_glyph_variant_t.d index 41394cd93..7e284e708 100644 --- a/generated/gtkd/harfbuzz/ot_math_glyph_variant_t.d +++ b/source/generated/harfbuzz/harfbuzz/ot_math_glyph_variant_t.d @@ -25,9 +25,9 @@ module harfbuzz.ot_math_glyph_variant_t; private import glib.MemorySlice; -private import gtkd.Loader; private import harfbuzz.c.functions; public import harfbuzz.c.types; +private import linker.Loader; /** @@ -66,7 +66,7 @@ public final class ot_math_glyph_variant_t ~this () { - if ( Linker.isLoaded(LIBRARY_HARFBUZZ) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_HARFBUZZ[0]) && ownedRef ) sliceFree(hb_ot_math_glyph_variant); } diff --git a/generated/gtkd/harfbuzz/segment_properties_t.d b/source/generated/harfbuzz/harfbuzz/segment_properties_t.d similarity index 100% rename from generated/gtkd/harfbuzz/segment_properties_t.d rename to source/generated/harfbuzz/harfbuzz/segment_properties_t.d diff --git a/generated/gtkd/harfbuzz/set_t.d b/source/generated/harfbuzz/harfbuzz/set_t.d similarity index 100% rename from generated/gtkd/harfbuzz/set_t.d rename to source/generated/harfbuzz/harfbuzz/set_t.d diff --git a/generated/gtkd/harfbuzz/shape_plan_t.d b/source/generated/harfbuzz/harfbuzz/shape_plan_t.d similarity index 100% rename from generated/gtkd/harfbuzz/shape_plan_t.d rename to source/generated/harfbuzz/harfbuzz/shape_plan_t.d diff --git a/generated/gtkd/harfbuzz/unicode_funcs_t.d b/source/generated/harfbuzz/harfbuzz/unicode_funcs_t.d similarity index 100% rename from generated/gtkd/harfbuzz/unicode_funcs_t.d rename to source/generated/harfbuzz/harfbuzz/unicode_funcs_t.d diff --git a/generated/gtkd/harfbuzz/user_data_key_t.d b/source/generated/harfbuzz/harfbuzz/user_data_key_t.d similarity index 100% rename from generated/gtkd/harfbuzz/user_data_key_t.d rename to source/generated/harfbuzz/harfbuzz/user_data_key_t.d diff --git a/generated/gtkd/harfbuzz/variation_t.d b/source/generated/harfbuzz/harfbuzz/variation_t.d similarity index 97% rename from generated/gtkd/harfbuzz/variation_t.d rename to source/generated/harfbuzz/harfbuzz/variation_t.d index b69fc0a10..df6d55cbc 100644 --- a/generated/gtkd/harfbuzz/variation_t.d +++ b/source/generated/harfbuzz/harfbuzz/variation_t.d @@ -26,9 +26,9 @@ module harfbuzz.variation_t; private import glib.MemorySlice; private import glib.Str; -private import gtkd.Loader; private import harfbuzz.c.functions; public import harfbuzz.c.types; +private import linker.Loader; /** @@ -69,7 +69,7 @@ public final class variation_t ~this () { - if ( Linker.isLoaded(LIBRARY_HARFBUZZ) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_HARFBUZZ[0]) && ownedRef ) sliceFree(hb_variation); } diff --git a/generated/gtkd/pango/PgAttribute.d b/source/generated/pango/pango/PgAttribute.d similarity index 65% rename from generated/gtkd/pango/PgAttribute.d rename to source/generated/pango/pango/PgAttribute.d index b2fc83cc4..53dc4e130 100644 --- a/generated/gtkd/pango/PgAttribute.d +++ b/source/generated/pango/pango/PgAttribute.d @@ -30,7 +30,11 @@ private import glib.SimpleXML; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; +private import pango.PgAttributeFontDesc; +private import pango.PgAttributeLanguage; private import pango.PgAttributeList; +private import pango.PgAttributeShape; +private import pango.PgAttributeSize; private import pango.c.functions; public import pango.c.types; @@ -81,11 +85,175 @@ public class PgAttribute return pango_attribute_get_type(); } + /** + * Returns the attribute cast to `PangoAttrColor`. + * + * This is mainly useful for language bindings. + * + * Returns: The attribute as `PangoAttrColor`, + * or %NULL if it's not a color attribute + * + * Since: 1.50 + */ + public PangoAttrColor* asColor() + { + return pango_attribute_as_color(pangoAttribute); + } + + /** + * Returns the attribute cast to `PangoAttrFloat`. + * + * This is mainly useful for language bindings. + * + * Returns: The attribute as `PangoAttrFloat`, + * or %NULL if it's not a floating point attribute + * + * Since: 1.50 + */ + public PangoAttrFloat* asFloat() + { + return pango_attribute_as_float(pangoAttribute); + } + + /** + * Returns the attribute cast to `PangoAttrFontDesc`. + * + * This is mainly useful for language bindings. + * + * Returns: The attribute as `PangoAttrFontDesc`, + * or %NULL if it's not a font description attribute + * + * Since: 1.50 + */ + public PgAttributeFontDesc asFontDesc() + { + auto __p = pango_attribute_as_font_desc(pangoAttribute); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PgAttributeFontDesc)(cast(PangoAttrFontDesc*) __p); + } + + /** + * Returns the attribute cast to `PangoAttrFontFeatures`. + * + * This is mainly useful for language bindings. + * + * Returns: The attribute as `PangoAttrFontFeatures`, + * or %NULL if it's not a font features attribute + * + * Since: 1.50 + */ + public PangoAttrFontFeatures* asFontFeatures() + { + return pango_attribute_as_font_features(pangoAttribute); + } + + /** + * Returns the attribute cast to `PangoAttrInt`. + * + * This is mainly useful for language bindings. + * + * Returns: The attribute as `PangoAttrInt`, + * or %NULL if it's not an integer attribute + * + * Since: 1.50 + */ + public PangoAttrInt* asInt() + { + return pango_attribute_as_int(pangoAttribute); + } + + /** + * Returns the attribute cast to `PangoAttrLanguage`. + * + * This is mainly useful for language bindings. + * + * Returns: The attribute as `PangoAttrLanguage`, + * or %NULL if it's not a language attribute + * + * Since: 1.50 + */ + public PgAttributeLanguage asLanguage() + { + auto __p = pango_attribute_as_language(pangoAttribute); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PgAttributeLanguage)(cast(PangoAttrLanguage*) __p); + } + + /** + * Returns the attribute cast to `PangoAttrShape`. + * + * This is mainly useful for language bindings. + * + * Returns: The attribute as `PangoAttrShape`, + * or %NULL if it's not a shape attribute + * + * Since: 1.50 + */ + public PgAttributeShape asShape() + { + auto __p = pango_attribute_as_shape(pangoAttribute); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PgAttributeShape)(cast(PangoAttrShape*) __p); + } + + /** + * Returns the attribute cast to `PangoAttrSize`. + * + * This is mainly useful for language bindings. + * + * Returns: The attribute as `PangoAttrSize`, + * or NULL if it's not a size attribute + * + * Since: 1.50 + */ + public PgAttributeSize asSize() + { + auto __p = pango_attribute_as_size(pangoAttribute); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PgAttributeSize)(cast(PangoAttrSize*) __p); + } + + /** + * Returns the attribute cast to `PangoAttrString`. + * + * This is mainly useful for language bindings. + * + * Returns: The attribute as `PangoAttrString`, + * or %NULL if it's not a string attribute + * + * Since: 1.50 + */ + public PangoAttrString* asString() + { + return pango_attribute_as_string(pangoAttribute); + } + /** * Make a copy of an attribute. * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy]. */ public PgAttribute copy() { @@ -108,14 +276,16 @@ public class PgAttribute } /** - * Compare two attributes for equality. This compares only the - * actual value of the two attributes and not the ranges that the - * attributes apply to. + * Compare two attributes for equality. + * + * This compares only the actual value of the two + * attributes and not the ranges that the attributes + * apply to. * * Params: * attr2 = another `PangoAttribute` * - * Returns: %TRUE if the two attributes have the same value. + * Returns: %TRUE if the two attributes have the same value */ public bool equal(PgAttribute attr2) { @@ -146,8 +316,9 @@ public class PgAttribute * green = the green value * blue = the blue value * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] */ public static PgAttribute backgroundNew(ushort red, ushort green, ushort blue) { @@ -167,8 +338,9 @@ public class PgAttribute * Params: * alpha = the alpha value, between 1 and 65536 * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] * * Since: 1.38 */ @@ -187,17 +359,18 @@ public class PgAttribute /** * Create a new font fallback attribute. * - * If fallback is disabled, characters will only be used from the - * closest matching font on the system. No fallback will be done to - * other fonts on the system that might contain the characters in the - * text. + * If fallback is disabled, characters will only be + * used from the closest matching font on the system. + * No fallback will be done to other fonts on the system + * that might contain the characters in the text. * * Params: * enableFallback = %TRUE if we should fall back on other fonts - * for characters the active font is missing. + * for characters the active font is missing * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] * * Since: 1.4 */ @@ -217,10 +390,11 @@ public class PgAttribute * Create a new font family attribute. * * Params: - * family = the family or comma separated list of families + * family = the family or comma-separated list of families * - * Returns: the newly allocated `PangoAttribute` - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] */ public static PgAttribute familyNew(string family) { @@ -242,8 +416,9 @@ public class PgAttribute * green = the green value * blue = the blue value * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] */ public static PgAttribute foregroundNew(ushort red, ushort green, ushort blue) { @@ -263,8 +438,9 @@ public class PgAttribute * Params: * alpha = the alpha value, between 1 and 65536 * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] * * Since: 1.38 */ @@ -284,10 +460,11 @@ public class PgAttribute * Create a new gravity hint attribute. * * Params: - * hint = the gravity hint value. + * hint = the gravity hint value * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] * * Since: 1.16 */ @@ -307,10 +484,11 @@ public class PgAttribute * Create a new gravity attribute. * * Params: - * gravity = the gravity value; should not be %PANGO_GRAVITY_AUTO. + * gravity = the gravity value; should not be %PANGO_GRAVITY_AUTO * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] * * Since: 1.16 */ @@ -330,11 +508,12 @@ public class PgAttribute * Create a new letter-spacing attribute. * * Params: - * letterSpacing = amount of extra space to add between graphemes - * of the text, in Pango units. + * letterSpacing = amount of extra space to add between + * graphemes of the text, in Pango units * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] * * Since: 1.6 */ @@ -357,8 +536,9 @@ public class PgAttribute * rise = the amount that the text should be displaced vertically, * in Pango units. Positive values displace the text upwards. * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] */ public static PgAttribute riseNew(int rise) { @@ -375,14 +555,15 @@ public class PgAttribute /** * Create a new font size scale attribute. * - * The base font for the affected text will have its size multiplied - * by @scale_factor. + * The base font for the affected text will have + * its size multiplied by @scale_factor. * * Params: * scaleFactor = factor to scale the font * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] */ public static PgAttribute scaleNew(double scaleFactor) { @@ -402,8 +583,9 @@ public class PgAttribute * Params: * stretch = the stretch * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] */ public static PgAttribute stretchNew(PangoStretch stretch) { @@ -420,16 +602,17 @@ public class PgAttribute /** * Create a new strikethrough color attribute. * - * This attribute modifies the color of strikethrough lines. If not set, - * strikethrough lines will use the foreground color. + * This attribute modifies the color of strikethrough lines. + * If not set, strikethrough lines will use the foreground color. * * Params: * red = the red value (ranging from 0 to 65535) * green = the green value * blue = the blue value * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] * * Since: 1.8 */ @@ -449,10 +632,11 @@ public class PgAttribute * Create a new strike-through attribute. * * Params: - * strikethrough = %TRUE if the text should be struck-through. + * strikethrough = %TRUE if the text should be struck-through * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] */ public static PgAttribute strikethroughNew(bool strikethrough) { @@ -472,8 +656,9 @@ public class PgAttribute * Params: * style = the slant style * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] */ public static PgAttribute styleNew(PangoStyle style) { @@ -490,17 +675,20 @@ public class PgAttribute /** * Fetches the attribute type name. * - * The attribute type name is the string passed in when registering the type - * using [type_func@attr_type_register]. + * The attribute type name is the string passed in + * when registering the type using + * [func@Pango.AttrType.register]. * - * The returned value is an interned string (see g_intern_string() for what - * that means) that should not be modified or freed. + * The returned value is an interned string (see + * g_intern_string() for what that means) that should + * not be modified or freed. * * Params: * type = an attribute type ID to fetch the name for * - * Returns: the type ID name (which may be %NULL), or - * %NULL if @type is a built-in Pango attribute type or invalid. + * Returns: the type ID name (which + * may be %NULL), or %NULL if @type is a built-in Pango + * attribute type or invalid. * * Since: 1.22 */ @@ -512,7 +700,8 @@ public class PgAttribute /** * Allocate a new attribute type ID. * - * The attribute type name can be accessed later by using [type_func@Pango.AttrType.get_name]. + * The attribute type name can be accessed later + * by using [func@Pango.AttrType.get_name]. * * Params: * name = an identifier for the type @@ -527,16 +716,17 @@ public class PgAttribute /** * Create a new underline color attribute. * - * This attribute modifies the color of underlines. If not set, underlines - * will use the foreground color. + * This attribute modifies the color of underlines. + * If not set, underlines will use the foreground color. * * Params: * red = the red value (ranging from 0 to 65535) * green = the green value * blue = the blue value * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] * * Since: 1.8 */ @@ -556,10 +746,11 @@ public class PgAttribute * Create a new underline-style attribute. * * Params: - * underline = the underline style. + * underline = the underline style * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] */ public static PgAttribute underlineNew(PangoUnderline underline) { @@ -600,8 +791,9 @@ public class PgAttribute * Params: * weight = the weight * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] */ public static PgAttribute weightNew(PangoWeight weight) { @@ -618,16 +810,16 @@ public class PgAttribute /** * Finishes parsing markup. * - * After feeding a Pango markup parser some data with g_markup_parse_context_parse(), + * After feeding a Pango markup parser some data with [method@GLib.MarkupParseContext.parse], * use this function to get the list of attributes and text out of the - * markup. This function will not free @context, use g_markup_parse_context_free() + * markup. This function will not free @context, use [method@GLib.MarkupParseContext.free] * to do so. * * Params: * context = A valid parse context that was returned from [func@markup_parser_new] - * attrList = address of return location for a `PangoAttrList`, or %NULL - * text = address of return location for text with tags stripped, or %NULL - * accelChar = address of return location for accelerator char, or %NULL + * attrList = address of return location for a `PangoAttrList` + * text = address of return location for text with tags stripped + * accelChar = address of return location for accelerator char * * Returns: %FALSE if @error is set, otherwise %TRUE * @@ -669,20 +861,20 @@ public class PgAttribute * when calling [func@markup_parser_finish]. Two @accel_marker characters * following each other produce a single literal @accel_marker character. * - * To feed markup to the parser, use g_markup_parse_context_parse() - * on the returned `GMarkupParseContext`. When done with feeding markup + * To feed markup to the parser, use [method@GLib.MarkupParseContext.parse] + * on the returned [struct@GLib.MarkupParseContext]. When done with feeding markup * to the parser, use [func@markup_parser_finish] to get the data out - * of it, and then use g_markup_parse_context_free() to free it. + * of it, and then use [method@GLib.MarkupParseContext.free] to free it. * * This function is designed for applications that read Pango markup * from streams. To simply parse a string containing Pango markup, - * the [func@parse_markup] API is recommended instead. + * the [func@Pango.parse_markup] API is recommended instead. * * Params: * accelMarker = character that precedes an accelerator, or 0 for none * * Returns: a `GMarkupParseContext` that should be - * destroyed with g_markup_parse_context_free(). + * destroyed with [method@GLib.MarkupParseContext.free]. * * Since: 1.31.0 */ @@ -718,12 +910,12 @@ public class PgAttribute * for @error. * * Params: - * markupText = markup to parse (see the Pango Markup docs) + * markupText = markup to parse (see the [Pango Markup](pango_markup.html) docs) * length = length of @markup_text, or -1 if nul-terminated * accelMarker = character that precedes an accelerator, or 0 for none - * attrList = address of return location for a `PangoAttrList`, or %NULL - * text = address of return location for text with tags stripped, or %NULL - * accelChar = address of return location for accelerator char, or %NULL + * attrList = address of return location for a `PangoAttrList` + * text = address of return location for text with tags stripped + * accelChar = address of return location for accelerator char * * Returns: %FALSE if @error is set, otherwise %TRUE * diff --git a/generated/gtkd/pango/PgAttributeFontDesc.d b/source/generated/pango/pango/PgAttributeFontDesc.d similarity index 95% rename from generated/gtkd/pango/PgAttributeFontDesc.d rename to source/generated/pango/pango/PgAttributeFontDesc.d index 96faa5900..991531a67 100644 --- a/generated/gtkd/pango/PgAttributeFontDesc.d +++ b/source/generated/pango/pango/PgAttributeFontDesc.d @@ -74,8 +74,9 @@ public class PgAttributeFontDesc : PgAttribute * Params: * desc = the font description * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] * * Throws: ConstructionException GTK+ fails to create the object. */ diff --git a/generated/gtkd/pango/PgAttributeIterator.d b/source/generated/pango/pango/PgAttributeIterator.d similarity index 74% rename from generated/gtkd/pango/PgAttributeIterator.d rename to source/generated/pango/pango/PgAttributeIterator.d index 1acacd44f..170408e07 100644 --- a/generated/gtkd/pango/PgAttributeIterator.d +++ b/source/generated/pango/pango/PgAttributeIterator.d @@ -81,8 +81,9 @@ public class PgAttributeIterator /** * Copy a `PangoAttrIterator`. * - * Returns: the newly allocated `PangoAttrIterator`, - * which should be freed with [method@Pango.AttrIterator.destroy]. + * Returns: the newly allocated + * `PangoAttrIterator`, which should be freed with + * [method@Pango.AttrIterator.destroy] */ public PgAttributeIterator copy() { @@ -105,17 +106,19 @@ public class PgAttributeIterator } /** - * Find the current attribute of a particular type at the iterator - * location. When multiple attributes of the same type overlap, - * the attribute whose range starts closest to the current location - * is used. + * Find the current attribute of a particular type + * at the iterator location. + * + * When multiple attributes of the same type overlap, + * the attribute whose range starts closest to the + * current location is used. * * Params: * type = the type of attribute to find * - * Returns: the current attribute of - * the given type, or %NULL if no attribute of that type applies to - * the current location. + * Returns: the current + * attribute of the given type, or %NULL if no attribute + * of that type applies to the current location. */ public PgAttribute get(PangoAttrType type) { @@ -133,9 +136,9 @@ public class PgAttributeIterator * Gets a list of all attributes at the current position of the * iterator. * - * Returns: a list of all attributes for the current range. To free this value, - * call [method@Pango.Attribute.destroy] on each value and g_slist_free() - * on the list. + * Returns: a list of all attributes for the current range. To free + * this value, call [method@Pango.Attribute.destroy] on each + * value and g_slist_free() on the list. * * Since: 1.2 */ @@ -152,21 +155,24 @@ public class PgAttributeIterator } /** - * Get the font and other attributes at the current iterator position. + * Get the font and other attributes at the current + * iterator position. * * Params: - * desc = a `PangoFontDescription` to fill in with the current values. - * The family name in this structure will be set using - * [method@Pango.FontDescription.set_family_static] using values from - * an attribute in the `PangoAttrList` associated with the iterator, - * so if you plan to keep it around, you must call: - * pango_font_description_set_family (desc, pango_font_description_get_family (desc)). - * language = if non-%NULL, location to store language tag + * desc = a `PangoFontDescription` to fill in with the current + * values. The family name in this structure will be set using + * [method@Pango.FontDescription.set_family_static] using + * values from an attribute in the `PangoAttrList` associated + * with the iterator, so if you plan to keep it around, you + * must call: + * `pango_font_description_set_family (desc, pango_font_description_get_family (desc))`. + * language = location to store language tag * for item, or %NULL if none is found. - * extraAttrs = if non-%NULL, location in which to store a list of non-font attributes - * at the the current position; only the highest priority value of each - * attribute will be added to this list. In order to free this value, you - * must call [method@Pango.Attribute.destroy] on each member. + * extraAttrs = location in which to store a list of non-font attributes + * at the the current position; only the highest priority + * value of each attribute will be added to this list. In + * order to free this value, you must call + * [method@Pango.Attribute.destroy] on each member. */ public void getFont(PgFontDescription desc, out PgLanguage language, out ListSG extraAttrs) { @@ -182,8 +188,8 @@ public class PgAttributeIterator /** * Advance the iterator until the next change of style. * - * Returns: %FALSE if the iterator is at the end of the list, - * otherwise %TRUE + * Returns: %FALSE if the iterator is at the end + * of the list, otherwise %TRUE */ public bool next() { @@ -191,9 +197,10 @@ public class PgAttributeIterator } /** - * Get the range of the current segment. Note that the - * stored return values are signed, not unsigned like - * the values in `PangoAttribute`. To deal with this API + * Get the range of the current segment. + * + * Note that the stored return values are signed, not unsigned + * like the values in `PangoAttribute`. To deal with this API * oversight, stored return values that wouldn't fit into * a signed integer are clamped to %G_MAXINT. * diff --git a/generated/gtkd/pango/PgAttributeLanguage.d b/source/generated/pango/pango/PgAttributeLanguage.d similarity index 95% rename from generated/gtkd/pango/PgAttributeLanguage.d rename to source/generated/pango/pango/PgAttributeLanguage.d index 87e5b2ed4..96edd4648 100644 --- a/generated/gtkd/pango/PgAttributeLanguage.d +++ b/source/generated/pango/pango/PgAttributeLanguage.d @@ -71,8 +71,9 @@ public class PgAttributeLanguage : PgAttribute * Params: * language = language tag * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] * * Throws: ConstructionException GTK+ fails to create the object. */ diff --git a/generated/gtkd/pango/PgAttributeList.d b/source/generated/pango/pango/PgAttributeList.d similarity index 67% rename from generated/gtkd/pango/PgAttributeList.d rename to source/generated/pango/pango/PgAttributeList.d index 350aa1f6a..3dc563350 100644 --- a/generated/gtkd/pango/PgAttributeList.d +++ b/source/generated/pango/pango/PgAttributeList.d @@ -26,8 +26,10 @@ module pango.PgAttributeList; private import glib.ConstructionException; private import glib.ListSG; +private import glib.Str; +private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; private import pango.PgAttribute; private import pango.PgAttributeIterator; private import pango.c.functions; @@ -78,7 +80,7 @@ public class PgAttributeList ~this () { - if ( Linker.isLoaded(LIBRARY_PANGO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_PANGO[0]) && ownedRef ) pango_attr_list_unref(pangoAttrList); } @@ -90,10 +92,12 @@ public class PgAttributeList } /** - * Create a new empty attribute list with a reference count of one. + * Create a new empty attribute list with a reference + * count of one. * - * Returns: the newly allocated `PangoAttrList`, - * which should be freed with [method@Pango.AttrList.unref]. + * Returns: the newly allocated + * `PangoAttrList`, which should be freed with + * [method@Pango.AttrList.unref] * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -112,18 +116,19 @@ public class PgAttributeList /** * Insert the given attribute into the `PangoAttrList`. * - * It will replace any attributes of the same type on that segment - * and be merged with any adjoining attributes that are identical. + * It will replace any attributes of the same type + * on that segment and be merged with any adjoining + * attributes that are identical. * - * This function is slower than [method@Pango.AttrList.insert] for - * creating an attribute list in order (potentially much slower for - * large lists). However, [method@Pango.AttrList.insert] is not - * suitable for continually changing a set of attributes since it + * This function is slower than [method@Pango.AttrList.insert] + * for creating an attribute list in order (potentially + * much slower for large lists). However, + * [method@Pango.AttrList.insert] is not suitable for + * continually changing a set of attributes since it * never removes or combines existing attributes. * * Params: - * attr = the attribute to insert. Ownership of this - * value is assumed by the list. + * attr = the attribute to insert */ public void change(PgAttribute attr) { @@ -133,9 +138,10 @@ public class PgAttributeList /** * Copy @list and return an identical new list. * - * Returns: the newly allocated `PangoAttrList`, - * with a reference count of one, which should be freed with - * [method@Pango.AttrList.unref]. Returns %NULL if @list was %NULL. + * Returns: the newly allocated + * `PangoAttrList`, with a reference count of one, + * which should be freed with [method@Pango.AttrList.unref]. + * Returns %NULL if @list was %NULL. */ public PgAttributeList copy() { @@ -150,14 +156,18 @@ public class PgAttributeList } /** - * Checks whether @list and @other_list contain the same attributes and - * whether those attributes apply to the same ranges. Beware that this - * will return wrong values if any list contains duplicates. + * Checks whether @list and @other_list contain the same + * attributes and whether those attributes apply to the + * same ranges. + * + * Beware that this will return wrong values if any list + * contains duplicates. * * Params: * otherList = the other `PangoAttrList` * - * Returns: %TRUE if the lists are equal, %FALSE if they aren't. + * Returns: %TRUE if the lists are equal, %FALSE if + * they aren't * * Since: 1.46 */ @@ -167,16 +177,18 @@ public class PgAttributeList } /** - * Given a `PangoAttrList` and callback function, removes any elements - * of @list for which @func returns %TRUE and inserts them into a new list. + * Given a `PangoAttrList` and callback function, removes + * any elements of @list for which @func returns %TRUE and + * inserts them into a new list. * * Params: - * func = callback function; returns %TRUE - * if an attribute should be filtered out. + * func = callback function; + * returns %TRUE if an attribute should be filtered out * data = Data to be passed to @func * - * Returns: the new `PangoAttrList` or - * %NULL if no attributes of the given types were found. + * Returns: the new + * `PangoAttrList` or %NULL if no attributes of the + * given types were found * * Since: 1.2 */ @@ -195,9 +207,9 @@ public class PgAttributeList /** * Gets a list of all attributes in @list. * - * Returns: a list of all attributes in @list. To free this value, call - * [mehod@Pango.Attribute.destroy] on each value and g_slist_free() - * on the list. + * Returns: a list of all attributes in @list. To free this value, + * call [method@Pango.Attribute.destroy] on each value and + * g_slist_free() on the list. * * Since: 1.44 */ @@ -215,10 +227,12 @@ public class PgAttributeList /** * Create a iterator initialized to the beginning of the list. + * * @list must not be modified until this iterator is freed. * - * Returns: the newly allocated `PangoAttrIterator`, - * which should be freed with [method@Pango.AttrIterator.destroy]. + * Returns: the newly allocated + * `PangoAttrIterator`, which should be freed with + * [method@Pango.AttrIterator.destroy] */ public PgAttributeIterator getIterator() { @@ -239,8 +253,7 @@ public class PgAttributeList * matching @start_index. * * Params: - * attr = the attribute to insert. Ownership of this - * value is assumed by the list. + * attr = the attribute to insert */ public void insert(PgAttribute attr) { @@ -254,8 +267,7 @@ public class PgAttributeList * matching @start_index. * * Params: - * attr = the attribute to insert. Ownership of this - * value is assumed by the list. + * attr = the attribute to insert */ public void insertBefore(PgAttribute attr) { @@ -264,7 +276,8 @@ public class PgAttributeList alias doref = ref_; /** - * Increase the reference count of the given attribute list by one. + * Increase the reference count of the given attribute + * list by one. * * Returns: The attribute list passed in * @@ -283,18 +296,25 @@ public class PgAttributeList } /** - * This function opens up a hole in @list, fills it in with attributes - * from the left, and then merges @other on top of the hole. + * This function opens up a hole in @list, fills it + * in with attributes from the left, and then merges + * @other on top of the hole. * * This operation is equivalent to stretching every attribute * that applies at position @pos in @list by an amount @len, * and then calling [method@Pango.AttrList.change] with a copy * of each attribute in @other in sequence (offset in position - * by @pos). + * by @pos, and limited in length to @len). * * This operation proves useful for, for instance, inserting * a pre-edit string in the middle of an edit buffer. * + * For backwards compatibility, the function behaves differently + * when @len is 0. In this case, the attributes from @other are + * not imited to @len, and are just overlayed on top of @list. + * + * This mode is useful for merging two lists of attributes together. + * * Params: * other = another `PangoAttrList` * pos = the position in @list at which to insert @other @@ -308,9 +328,33 @@ public class PgAttributeList } /** - * Decrease the reference count of the given attribute list by one. - * If the result is zero, free the attribute list and the attributes - * it contains. + * Serializes a `PangoAttrList` to a string. + * + * No guarantees are made about the format of the string, + * it may change between Pango versions. + * + * The intended use of this function is testing and + * debugging. The format is not meant as a permanent + * storage format. + * + * Returns: a newly allocated string + * + * Since: 1.50 + */ + public override string toString() + { + auto retStr = pango_attr_list_to_string(pangoAttrList); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Decrease the reference count of the given attribute + * list by one. + * + * If the result is zero, free the attribute list + * and the attributes it contains. */ public void unref() { @@ -344,4 +388,29 @@ public class PgAttributeList { pango_attr_list_update(pangoAttrList, pos, remove, add); } + + /** + * Deserializes a `PangoAttrList` from a string. + * + * This is the counterpart to [method@Pango.AttrList.to_string]. + * See that functions for details about the format. + * + * Params: + * text = a string + * + * Returns: a new `PangoAttrList` + * + * Since: 1.50 + */ + public static PgAttributeList fromString(string text) + { + auto __p = pango_attr_list_from_string(Str.toStringz(text)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PgAttributeList)(cast(PangoAttrList*) __p, true); + } } diff --git a/generated/gtkd/pango/PgAttributeShape.d b/source/generated/pango/pango/PgAttributeShape.d similarity index 83% rename from generated/gtkd/pango/PgAttributeShape.d rename to source/generated/pango/pango/PgAttributeShape.d index 4f74f939d..54ae64959 100644 --- a/generated/gtkd/pango/PgAttributeShape.d +++ b/source/generated/pango/pango/PgAttributeShape.d @@ -67,16 +67,18 @@ public class PgAttributeShape : PgAttribute /** * Create a new shape attribute. * - * A shape is used to impose a particular ink and logical rectangle - * on the result of shaping a particular glyph. This might be used, - * for instance, for embedding a picture or a widget inside a `PangoLayout`. + * A shape is used to impose a particular ink and logical + * rectangle on the result of shaping a particular glyph. + * This might be used, for instance, for embedding a picture + * or a widget inside a `PangoLayout`. * * Params: * inkRect = ink rectangle to assign to each character * logicalRect = logical rectangle to assign to each character * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -95,20 +97,23 @@ public class PgAttributeShape : PgAttribute /** * Creates a new shape attribute. * - * Like pango_attr_shape_new(), but a user data pointer is also - * provided; this pointer can be accessed when later rendering the glyph. + * Like [func@Pango.AttrShape.new], but a user data pointer + * is also provided; this pointer can be accessed when later + * rendering the glyph. * * Params: * inkRect = ink rectangle to assign to each character * logicalRect = logical rectangle to assign to each character * data = user data pointer * copyFunc = function to copy @data when the - * attribute is copied. If %NULL, @data is simply copied as a pointer. + * attribute is copied. If %NULL, @data is simply copied + * as a pointer * destroyFunc = function to free @data when the - * attribute is freed, or %NULL + * attribute is freed * - * Returns: the newly allocated `PangoAttribute`, - * which should be freed with [method@Pango.Attribute.destroy]. + * Returns: the newly allocated + * `PangoAttribute`, which should be freed with + * [method@Pango.Attribute.destroy] * * Since: 1.8 * diff --git a/generated/gtkd/pango/PgAttributeSize.d b/source/generated/pango/pango/PgAttributeSize.d similarity index 100% rename from generated/gtkd/pango/PgAttributeSize.d rename to source/generated/pango/pango/PgAttributeSize.d diff --git a/generated/gtkd/pango/PgCairo.d b/source/generated/pango/pango/PgCairo.d similarity index 91% rename from generated/gtkd/pango/PgCairo.d rename to source/generated/pango/pango/PgCairo.d index 6ca827c71..295cc35e6 100644 --- a/generated/gtkd/pango/PgCairo.d +++ b/source/generated/pango/pango/PgCairo.d @@ -46,9 +46,8 @@ public struct PgCairo * Retrieves any font rendering options previously set with * [func@PangoCairo.context_set_font_options]. * - * This function - * does not report options that are derived from the target - * surface by [func@update_context]. + * This function does not report options that are derived from + * the target surface by [func@update_context]. * * Params: * context = a `PangoContext`, from a pangocairo font map @@ -73,6 +72,7 @@ public struct PgCairo /** * Gets the resolution for the context. + * * See [func@PangoCairo.context_set_resolution] * * Params: @@ -100,7 +100,7 @@ public struct PgCairo * * Params: * context = a `PangoContext`, from a pangocairo font map - * data = Pointer to #gpointer to return user data + * data = Pointer to `gpointer` to return user data * * Returns: the shape rendering callback * previously set on the context, or %NULL if no shape rendering callback @@ -134,10 +134,9 @@ public struct PgCairo /** * Sets the resolution for the context. * - * This is a scale factor between - * points specified in a `PangoFontDescription` and Cairo units. The - * default value is 96, meaning that a 10 point font will be 13 - * units high. (10 * 96. / 72. = 13.3). + * This is a scale factor between points specified in a `PangoFontDescription` + * and Cairo units. The default value is 96, meaning that a 10 point font will + * be 13 units high. (10 * 96. / 72. = 13.3). * * Params: * context = a `PangoContext`, from a pangocairo font map @@ -164,7 +163,7 @@ public struct PgCairo * type %PANGO_ATTR_SHAPE, or %NULL to disable shape rendering. * data = User data that will be passed to @func. * dnotify = Callback that will be called when the - * context is freed to release @data, or %NULL. + * context is freed to release @data * * Since: 1.18 */ @@ -188,8 +187,7 @@ public struct PgCairo * Params: * cr = a Cairo context * - * Returns: the newly created `PangoContext`. - * Free with g_object_unref(). + * Returns: the newly created `PangoContext` * * Since: 1.22 */ @@ -209,9 +207,8 @@ public struct PgCairo * Creates a layout object set up to match the current transformation * and target surface of the Cairo context. * - * This layout can then be - * used for text measurement with functions like - * [method@Pango.Layout.get_size] or drawing with functions like + * This layout can then be used for text measurement with functions + * like [method@Pango.Layout.get_size] or drawing with functions like * [func@show_layout]. If you change the transformation or target * surface for @cr, you need to call [func@update_layout]. * @@ -223,8 +220,7 @@ public struct PgCairo * Params: * cr = a Cairo context * - * Returns: the newly created `PangoLayout`. - * Free with g_object_unref(). + * Returns: the newly created `PangoLayout` * * Since: 1.10 */ @@ -245,9 +241,8 @@ public struct PgCairo * approximately covers the given rectangle in the style of an underline used * to indicate a spelling error. * - * The width of the underline is rounded to an - * integer number of up/down segments and the resulting rectangle is centered - * in the original rectangle. + * The width of the underline is rounded to an integer number of up/down + * segments and the resulting rectangle is centered in the original rectangle. * * Params: * cr = a Cairo context @@ -286,8 +281,8 @@ public struct PgCairo * Adds the text in `PangoLayoutLine` to the current path in the * specified cairo context. * - * The origin of the glyphs (the left edge - * of the line) will be at the current point of the cairo context. + * The origin of the glyphs (the left edge of the line) will be + * at the current point of the cairo context. * * Params: * cr = a Cairo context @@ -304,8 +299,8 @@ public struct PgCairo * Adds the text in a `PangoLayout` to the current path in the * specified cairo context. * - * The top-left corner of the `PangoLayout` - * will be at the current point of the cairo context. + * The top-left corner of the `PangoLayout` will be at the + * current point of the cairo context. * * Params: * cr = a Cairo context @@ -423,9 +418,8 @@ public struct PgCairo * match the current transformation and target surface of a Cairo * context. * - * If any layouts have been created for the context, - * it's necessary to call [method@Pango.Layout.context_changed] on those - * layouts. + * If any layouts have been created for the context, it's necessary + * to call [method@Pango.Layout.context_changed] on those layouts. * * Params: * cr = a Cairo context diff --git a/generated/gtkd/pango/PgCairoFontMap.d b/source/generated/pango/pango/PgCairoFontMap.d similarity index 96% rename from generated/gtkd/pango/PgCairoFontMap.d rename to source/generated/pango/pango/PgCairoFontMap.d index 0f0aaa52c..2ee97eb13 100644 --- a/generated/gtkd/pango/PgCairoFontMap.d +++ b/source/generated/pango/pango/PgCairoFontMap.d @@ -154,7 +154,7 @@ public class PgCairoFontMap : PgFontMap * Creates a new `PangoCairoFontMap` object of the type suitable * to be used with cairo font backend of type @fonttype. * - * In most cases one should simply use [type_func@PangoCairo.FontMap.new], or + * In most cases one should simply use [func@PangoCairo.FontMap.new], or * in fact in most of those cases, just use [func@PangoCairo.FontMap.get_default]. * * Params: @@ -218,11 +218,11 @@ public class PgCairoFontMap : PgFontMap * This function only changes the default fontmap for * the current thread. Default fontmaps of existing threads * are not changed. Default fontmaps of any new threads will - * still be created using [type_func@PangoCairo.FontMap.new]. + * still be created using [func@PangoCairo.FontMap.new]. * * A value of %NULL for @fontmap will cause the current default * font map to be released and a new default font map to be created - * on demand, using [type_func@PangoCairo.FontMap.new]. + * on demand, using [func@PangoCairo.FontMap.new]. * * Since: 1.22 */ @@ -256,7 +256,7 @@ public class PgCairoFontMap : PgFontMap * cairo_scaled_font_reference(). * * Returns: the `cairo_scaled_font_t` - * used by @font, or %NULL if @font is %NULL. + * used by @font * * Since: 1.18 */ diff --git a/generated/gtkd/pango/PgColor.d b/source/generated/pango/pango/PgColor.d similarity index 65% rename from generated/gtkd/pango/PgColor.d rename to source/generated/pango/pango/PgColor.d index 717fc183e..1e3ed2dfd 100644 --- a/generated/gtkd/pango/PgColor.d +++ b/source/generated/pango/pango/PgColor.d @@ -28,7 +28,7 @@ private import glib.MemorySlice; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; private import pango.c.functions; public import pango.c.types; @@ -68,7 +68,7 @@ public final class PgColor ~this () { - if ( Linker.isLoaded(LIBRARY_PANGO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_PANGO[0]) && ownedRef ) pango_color_free(pangoColor); } @@ -124,13 +124,13 @@ public final class PgColor /** * Creates a copy of @src. * - * The copy should be freed with pango_color_free(). Primarily - * used by language bindings, not that useful otherwise (since - * colors can just be copied by assignment in C). + * The copy should be freed with [method@Pango.Color.free]. + * Primarily used by language bindings, not that useful + * otherwise (since colors can just be copied by assignment + * in C). * - * Returns: the newly allocated `PangoColor`, which - * should be freed with [method@Pango.Color.free], or %NULL if - * @src was %NULL. + * Returns: the newly allocated `PangoColor`, + * which should be freed with [method@Pango.Color.free] */ public PgColor copy() { @@ -145,7 +145,7 @@ public final class PgColor } /** - * Frees a color allocated by pango_color_copy(). + * Frees a color allocated by [method@Pango.Color.copy]. */ public void free() { @@ -156,18 +156,19 @@ public final class PgColor /** * Fill in the fields of a color from a string specification. * - * The string can either - * one of a large set of standard names. (Taken from the CSS Color - * [specification](https://www.w3.org/TR/css-color-4/#named-colors), or it can be - * a value in the form `#rgb`, `#rrggbb`, `#rrrgggbbb` or `#rrrrggggbbbb`, where - * `r`, `g` and `b` are hex digits of the red, green, and blue components of the - * color, respectively. (White in the four forms is `#fff`, `#ffffff`, `#fffffffff` - * and `#ffffffffffff`.) + * The string can either one of a large set of standard names. + * (Taken from the CSS Color [specification](https://www.w3.org/TR/css-color-4/#named-colors), + * or it can be a value in the form `#rgb`, `#rrggbb`, + * `#rrrgggbbb` or `#rrrrggggbbbb`, where `r`, `g` and `b` + * are hex digits of the red, green, and blue components + * of the color, respectively. (White in the four forms is + * `#fff`, `#ffffff`, `#fffffffff` and `#ffffffffffff`.) * * Params: * spec = a string specifying the new color * - * Returns: %TRUE if parsing of the specifier succeeded, otherwise false. + * Returns: %TRUE if parsing of the specifier succeeded, + * otherwise %FALSE */ public bool parse(string spec) { @@ -177,24 +178,26 @@ public final class PgColor /** * Fill in the fields of a color from a string specification. * - * The string can - * either one of a large set of standard names. (Taken from the CSS Color - * [specification](https://www.w3.org/TR/css-color-4/#named-colors), - * or it can be a hexadecimal value in the form `#rgb`, `#rrggbb`, `#rrrgggbbb` - * or `#rrrrggggbbbb` where `r`, `g` and `b` are hex digits of the red, green, - * and blue components of the color, respectively. (White in the four - * forms is `#fff`, `#ffffff`, `#fffffffff` and `#ffffffffffff`.) + * The string can either one of a large set of standard names. + * (Taken from the CSS Color [specification](https://www.w3.org/TR/css-color-4/#named-colors), + * or it can be a hexadecimal value in the form `#rgb`, + * `#rrggbb`, `#rrrgggbbb` or `#rrrrggggbbbb` where `r`, `g` + * and `b` are hex digits of the red, green, and blue components + * of the color, respectively. (White in the four forms is + * `#fff`, `#ffffff`, `#fffffffff` and `#ffffffffffff`.) * * Additionally, parse strings of the form `#rgba`, `#rrggbbaa`, - * `#rrrrggggbbbbaaaa`, if @alpha is not %NULL, and set @alpha to the value - * specified by the hex digits for `a`. If no alpha component is found - * in @spec, @alpha is set to 0xffff (for a solid color). + * `#rrrrggggbbbbaaaa`, if @alpha is not %NULL, and set @alpha + * to the value specified by the hex digits for `a`. If no alpha + * component is found in @spec, @alpha is set to 0xffff (for a + * solid color). * * Params: - * alpha = return location for alpha, or %NULL + * alpha = return location for alpha * spec = a string specifying the new color * - * Returns: %TRUE if parsing of the specifier succeeded, otherwise false. + * Returns: %TRUE if parsing of the specifier succeeded, + * otherwise %FALSE * * Since: 1.46 */ @@ -206,11 +209,12 @@ public final class PgColor /** * Returns a textual specification of @color. * - * The string is in the hexadecimal form `#rrrrggggbbbb`, where - * `r`, `g` and `b` are hex digits representing the red, green, - * and blue components respectively. + * The string is in the hexadecimal form `#rrrrggggbbbb`, + * where `r`, `g` and `b` are hex digits representing the + * red, green, and blue components respectively. * - * Returns: a newly-allocated text string that must be freed with g_free(). + * Returns: a newly-allocated text string that must + * be freed with g_free(). * * Since: 1.16 */ diff --git a/generated/gtkd/pango/PgContext.d b/source/generated/pango/pango/PgContext.d similarity index 85% rename from generated/gtkd/pango/PgContext.d rename to source/generated/pango/pango/PgContext.d index 575ed12a9..d879d5c7f 100644 --- a/generated/gtkd/pango/PgContext.d +++ b/source/generated/pango/pango/PgContext.d @@ -48,7 +48,7 @@ public import pango.c.types; * A `PangoContext` stores global information used to control the * itemization process. * - * The information stored by `PangoContext includes the fontmap used + * The information stored by `PangoContext` includes the fontmap used * to look up fonts, and default values such as the default language, * default gravity, or default font. * @@ -204,7 +204,7 @@ public class PgContext : ObjectG * * This is similar to [method@Pango.Context.get_base_gravity], * except for when the base gravity is %PANGO_GRAVITY_AUTO for - * which [type_func@Pango.Gravity.get_for_matrix] is used to return the + * which [func@Pango.Gravity.get_for_matrix] is used to return the * gravity from the current context matrix. * * Returns: the resolved gravity for the context. @@ -290,7 +290,7 @@ public class PgContext : ObjectG * language = language tag used to determine which script to get * the metrics for. %NULL means that the language tag from the context * will be used. If no language tag is set on the context, metrics - * for the default language (as determined by [type_func@Pango.Language.get_default] + * for the default language (as determined by [func@Pango.Language.get_default] * will be returned. * * Returns: a `PangoFontMetrics` object. The caller must call @@ -491,7 +491,7 @@ public class PgContext : ObjectG * Sets the global language tag for the context. * * The default language for the locale of the running process - * can be found using [type_func@Pango.Language.get_default]. + * can be found using [func@Pango.Language.get_default]. * * Params: * language = the new language tag. @@ -564,19 +564,19 @@ public class PgContext : ObjectG } /** - * Determines possible line, word, and character breaks for a string of - * Unicode text with a single analysis. + * Determines possible line, word, and character breaks + * for a string of Unicode text with a single analysis. * - * For most purposes you may want to use pango_get_log_attrs(). + * For most purposes you may want to use [func@Pango.get_log_attrs]. * - * Deprecated: Use pango_default_break() and pango_tailor_break() + * Deprecated: Use [func@Pango.default_break], + * [func@Pango.tailor_break] and [func@Pango.attr_break]. * * Params: * text = the text to process. Must be valid UTF-8 * length = length of @text in bytes (may be -1 if @text is nul-terminated) - * analysis = #PangoAnalysis structure from pango_itemize() - * attrs = an array to store character - * information in + * analysis = `PangoAnalysis` structure for @text + * attrs = an array to store character information in */ public static void pangoBreak(string text, int length, PangoAnalysis* analysis, PangoLogAttr[] attrs) { @@ -586,15 +586,18 @@ public class PgContext : ObjectG /** * This is the default break algorithm. * - * It applies Unicode rules without language-specific tailoring, therefore - * the @analyis argument is unused and can be %NULL. + * It applies rules from the [Unicode Line Breaking Algorithm](http://www.unicode.org/unicode/reports/tr14/) + * without language-specific tailoring, therefore the @analyis argument is unused + * and can be %NULL. * - * See pango_tailor_break() for language-specific breaks. + * See [func@Pango.tailor_break] for language-specific breaks. + * + * See [func@Pango.attr_break] for attribute-based customization. * * Params: * text = text to break. Must be valid UTF-8 * length = length of text in bytes (may be -1 if @text is nul-terminated) - * analysis = a #PangoAnalysis for the @text + * analysis = a `PangoAnalysis` structure for the @text * attrs = logical attributes to fill in * attrsLen = size of the array passed as @attrs */ @@ -624,15 +627,18 @@ public class PgContext : ObjectG /** * Locates a paragraph boundary in @text. * - * A boundary is caused by delimiter characters, such as a newline, carriage - * return, carriage return-newline pair, or Unicode paragraph separator character. - * The index of the run of delimiters is returned in @paragraph_delimiter_index. - * The index of the start of the paragrap (index after all delimiters) is stored - * in @next_paragraph_start. + * A boundary is caused by delimiter characters, such as + * a newline, carriage return, carriage return-newline pair, + * or Unicode paragraph separator character. + * + * The index of the run of delimiters is returned in + * @paragraph_delimiter_index. The index of the start of the + * next paragraph (index after all delimiters) is stored n + * @next_paragraph_start. * - * If no delimiters are found, both @paragraph_delimiter_index and - * @next_paragraph_start are filled with the length of @text (an index one - * off the end). + * If no delimiters are found, both @paragraph_delimiter_index + * and @next_paragraph_start are filled with the length of @text + * (an index one off the end). * * Params: * text = UTF-8 text @@ -650,23 +656,25 @@ public class PgContext : ObjectG /** * Computes a `PangoLogAttr` for each character in @text. * - * The @log_attrs array must have one `PangoLogAttr` for each position in @text; - * if @text contains N characters, it has N+1 positions, including the last - * position at the end of the text. @text should be an entire paragraph; logical - * attributes can't be computed without context (for example you need to see - * spaces on either side of a word to know the word is a word). + * The @attrs array must have one `PangoLogAttr` for + * each position in @text; if @text contains N characters, + * it has N+1 positions, including the last position at the + * end of the text. @text should be an entire paragraph; + * logical attributes can't be computed without context + * (for example you need to see spaces on either side of + * a word to know the word is a word). * * Params: * text = text to process. Must be valid UTF-8 * length = length in bytes of @text * level = embedding level, or -1 if unknown * language = language tag - * logAttrs = array with one `PangoLogAttr` + * attrs = array with one `PangoLogAttr` * per character in @text, plus one extra, to be filled in */ - public static void getLogAttrs(string text, int length, int level, PgLanguage language, PangoLogAttr[] logAttrs) + public static void getLogAttrs(string text, int length, int level, PgLanguage language, PangoLogAttr[] attrs) { - pango_get_log_attrs(Str.toStringz(text), length, level, (language is null) ? null : language.getPgLanguageStruct(), logAttrs.ptr, cast(int)logAttrs.length); + pango_get_log_attrs(Str.toStringz(text), length, level, (language is null) ? null : language.getPgLanguageStruct(), attrs.ptr, cast(int)attrs.length); } /** @@ -674,8 +682,8 @@ public class PgContext : ObjectG * * Mirror characters are determined by the Unicode mirrored property. * - * Deprecated: Use g_unichar_get_mirror_char() instead; the docs for that function - * provide full details. + * Deprecated: Use [func@GLib.unichar_get_mirror_char] instead; + * the docs for that function provide full details. * * Params: * ch = a Unicode character @@ -711,11 +719,11 @@ public class PgContext : ObjectG * length = the number of bytes (not characters) to process * after @start_index. This must be >= 0. * attrs = the set of attributes that apply to @text. - * cachedIter = Cached attribute iterator, or %NULL + * cachedIter = Cached attribute iterator * * Returns: a `GList` of * [struct@Pango.Item] structures. The items should be freed using - * [method@Pango.Item.free] probably in combination with g_list_free_full(). + * [method@Pango.Item.free] in combination with [func@GLib.List.free_full]. */ public static ListG itemize(PgContext context, string text, int startIndex, int length, PgAttributeList attrs, PgAttributeIterator cachedIter) { @@ -733,8 +741,8 @@ public class PgContext : ObjectG * Like `pango_itemize()`, but with an explicitly specified base direction. * * The base direction is used when computing bidirectional levels. - * (see [method@Pango.Context.set_base_dir]). [func@itemize] gets the - * base direction from the `PangoContext`. + * [func@itemize] gets the base direction from the `PangoContext` + * (see [method@Pango.Context.set_base_dir]). * * Params: * context = a structure holding information that affects @@ -745,11 +753,11 @@ public class PgContext : ObjectG * length = the number of bytes (not characters) to process * after @start_index. This must be >= 0. * attrs = the set of attributes that apply to @text. - * cachedIter = Cached attribute iterator, or %NULL + * cachedIter = Cached attribute iterator * * Returns: a `GList` of * [struct@Pango.Item] structures. The items should be freed using - * [method@Pango.Item.free] probably in combination with g_list_free_full(). + * [method@Pango.Item.free] probably in combination with [func@GLib.List.free_full]. * * Since: 1.4 */ @@ -771,20 +779,20 @@ public class PgContext : ObjectG * The visual order is determined from the associated directional * levels of the items. The original list is unmodified. * + * (Please open a bug if you use this function. + * It is not a particularly convenient interface, and the code + * is duplicated elsewhere in Pango for that reason.) + * * Params: - * logicalItems = a `GList` of `PangoItem` + * items = a `GList` of `PangoItem` * in logical order. * - * Returns: a #GList - * of #PangoItem structures in visual order. - * - * (Please open a bug if you use this function. - * It is not a particularly convenient interface, and the code - * is duplicated elsewhere in Pango for that reason.) + * Returns: a `GList` + * of `PangoItem` structures in visual order. */ - public static ListG reorderItems(ListG logicalItems) + public static ListG reorderItems(ListG items) { - auto __p = pango_reorder_items((logicalItems is null) ? null : logicalItems.getListGStruct()); + auto __p = pango_reorder_items((items is null) ? null : items.getListGStruct()); if(__p is null) { @@ -798,22 +806,22 @@ public class PgContext : ObjectG * Convert the characters in @text into glyphs. * * Given a segment of text and the corresponding `PangoAnalysis` structure - * returned from [func@itemize], convert the characters into glyphs. You - * may also pass in only a substring of the item from [func@itemize]. + * returned from [func@Pango.itemize], convert the characters into glyphs. You + * may also pass in only a substring of the item from [func@Pango.itemize]. * - * It is recommended that you use [func@shape_full] instead, since + * It is recommended that you use [func@Pango.shape_full] instead, since * that API allows for shaping interaction happening across text item * boundaries. * * Note that the extra attributes in the @analyis that is returned from - * [func@itemize] have indices that are relative to the entire paragraph, + * [func@Pango.itemize] have indices that are relative to the entire paragraph, * so you need to subtract the item offset from their indices before - * calling [func@shape]. + * calling [func@Pango.shape]. * * Params: * text = the text to process * length = the length (in bytes) of @text - * analysis = `PangoAnalysis` structure from [func@itemize] + * analysis = `PangoAnalysis` structure from [func@Pango.itemize] * glyphs = glyph string in which to store results */ public static void shape(string text, int length, PangoAnalysis* analysis, PgGlyphString glyphs) @@ -825,26 +833,27 @@ public class PgContext : ObjectG * Convert the characters in @text into glyphs. * * Given a segment of text and the corresponding `PangoAnalysis` structure - * returned from [func@itemize], convert the characters into glyphs. You may - * also pass in only a substring of the item from [func@itemize]. + * returned from [func@Pango.itemize], convert the characters into glyphs. + * You may also pass in only a substring of the item from [func@Pango.itemize]. * - * This is similar to [func@shape], except it also can optionally take + * This is similar to [func@Pango.shape], except it also can optionally take * the full paragraph text as input, which will then be used to perform * certain cross-item shaping interactions. If you have access to the broader * text of which @item_text is part of, provide the broader text as * @paragraph_text. If @paragraph_text is %NULL, item text is used instead. * * Note that the extra attributes in the @analyis that is returned from - * [func@itemize] have indices that are relative to the entire paragraph, + * [func@Pango.itemize] have indices that are relative to the entire paragraph, * so you do not pass the full paragraph text as @paragraph_text, you need - * to subtract the item offset from their indices before calling [func@shape_full]. + * to subtract the item offset from their indices before calling + * [func@Pango.shape_full]. * * Params: * itemText = valid UTF-8 text to shape. * itemLength = the length (in bytes) of @item_text. -1 means nul-terminated text. - * paragraphText = text of the paragraph (see details). May be %NULL. + * paragraphText = text of the paragraph (see details). * paragraphLength = the length (in bytes) of @paragraph_text. -1 means nul-terminated text. - * analysis = `PangoAnalysis` structure from [func@itemize]. + * analysis = `PangoAnalysis` structure from [func@Pango.itemize]. * glyphs = glyph string in which to store results. * * Since: 1.32 @@ -857,13 +866,13 @@ public class PgContext : ObjectG /** * Determines the inherent direction of a character. * - * The inherent direction is either %PANGO_DIRECTION_LTR, %PANGO_DIRECTION_RTL, - * or %PANGO_DIRECTION_NEUTRAL. + * The inherent direction is either `PANGO_DIRECTION_LTR`, `PANGO_DIRECTION_RTL`, + * or `PANGO_DIRECTION_NEUTRAL`. * * This function is useful to categorize characters into left-to-right * letters, right-to-left letters, and everything else. If full Unicode - * bidirectional type of a character is needed, - * [type_func@Pango.BidiType.for_unichar] can be used instead. + * bidirectional type of a character is needed, [func@Pango.BidiType.for_unichar] + * can be used instead. * * Params: * ch = a Unicode character diff --git a/generated/gtkd/pango/PgCoverage.d b/source/generated/pango/pango/PgCoverage.d similarity index 83% rename from generated/gtkd/pango/PgCoverage.d rename to source/generated/pango/pango/PgCoverage.d index d0eee5a65..21edcd2cb 100644 --- a/generated/gtkd/pango/PgCoverage.d +++ b/source/generated/pango/pango/PgCoverage.d @@ -33,13 +33,14 @@ public import pango.c.types; /** - * A #PangoCoverage structure is a map from Unicode characters - * to #PangoCoverageLevel values. + * A `PangoCoverage` structure is a map from Unicode characters + * to [enum@Pango.CoverageLevel] values. * - * It is often necessary in Pango to determine if a particular font can - * represent a particular character, and also how well it can represent - * that character. The #PangoCoverage is a data structure that is used to - * represent that information. It is an opaque structure with no public fields. + * It is often necessary in Pango to determine if a particular + * font can represent a particular character, and also how well + * it can represent that character. The `PangoCoverage` is a data + * structure that is used to represent that information. It is an + * opaque structure with no public fields. */ public class PgCoverage : ObjectG { @@ -79,10 +80,9 @@ public class PgCoverage : ObjectG /** * Create a new `PangoCoverage` * - * Returns: the newly allocated `PangoCoverage`, - * initialized to %PANGO_COVERAGE_NONE - * with a reference count of one, which - * should be freed with pango_coverage_unref(). + * Returns: the newly allocated `PangoCoverage`, initialized + * to %PANGO_COVERAGE_NONE with a reference count of one, which + * should be freed with [method@Pango.Coverage.unref]. * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -99,8 +99,8 @@ public class PgCoverage : ObjectG } /** - * Convert data generated from pango_coverage_to_bytes() back - * to a `PangoCoverage`. + * Convert data generated from [method@Pango.Coverage.to_bytes] + * back to a `PangoCoverage`. * * Deprecated: This returns %NULL * @@ -108,8 +108,7 @@ public class PgCoverage : ObjectG * bytes = binary data * representing a `PangoCoverage` * - * Returns: a newly allocated - * `PangoCoverage`, or %NULL if the data was invalid. + * Returns: a newly allocated `PangoCoverage` */ public static PgCoverage fromBytes(char[] bytes) { @@ -127,8 +126,8 @@ public class PgCoverage : ObjectG * Copy an existing `PangoCoverage`. * * Returns: the newly allocated `PangoCoverage`, - * with a reference count of one, which should be freed - * with pango_coverage_unref(). + * with a reference count of one, which should be freed with + * [method@Pango.Coverage.unref]. */ public PgCoverage copy() { @@ -174,6 +173,8 @@ public class PgCoverage : ObjectG /** * Increase the reference count on the `PangoCoverage` by one. * + * Deprecated: Use g_object_ref instead + * * Returns: @coverage */ public override PgCoverage ref_() @@ -222,6 +223,8 @@ public class PgCoverage : ObjectG * Decrease the reference count on the `PangoCoverage` by one. * * If the result is zero, free the coverage and all associated memory. + * + * Deprecated: Use g_object_unref instead */ public override void unref() { diff --git a/generated/gtkd/pango/PgFont.d b/source/generated/pango/pango/PgFont.d similarity index 70% rename from generated/gtkd/pango/PgFont.d rename to source/generated/pango/pango/PgFont.d index 161eaf187..0e56df7f9 100644 --- a/generated/gtkd/pango/PgFont.d +++ b/source/generated/pango/pango/PgFont.d @@ -24,8 +24,12 @@ module pango.PgFont; +private import glib.Bytes; +private import glib.ErrorG; +private import glib.GException; private import gobject.ObjectG; private import harfbuzz.feature_t; +private import pango.PgContext; private import pango.PgCoverage; private import pango.PgFontDescription; private import pango.PgFontFace; @@ -93,6 +97,44 @@ public class PgFont : ObjectG pango_font_descriptions_free(descsArray.ptr, cast(int)descs.length); } + /** + * Loads data previously created via [method@Pango.Font.serialize]. + * + * For a discussion of the supported format, see that function. + * + * Note: to verify that the returned font is identical to + * the one that was serialized, you can compare @bytes to the + * result of serializing the font again. + * + * Params: + * context = a `PangoContext` + * bytes = the bytes containing the data + * + * Returns: a new `PangoFont` + * + * Since: 1.50 + * + * Throws: GException on failure. + */ + public static PgFont deserialize(PgContext context, Bytes bytes) + { + GError* err = null; + + auto __p = pango_font_deserialize((context is null) ? null : context.getPgContextStruct(), (bytes is null) ? null : bytes.getBytesStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PgFont)(cast(PangoFont*) __p, true); + } + /** * Returns a description of the font, with font size set in points. * @@ -206,17 +248,18 @@ public class PgFont : ObjectG /** * Gets the font map for which the font was created. * - * Note that the font maintains a *weak* reference to the font map, so if - * all references to font map are dropped, the font map will be finalized - * even if there are fonts created with the font map that are still alive. + * Note that the font maintains a *weak* reference to + * the font map, so if all references to font map are + * dropped, the font map will be finalized even if there + * are fonts created with the font map that are still alive. * In that case this function will return %NULL. * - * It is the responsibility of the user to ensure that the font map is kept - * alive. In most uses this is not an issue as a #PangoContext holds - * a reference to the font map. + * It is the responsibility of the user to ensure that the + * font map is kept alive. In most uses this is not an issue + * as a `PangoContext` holds a reference to the font map. * - * Returns: the `PangoFontMap` for the - * font, or %NULL if @font is %NULL. + * Returns: the `PangoFontMap` + * for the font * * Since: 1.10 */ @@ -247,10 +290,8 @@ public class PgFont : ObjectG * * Params: * glyph = the glyph index - * inkRect = rectangle used to store the extents of the glyph - * as drawn or %NULL to indicate that the result is not needed. - * logicalRect = rectangle used to store the logical extents of - * the glyph or %NULL to indicate that the result is not needed. + * inkRect = rectangle used to store the extents of the glyph as drawn + * logicalRect = rectangle used to store the logical extents of the glyph */ public void getGlyphExtents(PangoGlyph glyph, out PangoRectangle inkRect, out PangoRectangle logicalRect) { @@ -260,11 +301,12 @@ public class PgFont : ObjectG /** * Get a `hb_font_t` object backing this font. * - * Note that the objects returned by this function are cached and immutable. - * If you need to make changes to the `hb_font_t`, use hb_font_create_sub_font(). + * Note that the objects returned by this function are cached + * and immutable. If you need to make changes to the `hb_font_t`, + * use [hb_font_create_sub_font()](https://harfbuzz.github.io/harfbuzz-hb-font.html#hb-font-create-sub-font). * - * Returns: the `hb_font_t` object backing the - * font, or %NULL if the font does not have one + * Returns: the `hb_font_t` object + * backing the font * * Since: 1.44 */ @@ -273,6 +315,38 @@ public class PgFont : ObjectG return pango_font_get_hb_font(pangoFont); } + /** + * Returns the languages that are supported by @font. + * + * If the font backend does not provide this information, + * %NULL is returned. For the fontconfig backend, this + * corresponds to the FC_LANG member of the FcPattern. + * + * The returned array is only valid as long as the font + * and its fontmap are valid. + * + * Returns: an array of `PangoLanguage` + * + * Since: 1.50 + */ + public PgLanguage[] getLanguages() + { + auto __p = pango_font_get_languages(pangoFont); + + if(__p is null) + { + return null; + } + + PgLanguage[] arr = new PgLanguage[getArrayLength(__p)]; + for(int i = 0; i < getArrayLength(__p); i++) + { + arr[i] = ObjectG.getDObject!(PgLanguage)(cast(PangoLanguage*) __p[i]); + } + + return arr; + } + /** * Gets overall metric information for a font. * @@ -306,15 +380,42 @@ public class PgFont : ObjectG /** * Returns whether the font provides a glyph for this character. * - * Returns %TRUE if @font can render @wc - * * Params: * wc = a Unicode character * + * Returns: `TRUE` if @font can render @wc + * * Since: 1.44 */ public bool hasChar(dchar wc) { return pango_font_has_char(pangoFont, wc) != 0; } + + /** + * Serializes the @font in a way that can be uniquely identified. + * + * There are no guarantees about the format of the output across different + * versions of Pango. + * + * The intended use of this function is testing, benchmarking and debugging. + * The format is not meant as a permanent storage format. + * + * To recreate a font from its serialized form, use [func@Pango.Font.deserialize]. + * + * Returns: a `GBytes` containing the serialized form of @font + * + * Since: 1.50 + */ + public Bytes serialize() + { + auto __p = pango_font_serialize(pangoFont); + + if(__p is null) + { + return null; + } + + return new Bytes(cast(GBytes*) __p, true); + } } diff --git a/generated/gtkd/pango/PgFontDescription.d b/source/generated/pango/pango/PgFontDescription.d similarity index 97% rename from generated/gtkd/pango/PgFontDescription.d rename to source/generated/pango/pango/PgFontDescription.d index 8a27aa30a..cf81b7a8f 100644 --- a/generated/gtkd/pango/PgFontDescription.d +++ b/source/generated/pango/pango/PgFontDescription.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; private import pango.c.functions; public import pango.c.types; @@ -72,7 +72,7 @@ public class PgFontDescription ~this () { - if ( Linker.isLoaded(LIBRARY_PANGO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_PANGO[0]) && ownedRef ) pango_font_description_free(pangoFontDescription); } @@ -532,7 +532,7 @@ public class PgFontDescription * * The [enum@Pango.Style] enumeration describes whether the font is * slanted and the manner in which it is slanted; it can be either - * #PANGO_STYLE_NORMAL, #PANGO_STYLE_ITALIC, or #PANGO_STYLE_OBLIQUE. + * %PANGO_STYLE_NORMAL, %PANGO_STYLE_ITALIC, or %PANGO_STYLE_OBLIQUE. * * Most fonts will either have a italic style or an oblique style, * but not both, and font matching in Pango will match italic @@ -576,7 +576,8 @@ public class PgFontDescription * and values are clamped to their allowed range. * * Pango does not currently have a way to find supported axes of - * a font. Both harfbuzz or freetype have API for this. + * a font. Both harfbuzz and freetype have API for this. See + * for example [hb_ot_var_get_axis_infos](https://harfbuzz.github.io/harfbuzz-hb-ot-var.html#hb-ot-var-get-axis-infos). * * Params: * variations = a string representing the variations @@ -645,7 +646,7 @@ public class PgFontDescription /** * Creates a string representation of a font description. * - * See [type_func@Pango.FontDescription.from_string] for a description + * See [func@Pango.FontDescription.from_string] for a description * of the format of the string representation. The family list in * the string description will only have a terminating comma if * the last word of the list is a valid style option. @@ -692,7 +693,8 @@ public class PgFontDescription * "Normal", "Roman", "Oblique", "Italic". * * The following words are understood as variants: - * "Small-Caps". + * "Small-Caps", "All-Small-Caps", "Petite-Caps", "All-Petite-Caps", + * "Unicase", "Title-Caps". * * The following words are understood as weights: * "Thin", "Ultra-Light", "Extra-Light", "Light", "Semi-Light", diff --git a/generated/gtkd/pango/PgFontFace.d b/source/generated/pango/pango/PgFontFace.d similarity index 85% rename from generated/gtkd/pango/PgFontFace.d rename to source/generated/pango/pango/PgFontFace.d index 5b082e323..2875c7276 100644 --- a/generated/gtkd/pango/PgFontFace.d +++ b/source/generated/pango/pango/PgFontFace.d @@ -73,8 +73,10 @@ public class PgFontFace : ObjectG } /** - * Returns the family, style, variant, weight and stretch of - * a `PangoFontFace`. The size field of the resulting font description + * Returns a font description that matches the face. + * + * The resulting font description will have the family, style, + * variant, weight and stretch of the face, but its size field * will be unset. * * Returns: a newly-created `PangoFontDescription` structure @@ -94,9 +96,11 @@ public class PgFontFace : ObjectG } /** - * Gets a name representing the style of this face among the - * different faces in the `PangoFontFamily` for the face. The - * name is suitable for displaying to users. + * Gets a name representing the style of this face. + * + * Note that a font family may contain multiple faces + * with the same name (e.g. a variable and a non-variable + * face for the same style). * * Returns: the face name for the face. This string is * owned by the face object and must not be modified or freed. @@ -126,11 +130,13 @@ public class PgFontFace : ObjectG } /** - * Returns whether a `PangoFontFace` is synthesized by the underlying - * font rendering engine from another face, perhaps by shearing, emboldening, - * or lightening it. + * Returns whether a `PangoFontFace` is synthesized. + * + * This will be the case if the underlying font rendering engine + * creates this face from another face, by shearing, emboldening, + * lightening or modifying it in some other way. * - * Returns: whether @face is synthesized. + * Returns: whether @face is synthesized * * Since: 1.18 */ diff --git a/generated/gtkd/pango/PgFontFamily.d b/source/generated/pango/pango/PgFontFamily.d similarity index 93% rename from generated/gtkd/pango/PgFontFamily.d rename to source/generated/pango/pango/PgFontFamily.d index a159d2954..85859ad04 100644 --- a/generated/gtkd/pango/PgFontFamily.d +++ b/source/generated/pango/pango/PgFontFamily.d @@ -143,6 +143,9 @@ public class PgFontFamily : ObjectG * A variable font is a font which has axes that can be modified to * produce different faces. * + * Such axes are also known as _variations_; see + * [method@Pango.FontDescription.set_variations] for more information. + * * Returns: %TRUE if the family is variable * * Since: 1.44 @@ -158,6 +161,12 @@ public class PgFontFamily : ObjectG * The faces in a family share a common design, but differ in slant, weight, * width and other aspects. * + * Note that the returned faces are not in any particular order, and + * multiple faces may have the same name or characteristics. + * + * `PangoFontFamily` also implemented the [iface@Gio.ListModel] interface + * for enumerating faces. + * * Params: * faces = location to store an array of pointers to `PangoFontFace` objects, * or %NULL. This array should be freed with g_free() when it is no diff --git a/generated/gtkd/pango/PgFontMap.d b/source/generated/pango/pango/PgFontMap.d similarity index 95% rename from generated/gtkd/pango/PgFontMap.d rename to source/generated/pango/pango/PgFontMap.d index 3409ae8be..c2efd9f58 100644 --- a/generated/gtkd/pango/PgFontMap.d +++ b/source/generated/pango/pango/PgFontMap.d @@ -170,8 +170,14 @@ public class PgFontMap : ObjectG /** * List all families for a fontmap. * + * Note that the returned families are not in any particular order. + * + * `PangoFontMap` also implemented the [iface@Gio.ListModel] interface + * for enumerating families. + * * Params: - * families = location to store a pointer to an array of `PangoFontFamily` *. + * families = location to + * store a pointer to an array of `PangoFontFamily` *. * This array should be freed with g_free(). */ public void listFamilies(out PgFontFamily[] families) diff --git a/generated/gtkd/pango/PgFontMetrics.d b/source/generated/pango/pango/PgFontMetrics.d similarity index 93% rename from generated/gtkd/pango/PgFontMetrics.d rename to source/generated/pango/pango/PgFontMetrics.d index c02e24cc8..5c92e1d54 100644 --- a/generated/gtkd/pango/PgFontMetrics.d +++ b/source/generated/pango/pango/PgFontMetrics.d @@ -25,7 +25,7 @@ module pango.PgFontMetrics; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; private import pango.c.functions; public import pango.c.types; @@ -38,6 +38,13 @@ public import pango.c.types; * to a script. The fields of this structure are private to implementations * of a font backend. See the documentation of the corresponding getters * for documentation of their meaning. + * + * For an overview of the most important metrics, see: + * + * + * + * Font metrics + * */ public class PgFontMetrics { @@ -70,7 +77,7 @@ public class PgFontMetrics ~this () { - if ( Linker.isLoaded(LIBRARY_PANGO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_PANGO[0]) && ownedRef ) pango_font_metrics_unref(pangoFontMetrics); } @@ -144,8 +151,8 @@ public class PgFontMetrics /** * Gets the line height from a font metrics structure. * - * The line height is the distance between successive baselines - * in wrapped text. + * The line height is the recommended distance between successive + * baselines in wrapped text using this font. * * If the line height is not available, 0 is returned. * @@ -233,6 +240,7 @@ public class PgFontMetrics /** * Decrease the reference count of a font metrics structure by one. + * * If the result is zero, frees the structure and any associated memory. */ public void unref() diff --git a/generated/gtkd/pango/PgFontset.d b/source/generated/pango/pango/PgFontset.d similarity index 88% rename from generated/gtkd/pango/PgFontset.d rename to source/generated/pango/pango/PgFontset.d index d6eb1c7d9..296eb146f 100644 --- a/generated/gtkd/pango/PgFontset.d +++ b/source/generated/pango/pango/PgFontset.d @@ -34,7 +34,7 @@ public import pango.c.types; /** * A `PangoFontset` represents a set of `PangoFont` to use when rendering text. * - * A `PAngoFontset` is the result of resolving a `PangoFontDescription` + * A `PangoFontset` is the result of resolving a `PangoFontDescription` * against a particular `PangoContext`. It has operations for finding the * component font for a particular Unicode character, and for finding a * composite set of metrics for the entire fontset. @@ -93,14 +93,13 @@ public class PgFontset : ObjectG } /** - * Returns the font in the fontset that contains the best glyph for a - * Unicode character. + * Returns the font in the fontset that contains the best + * glyph for a Unicode character. * * Params: * wc = a Unicode character * - * Returns: a `PangoFont`. The caller must call - * g_object_unref() when finished with the font. + * Returns: a `PangoFont` */ public PgFont getFont(uint wc) { @@ -117,8 +116,7 @@ public class PgFontset : ObjectG /** * Get overall metric information for the fonts in the fontset. * - * Returns: a #PangoFontMetrics object. The caller must call pango_font_metrics_unref() - * when finished using the object. + * Returns: a `PangoFontMetrics` object */ public PgFontMetrics getMetrics() { diff --git a/generated/gtkd/pango/PgFontsetSimple.d b/source/generated/pango/pango/PgFontsetSimple.d similarity index 95% rename from generated/gtkd/pango/PgFontsetSimple.d rename to source/generated/pango/pango/PgFontsetSimple.d index af69af084..382ff003d 100644 --- a/generated/gtkd/pango/PgFontsetSimple.d +++ b/source/generated/pango/pango/PgFontsetSimple.d @@ -81,8 +81,7 @@ public class PgFontsetSimple : PgFontset * Params: * language = a `PangoLanguage` tag * - * Returns: the newly allocated `PangoFontsetSimple`, which should - * be freed with g_object_unref(). + * Returns: the newly allocated `PangoFontsetSimple` * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -101,6 +100,8 @@ public class PgFontsetSimple : PgFontset /** * Adds a font to the fontset. * + * The fontset takes ownership of @font. + * * Params: * font = a `PangoFont`. */ @@ -112,7 +113,7 @@ public class PgFontsetSimple : PgFontset /** * Returns the number of fonts in the fontset. * - * Returns: the size of @fontset. + * Returns: the size of @fontset */ public int size() { diff --git a/generated/gtkd/pango/PgGlyphItem.d b/source/generated/pango/pango/PgGlyphItem.d similarity index 78% rename from generated/gtkd/pango/PgGlyphItem.d rename to source/generated/pango/pango/PgGlyphItem.d index 288ecc77c..c5cd1934a 100644 --- a/generated/gtkd/pango/PgGlyphItem.d +++ b/source/generated/pango/pango/PgGlyphItem.d @@ -28,7 +28,7 @@ private import glib.ListSG; private import glib.MemorySlice; private import glib.Str; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; private import pango.PgAttributeList; private import pango.PgGlyphString; private import pango.PgItem; @@ -75,7 +75,7 @@ public final class PgGlyphItem ~this () { - if ( Linker.isLoaded(LIBRARY_PANGO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_PANGO[0]) && ownedRef ) pango_glyph_item_free(pangoGlyphItem); } @@ -108,6 +108,51 @@ public final class PgGlyphItem pangoGlyphItem.glyphs = value.getPgGlyphStringStruct(); } + /** + * shift of the baseline, relative to the baseline + * of the containing line. Positive values shift upwards + */ + public @property int yOffset() + { + return pangoGlyphItem.yOffset; + } + + /** Ditto */ + public @property void yOffset(int value) + { + pangoGlyphItem.yOffset = value; + } + + /** + * horizontal displacement to apply before the + * glyph item. Positive values shift right + */ + public @property int startXOffset() + { + return pangoGlyphItem.startXOffset; + } + + /** Ditto */ + public @property void startXOffset(int value) + { + pangoGlyphItem.startXOffset = value; + } + + /** + * horizontal displacement to apply after th + * glyph item. Positive values shift right + */ + public @property int endXOffset() + { + return pangoGlyphItem.endXOffset; + } + + /** Ditto */ + public @property void endXOffset(int value) + { + pangoGlyphItem.endXOffset = value; + } + /** */ public static GType getType() { @@ -118,11 +163,10 @@ public final class PgGlyphItem * Splits a shaped item (`PangoGlyphItem`) into multiple items based * on an attribute list. * - * The idea is that if you have attributes - * that don't affect shaping, such as color or underline, to avoid - * affecting shaping, you filter them out ([method@Pango.AttrList.filter]), - * apply the shaping process and then reapply them to the result using - * this function. + * The idea is that if you have attributes that don't affect shaping, + * such as color or underline, to avoid affecting shaping, you filter + * them out ([method@Pango.AttrList.filter]), apply the shaping process + * and then reapply them to the result using this function. * * All attributes that start or end inside a cluster are applied * to that cluster; for instance, if half of a cluster is underlined @@ -160,9 +204,7 @@ public final class PgGlyphItem /** * Make a deep copy of an existing `PangoGlyphItem` structure. * - * Returns: the newly allocated `PangoGlyphItem`, which should - * be freed with pango_glyph_item_free(), or %NULL - * if @orig was %NULL. + * Returns: the newly allocated `PangoGlyphItem` * * Since: 1.20 */ @@ -190,11 +232,11 @@ public final class PgGlyphItem } /** - * Given a `PangoGlyphItem` and the corresponding text, determine the width - * corresponding to each character. + * Given a `PangoGlyphItem` and the corresponding text, determine the + * width corresponding to each character. * - * When multiple characters compose a single cluster, the width of the entire - * cluster is divided equally among the characters. + * When multiple characters compose a single cluster, the width of the + * entire cluster is divided equally among the characters. * * See also [method@Pango.GlyphString.get_logical_widths]. * @@ -203,9 +245,8 @@ public final class PgGlyphItem * (glyph_item->item->offset is an offset from the * start of @text) * logicalWidths = an array whose length is the number of - * characters in glyph_item (equal to - * glyph_item->item->num_chars) to be filled in with - * the resulting character widths. + * characters in glyph_item (equal to glyph_item->item->num_chars) + * to be filled in with the resulting character widths. * * Since: 1.26 */ @@ -241,18 +282,18 @@ public final class PgGlyphItem * returns a new item that covers the text before @split_index that * used to be in @orig. * - * You can think of @split_index as the length of - * the returned item. @split_index may not be 0, and it may not be - * greater than or equal to the length of @orig (that is, there must - * be at least one byte assigned to each item, you can't create a - * zero-length item). + * You can think of @split_index as the length of the returned item. + * @split_index may not be 0, and it may not be greater than or equal + * to the length of @orig (that is, there must be at least one byte + * assigned to each item, you can't create a zero-length item). * * This function is similar in function to pango_item_split() (and uses * it internally.) * * Params: * text = text to which positions in @orig apply - * splitIndex = byte index of position to split item, relative to the start of the item + * splitIndex = byte index of position to split item, relative to the + * start of the item * * Returns: the newly allocated item representing text before * @split_index, which should be freed diff --git a/generated/gtkd/pango/PgGlyphItemIter.d b/source/generated/pango/pango/PgGlyphItemIter.d similarity index 97% rename from generated/gtkd/pango/PgGlyphItemIter.d rename to source/generated/pango/pango/PgGlyphItemIter.d index 3e5205cd9..73e2bc309 100644 --- a/generated/gtkd/pango/PgGlyphItemIter.d +++ b/source/generated/pango/pango/PgGlyphItemIter.d @@ -28,7 +28,7 @@ private import glib.MemorySlice; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; private import pango.PgGlyphItem; private import pango.c.functions; public import pango.c.types; @@ -109,7 +109,7 @@ public final class PgGlyphItemIter ~this () { - if ( Linker.isLoaded(LIBRARY_PANGO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_PANGO[0]) && ownedRef ) pango_glyph_item_iter_free(pangoGlyphItemIter); } @@ -219,9 +219,7 @@ public final class PgGlyphItemIter /** * Make a shallow copy of an existing `PangoGlyphItemIter` structure. * - * Returns: the newly allocated `PangoGlyphItemIter`, - * which should be freed with pango_glyph_item_iter_free(), or %NULL - * if @orig was %NULL. + * Returns: the newly allocated `PangoGlyphItemIter` * * Since: 1.22 */ diff --git a/generated/gtkd/pango/PgGlyphString.d b/source/generated/pango/pango/PgGlyphString.d similarity index 79% rename from generated/gtkd/pango/PgGlyphString.d rename to source/generated/pango/pango/PgGlyphString.d index ef74bfff1..271e35653 100644 --- a/generated/gtkd/pango/PgGlyphString.d +++ b/source/generated/pango/pango/PgGlyphString.d @@ -27,7 +27,7 @@ module pango.PgGlyphString; private import glib.ConstructionException; private import glib.Str; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; private import pango.PgFont; private import pango.c.functions; public import pango.c.types; @@ -71,7 +71,7 @@ public class PgGlyphString ~this () { - if ( Linker.isLoaded(LIBRARY_PANGO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_PANGO[0]) && ownedRef ) pango_glyph_string_free(pangoGlyphString); } @@ -105,9 +105,7 @@ public class PgGlyphString /** * Copy a glyph string and associated storage. * - * Returns: the newly allocated `PangoGlyphString`, - * which should be freed with [method@Pango.GlyphString.free], - * or %NULL if @string was %NULL. + * Returns: the newly allocated `PangoGlyphString` */ public PgGlyphString copy() { @@ -133,10 +131,8 @@ public class PgGlyphString * * Params: * font = a `PangoFont` - * inkRect = rectangle used to store the extents of the glyph string - * as drawn or %NULL to indicate that the result is not needed. - * logicalRect = rectangle used to store the logical extents of the - * glyph string or %NULL to indicate that the result is not needed. + * inkRect = rectangle used to store the extents of the glyph string as drawn + * logicalRect = rectangle used to store the logical extents of the glyph string */ public void extents(PgFont font, out PangoRectangle inkRect, out PangoRectangle logicalRect) { @@ -156,11 +152,9 @@ public class PgGlyphString * indices such that start <= index < end) * font = a `PangoFont` * inkRect = rectangle used to - * store the extents of the glyph string range as drawn or - * %NULL to indicate that the result is not needed. + * store the extents of the glyph string range as drawn * logicalRect = rectangle used to - * store the logical extents of the glyph string range or - * %NULL to indicate that the result is not needed. + * store the logical extents of the glyph string range */ public void extentsRange(int start, int end, PgFont font, out PangoRectangle inkRect, out PangoRectangle logicalRect) { @@ -190,9 +184,8 @@ public class PgGlyphString * length = the length of @text, in bytes * embeddingLevel = the embedding level of the string * logicalWidths = an array whose length is the number of - * characters in text (equal to g_utf8_strlen (text, - * length) unless text has NUL bytes) to be filled in - * with the resulting character widths. + * characters in text (equal to `g_utf8_strlen (text, length)` unless + * text has `NUL` bytes) to be filled in with the resulting character widths. */ public void getLogicalWidths(string text, int length, int embeddingLevel, int[] logicalWidths) { @@ -220,8 +213,14 @@ public class PgGlyphString * Converts from character position to x position. * * The X position is measured from the left edge of the run. - * Character positions are computed by dividing up each cluster - * into equal portions. + * Character positions are obtained using font metrics for ligatures + * where available, and computed by dividing up each cluster + * into equal portions, otherwise. + * + * + * + * Glyph positions + * * * Params: * text = the text for the run @@ -237,11 +236,36 @@ public class PgGlyphString pango_glyph_string_index_to_x(pangoGlyphString, Str.toStringz(text), length, analysis, index, trailing, &xPos); } + /** + * Converts from character position to x position. + * + * This variant of [method@Pango.GlyphString.index_to_x] additionally + * accepts a `PangoLogAttr` array. The grapheme boundary information + * in it can be used to disambiguate positioning inside some complex + * clusters. + * + * Params: + * text = the text for the run + * length = the number of bytes (not characters) in @text. + * analysis = the analysis information return from [func@itemize] + * attrs = `PangoLogAttr` array for @text + * index = the byte index within @text + * trailing = whether we should compute the result for the beginning (%FALSE) + * or end (%TRUE) of the character. + * xPos = location to store result + * + * Since: 1.50 + */ + public void indexToXFull(string text, int length, PangoAnalysis* analysis, PangoLogAttr* attrs, int index, bool trailing, out int xPos) + { + pango_glyph_string_index_to_x_full(pangoGlyphString, Str.toStringz(text), length, analysis, attrs, index, trailing, &xPos); + } + /** * Resize a glyph string to the given length. * * Params: - * newLen = the new length of the string. + * newLen = the new length of the string */ public void setSize(int newLen) { @@ -263,9 +287,8 @@ public class PgGlyphString * analysis = the analysis information return from [func@itemize] * xPos = the x offset (in Pango units) * index = location to store calculated byte index within @text - * trailing = location to store a boolean indicating - * whether the user clicked on the leading or trailing - * edge of the character. + * trailing = location to store a boolean indicating whether the + * user clicked on the leading or trailing edge of the character */ public void xToIndex(string text, int length, PangoAnalysis* analysis, int xPos, out int index, out int trailing) { diff --git a/generated/gtkd/pango/PgItem.d b/source/generated/pango/pango/PgItem.d similarity index 96% rename from generated/gtkd/pango/PgItem.d rename to source/generated/pango/pango/PgItem.d index bf37ff9b2..a56c3f2ed 100644 --- a/generated/gtkd/pango/PgItem.d +++ b/source/generated/pango/pango/PgItem.d @@ -27,7 +27,7 @@ module pango.PgItem; private import glib.ConstructionException; private import glib.MemorySlice; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; private import pango.PgAttributeIterator; private import pango.c.functions; public import pango.c.types; @@ -70,7 +70,7 @@ public final class PgItem ~this () { - if ( Linker.isLoaded(LIBRARY_PANGO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_PANGO[0]) && ownedRef ) pango_item_free(pangoItem); } @@ -183,9 +183,7 @@ public final class PgItem /** * Copy an existing `PangoItem` structure. * - * Returns: the newly allocated `PangoItem`, which - * should be freed with [method@Pango.Item.free], or %NULL if - * @item was %NULL. + * Returns: the newly allocated `PangoItem` */ public PgItem copy() { diff --git a/generated/gtkd/pango/PgLanguage.d b/source/generated/pango/pango/PgLanguage.d similarity index 79% rename from generated/gtkd/pango/PgLanguage.d rename to source/generated/pango/pango/PgLanguage.d index 1cf0949d3..4ab6c60e0 100644 --- a/generated/gtkd/pango/PgLanguage.d +++ b/source/generated/pango/pango/PgLanguage.d @@ -84,7 +84,7 @@ public class PgLanguage * as sample text in a font selection dialog. * * If @language is %NULL, the default language as found by - * [type_func@Pango.Language.get_default] is used. + * [func@Pango.Language.get_default] is used. * * If Pango does not have a sample string for @language, the classic * "The quick brown fox..." is returned. This can be detected by @@ -95,8 +95,7 @@ public class PgLanguage * pango_language_get_sample_string (pango_language_from_string ("xx")) * ``` * - * Returns: the sample string. This value is owned by Pango - * and should not be freed. + * Returns: the sample string */ public string getSampleString() { @@ -121,19 +120,17 @@ public class PgLanguage * though, except that it is positive if the return value is not * %NULL, and it is a small number. * - * The [method@Pango.Language.includes_script] function uses this function - * internally. + * The [method@Pango.Language.includes_script] function uses this + * function internally. * * Note: while the return value is declared as `PangoScript`, the * returned values are from the `GUnicodeScript` enumeration, which * may have more values. Callers need to handle unknown values. * - * Returns: An array of - * `PangoScript` values, with the number of entries in the array - * stored in @num_scripts, or %NULL if Pango does not have any - * information about this particular language tag (also the case - * if @language is %NULL). The returned array is owned by Pango - * and should not be modified or freed. + * Returns: An array of `PangoScript` values, with the number of entries in + * the array stored in @num_scripts, or %NULL if Pango does not have + * any information about this particular language tag (also the case + * if @language is %NULL). * * Since: 1.22 */ @@ -148,10 +145,11 @@ public class PgLanguage /** * Determines if @script is one of the scripts used to - * write @language. The returned value is conservative; - * if nothing is known about the language tag @language, - * %TRUE will be returned, since, as far as Pango knows, - * @script might be used to write @language. + * write @language. + * + * The returned value is conservative; if nothing is known about + * the language tag @language, %TRUE will be returned, since, as + * far as Pango knows, @script might be used to write @language. * * This routine is used in Pango's itemization process when * determining if a supplied language tag is relevant to @@ -178,18 +176,17 @@ public class PgLanguage * Checks if a language tag matches one of the elements in a list of * language ranges. * - * A language tag is considered to match a range - * in the list if the range is '*', the range is exactly the tag, - * or the range is a prefix of the tag, and the character after it - * in the tag is '-'. + * A language tag is considered to match a range in the list if the + * range is '*', the range is exactly the tag, or the range is a prefix + * of the tag, and the character after it in the tag is '-'. * * Params: * rangeList = a list of language ranges, separated by ';', ':', * ',', or space characters. * Each element must either be '*', or a RFC 3066 language range - * canonicalized as by [type_func@Pango.Language.from_string] + * canonicalized as by [func@Pango.Language.from_string] * - * Returns: %TRUE if a match was found. + * Returns: %TRUE if a match was found */ public bool matches(string rangeList) { @@ -199,8 +196,7 @@ public class PgLanguage /** * Gets the RFC-3066 format string representing the given language tag. * - * Returns: a string representing the language tag. This is owned by - * Pango and should not be freed. + * Returns (transfer none): a string representing the language tag */ public override string toString() { @@ -218,15 +214,13 @@ public class PgLanguage * lowercase, mapping '_' to '-', and stripping all characters other * than letters and '-'. * - * Use [type_func@Pango.Language.get_default] if you want to get the `PangoLanguage` - * for the current locale of the process. + * Use [func@Pango.Language.get_default] if you want to get the + * `PangoLanguage` for the current locale of the process. * * Params: - * language = a string representing a language tag, or %NULL + * language = a string representing a language tag * - * Returns: an opaque pointer to a - * `PangoLanguage` structure, or %NULL if @language was %NULL. The - * returned pointer will be valid forever after, and should not be freed. + * Returns: a `PangoLanguage` */ public static PgLanguage fromString(string language) { @@ -269,8 +263,11 @@ public class PgLanguage * * Note that the default language can change over the life of an application. * - * Returns: the default language as a - * `PangoLanguage`, must not be freed. + * Also note that this function will not do the right thing if you + * use per-thread locales with uselocale(). In that case, you should + * just call pango_language_from_string() yourself. + * + * Returns: the default language as a `PangoLanguage` * * Since: 1.16 */ @@ -289,17 +286,18 @@ public class PgLanguage /** * Returns the list of languages that the user prefers. * - * The list is specified by the `PANGO_LANGUAGE` or `LANGUAGE` environment - * variables, in order of preference. Note that this list does not necessarily - * include the language returned by [type_func@Pango.Language.get_default]. + * The list is specified by the `PANGO_LANGUAGE` or `LANGUAGE` + * environment variables, in order of preference. Note that this + * list does not necessarily include the language returned by + * [func@Pango.Language.get_default]. * * When choosing language-specific resources, such as the sample - * text returned by [method@Pango.Language.get_sample_string], you should - * first try the default language, followed by the languages returned - * by this function. + * text returned by [method@Pango.Language.get_sample_string], + * you should first try the default language, followed by the + * languages returned by this function. * - * Returns: a %NULL-terminated array of - * `PangoLanguage`* + * Returns: a %NULL-terminated array + * of `PangoLanguage`* * * Since: 1.48 */ diff --git a/generated/gtkd/pango/PgLayout.d b/source/generated/pango/pango/PgLayout.d similarity index 75% rename from generated/gtkd/pango/PgLayout.d rename to source/generated/pango/pango/PgLayout.d index db3ae4568..a8fe04610 100644 --- a/generated/gtkd/pango/PgLayout.d +++ b/source/generated/pango/pango/PgLayout.d @@ -24,7 +24,10 @@ module pango.PgLayout; +private import glib.Bytes; private import glib.ConstructionException; +private import glib.ErrorG; +private import glib.GException; private import glib.ListSG; private import glib.Str; private import glib.c.functions; @@ -61,7 +64,20 @@ public import pango.c.types; * `PangoLayout`. The following image shows adjustable parameters * (on the left) and font metrics (on the right): * - * ![Pango Layout Parameters](layout.png) + * + * + * Pango Layout Parameters + * + * + * The following images demonstrate the effect of alignment and + * justification on the layout of text: + * + * | | | + * | --- | --- | + * | ![align=left](align-left.png) | ![align=left, justify](align-left-justify.png) | + * | ![align=center](align-center.png) | ![align=center, justify](align-center-justify.png) | + * | ![align=right](align-right.png) | ![align=right, justify](align-right-justify.png) | + * * * It is possible, as well, to ignore the 2-D setup, * and simply treat the results of a `PangoLayout` as a list of lines. @@ -108,8 +124,7 @@ public class PgLayout : ObjectG * Params: * context = a `PangoContext` * - * Returns: the newly allocated `PangoLayout`, with a reference - * count of one, which should be freed with g_object_unref(). + * Returns: the newly allocated `PangoLayout` * * Throws: ConstructionException GTK+ fails to create the object. */ @@ -125,6 +140,45 @@ public class PgLayout : ObjectG this(cast(PangoLayout*) __p, true); } + /** + * Loads data previously created via [method@Pango.Layout.serialize]. + * + * For a discussion of the supported format, see that function. + * + * Note: to verify that the returned layout is identical to + * the one that was serialized, you can compare @bytes to the + * result of serializing the layout again. + * + * Params: + * context = a `PangoContext` + * bytes = the bytes containing the data + * flags = `PangoLayoutDeserializeFlags` + * + * Returns: a new `PangoLayout` + * + * Since: 1.50 + * + * Throws: GException on failure. + */ + public static PgLayout deserialize(PgContext context, Bytes bytes, PangoLayoutDeserializeFlags flags) + { + GError* err = null; + + auto __p = pango_layout_deserialize((context is null) ? null : context.getPgContextStruct(), (bytes is null) ? null : bytes.getBytesStruct(), flags, &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PgLayout)(cast(PangoLayout*) __p, true); + } + /** * Forces recomputation of any state in the `PangoLayout` that * might depend on the layout's context. @@ -143,9 +197,7 @@ public class PgLayout : ObjectG * The attribute list, tab array, and text from the original layout * are all copied by value. * - * Returns: the newly allocated `PangoLayout`, - * with a reference count of one, which should be freed - * with g_object_unref(). + * Returns: the newly allocated `PangoLayout` */ public PgLayout copy() { @@ -163,7 +215,7 @@ public class PgLayout : ObjectG * Gets the alignment for the layout: how partial lines are * positioned within the horizontal space available. * - * Returns: the alignment. + * Returns: the alignment */ public PangoAlignment getAlignment() { @@ -173,8 +225,7 @@ public class PgLayout : ObjectG /** * Gets the attribute list for the layout, if any. * - * Returns: a `PangoAttrList` or %NULL - * if none was set. + * Returns: a `PangoAttrList` */ public PgAttributeList getAttributes() { @@ -195,7 +246,7 @@ public class PgLayout : ObjectG * See [method@Pango.Layout.set_auto_dir]. * * Returns: %TRUE if the bidirectional base direction - * is computed from the layout's contents, %FALSE otherwise. + * is computed from the layout's contents, %FALSE otherwise * * Since: 1.4 */ @@ -207,7 +258,7 @@ public class PgLayout : ObjectG /** * Gets the Y position of baseline of the first line in @layout. * - * Returns: baseline of first line, from top of @layout. + * Returns: baseline of first line, from top of @layout * * Since: 1.22 */ @@ -216,6 +267,31 @@ public class PgLayout : ObjectG return pango_layout_get_baseline(pangoLayout); } + /** + * Given an index within a layout, determines the positions that of the + * strong and weak cursors if the insertion point is at that index. + * + * This is a variant of [method@Pango.Layout.get_cursor_pos] that applies + * font metric information about caret slope and offset to the positions + * it returns. + * + * + * + * Caret metrics + * + * + * Params: + * index = the byte index of the cursor + * strongPos = location to store the strong cursor position + * weakPos = location to store the weak cursor position + * + * Since: 1.50 + */ + public void getCaretPos(int index, out PangoRectangle strongPos, out PangoRectangle weakPos) + { + pango_layout_get_caret_pos(pangoLayout, index, &strongPos, &weakPos); + } + /** * Returns the number of Unicode characters in the * the text of @layout. @@ -233,9 +309,7 @@ public class PgLayout : ObjectG /** * Retrieves the `PangoContext` used for this layout. * - * Returns: the `PangoContext` for the layout. - * This does not have an additional refcount added, so if you want to - * keep a copy of this around, you must reference it yourself. + * Returns: the `PangoContext` for the layout */ public PgContext getContext() { @@ -253,18 +327,35 @@ public class PgLayout : ObjectG * Given an index within a layout, determines the positions that of the * strong and weak cursors if the insertion point is at that index. * - * The position of each cursor is stored as a zero-width rectangle. + * The position of each cursor is stored as a zero-width rectangle + * with the height of the run extents. + * + * + * + * Cursor positions + * + * * The strong cursor location is the location where characters of the * directionality equal to the base direction of the layout are inserted. * The weak cursor location is the location where characters of the * directionality opposite to the base direction of the layout are inserted. * + * The following example shows text with both a strong and a weak cursor. + * + * + * + * Strong and weak cursors + * + * + * The strong cursor has a little arrow pointing to the right, the weak + * cursor to the left. Typing a 'c' in this situation will insert the + * character after the 'b', and typing another Hebrew character, like 'ג', + * will insert it at the end. + * * Params: * index = the byte index of the cursor - * strongPos = location to store the strong - * cursor position (may be %NULL) - * weakPos = location to store the weak cursor - * position (may be %NULL) + * strongPos = location to store the strong cursor position + * weakPos = location to store the weak cursor position */ public void getCursorPos(int index, out PangoRectangle strongPos, out PangoRectangle weakPos) { @@ -294,7 +385,7 @@ public class PgLayout : ObjectG * Use [method@Pango.Layout.is_ellipsized] to query whether any * paragraphs were actually ellipsized. * - * Returns: the current ellipsization mode for @layout. + * Returns: the current ellipsization mode for @layout * * Since: 1.6 */ @@ -317,9 +408,9 @@ public class PgLayout : ObjectG * * Params: * inkRect = rectangle used to store the extents of the - * layout as drawn or %NULL to indicate that the result is not needed. + * layout as drawn * logicalRect = rectangle used to store the logical - * extents of the layout or %NULL to indicate that the result is not needed. + * extents of the layout */ public void getExtents(out PangoRectangle inkRect, out PangoRectangle logicalRect) { @@ -329,10 +420,9 @@ public class PgLayout : ObjectG /** * Gets the font description for the layout, if any. * - * Returns: a pointer to the layout's font - * description, or %NULL if the font description from the layout's - * context is inherited. This value is owned by the layout and must - * not be modified or freed. + * Returns: a pointer to the + * layout's font description, or %NULL if the font description + * from the layout's context is inherited. * * Since: 1.8 */ @@ -368,7 +458,7 @@ public class PgLayout : ObjectG * * A negative value indicates a hanging indentation. * - * Returns: the indent in Pango units. + * Returns: the indent in Pango units */ public int getIndent() { @@ -378,8 +468,7 @@ public class PgLayout : ObjectG /** * Returns an iterator to iterate over the visual extents of the layout. * - * Returns: the new `PangoLayoutIter` that should be freed using - * [method@Pango.LayoutIter.free]. + * Returns: the new `PangoLayoutIter` */ public PgLayoutIter getIter() { @@ -397,13 +486,26 @@ public class PgLayout : ObjectG * Gets whether each complete line should be stretched to fill the entire * width of the layout. * - * Returns: the justify. + * Returns: the justify value */ public bool getJustify() { return pango_layout_get_justify(pangoLayout) != 0; } + /** + * Gets whether the last line should be stretched + * to fill the entire width of the layout. + * + * Returns: the justify value + * + * Since: 1.50 + */ + public bool getJustifyLastLine() + { + return pango_layout_get_justify_last_line(pangoLayout) != 0; + } + /** * Retrieves a particular line from a `PangoLayout`. * @@ -434,7 +536,7 @@ public class PgLayout : ObjectG /** * Retrieves the count of lines for the @layout. * - * Returns: the line count. + * Returns: the line count */ public int getLineCount() { @@ -538,7 +640,7 @@ public class PgLayout : ObjectG * the @layout. * * Params: - * attrs = location to store a pointer to an array of logical attributes + * attrs = location to store a pointer to an array of logical attributes. * This value must be freed with g_free(). */ public void getLogAttrs(out PangoLogAttr[] attrs) @@ -583,13 +685,13 @@ public class PgLayout : ObjectG * This function just calls [method@Pango.Layout.get_extents] followed by * two [func@extents_to_pixels] calls, rounding @ink_rect and @logical_rect * such that the rounded rectangles fully contain the unrounded one (that is, - * passes them as first argument to `pango_extents_to_pixels()`). + * passes them as first argument to [func@Pango.extents_to_pixels]). * * Params: * inkRect = rectangle used to store the extents of the - * layout as drawn or %NULL to indicate that the result is not needed. + * layout as drawn * logicalRect = rectangle used to store the logical - * extents of the layout or %NULL to indicate that the result is not needed. + * extents of the layout */ public void getPixelExtents(out PangoRectangle inkRect, out PangoRectangle logicalRect) { @@ -601,12 +703,12 @@ public class PgLayout : ObjectG * units. * * [method@Pango.Layout.get_size] returns the width and height - * scaled by %PANGO_SCALE. This is simply a convenience function around - * [method@Pango.Layout.get_pixel_extents]. + * scaled by %PANGO_SCALE. This is simply a convenience function + * around [method@Pango.Layout.get_pixel_extents]. * * Params: - * width = location to store the logical width, or %NULL - * height = location to store the logical height, or %NULL + * width = location to store the logical width + * height = location to store the logical height */ public void getPixelSize(out int width, out int height) { @@ -641,8 +743,8 @@ public class PgLayout : ObjectG * * See [method@Pango.Layout.set_single_paragraph_mode]. * - * Returns: %TRUE if the layout does not break paragraphs at - * paragraph separator characters, %FALSE otherwise. + * Returns: %TRUE if the layout does not break paragraphs + * at paragraph separator characters, %FALSE otherwise */ public bool getSingleParagraphMode() { @@ -656,8 +758,8 @@ public class PgLayout : ObjectG * This is simply a convenience function around [method@Pango.Layout.get_extents]. * * Params: - * width = location to store the logical width, or %NULL - * height = location to store the logical height, or %NULL + * width = location to store the logical width + * height = location to store the logical height */ public void getSize(out int width, out int height) { @@ -667,7 +769,7 @@ public class PgLayout : ObjectG /** * Gets the amount of spacing between the lines of the layout. * - * Returns: the spacing in Pango units. + * Returns: the spacing in Pango units */ public int getSpacing() { @@ -682,8 +784,7 @@ public class PgLayout : ObjectG * * The return value should be freed with [method@Pango.TabArray.free]. * - * Returns: a copy of the tabs for this layout, - * or %NULL. + * Returns: a copy of the tabs for this layout */ public PgTabArray getTabs() { @@ -698,10 +799,11 @@ public class PgLayout : ObjectG } /** - * Gets the text in the layout. The returned text should not - * be freed or modified. + * Gets the text in the layout. + * + * The returned text should not be freed or modified. * - * Returns: the text in the @layout. + * Returns: the text in the @layout */ public string getText() { @@ -716,7 +818,7 @@ public class PgLayout : ObjectG * used in combination with %PANGO_ATTR_FALLBACK, to check if a * certain font supports all the characters in the string. * - * Returns: The number of unknown glyphs in @layout. + * Returns: The number of unknown glyphs in @layout * * Since: 1.16 */ @@ -754,14 +856,14 @@ public class PgLayout : ObjectG * The X position is measured from the left edge of the line. * * Params: - * index = the byte index of a grapheme within the layout. + * index = the byte index of a grapheme within the layout * trailing = an integer indicating the edge of the grapheme to retrieve the * position of. If > 0, the trailing edge of the grapheme, if 0, - * the leading of the grapheme. + * the leading of the grapheme * line = location to store resulting line index. (which will - * between 0 and pango_layout_get_line_count(layout) - 1), or %NULL + * between 0 and pango_layout_get_line_count(layout) - 1) * xPos = location to store resulting position within line - * (%PANGO_SCALE units per device unit), or %NULL + * (%PANGO_SCALE units per device unit) */ public void indexToLineX(int index, bool trailing, out int line, out int xPos) { @@ -794,8 +896,8 @@ public class PgLayout : ObjectG * and there are paragraphs exceeding that width that have to be * ellipsized. * - * Returns: %TRUE if any paragraphs had to be ellipsized, %FALSE - * otherwise. + * Returns: %TRUE if any paragraphs had to be ellipsized, + * %FALSE otherwise * * Since: 1.16 */ @@ -813,7 +915,7 @@ public class PgLayout : ObjectG * to be wrapped. * * Returns: %TRUE if any paragraphs had to be wrapped, %FALSE - * otherwise. + * otherwise * * Since: 1.16 */ @@ -823,13 +925,12 @@ public class PgLayout : ObjectG } /** - * Computes a new cursor position from an old position and a count of - * positions to move visually. + * Computes a new cursor position from an old position and a direction. * - * If @direction is positive, then the new strong cursor position will be - * one position to the right of the old cursor position. If @direction is - * negative, then the new strong cursor position will be one position to - * the left of the old cursor position. + * If @direction is positive, then the new position will cause the strong + * or weak cursor to be displayed one position to right of where it was + * with the old cursor position. If @direction is negative, it will be + * moved to the left. * * In the presence of bidirectional text, the correspondence between * logical and visual order will depend on the direction of the current @@ -837,20 +938,19 @@ public class PgLayout : ObjectG * of a run. * * Motion here is in cursor positions, not in characters, so a single - * call to [method@Pango.Layout.move_cursor_visually] may move the cursor over - * multiple characters when multiple characters combine to form a single - * grapheme. + * call to this function may move the cursor over multiple characters + * when multiple characters combine to form a single grapheme. * * Params: * strong = whether the moving cursor is the strong cursor or the * weak cursor. The strong cursor is the cursor corresponding * to text insertion in the base direction for the layout. - * oldIndex = the byte index of the grapheme for the old index + * oldIndex = the byte index of the current cursor position * oldTrailing = if 0, the cursor was at the leading edge of the * grapheme indicated by @old_index, if > 0, the cursor * was at the trailing edge. * direction = direction to move cursor. A negative - * value indicates motion to the left. + * value indicates motion to the left * newIndex = location to store the new cursor byte index. * A value of -1 indicates that the cursor has been moved off the * beginning of the layout. A value of %G_MAXINT indicates that @@ -867,10 +967,41 @@ public class PgLayout : ObjectG pango_layout_move_cursor_visually(pangoLayout, strong, oldIndex, oldTrailing, direction, &newIndex, &newTrailing); } + /** + * Serializes the @layout for later deserialization via [func@Pango.Layout.deserialize]. + * + * There are no guarantees about the format of the output across different + * versions of Pango and [func@Pango.Layout.deserialize] will reject data + * that it cannot parse. + * + * The intended use of this function is testing, benchmarking and debugging. + * The format is not meant as a permanent storage format. + * + * Params: + * flags = `PangoLayoutSerializeFlags` + * + * Returns: a `GBytes` containing the serialized form of @layout + * + * Since: 1.50 + */ + public Bytes serialize(PangoLayoutSerializeFlags flags) + { + auto __p = pango_layout_serialize(pangoLayout, flags); + + if(__p is null) + { + return null; + } + + return new Bytes(cast(GBytes*) __p, true); + } + /** * Sets the alignment for the layout: how partial lines are * positioned within the horizontal space available. * + * The default alignment is %PANGO_ALIGN_LEFT. + * * Params: * alignment = the alignment */ @@ -881,10 +1012,11 @@ public class PgLayout : ObjectG /** * Sets the text attributes for a layout object. + * * References @attrs, so the caller can unref its reference. * * Params: - * attrs = a #PangoAttrList, can be %NULL + * attrs = a `PangoAttrList` */ public void setAttributes(PgAttributeList attrs) { @@ -911,7 +1043,7 @@ public class PgLayout : ObjectG * * Params: * autoDir = if %TRUE, compute the bidirectional base direction - * from the layout's contents. + * from the layout's contents * * Since: 1.4 */ @@ -932,6 +1064,9 @@ public class PgLayout : ObjectG * force it to be layed out in multiple paragraphs, then whether * each paragraph is ellipsized separately or the entire layout * is ellipsized as a whole depends on the set height of the layout. + * + * The default value is %PANGO_ELLIPSIZE_NONE. + * * See [method@Pango.Layout.set_height] for details. * * Params: @@ -947,11 +1082,11 @@ public class PgLayout : ObjectG /** * Sets the default font description for the layout. * - * If no font description is set on the layout, the font description from - * the layout's context is used. + * If no font description is set on the layout, the + * font description from the layout's context is used. * * Params: - * desc = the new `PangoFontDescription`, or %NULL + * desc = the new `PangoFontDescription` * to unset the current font description */ public void setFontDescription(PgFontDescription desc) @@ -974,7 +1109,7 @@ public class PgLayout : ObjectG * If @height is negative, it will be the (negative of) maximum number of lines * per paragraph. That is, the total number of lines shown may well be more than * this value if the layout contains multiple paragraphs of text. - * The default value of -1 means that first line of each paragraph is ellipsized. + * The default value of -1 means that the first line of each paragraph is ellipsized. * This behavior may be changed in the future to act per layout instead of per * paragraph. File a bug against pango at * [https://gitlab.gnome.org/gnome/pango](https://gitlab.gnome.org/gnome/pango) @@ -1007,8 +1142,10 @@ public class PgLayout : ObjectG * The indent setting is ignored if layout alignment is set to * %PANGO_ALIGN_CENTER. * + * The default value is 0. + * * Params: - * indent = the amount by which to indent. + * indent = the amount by which to indent */ public void setIndent(int indent) { @@ -1026,14 +1163,41 @@ public class PgLayout : ObjectG * Note that this setting is not implemented and so is ignored in * Pango older than 1.18. * + * Note that tabs and justification conflict with each other: + * Justification will move content away from its tab-aligned + * positions. + * + * The default value is %FALSE. + * + * Also see [method@Pango.Layout.set_justify_last_line]. + * * Params: - * justify = whether the lines in the layout should be justified. + * justify = whether the lines in the layout should be justified */ public void setJustify(bool justify) { pango_layout_set_justify(pangoLayout, justify); } + /** + * Sets whether the last line should be stretched to fill the + * entire width of the layout. + * + * This only has an effect if [method@Pango.Layout.set_justify] has + * been called as well. + * + * The default value is %FALSE. + * + * Params: + * justify = whether the last line in the layout should be justified + * + * Since: 1.50 + */ + public void setJustifyLastLine(bool justify) + { + pango_layout_set_justify_last_line(pangoLayout, justify); + } + /** * Sets a factor for line spacing. * @@ -1047,7 +1211,10 @@ public class PgLayout : ObjectG * (as determined by the font(s)). In this case, the spacing * set with [method@Pango.Layout.set_spacing] is ignored. * - * If @factor is zero, spacing is applied as before. + * If @factor is zero (the default), spacing is applied as before. + * + * Note: for semantics that are closer to the CSS line-height + * property, see [func@Pango.attr_line_height_new]. * * Params: * factor = the new line spacing factor @@ -1063,15 +1230,16 @@ public class PgLayout : ObjectG * Sets the layout text and attribute list from marked-up text. * * See [Pango Markup](pango_markup.html)). + * * Replaces the current text and attribute list. * - * This is the Same as [method@Pango.Layout.set_markup_with_accel], + * This is the same as [method@Pango.Layout.set_markup_with_accel], * but the markup text isn't scanned for accelerators. * * Params: * markup = marked-up text * length = length of marked-up text in bytes, or -1 if @markup is - * null-terminated + * `NUL`-terminated */ public void setMarkup(string markup, int length) { @@ -1082,6 +1250,7 @@ public class PgLayout : ObjectG * Sets the layout text and attribute list from marked-up text. * * See [Pango Markup](pango_markup.html)). + * * Replaces the current text and attribute list. * * If @accel_marker is nonzero, the given character will mark the @@ -1095,10 +1264,10 @@ public class PgLayout : ObjectG * Params: * markup = marked-up text (see [Pango Markup](pango_markup.html)) * length = length of marked-up text in bytes, or -1 if @markup is - * null-terminated + * `NUL`-terminated * accelMarker = marker for accelerators in the text * accelChar = return location - * for first located accelerator, or %NULL + * for first located accelerator */ public void setMarkupWithAccel(string markup, int length, dchar accelMarker, out dchar accelChar) { @@ -1113,6 +1282,8 @@ public class PgLayout : ObjectG * and display a glyph for paragraph separator characters. Used when * you want to allow editing of newlines on a single text line. * + * The default value is %FALSE. + * * Params: * setting = new setting */ @@ -1122,18 +1293,22 @@ public class PgLayout : ObjectG } /** - * Sets the amount of spacing in Pango unit between + * Sets the amount of spacing in Pango units between * the lines of the layout. * * When placing lines with spacing, Pango arranges things so that * * line2.top = line1.bottom + spacing * - * Note: Since 1.44, Pango defaults to using the line height - * (as determined by the font) for placing lines. The @spacing - * set with this function is only taken into account when the - * line height factor is set to zero with - * [method@Pango.Layout.set_line_spacing]. + * The default value is 0. + * + * Note: Since 1.44, Pango is using the line height (as determined + * by the font) for placing lines when the line spacing factor is set + * to a non-zero value with [method@Pango.Layout.set_line_spacing]. + * In that case, the @spacing set with this function is ignored. + * + * Note: for semantics that are closer to the CSS line-height + * property, see [func@Pango.attr_line_height_new]. * * Params: * spacing = the amount of spacing @@ -1146,12 +1321,20 @@ public class PgLayout : ObjectG /** * Sets the tabs to use for @layout, overriding the default tabs. * + * `PangoLayout` will place content at the next tab position + * whenever it meets a Tab character (U+0009). + * * By default, tabs are every 8 spaces. If @tabs is %NULL, the * default tabs are reinstated. @tabs is copied into the layout; * you must free your copy of @tabs yourself. * + * Note that tabs and justification conflict with each other: + * Justification will move content away from its tab-aligned + * positions. The same is true for alignments other than + * %PANGO_ALIGN_LEFT. + * * Params: - * tabs = a `PangoTabArray`, or %NULL + * tabs = a `PangoTabArray` */ public void setTabs(PgTabArray tabs) { @@ -1200,6 +1383,8 @@ public class PgLayout : ObjectG * with [method@Pango.Layout.set_width]. To turn off wrapping, * set the width to -1. * + * The default value is %PANGO_WRAP_WORD. + * * Params: * wrap = the wrap mode */ @@ -1208,20 +1393,54 @@ public class PgLayout : ObjectG pango_layout_set_wrap(pangoLayout, wrap); } + /** + * A convenience method to serialize a layout to a file. + * + * It is equivalent to calling [method@Pango.Layout.serialize] + * followed by [func@GLib.file_set_contents]. + * + * See those two functions for details on the arguments. + * + * It is mostly intended for use inside a debugger to quickly dump + * a layout to a file for later inspection. + * + * Params: + * flags = `PangoLayoutSerializeFlags` + * filename = the file to save it to + * + * Returns: %TRUE if saving was successful + * + * Since: 1.50 + * + * Throws: GException on failure. + */ + public bool writeToFile(PangoLayoutSerializeFlags flags, string filename) + { + GError* err = null; + + auto __p = pango_layout_write_to_file(pangoLayout, flags, Str.toStringz(filename), &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + /** * Converts from X and Y position within a layout to the byte index to the * character at that logical position. * - * If the Y position is not inside the - * layout, the closest position is chosen (the position will be clamped - * inside the layout). If the X position is not within the layout, then - * the start or the end of the line is chosen as described for - * [method@Pango.LayoutLine.x_to_index]. If either the X or Y positions - * were not inside the layout, then the function returns %FALSE; on an - * exact hit, it returns %TRUE. + * If the Y position is not inside the layout, the closest position is + * chosen (the position will be clamped inside the layout). If the X position + * is not within the layout, then the start or the end of the line is + * chosen as described for [method@Pango.LayoutLine.x_to_index]. If either + * the X or Y positions were not inside the layout, then the function returns + * %FALSE; on an exact hit, it returns %TRUE. * * Params: - * x = the X offset (in Pango units) from the left edge of the layout. + * x = the X offset (in Pango units) from the left edge of the layout * y = the Y offset (in Pango units) from the top edge of the layout * index = location to store calculated byte index * trailing = location to store a integer indicating where @@ -1229,7 +1448,7 @@ public class PgLayout : ObjectG * number of characters in the grapheme. 0 represents the leading edge * of the grapheme. * - * Returns: %TRUE if the coordinates were inside text, %FALSE otherwise. + * Returns: %TRUE if the coordinates were inside text, %FALSE otherwise */ public bool xyToIndex(int x, int y, out int index, out int trailing) { diff --git a/generated/gtkd/pango/PgLayoutIter.d b/source/generated/pango/pango/PgLayoutIter.d similarity index 68% rename from generated/gtkd/pango/PgLayoutIter.d rename to source/generated/pango/pango/PgLayoutIter.d index 1cac7b3eb..e1aae7447 100644 --- a/generated/gtkd/pango/PgLayoutIter.d +++ b/source/generated/pango/pango/PgLayoutIter.d @@ -25,7 +25,7 @@ module pango.PgLayoutIter; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; private import pango.PgLayout; private import pango.PgLayoutLine; private import pango.c.functions; @@ -71,7 +71,7 @@ public class PgLayoutIter ~this () { - if ( Linker.isLoaded(LIBRARY_PANGO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_PANGO[0]) && ownedRef ) pango_layout_iter_free(pangoLayoutIter); } @@ -85,7 +85,7 @@ public class PgLayoutIter /** * Determines whether @iter is on the last line of the layout. * - * Returns: %TRUE if @iter is on the last line. + * Returns: %TRUE if @iter is on the last line */ public bool atLastLine() { @@ -95,9 +95,7 @@ public class PgLayoutIter /** * Copies a `PangoLayoutIter`. * - * Returns: the newly allocated `PangoLayoutIter`, - * which should be freed with [method@Pango.LayoutIter.free], - * or %NULL if @iter was %NULL. + * Returns: the newly allocated `PangoLayoutIter` * * Since: 1.20 */ @@ -124,9 +122,11 @@ public class PgLayoutIter /** * Gets the Y position of the current line's baseline, in layout - * coordinates (origin at top left of the entire layout). + * coordinates. + * + * Layout coordinates have the origin at the top left of the entire layout. * - * Returns: baseline of current line. + * Returns: baseline of current line */ public int getBaseline() { @@ -134,10 +134,12 @@ public class PgLayoutIter } /** - * Gets the extents of the current character, in layout coordinates - * (origin is the top left of the entire layout). Only logical extents - * can sensibly be obtained for characters; ink extents make sense only - * down to the level of clusters. + * Gets the extents of the current character, in layout coordinates. + * + * Layout coordinates have the origin at the top left of the entire layout. + * + * Only logical extents can sensibly be obtained for characters; + * ink extents make sense only down to the level of clusters. * * Params: * logicalRect = rectangle to fill with @@ -149,12 +151,13 @@ public class PgLayoutIter } /** - * Gets the extents of the current cluster, in layout coordinates - * (origin is the top left of the entire layout). + * Gets the extents of the current cluster, in layout coordinates. + * + * Layout coordinates have the origin at the top left of the entire layout. * * Params: - * inkRect = rectangle to fill with ink extents, or %NULL - * logicalRect = rectangle to fill with logical extents, or %NULL + * inkRect = rectangle to fill with ink extents + * logicalRect = rectangle to fill with logical extents */ public void getClusterExtents(out PangoRectangle inkRect, out PangoRectangle logicalRect) { @@ -162,12 +165,14 @@ public class PgLayoutIter } /** - * Gets the current byte index. Note that iterating forward by char - * moves in visual order, not logical order, so indexes may not be - * sequential. Also, the index may be equal to the length of the text - * in the layout, if on the %NULL run (see [method@Pango.LayoutIter.get_run]). + * Gets the current byte index. + * + * Note that iterating forward by char moves in visual order, + * not logical order, so indexes may not be sequential. Also, + * the index may be equal to the length of the text in the + * layout, if on the %NULL run (see [method@Pango.LayoutIter.get_run]). * - * Returns: current byte index. + * Returns: current byte index */ public int getIndex() { @@ -177,7 +182,7 @@ public class PgLayoutIter /** * Gets the layout associated with a `PangoLayoutIter`. * - * Returns: the layout associated with @iter. + * Returns: the layout associated with @iter * * Since: 1.20 */ @@ -195,11 +200,10 @@ public class PgLayoutIter /** * Obtains the extents of the `PangoLayout` being iterated over. - * @ink_rect or @logical_rect can be %NULL if you aren't interested in them. * * Params: - * inkRect = rectangle to fill with ink extents, or %NULL - * logicalRect = rectangle to fill with logical extents, or %NULL + * inkRect = rectangle to fill with ink extents + * logicalRect = rectangle to fill with logical extents */ public void getLayoutExtents(out PangoRectangle inkRect, out PangoRectangle logicalRect) { @@ -213,7 +217,7 @@ public class PgLayoutIter * you do not plan to modify the contents of the line (glyphs, * glyph widths, etc.). * - * Returns: the current line. + * Returns: the current line */ public PgLayoutLine getLine() { @@ -228,16 +232,16 @@ public class PgLayoutIter } /** - * Obtains the extents of the current line. @ink_rect or @logical_rect - * can be %NULL if you aren't interested in them. Extents are in layout - * coordinates (origin is the top-left corner of the entire - * `PangoLayout`). Thus the extents returned by this function will be - * the same width/height but not at the same x/y as the extents - * returned from [method@Pango.LayoutLine.get_extents]. + * Obtains the extents of the current line. + * + * Extents are in layout coordinates (origin is the top-left corner + * of the entire `PangoLayout`). Thus the extents returned by this + * function will be the same width/height but not at the same x/y + * as the extents returned from [method@Pango.LayoutLine.get_extents]. * * Params: - * inkRect = rectangle to fill with ink extents, or %NULL - * logicalRect = rectangle to fill with logical extents, or %NULL + * inkRect = rectangle to fill with ink extents + * logicalRect = rectangle to fill with logical extents */ public void getLineExtents(out PangoRectangle inkRect, out PangoRectangle logicalRect) { @@ -252,7 +256,7 @@ public class PgLayoutIter * (glyphs, glyph widths, etc.). * * Returns: the current line, that should not be - * modified. + * modified * * Since: 1.16 */ @@ -271,18 +275,19 @@ public class PgLayoutIter /** * Divides the vertical space in the `PangoLayout` being iterated over * between the lines in the layout, and returns the space belonging to - * the current line. A line's range includes the line's logical extents, - * plus half of the spacing above and below the line, if - * [method@Pango.Layout.set_spacing] has been called to set layout spacing. - * The Y positions are in layout coordinates (origin at top left of the - * entire layout). + * the current line. + * + * A line's range includes the line's logical extents. plus half of the + * spacing above and below the line, if [method@Pango.Layout.set_spacing] + * has been called to set layout spacing. The Y positions are in layout + * coordinates (origin at top left of the entire layout). * * Note: Since 1.44, Pango uses line heights for placing lines, and there * may be gaps between the ranges returned by this function. * * Params: - * y0 = start of line, or %NULL - * y1 = end of line, or %NULL + * y0 = start of line + * y1 = end of line */ public void getLineYrange(out int y0, out int y1) { @@ -290,15 +295,17 @@ public class PgLayoutIter } /** - * Gets the current run. When iterating by run, at the end of each - * line, there's a position with a %NULL run, so this function can return - * %NULL. The %NULL run at the end of each line ensures that all lines have - * at least one run, even lines consisting of only a newline. + * Gets the current run. + * + * When iterating by run, at the end of each line, there's a position + * with a %NULL run, so this function can return %NULL. The %NULL run + * at the end of each line ensures that all lines have at least one run, + * even lines consisting of only a newline. * * Use the faster [method@Pango.LayoutIter.get_run_readonly] if you do not * plan to modify the contents of the run (glyphs, glyph widths, etc.). * - * Returns: the current run. + * Returns: the current run */ public PangoLayoutRun* getRun() { @@ -306,12 +313,29 @@ public class PgLayoutIter } /** - * Gets the extents of the current run in layout coordinates - * (origin is the top left of the entire layout). + * Gets the Y position of the current run's baseline, in layout + * coordinates. + * + * Layout coordinates have the origin at the top left of the entire layout. + * + * The run baseline can be different from the line baseline, for + * example due to superscript or subscript positioning. + * + * Since: 1.50 + */ + public int getRunBaseline() + { + return pango_layout_iter_get_run_baseline(pangoLayoutIter); + } + + /** + * Gets the extents of the current run in layout coordinates. + * + * Layout coordinates have the origin at the top left of the entire layout. * * Params: - * inkRect = rectangle to fill with ink extents, or %NULL - * logicalRect = rectangle to fill with logical extents, or %NULL + * inkRect = rectangle to fill with ink extents + * logicalRect = rectangle to fill with logical extents */ public void getRunExtents(out PangoRectangle inkRect, out PangoRectangle logicalRect) { @@ -319,17 +343,19 @@ public class PgLayoutIter } /** - * Gets the current run. When iterating by run, at the end of each - * line, there's a position with a %NULL run, so this function can return - * %NULL. The %NULL run at the end of each line ensures that all lines have - * at least one run, even lines consisting of only a newline. + * Gets the current run for read-only access. + * + * When iterating by run, at the end of each line, there's a position + * with a %NULL run, so this function can return %NULL. The %NULL run + * at the end of each line ensures that all lines have at least one run, + * even lines consisting of only a newline. * * This is a faster alternative to [method@Pango.LayoutIter.get_run], * but the user is not expected to modify the contents of the run (glyphs, * glyph widths, etc.). * * Returns: the current run, that - * should not be modified. + * should not be modified * * Since: 1.16 */ @@ -340,9 +366,10 @@ public class PgLayoutIter /** * Moves @iter forward to the next character in visual order. + * * If @iter was already at the end of the layout, returns %FALSE. * - * Returns: whether motion was possible. + * Returns: whether motion was possible */ public bool nextChar() { @@ -351,9 +378,10 @@ public class PgLayoutIter /** * Moves @iter forward to the next cluster in visual order. + * * If @iter was already at the end of the layout, returns %FALSE. * - * Returns: whether motion was possible. + * Returns: whether motion was possible */ public bool nextCluster() { @@ -362,9 +390,10 @@ public class PgLayoutIter /** * Moves @iter forward to the start of the next line. + * * If @iter is already on the last line, returns %FALSE. * - * Returns: whether motion was possible. + * Returns: whether motion was possible */ public bool nextLine() { @@ -373,9 +402,10 @@ public class PgLayoutIter /** * Moves @iter forward to the next run in visual order. + * * If @iter was already at the end of the layout, returns %FALSE. * - * Returns: whether motion was possible. + * Returns: whether motion was possible */ public bool nextRun() { diff --git a/generated/gtkd/pango/PgLayoutLine.d b/source/generated/pango/pango/PgLayoutLine.d similarity index 77% rename from generated/gtkd/pango/PgLayoutLine.d rename to source/generated/pango/pango/PgLayoutLine.d index 9bd8aa393..a2ae91b7a 100644 --- a/generated/gtkd/pango/PgLayoutLine.d +++ b/source/generated/pango/pango/PgLayoutLine.d @@ -27,7 +27,7 @@ module pango.PgLayoutLine; private import glib.ListSG; private import glib.MemorySlice; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; private import pango.PgLayout; private import pango.c.functions; public import pango.c.types; @@ -72,7 +72,7 @@ public final class PgLayoutLine ~this () { - if ( Linker.isLoaded(LIBRARY_PANGO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_PANGO[0]) && ownedRef ) pango_layout_line_unref(pangoLayoutLine); } @@ -134,19 +134,6 @@ public final class PgLayoutLine pangoLayoutLine.runs = value.getListSGStruct(); } - /** - * #TRUE if this is the first line of the paragraph - */ - public @property uint isParagraphStart() - { - return pangoLayoutLine.isParagraphStart; - } - - /** Ditto */ - public @property void isParagraphStart(uint value) - { - pangoLayoutLine.isParagraphStart = value; - } /** * #Resolved PangoDirection of line @@ -169,15 +156,16 @@ public final class PgLayoutLine } /** - * Computes the logical and ink extents of a layout line. See - * [method@Pango.Font.get_glyph_extents] for details about the - * interpretation of the rectangles. + * Computes the logical and ink extents of a layout line. + * + * See [method@Pango.Font.get_glyph_extents] for details + * about the interpretation of the rectangles. * * Params: * inkRect = rectangle used to store the extents of - * the glyph string as drawn, or %NULL + * the glyph string as drawn * logicalRect = rectangle used to store the logical - * extents of the glyph string, or %NULL + * extents of the glyph string */ public void getExtents(out PangoRectangle inkRect, out PangoRectangle logicalRect) { @@ -185,8 +173,13 @@ public final class PgLayoutLine } /** - * Computes the height of the line, i.e. the distance between - * this and the previous lines baseline. + * Computes the height of the line, as the maximum of the heights + * of fonts used in this line. + * + * Note that the actual baseline-to-baseline distance between lines + * of text is influenced by other factors, such as + * [method@Pango.Layout.set_spacing] and + * [method@Pango.Layout.set_line_spacing]. * * Params: * height = return location for the line height @@ -198,6 +191,18 @@ public final class PgLayoutLine pango_layout_line_get_height(pangoLayoutLine, &height); } + /** + * Returns the length of the line, in bytes. + * + * Returns: the length of the line + * + * Since: 1.50 + */ + public int getLength() + { + return pango_layout_line_get_length(pangoLayoutLine); + } + /** * Computes the logical and ink extents of @layout_line in device units. * @@ -208,17 +213,43 @@ public final class PgLayoutLine * * Params: * inkRect = rectangle used to store the extents of - * the glyph string as drawn, or %NULL + * the glyph string as drawn * logicalRect = rectangle used to store the logical - * extents of the glyph string, or %NULL + * extents of the glyph string */ public void getPixelExtents(out PangoRectangle inkRect, out PangoRectangle logicalRect) { pango_layout_line_get_pixel_extents(pangoLayoutLine, &inkRect, &logicalRect); } + /** + * Returns the resolved direction of the line. + * + * Returns: the resolved direction of the line + * + * Since: 1.50 + */ + public PangoDirection getResolvedDirection() + { + return pango_layout_line_get_resolved_direction(pangoLayoutLine); + } + + /** + * Returns the start index of the line, as byte index + * into the text of the layout. + * + * Returns: the start index of the line + * + * Since: 1.50 + */ + public int getStartIndex() + { + return pango_layout_line_get_start_index(pangoLayoutLine); + } + /** * Gets a list of visual ranges corresponding to a given logical range. + * * This list is not necessarily minimal - there may be consecutive * ranges which are adjacent. The ranges will be sorted from left to * right. The ranges are with respect to the left edge of the entire @@ -257,7 +288,7 @@ public final class PgLayoutLine * index = byte offset of a grapheme within the layout * trailing = an integer indicating the edge of the grapheme to retrieve * the position of. If > 0, the trailing edge of the grapheme, - * if 0, the leading of the grapheme. + * if 0, the leading of the grapheme * xPos = location to store the x_offset (in Pango units) */ public void indexToX(int index, bool trailing, out int xPos) @@ -265,6 +296,18 @@ public final class PgLayoutLine pango_layout_line_index_to_x(pangoLayoutLine, index, trailing, &xPos); } + /** + * Returns whether this is the first line of the paragraph. + * + * Returns: %TRUE if this is the first line + * + * Since: 1.50 + */ + public bool isParagraphStart() + { + return pango_layout_line_is_paragraph_start(pangoLayoutLine) != 0; + } + alias doref = ref_; /** * Increase the reference count of a `PangoLayoutLine` by one. @@ -287,6 +330,7 @@ public final class PgLayoutLine /** * Decrease the reference count of a `PangoLayoutLine` by one. + * * If the result is zero, the line and all associated memory * will be freed. */ @@ -297,20 +341,21 @@ public final class PgLayoutLine /** * Converts from x offset to the byte index of the corresponding character - * within the text of the layout. If @x_pos is outside the line, @index_ and - * @trailing will point to the very first or very last position in the line. - * This determination is based on the resolved direction of the paragraph; - * for example, if the resolved direction is right-to-left, then an X position - * to the right of the line (after it) results in 0 being stored in @index_ - * and @trailing. An X position to the left of the line results in @index_ - * pointing to the (logical) last grapheme in the line and @trailing being - * set to the number of characters in that grapheme. The reverse is true for - * a left-to-right line. + * within the text of the layout. + * + * If @x_pos is outside the line, @index_ and @trailing will point to the very + * first or very last position in the line. This determination is based on the + * resolved direction of the paragraph; for example, if the resolved direction + * is right-to-left, then an X position to the right of the line (after it) + * results in 0 being stored in @index_ and @trailing. An X position to the + * left of the line results in @index_ pointing to the (logical) last grapheme + * in the line and @trailing being set to the number of characters in that + * grapheme. The reverse is true for a left-to-right line. * * Params: * xPos = the X offset (in Pango units) from the left edge of the line. * index = location to store calculated byte index for the grapheme - * in which the user clicked. + * in which the user clicked * trailing = location to store an integer indicating where in the * grapheme the user clicked. It will either be zero, or the number of * characters in the grapheme. 0 represents the leading edge of the grapheme. diff --git a/generated/gtkd/pango/PgMatrix.d b/source/generated/pango/pango/PgMatrix.d similarity index 94% rename from generated/gtkd/pango/PgMatrix.d rename to source/generated/pango/pango/PgMatrix.d index f5037fd2c..c80e5a50f 100644 --- a/generated/gtkd/pango/PgMatrix.d +++ b/source/generated/pango/pango/PgMatrix.d @@ -26,7 +26,7 @@ module pango.PgMatrix; private import glib.MemorySlice; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; private import pango.c.functions; public import pango.c.types; @@ -75,7 +75,7 @@ public final class PgMatrix ~this () { - if ( Linker.isLoaded(LIBRARY_PANGO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_PANGO[0]) && ownedRef ) pango_matrix_free(pangoMatrix); } @@ -188,9 +188,7 @@ public final class PgMatrix /** * Copies a `PangoMatrix`. * - * Returns: the newly allocated `PangoMatrix`, which - * should be freed with [method@Pango.Matrix.free], or %NULL if - * @matrix was %NULL. + * Returns: the newly allocated `PangoMatrix` * * Since: 1.6 */ @@ -244,8 +242,8 @@ public final class PgMatrix * Note that output numbers will always be non-negative. * * Params: - * xscale = output scale factor in the x direction, or %NULL - * yscale = output scale factor perpendicular to the x direction, or %NULL + * xscale = output scale factor in the x direction + * yscale = output scale factor perpendicular to the x direction * * Since: 1.38 */ @@ -254,6 +252,25 @@ public final class PgMatrix pango_matrix_get_font_scale_factors(pangoMatrix, &xscale, &yscale); } + /** + * Gets the slant ratio of a matrix. + * + * For a simple shear matrix in the form: + * + * 1 λ + * 0 1 + * + * this is simply λ. + * + * Returns: the slant ratio of @matrix + * + * Since: 1.50 + */ + public double getSlantRatio() + { + return pango_matrix_get_slant_ratio(pangoMatrix); + } + /** * Changes the transformation represented by @matrix to be the * transformation given by first rotating by @degrees degrees @@ -327,7 +344,7 @@ public final class PgMatrix * using [func@extents_to_pixels]'s first argument. * * Params: - * rect = in/out bounding box in device units, or %NULL + * rect = in/out bounding box in device units * * Since: 1.16 */ @@ -371,7 +388,7 @@ public final class PgMatrix * example). * * Params: - * rect = in/out bounding box in Pango units, or %NULL + * rect = in/out bounding box in Pango units * * Since: 1.16 */ @@ -416,8 +433,8 @@ public final class PgMatrix * as @nearest. * * Params: - * inclusive = rectangle to round to pixels inclusively, or %NULL. - * nearest = rectangle to round to nearest pixels, or %NULL. + * inclusive = rectangle to round to pixels inclusively + * nearest = rectangle to round to nearest pixels * * Since: 1.16 */ diff --git a/generated/gtkd/pango/PgMiscellaneous.d b/source/generated/pango/pango/PgMiscellaneous.d similarity index 86% rename from generated/gtkd/pango/PgMiscellaneous.d rename to source/generated/pango/pango/PgMiscellaneous.d index 60321a78f..bacd0c381 100644 --- a/generated/gtkd/pango/PgMiscellaneous.d +++ b/source/generated/pango/pango/PgMiscellaneous.d @@ -40,8 +40,9 @@ public struct PgMiscellaneous * Checks if a character that should not be normally rendered. * * This includes all Unicode characters with "ZERO WIDTH" in their name, - * as well as *bidi* formatting characters, and a few other ones. This is - * totally different from g_unichar_iszerowidth() and is at best misnamed. + * as well as *bidi* formatting characters, and a few other ones. + * + * This is totally different from [func@GLib.unichar_iszerowidth] and is at best misnamed. * * Params: * ch = a Unicode character @@ -58,10 +59,8 @@ public struct PgMiscellaneous /** * Return the bidirectional embedding levels of the input paragraph. * - * The bidirectional embedding levels are defined by the Unicode Bidirectional - * Algorithm available at: - * - * http://www.unicode.org/reports/tr9/ + * The bidirectional embedding levels are defined by the [Unicode Bidirectional + * Algorithm](http://www.unicode.org/reports/tr9/). * * If the input base direction is a weak direction, the direction of the * characters in the text will determine the final resolved direction. @@ -73,7 +72,7 @@ public struct PgMiscellaneous * pbaseDir = input base direction, and output resolved direction. * * Returns: a newly allocated array of embedding levels, one item per - * character (not byte), that should be freed using g_free(). + * character (not byte), that should be freed using [func@GLib.free]. * * Since: 1.4 */ @@ -85,22 +84,24 @@ public struct PgMiscellaneous /** * Parses an enum type and stores the result in @value. * - * If @str does not match the nick name of any of the possible values for the - * enum and is not an integer, %FALSE is returned, a warning is issued - * if @warn is %TRUE, and a - * string representing the list of possible values is stored in - * @possible_values. The list is slash-separated, eg. - * "none/start/middle/end". If failed and @possible_values is not %NULL, - * returned string should be freed using g_free(). + * If @str does not match the nick name of any of the possible values + * for the enum and is not an integer, %FALSE is returned, a warning + * is issued if @warn is %TRUE, and a string representing the list of + * possible values is stored in @possible_values. The list is + * slash-separated, eg. "none/start/middle/end". + * + * If failed and @possible_values is not %NULL, returned string should + * be freed using g_free(). * * Params: - * type = enum type to parse, eg. %PANGO_TYPE_ELLIPSIZE_MODE. - * str = string to parse. May be %NULL. - * value = integer to store the result in, or %NULL. - * warn = if %TRUE, issue a g_warning() on bad input. - * possibleValues = place to store list of possible values on failure, or %NULL. + * type = enum type to parse, eg. %PANGO_TYPE_ELLIPSIZE_MODE + * str = string to parse + * value = integer to store the result in + * warn = if %TRUE, issue a g_warning() on bad input + * possibleValues = place to store list of possible + * values on failure * - * Returns: %TRUE if @str was successfully parsed. + * Returns: %TRUE if @str was successfully parsed * * Since: 1.16 */ @@ -158,7 +159,8 @@ public struct PgMiscellaneous /** * Parses a font variant. * - * The allowed values are "normal" and "smallcaps" or "small_caps", + * The allowed values are "normal", "small-caps", "all-small-caps", + * "petite-caps", "all-petite-caps", "unicase" and "title-caps", * case variations being ignored. * * Params: @@ -222,7 +224,7 @@ public struct PgMiscellaneous * pos = in/out string position * out_ = an int into which to write the result * - * Returns: %FALSE if a parse error occurred. + * Returns: %FALSE if a parse error occurred */ public static bool scanInt(ref string pos, out int out_) { @@ -236,7 +238,7 @@ public struct PgMiscellaneous } /** - * Scans a string into a #GString buffer. + * Scans a string into a `GString` buffer. * * The string may either be a sequence of non-white-space characters, * or a quoted string with '"'. Instead a quoted string, '\"' represents @@ -244,9 +246,9 @@ public struct PgMiscellaneous * * Params: * pos = in/out string position - * out_ = a #GString into which to write the result + * out_ = a `GString` into which to write the result * - * Returns: %FALSE if a parse error occurred. + * Returns: %FALSE if a parse error occurred */ public static bool scanString(ref string pos, StringG out_) { @@ -260,16 +262,16 @@ public struct PgMiscellaneous } /** - * Scans a word into a #GString buffer. + * Scans a word into a `GString` buffer. * * A word consists of [A-Za-z_] followed by zero or more * [A-Za-z_0-9]. Leading white space is skipped. * * Params: * pos = in/out string position - * out_ = a #GString into which to write the result + * out_ = a `GString` into which to write the result * - * Returns: %FALSE if a parse error occurred. + * Returns: %FALSE if a parse error occurred */ public static bool scanWord(ref string pos, StringG out_) { @@ -348,7 +350,7 @@ public struct PgMiscellaneous * * Params: * stream = a stdio stream - * str = #GString buffer into which to write the result + * str = `GString` buffer into which to write the result * * Returns: 0 if the stream was already at an %EOF character, * otherwise the number of lines read (this is useful for maintaining diff --git a/generated/gtkd/pango/PgRenderer.d b/source/generated/pango/pango/PgRenderer.d similarity index 97% rename from generated/gtkd/pango/PgRenderer.d rename to source/generated/pango/pango/PgRenderer.d index 6e8578f8a..525cddf9d 100644 --- a/generated/gtkd/pango/PgRenderer.d +++ b/source/generated/pango/pango/PgRenderer.d @@ -87,10 +87,11 @@ public class PgRenderer : ObjectG * * [method@Pango.Renderer.deactivate] should be called when done drawing. * Calls such as [method@Pango.Renderer.draw_layout] automatically - * activate the layout before drawing on it. Calls to - * `pango_renderer_activate()` and `pango_renderer_deactivate()` - * can be nested and the renderer will only be initialized and - * deinitialized once. + * activate the layout before drawing on it. + * + * Calls to [method@Pango.Renderer.activate] and + * [method@Pango.Renderer.deactivate] can be nested and the + * renderer will only be initialized and deinitialized once. * * Since: 1.8 */ @@ -139,7 +140,7 @@ public class PgRenderer : ObjectG * Draws a single glyph with coordinates in device space. * * Params: - * font = a #PangoFont + * font = a `PangoFont` * glyph = the glyph index of a single glyph * x = X coordinate of left edge of baseline of glyph * y = Y coordinate of left edge of baseline of glyph @@ -172,12 +173,12 @@ public class PgRenderer : ObjectG * [method@Pango.Renderer.draw_glyphs]. * * Params: - * text = the UTF-8 text that @glyph_item refers to, or %NULL + * text = the UTF-8 text that @glyph_item refers to * glyphItem = a `PangoGlyphItem` * x = X position of left edge of baseline, in user space coordinates - * in Pango units. + * in Pango units * y = Y position of left edge of baseline, in user space coordinates - * in Pango units. + * in Pango units * * Since: 1.22 */ @@ -469,7 +470,7 @@ public class PgRenderer : ObjectG * Sets the transformation matrix that will be applied when rendering. * * Params: - * matrix = a `PangoMatrix`, or %NULL to unset any existing matrix. + * matrix = a `PangoMatrix`, or %NULL to unset any existing matrix * (No matrix set is the same as setting the identity matrix.) * * Since: 1.8 diff --git a/generated/gtkd/pango/PgScript.d b/source/generated/pango/pango/PgScript.d similarity index 90% rename from generated/gtkd/pango/PgScript.d rename to source/generated/pango/pango/PgScript.d index b67ac090b..b058356da 100644 --- a/generated/gtkd/pango/PgScript.d +++ b/source/generated/pango/pango/PgScript.d @@ -37,13 +37,15 @@ public struct PgScript /** * Looks up the script for a particular character. * - * The script of a character is defined by Unicode Standard Annex \#24. + * The script of a character is defined by + * [Unicode Standard Annex 24: Script names](http://www.unicode.org/reports/tr24/). + * * No check is made for @ch being a valid Unicode character; if you pass * in invalid character, the result is undefined. * * Note that while the return type of this function is declared * as `PangoScript`, as of Pango 1.18, this function simply returns - * the return value of g_unichar_get_script(). Callers must be + * the return value of [func@GLib.unichar_get_script]. Callers must be * prepared to handle unknown values. * * Deprecated: Use g_unichar_get_script() @@ -63,9 +65,10 @@ public struct PgScript /** * Finds a language tag that is reasonably representative of @script. * - * The language will usually be the most widely spoken or used language written - * in that script: for instance, the sample language for %PANGO_SCRIPT_CYRILLIC - * is ru (Russian), the sample language for %PANGO_SCRIPT_ARABIC is ar. + * The language will usually be the most widely spoken or used language + * written in that script: for instance, the sample language for + * %PANGO_SCRIPT_CYRILLIC is ru (Russian), the sample language for + * %PANGO_SCRIPT_ARABIC is ar. * * For some scripts, no sample language will be returned because * there is no language that is sufficiently representative. The @@ -94,7 +97,7 @@ public struct PgScript * script = a `PangoScript` * * Returns: a `PangoLanguage` that is representative - * of the script, or %NULL if no such language exists. + * of the script * * Since: 1.4 */ diff --git a/generated/gtkd/pango/PgScriptIter.d b/source/generated/pango/pango/PgScriptIter.d similarity index 78% rename from generated/gtkd/pango/PgScriptIter.d rename to source/generated/pango/pango/PgScriptIter.d index 248c00348..fdd9a2704 100644 --- a/generated/gtkd/pango/PgScriptIter.d +++ b/source/generated/pango/pango/PgScriptIter.d @@ -28,7 +28,7 @@ private import glib.ConstructionException; private import glib.Str; private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; private import pango.c.functions; public import pango.c.types; @@ -68,7 +68,7 @@ public class PgScriptIter ~this () { - if ( Linker.isLoaded(LIBRARY_PANGO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_PANGO[0]) && ownedRef ) pango_script_iter_free(pangoScriptIter); } @@ -80,18 +80,20 @@ public class PgScriptIter } /** - * Create a new #PangoScriptIter, used to break a string of - * Unicode text into runs by Unicode script. No copy is made of - * @text, so the caller needs to make sure it remains valid until - * the iterator is freed with pango_script_iter_free(). + * Create a new `PangoScriptIter`, used to break a string of + * Unicode text into runs by Unicode script. + * + * No copy is made of @text, so the caller needs to make + * sure it remains valid until the iterator is freed with + * [method@Pango.ScriptIter.free]. * * Params: * text = a UTF-8 string - * length = length of @text, or -1 if @text is nul-terminated. + * length = length of @text, or -1 if @text is nul-terminated * * Returns: the new script iterator, initialized * to point at the first range in the text, which should be - * freed with pango_script_iter_free(). If the string is + * freed with [method@Pango.ScriptIter.free]. If the string is * empty, it will point at an empty range. * * Since: 1.4 @@ -111,7 +113,7 @@ public class PgScriptIter } /** - * Frees a #PangoScriptIter created with pango_script_iter_new(). + * Frees a `PangoScriptIter`. * * Since: 1.4 */ @@ -123,18 +125,19 @@ public class PgScriptIter /** * Gets information about the range to which @iter currently points. + * * The range is the set of locations p where *start <= p < *end. * (That is, it doesn't include the character stored at *end) * * Note that while the type of the @script argument is declared - * as PangoScript, as of Pango 1.18, this function simply returns - * GUnicodeScript values. Callers must be prepared to handle unknown + * as `PangoScript`, as of Pango 1.18, this function simply returns + * `GUnicodeScript` values. Callers must be prepared to handle unknown * values. * * Params: - * start = location to store start position of the range, or %NULL - * end = location to store end position of the range, or %NULL - * script = location to store script for range, or %NULL + * start = location to store start position of the range + * end = location to store end position of the range + * script = location to store script for range * * Since: 1.4 */ @@ -150,11 +153,12 @@ public class PgScriptIter } /** - * Advances a #PangoScriptIter to the next range. If @iter - * is already at the end, it is left unchanged and %FALSE - * is returned. + * Advances a `PangoScriptIter` to the next range. + * + * If @iter is already at the end, it is left unchanged + * and %FALSE is returned. * - * Returns: %TRUE if @iter was successfully advanced. + * Returns: %TRUE if @iter was successfully advanced * * Since: 1.4 */ diff --git a/generated/gtkd/pango/PgTabArray.d b/source/generated/pango/pango/PgTabArray.d similarity index 63% rename from generated/gtkd/pango/PgTabArray.d rename to source/generated/pango/pango/PgTabArray.d index c3b0703b3..e4b57f101 100644 --- a/generated/gtkd/pango/PgTabArray.d +++ b/source/generated/pango/pango/PgTabArray.d @@ -25,8 +25,10 @@ module pango.PgTabArray; private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; private import gobject.ObjectG; -private import gtkd.Loader; +private import linker.Loader; private import pango.c.functions; public import pango.c.types; @@ -35,7 +37,8 @@ public import pango.c.types; * A `PangoTabArray` contains an array of tab stops. * * `PangoTabArray` can be used to set tab stops in a `PangoLayout`. - * Each tab stop has an alignment and a position. + * Each tab stop has an alignment, a position, and optionally + * a character to use as decimal point. */ public class PgTabArray { @@ -68,7 +71,7 @@ public class PgTabArray ~this () { - if ( Linker.isLoaded(LIBRARY_PANGO) && ownedRef ) + if ( Linker.isLoaded(LIBRARY_PANGO[0]) && ownedRef ) pango_tab_array_free(pangoTabArray); } @@ -133,6 +136,26 @@ public class PgTabArray ownedRef = false; } + /** + * Gets the Unicode character to use as decimal point. + * + * This is only relevant for tabs with %PANGO_TAB_DECIMAL alignment, + * which align content at the first occurrence of the decimal point + * character. + * + * The default value of 0 means that Pango will use the + * decimal point according to the current locale. + * + * Params: + * tabIndex = the index of a tab stop + * + * Since: 1.50 + */ + public dchar getDecimalPoint(int tabIndex) + { + return pango_tab_array_get_decimal_point(pangoTabArray, tabIndex); + } + /** * Returns %TRUE if the tab positions are in pixels, * %FALSE if they are in Pango units. @@ -159,8 +182,8 @@ public class PgTabArray * * Params: * tabIndex = tab stop index - * alignment = location to store alignment, or %NULL - * location = location to store tab position, or %NULL + * alignment = location to store alignment + * location = location to store tab position */ public void getTab(int tabIndex, out PangoTabAlign alignment, out int location) { @@ -176,9 +199,9 @@ public class PgTabArray * * Params: * alignments = location to store an array of tab - * stop alignments, or %NULL + * stop alignments * locations = location to store an array - * of tab positions, or %NULL + * of tab positions */ public void getTabs(out PangoTabAlign* alignments, out int[] locations) { @@ -204,10 +227,42 @@ public class PgTabArray } /** - * Sets the alignment and location of a tab stop. + * Sets the Unicode character to use as decimal point. + * + * This is only relevant for tabs with %PANGO_TAB_DECIMAL alignment, + * which align content at the first occurrence of the decimal point + * character. + * + * By default, Pango uses the decimal point according + * to the current locale. + * + * Params: + * tabIndex = the index of a tab stop + * decimalPoint = the decimal point to use + * + * Since: 1.50 + */ + public void setDecimalPoint(int tabIndex, dchar decimalPoint) + { + pango_tab_array_set_decimal_point(pangoTabArray, tabIndex, decimalPoint); + } + + /** + * Sets whether positions in this array are specified in + * pixels. + * + * Params: + * positionsInPixels = whether positions are in pixels * - * @alignment must always be %PANGO_TAB_LEFT in the current - * implementation. + * Since: 1.50 + */ + public void setPositionsInPixels(bool positionsInPixels) + { + pango_tab_array_set_positions_in_pixels(pangoTabArray, positionsInPixels); + } + + /** + * Sets the alignment and location of a tab stop. * * Params: * tabIndex = the index of a tab stop @@ -218,4 +273,61 @@ public class PgTabArray { pango_tab_array_set_tab(pangoTabArray, tabIndex, alignment, location); } + + /** + * Utility function to ensure that the tab stops are in increasing order. + * + * Since: 1.50 + */ + public void sort() + { + pango_tab_array_sort(pangoTabArray); + } + + /** + * Serializes a `PangoTabArray` to a string. + * + * No guarantees are made about the format of the string, + * it may change between Pango versions. + * + * The intended use of this function is testing and + * debugging. The format is not meant as a permanent + * storage format. + * + * Returns: a newly allocated string + * + * Since: 1.50 + */ + public override string toString() + { + auto retStr = pango_tab_array_to_string(pangoTabArray); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Deserializes a `PangoTabArray` from a string. + * + * This is the counterpart to [method@Pango.TabArray.to_string]. + * See that functions for details about the format. + * + * Params: + * text = a string + * + * Returns: a new `PangoTabArray` + * + * Since: 1.50 + */ + public static PgTabArray fromString(string text) + { + auto __p = pango_tab_array_from_string(Str.toStringz(text)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PgTabArray)(cast(PangoTabArray*) __p, true); + } } diff --git a/generated/gtkd/pango/PgVersion.d b/source/generated/pango/pango/PgVersion.d similarity index 95% rename from generated/gtkd/pango/PgVersion.d rename to source/generated/pango/pango/PgVersion.d index cd702c55f..3a58aee60 100644 --- a/generated/gtkd/pango/PgVersion.d +++ b/source/generated/pango/pango/PgVersion.d @@ -70,9 +70,9 @@ public struct PgVersion * For compile-time version checking use PANGO_VERSION_CHECK(). * * Params: - * requiredMajor = the required major version. - * requiredMinor = the required minor version. - * requiredMicro = the required major version. + * requiredMajor = the required major version + * requiredMinor = the required minor version + * requiredMicro = the required major version * * Returns: %NULL if the Pango library is compatible * with the given version, or a string describing the version diff --git a/generated/gtkd/pango/PgVertical.d b/source/generated/pango/pango/PgVertical.d similarity index 94% rename from generated/gtkd/pango/PgVertical.d rename to source/generated/pango/pango/PgVertical.d index 10334381a..68de37c8f 100644 --- a/generated/gtkd/pango/PgVertical.d +++ b/source/generated/pango/pango/PgVertical.d @@ -60,12 +60,12 @@ public struct PgVertical * pass %PANGO_GRAVITY_AUTO and %PANGO_GRAVITY_HINT_STRONG in. * * Params: - * script = #PangoScript to query + * script = `PangoScript` to query * baseGravity = base gravity of the paragraph * hint = orientation hint * * Returns: resolved gravity suitable to use for a run of text - * with @script. + * with @script * * Since: 1.16 */ @@ -81,7 +81,7 @@ public struct PgVertical * The gravity is determined based on the script, East Asian width, * base gravity, and hint, * - * This function is similar to [type_func@Pango.Gravity.get_for_script] except + * This function is similar to [func@Pango.Gravity.get_for_script] except * that this function makes a distinction between narrow/half-width and * wide/full-width characters also. Wide/full-width characters always * stand *upright*, that is, they always take the base gravity, @@ -92,7 +92,7 @@ public struct PgVertical * preferred gravity of @script. * * Params: - * script = #PangoScript to query + * script = `PangoScript` to query * wide = %TRUE for wide characters as returned by g_unichar_iswide() * baseGravity = base gravity of the paragraph * hint = orientation hint @@ -108,7 +108,7 @@ public struct PgVertical } /** - * Converts a #PangoGravity value to its natural rotation in radians. + * Converts a `PangoGravity` value to its natural rotation in radians. * * Note that [method@Pango.Matrix.rotate] takes angle in degrees, not radians. * So, to call [method@Pango.Matrix,rotate] with the output of this function diff --git a/generated/gtkd/pango/c/functions.d b/source/generated/pango/pango/c/functions.d similarity index 92% rename from generated/gtkd/pango/c/functions.d rename to source/generated/pango/pango/c/functions.d index 3f846abee..264fb984c 100644 --- a/generated/gtkd/pango/c/functions.d +++ b/source/generated/pango/pango/c/functions.d @@ -27,7 +27,7 @@ module pango.c.functions; import std.stdio; import pango.c.types; import cairo.c.types; -import gtkd.Loader; +import linker.Loader; version (Windows) static immutable LIBRARY_PANGO = ["libpango-1.0-0.dll;pango-1.0-0.dll;pango-1.dll", "libpangocairo-1.0-0.dll;pangocairo-1.0-0.dll;pangocairo-1.dll"]; @@ -75,8 +75,10 @@ shared static this() Linker.link(pango_attr_list_insert_before, "pango_attr_list_insert_before", LIBRARY_PANGO); Linker.link(pango_attr_list_ref, "pango_attr_list_ref", LIBRARY_PANGO); Linker.link(pango_attr_list_splice, "pango_attr_list_splice", LIBRARY_PANGO); + Linker.link(pango_attr_list_to_string, "pango_attr_list_to_string", LIBRARY_PANGO); Linker.link(pango_attr_list_unref, "pango_attr_list_unref", LIBRARY_PANGO); Linker.link(pango_attr_list_update, "pango_attr_list_update", LIBRARY_PANGO); + Linker.link(pango_attr_list_from_string, "pango_attr_list_from_string", LIBRARY_PANGO); // pango.PgAttributeShape @@ -91,6 +93,15 @@ shared static this() // pango.PgAttribute Linker.link(pango_attribute_get_type, "pango_attribute_get_type", LIBRARY_PANGO); + Linker.link(pango_attribute_as_color, "pango_attribute_as_color", LIBRARY_PANGO); + Linker.link(pango_attribute_as_float, "pango_attribute_as_float", LIBRARY_PANGO); + Linker.link(pango_attribute_as_font_desc, "pango_attribute_as_font_desc", LIBRARY_PANGO); + Linker.link(pango_attribute_as_font_features, "pango_attribute_as_font_features", LIBRARY_PANGO); + Linker.link(pango_attribute_as_int, "pango_attribute_as_int", LIBRARY_PANGO); + Linker.link(pango_attribute_as_language, "pango_attribute_as_language", LIBRARY_PANGO); + Linker.link(pango_attribute_as_shape, "pango_attribute_as_shape", LIBRARY_PANGO); + Linker.link(pango_attribute_as_size, "pango_attribute_as_size", LIBRARY_PANGO); + Linker.link(pango_attribute_as_string, "pango_attribute_as_string", LIBRARY_PANGO); Linker.link(pango_attribute_copy, "pango_attribute_copy", LIBRARY_PANGO); Linker.link(pango_attribute_destroy, "pango_attribute_destroy", LIBRARY_PANGO); Linker.link(pango_attribute_equal, "pango_attribute_equal", LIBRARY_PANGO); @@ -187,6 +198,7 @@ shared static this() Linker.link(pango_font_get_type, "pango_font_get_type", LIBRARY_PANGO); Linker.link(pango_font_descriptions_free, "pango_font_descriptions_free", LIBRARY_PANGO); + Linker.link(pango_font_deserialize, "pango_font_deserialize", LIBRARY_PANGO); Linker.link(pango_font_describe, "pango_font_describe", LIBRARY_PANGO); Linker.link(pango_font_describe_with_absolute_size, "pango_font_describe_with_absolute_size", LIBRARY_PANGO); Linker.link(pango_font_get_coverage, "pango_font_get_coverage", LIBRARY_PANGO); @@ -195,8 +207,10 @@ shared static this() Linker.link(pango_font_get_font_map, "pango_font_get_font_map", LIBRARY_PANGO); Linker.link(pango_font_get_glyph_extents, "pango_font_get_glyph_extents", LIBRARY_PANGO); Linker.link(pango_font_get_hb_font, "pango_font_get_hb_font", LIBRARY_PANGO); + Linker.link(pango_font_get_languages, "pango_font_get_languages", LIBRARY_PANGO); Linker.link(pango_font_get_metrics, "pango_font_get_metrics", LIBRARY_PANGO); Linker.link(pango_font_has_char, "pango_font_has_char", LIBRARY_PANGO); + Linker.link(pango_font_serialize, "pango_font_serialize", LIBRARY_PANGO); // pango.PgFontDescription @@ -325,6 +339,7 @@ shared static this() Linker.link(pango_glyph_string_get_logical_widths, "pango_glyph_string_get_logical_widths", LIBRARY_PANGO); Linker.link(pango_glyph_string_get_width, "pango_glyph_string_get_width", LIBRARY_PANGO); Linker.link(pango_glyph_string_index_to_x, "pango_glyph_string_index_to_x", LIBRARY_PANGO); + Linker.link(pango_glyph_string_index_to_x_full, "pango_glyph_string_index_to_x_full", LIBRARY_PANGO); Linker.link(pango_glyph_string_set_size, "pango_glyph_string_set_size", LIBRARY_PANGO); Linker.link(pango_glyph_string_x_to_index, "pango_glyph_string_x_to_index", LIBRARY_PANGO); @@ -353,12 +368,14 @@ shared static this() Linker.link(pango_layout_get_type, "pango_layout_get_type", LIBRARY_PANGO); Linker.link(pango_layout_new, "pango_layout_new", LIBRARY_PANGO); + Linker.link(pango_layout_deserialize, "pango_layout_deserialize", LIBRARY_PANGO); Linker.link(pango_layout_context_changed, "pango_layout_context_changed", LIBRARY_PANGO); Linker.link(pango_layout_copy, "pango_layout_copy", LIBRARY_PANGO); Linker.link(pango_layout_get_alignment, "pango_layout_get_alignment", LIBRARY_PANGO); Linker.link(pango_layout_get_attributes, "pango_layout_get_attributes", LIBRARY_PANGO); Linker.link(pango_layout_get_auto_dir, "pango_layout_get_auto_dir", LIBRARY_PANGO); Linker.link(pango_layout_get_baseline, "pango_layout_get_baseline", LIBRARY_PANGO); + Linker.link(pango_layout_get_caret_pos, "pango_layout_get_caret_pos", LIBRARY_PANGO); Linker.link(pango_layout_get_character_count, "pango_layout_get_character_count", LIBRARY_PANGO); Linker.link(pango_layout_get_context, "pango_layout_get_context", LIBRARY_PANGO); Linker.link(pango_layout_get_cursor_pos, "pango_layout_get_cursor_pos", LIBRARY_PANGO); @@ -370,6 +387,7 @@ shared static this() Linker.link(pango_layout_get_indent, "pango_layout_get_indent", LIBRARY_PANGO); Linker.link(pango_layout_get_iter, "pango_layout_get_iter", LIBRARY_PANGO); Linker.link(pango_layout_get_justify, "pango_layout_get_justify", LIBRARY_PANGO); + Linker.link(pango_layout_get_justify_last_line, "pango_layout_get_justify_last_line", LIBRARY_PANGO); Linker.link(pango_layout_get_line, "pango_layout_get_line", LIBRARY_PANGO); Linker.link(pango_layout_get_line_count, "pango_layout_get_line_count", LIBRARY_PANGO); Linker.link(pango_layout_get_line_readonly, "pango_layout_get_line_readonly", LIBRARY_PANGO); @@ -394,6 +412,7 @@ shared static this() Linker.link(pango_layout_is_ellipsized, "pango_layout_is_ellipsized", LIBRARY_PANGO); Linker.link(pango_layout_is_wrapped, "pango_layout_is_wrapped", LIBRARY_PANGO); Linker.link(pango_layout_move_cursor_visually, "pango_layout_move_cursor_visually", LIBRARY_PANGO); + Linker.link(pango_layout_serialize, "pango_layout_serialize", LIBRARY_PANGO); Linker.link(pango_layout_set_alignment, "pango_layout_set_alignment", LIBRARY_PANGO); Linker.link(pango_layout_set_attributes, "pango_layout_set_attributes", LIBRARY_PANGO); Linker.link(pango_layout_set_auto_dir, "pango_layout_set_auto_dir", LIBRARY_PANGO); @@ -402,6 +421,7 @@ shared static this() Linker.link(pango_layout_set_height, "pango_layout_set_height", LIBRARY_PANGO); Linker.link(pango_layout_set_indent, "pango_layout_set_indent", LIBRARY_PANGO); Linker.link(pango_layout_set_justify, "pango_layout_set_justify", LIBRARY_PANGO); + Linker.link(pango_layout_set_justify_last_line, "pango_layout_set_justify_last_line", LIBRARY_PANGO); Linker.link(pango_layout_set_line_spacing, "pango_layout_set_line_spacing", LIBRARY_PANGO); Linker.link(pango_layout_set_markup, "pango_layout_set_markup", LIBRARY_PANGO); Linker.link(pango_layout_set_markup_with_accel, "pango_layout_set_markup_with_accel", LIBRARY_PANGO); @@ -411,6 +431,7 @@ shared static this() Linker.link(pango_layout_set_text, "pango_layout_set_text", LIBRARY_PANGO); Linker.link(pango_layout_set_width, "pango_layout_set_width", LIBRARY_PANGO); Linker.link(pango_layout_set_wrap, "pango_layout_set_wrap", LIBRARY_PANGO); + Linker.link(pango_layout_write_to_file, "pango_layout_write_to_file", LIBRARY_PANGO); Linker.link(pango_layout_xy_to_index, "pango_layout_xy_to_index", LIBRARY_PANGO); // pango.PgLayoutIter @@ -430,6 +451,7 @@ shared static this() Linker.link(pango_layout_iter_get_line_readonly, "pango_layout_iter_get_line_readonly", LIBRARY_PANGO); Linker.link(pango_layout_iter_get_line_yrange, "pango_layout_iter_get_line_yrange", LIBRARY_PANGO); Linker.link(pango_layout_iter_get_run, "pango_layout_iter_get_run", LIBRARY_PANGO); + Linker.link(pango_layout_iter_get_run_baseline, "pango_layout_iter_get_run_baseline", LIBRARY_PANGO); Linker.link(pango_layout_iter_get_run_extents, "pango_layout_iter_get_run_extents", LIBRARY_PANGO); Linker.link(pango_layout_iter_get_run_readonly, "pango_layout_iter_get_run_readonly", LIBRARY_PANGO); Linker.link(pango_layout_iter_next_char, "pango_layout_iter_next_char", LIBRARY_PANGO); @@ -442,9 +464,13 @@ shared static this() Linker.link(pango_layout_line_get_type, "pango_layout_line_get_type", LIBRARY_PANGO); Linker.link(pango_layout_line_get_extents, "pango_layout_line_get_extents", LIBRARY_PANGO); Linker.link(pango_layout_line_get_height, "pango_layout_line_get_height", LIBRARY_PANGO); + Linker.link(pango_layout_line_get_length, "pango_layout_line_get_length", LIBRARY_PANGO); Linker.link(pango_layout_line_get_pixel_extents, "pango_layout_line_get_pixel_extents", LIBRARY_PANGO); + Linker.link(pango_layout_line_get_resolved_direction, "pango_layout_line_get_resolved_direction", LIBRARY_PANGO); + Linker.link(pango_layout_line_get_start_index, "pango_layout_line_get_start_index", LIBRARY_PANGO); Linker.link(pango_layout_line_get_x_ranges, "pango_layout_line_get_x_ranges", LIBRARY_PANGO); Linker.link(pango_layout_line_index_to_x, "pango_layout_line_index_to_x", LIBRARY_PANGO); + Linker.link(pango_layout_line_is_paragraph_start, "pango_layout_line_is_paragraph_start", LIBRARY_PANGO); Linker.link(pango_layout_line_ref, "pango_layout_line_ref", LIBRARY_PANGO); Linker.link(pango_layout_line_unref, "pango_layout_line_unref", LIBRARY_PANGO); Linker.link(pango_layout_line_x_to_index, "pango_layout_line_x_to_index", LIBRARY_PANGO); @@ -457,6 +483,7 @@ shared static this() Linker.link(pango_matrix_free, "pango_matrix_free", LIBRARY_PANGO); Linker.link(pango_matrix_get_font_scale_factor, "pango_matrix_get_font_scale_factor", LIBRARY_PANGO); Linker.link(pango_matrix_get_font_scale_factors, "pango_matrix_get_font_scale_factors", LIBRARY_PANGO); + Linker.link(pango_matrix_get_slant_ratio, "pango_matrix_get_slant_ratio", LIBRARY_PANGO); Linker.link(pango_matrix_rotate, "pango_matrix_rotate", LIBRARY_PANGO); Linker.link(pango_matrix_scale, "pango_matrix_scale", LIBRARY_PANGO); Linker.link(pango_matrix_transform_distance, "pango_matrix_transform_distance", LIBRARY_PANGO); @@ -506,12 +533,18 @@ shared static this() Linker.link(pango_tab_array_new_with_positions, "pango_tab_array_new_with_positions", LIBRARY_PANGO); Linker.link(pango_tab_array_copy, "pango_tab_array_copy", LIBRARY_PANGO); Linker.link(pango_tab_array_free, "pango_tab_array_free", LIBRARY_PANGO); + Linker.link(pango_tab_array_get_decimal_point, "pango_tab_array_get_decimal_point", LIBRARY_PANGO); Linker.link(pango_tab_array_get_positions_in_pixels, "pango_tab_array_get_positions_in_pixels", LIBRARY_PANGO); Linker.link(pango_tab_array_get_size, "pango_tab_array_get_size", LIBRARY_PANGO); Linker.link(pango_tab_array_get_tab, "pango_tab_array_get_tab", LIBRARY_PANGO); Linker.link(pango_tab_array_get_tabs, "pango_tab_array_get_tabs", LIBRARY_PANGO); Linker.link(pango_tab_array_resize, "pango_tab_array_resize", LIBRARY_PANGO); + Linker.link(pango_tab_array_set_decimal_point, "pango_tab_array_set_decimal_point", LIBRARY_PANGO); + Linker.link(pango_tab_array_set_positions_in_pixels, "pango_tab_array_set_positions_in_pixels", LIBRARY_PANGO); Linker.link(pango_tab_array_set_tab, "pango_tab_array_set_tab", LIBRARY_PANGO); + Linker.link(pango_tab_array_sort, "pango_tab_array_sort", LIBRARY_PANGO); + Linker.link(pango_tab_array_to_string, "pango_tab_array_to_string", LIBRARY_PANGO); + Linker.link(pango_tab_array_from_string, "pango_tab_array_from_string", LIBRARY_PANGO); // pango.PgCairoFontMap @@ -625,8 +658,10 @@ __gshared extern(C) void function(PangoAttrList* list, PangoAttribute* attr) c_pango_attr_list_insert_before; PangoAttrList* function(PangoAttrList* list) c_pango_attr_list_ref; void function(PangoAttrList* list, PangoAttrList* other, int pos, int len) c_pango_attr_list_splice; + char* function(PangoAttrList* list) c_pango_attr_list_to_string; void function(PangoAttrList* list) c_pango_attr_list_unref; void function(PangoAttrList* list, int pos, int remove, int add) c_pango_attr_list_update; + PangoAttrList* function(const(char)* text) c_pango_attr_list_from_string; // pango.PgAttributeShape @@ -641,6 +676,15 @@ __gshared extern(C) // pango.PgAttribute GType function() c_pango_attribute_get_type; + PangoAttrColor* function(PangoAttribute* attr) c_pango_attribute_as_color; + PangoAttrFloat* function(PangoAttribute* attr) c_pango_attribute_as_float; + PangoAttrFontDesc* function(PangoAttribute* attr) c_pango_attribute_as_font_desc; + PangoAttrFontFeatures* function(PangoAttribute* attr) c_pango_attribute_as_font_features; + PangoAttrInt* function(PangoAttribute* attr) c_pango_attribute_as_int; + PangoAttrLanguage* function(PangoAttribute* attr) c_pango_attribute_as_language; + PangoAttrShape* function(PangoAttribute* attr) c_pango_attribute_as_shape; + PangoAttrSize* function(PangoAttribute* attr) c_pango_attribute_as_size; + PangoAttrString* function(PangoAttribute* attr) c_pango_attribute_as_string; PangoAttribute* function(PangoAttribute* attr) c_pango_attribute_copy; void function(PangoAttribute* attr) c_pango_attribute_destroy; int function(PangoAttribute* attr1, PangoAttribute* attr2) c_pango_attribute_equal; @@ -711,11 +755,11 @@ __gshared extern(C) void function(const(char)* text, int length, PangoAnalysis* analysis, PangoLogAttr* attrs, int attrsLen) c_pango_default_break; PangoDirection function(const(char)* text, int length) c_pango_find_base_dir; void function(const(char)* text, int length, int* paragraphDelimiterIndex, int* nextParagraphStart) c_pango_find_paragraph_boundary; - void function(const(char)* text, int length, int level, PangoLanguage* language, PangoLogAttr* logAttrs, int attrsLen) c_pango_get_log_attrs; + void function(const(char)* text, int length, int level, PangoLanguage* language, PangoLogAttr* attrs, int attrsLen) c_pango_get_log_attrs; int function(dchar ch, dchar* mirroredCh) c_pango_get_mirror_char; GList* function(PangoContext* context, const(char)* text, int startIndex, int length, PangoAttrList* attrs, PangoAttrIterator* cachedIter) c_pango_itemize; GList* function(PangoContext* context, PangoDirection baseDir, const(char)* text, int startIndex, int length, PangoAttrList* attrs, PangoAttrIterator* cachedIter) c_pango_itemize_with_base_dir; - GList* function(GList* logicalItems) c_pango_reorder_items; + GList* function(GList* items) c_pango_reorder_items; void function(const(char)* text, int length, PangoAnalysis* analysis, PangoGlyphString* glyphs) c_pango_shape; void function(const(char)* itemText, int itemLength, const(char)* paragraphText, int paragraphLength, PangoAnalysis* analysis, PangoGlyphString* glyphs) c_pango_shape_full; PangoDirection function(dchar ch) c_pango_unichar_direction; @@ -737,6 +781,7 @@ __gshared extern(C) GType function() c_pango_font_get_type; void function(PangoFontDescription** descs, int nDescs) c_pango_font_descriptions_free; + PangoFont* function(PangoContext* context, GBytes* bytes, GError** err) c_pango_font_deserialize; PangoFontDescription* function(PangoFont* font) c_pango_font_describe; PangoFontDescription* function(PangoFont* font) c_pango_font_describe_with_absolute_size; PangoCoverage* function(PangoFont* font, PangoLanguage* language) c_pango_font_get_coverage; @@ -745,8 +790,10 @@ __gshared extern(C) PangoFontMap* function(PangoFont* font) c_pango_font_get_font_map; void function(PangoFont* font, PangoGlyph glyph, PangoRectangle* inkRect, PangoRectangle* logicalRect) c_pango_font_get_glyph_extents; hb_font_t* function(PangoFont* font) c_pango_font_get_hb_font; + PangoLanguage** function(PangoFont* font) c_pango_font_get_languages; PangoFontMetrics* function(PangoFont* font, PangoLanguage* language) c_pango_font_get_metrics; int function(PangoFont* font, dchar wc) c_pango_font_has_char; + GBytes* function(PangoFont* font) c_pango_font_serialize; // pango.PgFontDescription @@ -874,9 +921,10 @@ __gshared extern(C) void function(PangoGlyphString* string_) c_pango_glyph_string_free; void function(PangoGlyphString* glyphs, const(char)* text, int length, int embeddingLevel, int* logicalWidths) c_pango_glyph_string_get_logical_widths; int function(PangoGlyphString* glyphs) c_pango_glyph_string_get_width; - void function(PangoGlyphString* glyphs, char* text, int length, PangoAnalysis* analysis, int index, int trailing, int* xPos) c_pango_glyph_string_index_to_x; + void function(PangoGlyphString* glyphs, const(char)* text, int length, PangoAnalysis* analysis, int index, int trailing, int* xPos) c_pango_glyph_string_index_to_x; + void function(PangoGlyphString* glyphs, const(char)* text, int length, PangoAnalysis* analysis, PangoLogAttr* attrs, int index, int trailing, int* xPos) c_pango_glyph_string_index_to_x_full; void function(PangoGlyphString* string_, int newLen) c_pango_glyph_string_set_size; - void function(PangoGlyphString* glyphs, char* text, int length, PangoAnalysis* analysis, int xPos, int* index, int* trailing) c_pango_glyph_string_x_to_index; + void function(PangoGlyphString* glyphs, const(char)* text, int length, PangoAnalysis* analysis, int xPos, int* index, int* trailing) c_pango_glyph_string_x_to_index; // pango.PgItem @@ -903,12 +951,14 @@ __gshared extern(C) GType function() c_pango_layout_get_type; PangoLayout* function(PangoContext* context) c_pango_layout_new; + PangoLayout* function(PangoContext* context, GBytes* bytes, PangoLayoutDeserializeFlags flags, GError** err) c_pango_layout_deserialize; void function(PangoLayout* layout) c_pango_layout_context_changed; PangoLayout* function(PangoLayout* src) c_pango_layout_copy; PangoAlignment function(PangoLayout* layout) c_pango_layout_get_alignment; PangoAttrList* function(PangoLayout* layout) c_pango_layout_get_attributes; int function(PangoLayout* layout) c_pango_layout_get_auto_dir; int function(PangoLayout* layout) c_pango_layout_get_baseline; + void function(PangoLayout* layout, int index, PangoRectangle* strongPos, PangoRectangle* weakPos) c_pango_layout_get_caret_pos; int function(PangoLayout* layout) c_pango_layout_get_character_count; PangoContext* function(PangoLayout* layout) c_pango_layout_get_context; void function(PangoLayout* layout, int index, PangoRectangle* strongPos, PangoRectangle* weakPos) c_pango_layout_get_cursor_pos; @@ -920,6 +970,7 @@ __gshared extern(C) int function(PangoLayout* layout) c_pango_layout_get_indent; PangoLayoutIter* function(PangoLayout* layout) c_pango_layout_get_iter; int function(PangoLayout* layout) c_pango_layout_get_justify; + int function(PangoLayout* layout) c_pango_layout_get_justify_last_line; PangoLayoutLine* function(PangoLayout* layout, int line) c_pango_layout_get_line; int function(PangoLayout* layout) c_pango_layout_get_line_count; PangoLayoutLine* function(PangoLayout* layout, int line) c_pango_layout_get_line_readonly; @@ -944,6 +995,7 @@ __gshared extern(C) int function(PangoLayout* layout) c_pango_layout_is_ellipsized; int function(PangoLayout* layout) c_pango_layout_is_wrapped; void function(PangoLayout* layout, int strong, int oldIndex, int oldTrailing, int direction, int* newIndex, int* newTrailing) c_pango_layout_move_cursor_visually; + GBytes* function(PangoLayout* layout, PangoLayoutSerializeFlags flags) c_pango_layout_serialize; void function(PangoLayout* layout, PangoAlignment alignment) c_pango_layout_set_alignment; void function(PangoLayout* layout, PangoAttrList* attrs) c_pango_layout_set_attributes; void function(PangoLayout* layout, int autoDir) c_pango_layout_set_auto_dir; @@ -952,6 +1004,7 @@ __gshared extern(C) void function(PangoLayout* layout, int height) c_pango_layout_set_height; void function(PangoLayout* layout, int indent) c_pango_layout_set_indent; void function(PangoLayout* layout, int justify) c_pango_layout_set_justify; + void function(PangoLayout* layout, int justify) c_pango_layout_set_justify_last_line; void function(PangoLayout* layout, float factor) c_pango_layout_set_line_spacing; void function(PangoLayout* layout, const(char)* markup, int length) c_pango_layout_set_markup; void function(PangoLayout* layout, const(char)* markup, int length, dchar accelMarker, dchar* accelChar) c_pango_layout_set_markup_with_accel; @@ -961,6 +1014,7 @@ __gshared extern(C) void function(PangoLayout* layout, const(char)* text, int length) c_pango_layout_set_text; void function(PangoLayout* layout, int width) c_pango_layout_set_width; void function(PangoLayout* layout, PangoWrapMode wrap) c_pango_layout_set_wrap; + int function(PangoLayout* layout, PangoLayoutSerializeFlags flags, char* filename, GError** err) c_pango_layout_write_to_file; int function(PangoLayout* layout, int x, int y, int* index, int* trailing) c_pango_layout_xy_to_index; // pango.PgLayoutIter @@ -980,6 +1034,7 @@ __gshared extern(C) PangoLayoutLine* function(PangoLayoutIter* iter) c_pango_layout_iter_get_line_readonly; void function(PangoLayoutIter* iter, int* y0, int* y1) c_pango_layout_iter_get_line_yrange; PangoLayoutRun* function(PangoLayoutIter* iter) c_pango_layout_iter_get_run; + int function(PangoLayoutIter* iter) c_pango_layout_iter_get_run_baseline; void function(PangoLayoutIter* iter, PangoRectangle* inkRect, PangoRectangle* logicalRect) c_pango_layout_iter_get_run_extents; PangoLayoutRun* function(PangoLayoutIter* iter) c_pango_layout_iter_get_run_readonly; int function(PangoLayoutIter* iter) c_pango_layout_iter_next_char; @@ -992,9 +1047,13 @@ __gshared extern(C) GType function() c_pango_layout_line_get_type; void function(PangoLayoutLine* line, PangoRectangle* inkRect, PangoRectangle* logicalRect) c_pango_layout_line_get_extents; void function(PangoLayoutLine* line, int* height) c_pango_layout_line_get_height; + int function(PangoLayoutLine* line) c_pango_layout_line_get_length; void function(PangoLayoutLine* layoutLine, PangoRectangle* inkRect, PangoRectangle* logicalRect) c_pango_layout_line_get_pixel_extents; + PangoDirection function(PangoLayoutLine* line) c_pango_layout_line_get_resolved_direction; + int function(PangoLayoutLine* line) c_pango_layout_line_get_start_index; void function(PangoLayoutLine* line, int startIndex, int endIndex, int** ranges, int* nRanges) c_pango_layout_line_get_x_ranges; void function(PangoLayoutLine* line, int index, int trailing, int* xPos) c_pango_layout_line_index_to_x; + int function(PangoLayoutLine* line) c_pango_layout_line_is_paragraph_start; PangoLayoutLine* function(PangoLayoutLine* line) c_pango_layout_line_ref; void function(PangoLayoutLine* line) c_pango_layout_line_unref; int function(PangoLayoutLine* line, int xPos, int* index, int* trailing) c_pango_layout_line_x_to_index; @@ -1007,6 +1066,7 @@ __gshared extern(C) void function(PangoMatrix* matrix) c_pango_matrix_free; double function(PangoMatrix* matrix) c_pango_matrix_get_font_scale_factor; void function(PangoMatrix* matrix, double* xscale, double* yscale) c_pango_matrix_get_font_scale_factors; + double function(PangoMatrix* matrix) c_pango_matrix_get_slant_ratio; void function(PangoMatrix* matrix, double degrees) c_pango_matrix_rotate; void function(PangoMatrix* matrix, double scaleX, double scaleY) c_pango_matrix_scale; void function(PangoMatrix* matrix, double* dx, double* dy) c_pango_matrix_transform_distance; @@ -1056,12 +1116,18 @@ __gshared extern(C) PangoTabArray* function(int size, int positionsInPixels, PangoTabAlign firstAlignment, int firstPosition, ... ) c_pango_tab_array_new_with_positions; PangoTabArray* function(PangoTabArray* src) c_pango_tab_array_copy; void function(PangoTabArray* tabArray) c_pango_tab_array_free; + dchar function(PangoTabArray* tabArray, int tabIndex) c_pango_tab_array_get_decimal_point; int function(PangoTabArray* tabArray) c_pango_tab_array_get_positions_in_pixels; int function(PangoTabArray* tabArray) c_pango_tab_array_get_size; void function(PangoTabArray* tabArray, int tabIndex, PangoTabAlign* alignment, int* location) c_pango_tab_array_get_tab; void function(PangoTabArray* tabArray, PangoTabAlign** alignments, int** locations) c_pango_tab_array_get_tabs; void function(PangoTabArray* tabArray, int newSize) c_pango_tab_array_resize; + void function(PangoTabArray* tabArray, int tabIndex, dchar decimalPoint) c_pango_tab_array_set_decimal_point; + void function(PangoTabArray* tabArray, int positionsInPixels) c_pango_tab_array_set_positions_in_pixels; void function(PangoTabArray* tabArray, int tabIndex, PangoTabAlign alignment, int location) c_pango_tab_array_set_tab; + void function(PangoTabArray* tabArray) c_pango_tab_array_sort; + char* function(PangoTabArray* tabArray) c_pango_tab_array_to_string; + PangoTabArray* function(const(char)* text) c_pango_tab_array_from_string; // pango.PgCairoFontMap @@ -1173,8 +1239,10 @@ alias c_pango_attr_list_insert pango_attr_list_insert; alias c_pango_attr_list_insert_before pango_attr_list_insert_before; alias c_pango_attr_list_ref pango_attr_list_ref; alias c_pango_attr_list_splice pango_attr_list_splice; +alias c_pango_attr_list_to_string pango_attr_list_to_string; alias c_pango_attr_list_unref pango_attr_list_unref; alias c_pango_attr_list_update pango_attr_list_update; +alias c_pango_attr_list_from_string pango_attr_list_from_string; // pango.PgAttributeShape @@ -1189,6 +1257,15 @@ alias c_pango_attr_size_new_absolute pango_attr_size_new_absolute; // pango.PgAttribute alias c_pango_attribute_get_type pango_attribute_get_type; +alias c_pango_attribute_as_color pango_attribute_as_color; +alias c_pango_attribute_as_float pango_attribute_as_float; +alias c_pango_attribute_as_font_desc pango_attribute_as_font_desc; +alias c_pango_attribute_as_font_features pango_attribute_as_font_features; +alias c_pango_attribute_as_int pango_attribute_as_int; +alias c_pango_attribute_as_language pango_attribute_as_language; +alias c_pango_attribute_as_shape pango_attribute_as_shape; +alias c_pango_attribute_as_size pango_attribute_as_size; +alias c_pango_attribute_as_string pango_attribute_as_string; alias c_pango_attribute_copy pango_attribute_copy; alias c_pango_attribute_destroy pango_attribute_destroy; alias c_pango_attribute_equal pango_attribute_equal; @@ -1285,6 +1362,7 @@ alias c_pango_coverage_unref pango_coverage_unref; alias c_pango_font_get_type pango_font_get_type; alias c_pango_font_descriptions_free pango_font_descriptions_free; +alias c_pango_font_deserialize pango_font_deserialize; alias c_pango_font_describe pango_font_describe; alias c_pango_font_describe_with_absolute_size pango_font_describe_with_absolute_size; alias c_pango_font_get_coverage pango_font_get_coverage; @@ -1293,8 +1371,10 @@ alias c_pango_font_get_features pango_font_get_features; alias c_pango_font_get_font_map pango_font_get_font_map; alias c_pango_font_get_glyph_extents pango_font_get_glyph_extents; alias c_pango_font_get_hb_font pango_font_get_hb_font; +alias c_pango_font_get_languages pango_font_get_languages; alias c_pango_font_get_metrics pango_font_get_metrics; alias c_pango_font_has_char pango_font_has_char; +alias c_pango_font_serialize pango_font_serialize; // pango.PgFontDescription @@ -1423,6 +1503,7 @@ alias c_pango_glyph_string_free pango_glyph_string_free; alias c_pango_glyph_string_get_logical_widths pango_glyph_string_get_logical_widths; alias c_pango_glyph_string_get_width pango_glyph_string_get_width; alias c_pango_glyph_string_index_to_x pango_glyph_string_index_to_x; +alias c_pango_glyph_string_index_to_x_full pango_glyph_string_index_to_x_full; alias c_pango_glyph_string_set_size pango_glyph_string_set_size; alias c_pango_glyph_string_x_to_index pango_glyph_string_x_to_index; @@ -1451,12 +1532,14 @@ alias c_pango_language_get_preferred pango_language_get_preferred; alias c_pango_layout_get_type pango_layout_get_type; alias c_pango_layout_new pango_layout_new; +alias c_pango_layout_deserialize pango_layout_deserialize; alias c_pango_layout_context_changed pango_layout_context_changed; alias c_pango_layout_copy pango_layout_copy; alias c_pango_layout_get_alignment pango_layout_get_alignment; alias c_pango_layout_get_attributes pango_layout_get_attributes; alias c_pango_layout_get_auto_dir pango_layout_get_auto_dir; alias c_pango_layout_get_baseline pango_layout_get_baseline; +alias c_pango_layout_get_caret_pos pango_layout_get_caret_pos; alias c_pango_layout_get_character_count pango_layout_get_character_count; alias c_pango_layout_get_context pango_layout_get_context; alias c_pango_layout_get_cursor_pos pango_layout_get_cursor_pos; @@ -1468,6 +1551,7 @@ alias c_pango_layout_get_height pango_layout_get_height; alias c_pango_layout_get_indent pango_layout_get_indent; alias c_pango_layout_get_iter pango_layout_get_iter; alias c_pango_layout_get_justify pango_layout_get_justify; +alias c_pango_layout_get_justify_last_line pango_layout_get_justify_last_line; alias c_pango_layout_get_line pango_layout_get_line; alias c_pango_layout_get_line_count pango_layout_get_line_count; alias c_pango_layout_get_line_readonly pango_layout_get_line_readonly; @@ -1492,6 +1576,7 @@ alias c_pango_layout_index_to_pos pango_layout_index_to_pos; alias c_pango_layout_is_ellipsized pango_layout_is_ellipsized; alias c_pango_layout_is_wrapped pango_layout_is_wrapped; alias c_pango_layout_move_cursor_visually pango_layout_move_cursor_visually; +alias c_pango_layout_serialize pango_layout_serialize; alias c_pango_layout_set_alignment pango_layout_set_alignment; alias c_pango_layout_set_attributes pango_layout_set_attributes; alias c_pango_layout_set_auto_dir pango_layout_set_auto_dir; @@ -1500,6 +1585,7 @@ alias c_pango_layout_set_font_description pango_layout_set_font_description; alias c_pango_layout_set_height pango_layout_set_height; alias c_pango_layout_set_indent pango_layout_set_indent; alias c_pango_layout_set_justify pango_layout_set_justify; +alias c_pango_layout_set_justify_last_line pango_layout_set_justify_last_line; alias c_pango_layout_set_line_spacing pango_layout_set_line_spacing; alias c_pango_layout_set_markup pango_layout_set_markup; alias c_pango_layout_set_markup_with_accel pango_layout_set_markup_with_accel; @@ -1509,6 +1595,7 @@ alias c_pango_layout_set_tabs pango_layout_set_tabs; alias c_pango_layout_set_text pango_layout_set_text; alias c_pango_layout_set_width pango_layout_set_width; alias c_pango_layout_set_wrap pango_layout_set_wrap; +alias c_pango_layout_write_to_file pango_layout_write_to_file; alias c_pango_layout_xy_to_index pango_layout_xy_to_index; // pango.PgLayoutIter @@ -1528,6 +1615,7 @@ alias c_pango_layout_iter_get_line_extents pango_layout_iter_get_line_extents; alias c_pango_layout_iter_get_line_readonly pango_layout_iter_get_line_readonly; alias c_pango_layout_iter_get_line_yrange pango_layout_iter_get_line_yrange; alias c_pango_layout_iter_get_run pango_layout_iter_get_run; +alias c_pango_layout_iter_get_run_baseline pango_layout_iter_get_run_baseline; alias c_pango_layout_iter_get_run_extents pango_layout_iter_get_run_extents; alias c_pango_layout_iter_get_run_readonly pango_layout_iter_get_run_readonly; alias c_pango_layout_iter_next_char pango_layout_iter_next_char; @@ -1540,9 +1628,13 @@ alias c_pango_layout_iter_next_run pango_layout_iter_next_run; alias c_pango_layout_line_get_type pango_layout_line_get_type; alias c_pango_layout_line_get_extents pango_layout_line_get_extents; alias c_pango_layout_line_get_height pango_layout_line_get_height; +alias c_pango_layout_line_get_length pango_layout_line_get_length; alias c_pango_layout_line_get_pixel_extents pango_layout_line_get_pixel_extents; +alias c_pango_layout_line_get_resolved_direction pango_layout_line_get_resolved_direction; +alias c_pango_layout_line_get_start_index pango_layout_line_get_start_index; alias c_pango_layout_line_get_x_ranges pango_layout_line_get_x_ranges; alias c_pango_layout_line_index_to_x pango_layout_line_index_to_x; +alias c_pango_layout_line_is_paragraph_start pango_layout_line_is_paragraph_start; alias c_pango_layout_line_ref pango_layout_line_ref; alias c_pango_layout_line_unref pango_layout_line_unref; alias c_pango_layout_line_x_to_index pango_layout_line_x_to_index; @@ -1555,6 +1647,7 @@ alias c_pango_matrix_copy pango_matrix_copy; alias c_pango_matrix_free pango_matrix_free; alias c_pango_matrix_get_font_scale_factor pango_matrix_get_font_scale_factor; alias c_pango_matrix_get_font_scale_factors pango_matrix_get_font_scale_factors; +alias c_pango_matrix_get_slant_ratio pango_matrix_get_slant_ratio; alias c_pango_matrix_rotate pango_matrix_rotate; alias c_pango_matrix_scale pango_matrix_scale; alias c_pango_matrix_transform_distance pango_matrix_transform_distance; @@ -1604,12 +1697,18 @@ alias c_pango_tab_array_new pango_tab_array_new; alias c_pango_tab_array_new_with_positions pango_tab_array_new_with_positions; alias c_pango_tab_array_copy pango_tab_array_copy; alias c_pango_tab_array_free pango_tab_array_free; +alias c_pango_tab_array_get_decimal_point pango_tab_array_get_decimal_point; alias c_pango_tab_array_get_positions_in_pixels pango_tab_array_get_positions_in_pixels; alias c_pango_tab_array_get_size pango_tab_array_get_size; alias c_pango_tab_array_get_tab pango_tab_array_get_tab; alias c_pango_tab_array_get_tabs pango_tab_array_get_tabs; alias c_pango_tab_array_resize pango_tab_array_resize; +alias c_pango_tab_array_set_decimal_point pango_tab_array_set_decimal_point; +alias c_pango_tab_array_set_positions_in_pixels pango_tab_array_set_positions_in_pixels; alias c_pango_tab_array_set_tab pango_tab_array_set_tab; +alias c_pango_tab_array_sort pango_tab_array_sort; +alias c_pango_tab_array_to_string pango_tab_array_to_string; +alias c_pango_tab_array_from_string pango_tab_array_from_string; // pango.PgCairoFontMap diff --git a/generated/gtkd/pango/c/types.d b/source/generated/pango/pango/c/types.d similarity index 81% rename from generated/gtkd/pango/c/types.d rename to source/generated/pango/pango/c/types.d index 9d4bb542a..607ddd147 100644 --- a/generated/gtkd/pango/c/types.d +++ b/source/generated/pango/pango/c/types.d @@ -40,12 +40,14 @@ public alias uint PangoGlyph; * The `PangoGlyphUnit` type is used to store dimensions within * Pango. * - * Dimensions are stored in 1/%PANGO_SCALE of a device unit. + * Dimensions are stored in 1/PANGO_SCALE of a device unit. * (A device unit might be a pixel for screen display, or - * a point on a printer.) %PANGO_SCALE is currently 1024, and + * a point on a printer.) PANGO_SCALE is currently 1024, and * may change in the future (unlikely though), but you should not - * depend on its exact value. The PANGO_PIXELS() macro can be used - * to convert from glyph units into device units with correct rounding. + * depend on its exact value. + * + * The PANGO_PIXELS() macro can be used to convert from glyph units + * into device units with correct rounding. */ public alias int PangoGlyphUnit; @@ -62,7 +64,10 @@ public alias PangoGlyphItem PangoLayoutRun; * within the available space. * * If the `PangoLayout` is set to justify using [method@Pango.Layout.set_justify], - * this only has effect for partial lines. + * this only affects partial lines. + * + * See [method@Pango.Layout.set_auto_dir] for how text direction affects + * the interpretation of `PangoAlignment` values. */ public enum PangoAlignment { @@ -84,7 +89,7 @@ public enum PangoAlignment * The `PangoAttrType` distinguishes between different types of attributes. * * Along with the predefined values, it is possible to allocate additional - * values for custom attributes using [type_func@attr_type_register]. The predefined + * values for custom attributes using [func@AttrType.register]. The predefined * values are given below. The type of structure used to store the attribute is * listed in parentheses after the description. */ @@ -183,7 +188,7 @@ public enum PangoAttrType */ GRAVITY_HINT = 22, /** - * OpenType font features ([struct@Pango.AttrString]). Since 1.38 + * OpenType font features ([struct@Pango.AttrFontFeatures]). Since 1.38 */ FONT_FEATURES = 23, /** @@ -214,12 +219,62 @@ public enum PangoAttrType * overline color ([struct@Pango.AttrColor]). Since 1.46 */ OVERLINE_COLOR = 30, + /** + * line height factor ([struct@Pango.AttrFloat]). Since: 1.50 + */ + LINE_HEIGHT = 31, + /** + * line height ([struct@Pango.AttrInt]). Since: 1.50 + */ + ABSOLUTE_LINE_HEIGHT = 32, + TEXT_TRANSFORM = 33, + /** + * override segmentation to classify the range of the attribute as a single word ([struct@Pango.AttrInt]). Since 1.50 + */ + WORD = 34, + /** + * override segmentation to classify the range of the attribute as a single sentence ([struct@Pango.AttrInt]). Since 1.50 + */ + SENTENCE = 35, + /** + * baseline displacement ([struct@Pango.AttrInt]). Since 1.50 + */ + BASELINE_SHIFT = 36, + /** + * font-relative size change ([struct@Pango.AttrInt]). Since 1.50 + */ + FONT_SCALE = 37, +} + +/** + * An enumeration that affects baseline shifts between runs. + * + * Since: 1.50 + */ +public enum PangoBaselineShift +{ + /** + * Leave the baseline unchanged + */ + NONE = 0, + /** + * Shift the baseline to the superscript position, + * relative to the previous run + */ + SUPERSCRIPT = 1, + /** + * Shift the baseline to the subscript position, + * relative to the previous run + */ + SUBSCRIPT = 2, } /** * `PangoBidiType` represents the bidirectional character - * type of a Unicode character as specified by the - * Unicode bidirectional algorithm. + * type of a Unicode character. + * + * The values in this enumeration are specified by the + * [Unicode bidirectional algorithm](http://www.unicode.org/reports/tr9/). * * Deprecated: Use fribidi for this information * @@ -303,11 +358,27 @@ public enum PangoBidiType * Other Neutrals */ ON = 18, + /** + * Left-to-Right isolate. Since 1.48.6 + */ + LRI = 19, + /** + * Right-to-Left isolate. Since 1.48.6 + */ + RLI = 20, + /** + * First strong isolate. Since 1.48.6 + */ + FSI = 21, + /** + * Pop directional isolate. Since 1.48.6 + */ + PDI = 22, } /** - * `PangoCoverageLevel` is used to indicate how well a font can represent - * a particular Unicode character for a particular script. + * `PangoCoverageLevel` is used to indicate how well a font can + * represent a particular Unicode character for a particular script. * * Since 1.44, only %PANGO_COVERAGE_NONE and %PANGO_COVERAGE_EXACT * will be returned. @@ -315,24 +386,27 @@ public enum PangoBidiType public enum PangoCoverageLevel { /** - * The character is not representable with the font. + * The character is not representable with + * the font. */ NONE = 0, /** - * The character is represented in a way that may be - * comprehensible but is not the correct graphical form. - * For instance, a Hangul character represented as a - * a sequence of Jamos, or a Latin transliteration of a Cyrillic word. + * The character is represented in a + * way that may be comprehensible but is not the correct + * graphical form. For instance, a Hangul character represented + * as a a sequence of Jamos, or a Latin transliteration of a + * Cyrillic word. */ FALLBACK = 1, /** - * The character is represented as basically the correct - * graphical form, but with a stylistic variant inappropriate for - * the current script. + * The character is represented as + * basically the correct graphical form, but with a stylistic + * variant inappropriate for the current script. */ APPROXIMATE = 2, /** - * The character is represented as the correct graphical form. + * The character is represented as the + * correct graphical form. */ EXACT = 3, } @@ -343,14 +417,14 @@ public enum PangoCoverageLevel * * Not every value in this enumeration makes sense for every usage of * `PangoDirection`; for example, the return value of [func@unichar_direction] - * and [func@find_base_dir] cannot be %PANGO_DIRECTION_WEAK_LTR or - * %PANGO_DIRECTION_WEAK_RTL, since every character is either neutral - * or has a strong direction; on the other hand %PANGO_DIRECTION_NEUTRAL + * and [func@find_base_dir] cannot be `PANGO_DIRECTION_WEAK_LTR` or + * `PANGO_DIRECTION_WEAK_RTL`, since every character is either neutral + * or has a strong direction; on the other hand `PANGO_DIRECTION_NEUTRAL` * doesn't make sense to pass to [func@itemize_with_base_dir]. * - * The %PANGO_DIRECTION_TTB_LTR, %PANGO_DIRECTION_TTB_RTL values come from + * The `PANGO_DIRECTION_TTB_LTR`, `PANGO_DIRECTION_TTB_RTL` values come from * an earlier interpretation of this enumeration as the writing direction - * of a block of text and are no longer used; See `PangoGravity` for how + * of a block of text and are no longer used. See `PangoGravity` for how * vertical text is handled in Pango. * * If you are interested in text direction, you should really use fribidi @@ -369,12 +443,12 @@ public enum PangoDirection RTL = 1, /** * Deprecated value; treated the - * same as %PANGO_DIRECTION_RTL. + * same as `PANGO_DIRECTION_RTL`. */ TTB_LTR = 2, /** * Deprecated value; treated the - * same as %PANGO_DIRECTION_LTR + * same as `PANGO_DIRECTION_LTR` */ TTB_RTL = 3, /** @@ -459,6 +533,32 @@ public enum PangoFontMask VARIATIONS = 128, } +/** + * An enumeration that affects font sizes for superscript + * and subscript positioning and for (emulated) Small Caps. + * + * Since: 1.50 + */ +public enum PangoFontScale +{ + /** + * Leave the font size unchanged + */ + NONE = 0, + /** + * Change the font to a size suitable for superscripts + */ + SUPERSCRIPT = 1, + /** + * Change the font to a size suitable for subscripts + */ + SUBSCRIPT = 2, + /** + * Change the font to a size suitable for Small Caps + */ + SMALL_CAPS = 3, +} + /** * `PangoGravity` represents the orientation of glyphs in a segment * of text. @@ -479,19 +579,19 @@ public enum PangoFontMask public enum PangoGravity { /** - * Glyphs stand upright (default) + * Glyphs stand upright (default) */ SOUTH = 0, /** - * Glyphs are rotated 90 degrees clockwise + * Glyphs are rotated 90 degrees counter-clockwise. */ EAST = 1, /** - * Glyphs are upside-down + * Glyphs are upside-down. */ NORTH = 2, /** - * Glyphs are rotated 90 degrees counter-clockwise + * Glyphs are rotated 90 degrees clockwise. */ WEST = 3, /** @@ -525,12 +625,78 @@ public enum PangoGravityHint /** * for scripts not in their natural direction (eg. * Latin in East gravity), choose per-script gravity such that every script - * respects the line progression. This means, Latin and Arabic will take + * respects the line progression. This means, Latin and Arabic will take * opposite gravities and both flow top-to-bottom for example. */ LINE = 2, } +/** + * Errors that can be returned by [func@Pango.Layout.deserialize]. + * + * Since: 1.50 + */ +public enum PangoLayoutDeserializeError +{ + /** + * Unspecified error + */ + INVALID = 0, + /** + * A JSon value could not be + * interpreted + */ + INVALID_VALUE = 1, + /** + * A required JSon member was + * not found + */ + MISSING_VALUE = 2, +} + +/** + * Flags that influence the behavior of [func@Pango.Layout.deserialize]. + * + * New members may be added to this enumeration over time. + * + * Since: 1.50 + */ +public enum PangoLayoutDeserializeFlags +{ + /** + * Default behavior + */ + DEFAULT = 0, + /** + * Apply context information + * from the serialization to the `PangoContext` + */ + CONTEXT = 1, +} + +/** + * Flags that influence the behavior of [method@Pango.Layout.serialize]. + * + * New members may be added to this enumeration over time. + * + * Since: 1.50 + */ +public enum PangoLayoutSerializeFlags +{ + /** + * Default behavior + */ + DEFAULT = 0, + /** + * Include context information + */ + CONTEXT = 1, + /** + * Include information about the formatted output + */ + OUTPUT = 2, +} + /** * The `PangoOverline` enumeration is used to specify whether text * should be overlined, and if so, the type of line. @@ -551,7 +717,7 @@ public enum PangoOverline } /** - * #PangoRenderPart defines different items to render for such + * `PangoRenderPart` defines different items to render for such * purposes as setting colors. * * Since: 1.8 @@ -587,9 +753,9 @@ public enum PangoRenderPart * The values correspond to the names as defined in the Unicode standard. See * [Unicode Standard Annex 24: Script names](http://www.unicode.org/reports/tr24/) * - * Note that this enumeration is deprecated and will not be updated - * to include values in newer versions of the Unicode standard. - * Applications should use the `GUnicodeScript` enumeration instead, + * Note that this enumeration is deprecated and will not be updated to include values + * in newer versions of the Unicode standard. Applications should use the + * [enum@GLib.UnicodeScript] enumeration instead, * whose values are interchangeable with `PangoScript`. */ public enum PangoScript @@ -1072,19 +1238,19 @@ public enum PangoScript /** * Flags influencing the shaping process. * - * `PangoShapeFlags` can be passed to pango_shape_with_flags(). + * `PangoShapeFlags` can be passed to [func@Pango.shape_with_flags]. + * + * Since: 1.44 */ public enum PangoShapeFlags { /** - * Default value. + * Default value */ NONE = 0, /** - * Round glyph positions - * and widths to whole device units. This option should - * be set if the target renderer can't do subpixel - * positioning of glyphs. + * Round glyph positions and widths to whole device units + * This option should be set if the target renderer can't do subpixel positioning of glyphs */ ROUND_POSITIONS = 1, } @@ -1092,6 +1258,8 @@ public enum PangoShapeFlags /** * These flags affect how Pango treats characters that are normally * not visible in the output. + * + * Since: 1.44 */ public enum PangoShowFlags { @@ -1178,14 +1346,57 @@ public enum PangoStyle } /** - * `PangoTabAlign` specifies where a tab stop appears relative to the text. + * `PangoTabAlign` specifies where the text appears relative to the tab stop + * position. */ public enum PangoTabAlign { /** - * the tab stop appears to the left of the text. + * the text appears to the right of the tab stop position */ LEFT = 0, + /** + * the text appears to the left of the tab stop position + * until the available space is filled. Since: 1.50 + */ + RIGHT = 1, + /** + * the text is centered at the tab stop position + * until the available space is filled. Since: 1.50 + */ + CENTER = 2, + /** + * text before the first occurrence of the decimal point + * character appears to the left of the tab stop position (until the available + * space is filled), the rest to the right. Since: 1.50 + */ + DECIMAL = 3, +} + +/** + * An enumeration that affects how Pango treats characters during shaping. + * + * Since: 1.50 + */ +public enum PangoTextTransform +{ + /** + * Leave text unchanged + */ + NONE = 0, + /** + * Display letters and numbers as lowercase + */ + LOWERCASE = 1, + /** + * Display letters and numbers as uppercase + */ + UPPERCASE = 2, + /** + * Display the first character of a word + * in titlecase + */ + CAPITALIZE = 3, } /** @@ -1260,18 +1471,45 @@ public enum PangoVariant * replaced by smaller variants of the capital characters. */ SMALL_CAPS = 1, + /** + * A font with all characters + * replaced by smaller variants of the capital characters. Since: 1.50 + */ + ALL_SMALL_CAPS = 2, + /** + * A font with the lower case characters + * replaced by smaller variants of the capital characters. + * Petite Caps can be even smaller than Small Caps. Since: 1.50 + */ + PETITE_CAPS = 3, + /** + * A font with all characters + * replaced by smaller variants of the capital characters. + * Petite Caps can be even smaller than Small Caps. Since: 1.50 + */ + ALL_PETITE_CAPS = 4, + /** + * A font with the upper case characters + * replaced by smaller variants of the capital letters. Since: 1.50 + */ + UNICASE = 5, + /** + * A font with capital letters that + * are more suitable for all-uppercase titles. Since: 1.50 + */ + TITLE_CAPS = 6, } /** * An enumeration specifying the weight (boldness) of a font. * - * This is a numerical value ranging from 100 to 1000, but there - * are some predefined values. + * Weight is specified as a numeric value ranging from 100 to 1000. + * This enumeration simply provides some common, predefined values. */ public enum PangoWeight { /** - * the thin weight (= 100; Since: 1.24) + * the thin weight (= 100) Since: 1.24 */ THIN = 100, /** @@ -1283,11 +1521,11 @@ public enum PangoWeight */ LIGHT = 300, /** - * the semilight weight (= 350; Since: 1.36.7) + * the semilight weight (= 350) Since: 1.36.7 */ SEMILIGHT = 350, /** - * the book weight (= 380; Since: 1.24) + * the book weight (= 380) Since: 1.24) */ BOOK = 380, /** @@ -1295,7 +1533,7 @@ public enum PangoWeight */ NORMAL = 400, /** - * the normal weight (= 500; Since: 1.24) + * the normal weight (= 500) Since: 1.24 */ MEDIUM = 500, /** @@ -1315,7 +1553,7 @@ public enum PangoWeight */ HEAVY = 900, /** - * the ultraheavy weight (= 1000; Since: 1.24) + * the ultraheavy weight (= 1000) Since: 1.24 */ ULTRAHEAVY = 1000, } @@ -1323,6 +1561,11 @@ public enum PangoWeight /** * `PangoWrapMode` describes how to wrap the lines of a `PangoLayout` * to the desired width. + * + * For @PANGO_WRAP_WORD, Pango uses break opportunities that are determined + * by the Unicode line breaking algorithm. For @PANGO_WRAP_CHAR, Pango allows + * breaking at grapheme boundaries that are determined by the Unicode text + * segmentation algorithm. */ public enum PangoWrapMode { @@ -1357,11 +1600,11 @@ struct PangoCairoFont; struct PangoAnalysis { /** - * unused + * unused, reserved */ void* shapeEngine; /** - * unused + * unused, reserved */ void* langEngine; /** @@ -1476,7 +1719,7 @@ struct PangoAttrFontFeatures */ PangoAttribute attr; /** - * the featues, as a string in CSS syntax + * the features, as a string in CSS syntax */ char* features; } @@ -1536,7 +1779,7 @@ struct PangoAttrShape */ PangoRectangle logicalRect; /** - * user data set (see [type_func@Pango.AttrShape.new_with_data]) + * user data set (see [func@Pango.AttrShape.new_with_data]) */ void* data; /** @@ -1666,9 +1909,9 @@ struct PangoFontClass /** * * Params: - * font = a `PangoFont`, or %NULL - * Returns: the `PangoFontMap` for the - * font, or %NULL if @font is %NULL. + * font = a `PangoFont` + * Returns: the `PangoFontMap` + * for the font */ extern(C) PangoFontMap* function(PangoFont* font) getFontMap; /** */ @@ -1712,7 +1955,7 @@ struct PangoFontFaceClass * * Params: * face = a `PangoFontFace` - * Returns: whether @face is synthesized. + * Returns: whether @face is synthesized */ extern(C) int function(PangoFontFace* face) isSynthesized; /** @@ -1781,13 +2024,13 @@ struct PangoFontMap } /** - * The #PangoFontMapClass structure holds the virtual functions for - * a particular #PangoFontMap implementation. + * The `PangoFontMapClass` structure holds the virtual functions for + * a particular `PangoFontMap` implementation. */ struct PangoFontMapClass { /** - * parent #GObjectClass. + * parent `GObjectClass` */ GObjectClass parentClass; /** @@ -1859,13 +2102,13 @@ struct PangoFontset } /** - * The #PangoFontsetClass structure holds the virtual functions for - * a particular #PangoFontset implementation. + * The `PangoFontsetClass` structure holds the virtual functions for + * a particular `PangoFontset` implementation. */ struct PangoFontsetClass { /** - * parent #GObjectClass. + * parent `GObjectClass` */ GObjectClass parentClass; /** @@ -1873,16 +2116,14 @@ struct PangoFontsetClass * Params: * fontset = a `PangoFontset` * wc = a Unicode character - * Returns: a `PangoFont`. The caller must call - * g_object_unref() when finished with the font. + * Returns: a `PangoFont` */ extern(C) PangoFont* function(PangoFontset* fontset, uint wc) getFont; /** * * Params: - * fontset = a #PangoFontset - * Returns: a #PangoFontMetrics object. The caller must call pango_font_metrics_unref() - * when finished using the object. + * fontset = a `PangoFontset` + * Returns: a `PangoFontMetrics` object */ extern(C) PangoFontMetrics* function(PangoFontset* fontset) getMetrics; /** */ @@ -1906,6 +2147,19 @@ struct PangoFontsetSimpleClass; /** * The `PangoGlyphGeometry` structure contains width and positioning * information for a single glyph. + * + * Note that @width is not guaranteed to be the same as the glyph + * extents. Kerning and other positioning applied during shaping will + * affect both the @width and the @x_offset for the glyphs in the + * glyph string that results from shaping. + * + * The information in this struct is intended for rendering the glyphs, + * as follows: + * + * 1. Assume the current point is (x, y) + * 2. Render the current glyph at (x + x_offset, y + y_offset), + * 3. Advance the current point to (x + width, y) + * 4. Render the next glyph */ struct PangoGlyphGeometry { @@ -1953,6 +2207,21 @@ struct PangoGlyphItem * corresponding `PangoGlyphString` */ PangoGlyphString* glyphs; + /** + * shift of the baseline, relative to the baseline + * of the containing line. Positive values shift upwards + */ + int yOffset; + /** + * horizontal displacement to apply before the + * glyph item. Positive values shift right + */ + int startXOffset; + /** + * horizontal displacement to apply after th + * glyph item. Positive values shift right + */ + int endXOffset; } struct PangoGlyphItemIter @@ -1970,17 +2239,16 @@ struct PangoGlyphItemIter struct PangoGlyphString { /** - * number of the glyphs in this glyph string. + * number of glyphs in this glyph string */ int numGlyphs; /** * array of glyph information - * for the glyph string. */ PangoGlyphInfo* glyphs; /** * logical cluster info, indexed by the byte index - * within the text corresponding to the glyph string. + * within the text corresponding to the glyph string */ int* logClusters; int space; @@ -1990,15 +2258,21 @@ struct PangoGlyphString * A `PangoGlyphVisAttr` structure communicates information between * the shaping and rendering phases. * - * Currently, it contains only cluster start information. yMore attributes - * may be added in the future. + * Currently, it contains cluster start and color information. + * More attributes may be added in the future. + * + * Clusters are stored in visual order, within the cluster, glyphs + * are always ordered in logical order, since visual order is meaningless; + * that is, in Arabic text, accent glyphs follow the glyphs for the + * base character. */ struct PangoGlyphVisAttr { import std.bitmanip: bitfields; mixin(bitfields!( uint, "isClusterStart", 1, - uint, "", 31 + uint, "isColor", 1, + uint, "", 30 )); } @@ -2078,7 +2352,9 @@ struct PangoLogAttr uint, "backspaceDeletesCharacter", 1, uint, "isExpandableSpace", 1, uint, "isWordBoundary", 1, - uint, "", 19 + uint, "breakInsertsHyphen", 1, + uint, "breakRemovesPreceding", 1, + uint, "reserved", 17 )); } @@ -2153,7 +2429,7 @@ struct PangoRenderer } /** - * Class structure for #PangoRenderer. + * Class structure for `PangoRenderer`. * * The following vfuncs take user space coordinates in Pango units * and have default implementations: @@ -2236,8 +2512,9 @@ public alias extern(C) void* function(void* userData) PangoAttrDataCopyFunc; public alias extern(C) int function(PangoAttribute* attribute, void* userData) PangoAttrFilterFunc; /** - * Callback used by pango_fontset_foreach() when enumerating - * fonts in a fontset. + * Callback used when enumerating fonts in a fontset. + * + * See [method@Pango.Fontset.foreach]. * * Params: * fontset = a `PangoFontset` @@ -2361,17 +2638,17 @@ alias PANGO_VERSION_MAJOR = VERSION_MAJOR; /** * The micro component of the version of Pango available at compile-time. */ -enum VERSION_MICRO = 5; +enum VERSION_MICRO = 7; alias PANGO_VERSION_MICRO = VERSION_MICRO; /** * The minor component of the version of Pango available at compile-time. */ -enum VERSION_MINOR = 48; +enum VERSION_MINOR = 50; alias PANGO_VERSION_MINOR = VERSION_MINOR; /** * A string literal containing the version of Pango available at compile-time. */ -enum VERSION_STRING = "1.48.5"; +enum VERSION_STRING = "1.50.7"; alias PANGO_VERSION_STRING = VERSION_STRING; diff --git a/source/generated/rsvg/rsvg/Handle.d b/source/generated/rsvg/rsvg/Handle.d new file mode 100644 index 000000000..d026b42f9 --- /dev/null +++ b/source/generated/rsvg/rsvg/Handle.d @@ -0,0 +1,1531 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module rsvg.Handle; + +private import cairo.Context; +private import gdkpixbuf.Pixbuf; +private import gio.Cancellable; +private import gio.FileIF; +private import gio.InputStream; +private import glib.ConstructionException; +private import glib.ErrorG; +private import glib.GException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import rsvg.c.functions; +public import rsvg.c.types; + + +/** + * [class@Rsvg.Handle] loads an SVG document into memory. + * + * This is the main entry point into the librsvg library. An [class@Rsvg.Handle] is an + * object that represents SVG data in memory. Your program creates an + * [class@Rsvg.Handle] from an SVG file, or from a memory buffer that contains SVG data, + * or in the most general form, from a `GInputStream` that will provide SVG data. + * + * Librsvg can load SVG images and render them to Cairo surfaces, + * using a mixture of SVG's [static mode] and [secure static mode]. + * Librsvg does not do animation nor scripting, and can load + * references to external data only in some situations; see below. + * + * Librsvg supports reading [SVG 1.1](https://www.w3.org/TR/SVG11/) data, and is gradually + * adding support for features in [SVG 2](https://www.w3.org/TR/SVG2/). Librsvg also + * supports SVGZ files, which are just an SVG stream compressed with the GZIP algorithm. + * + * [static mode]: https://www.w3.org/TR/SVG2/conform.html#static-mode + * [secure static mode]: https://www.w3.org/TR/SVG2/conform.html#secure-static-mode + * + * # The "base file" and resolving references to external files + * + * When you load an SVG, librsvg needs to know the location of the "base file" + * for it. This is so that librsvg can determine the location of referenced + * entities. For example, say you have an SVG in `/foo/bar/foo.svg` + * and that it has an image element like this: + * + * ``` + * + * ``` + * + * In this case, librsvg needs to know the location of the toplevel + * `/foo/bar/foo.svg` so that it can generate the appropriate + * reference to `/foo/bar/resources/foo.png`. + * + * ## Security and locations of referenced files + * + * When processing an SVG, librsvg will only load referenced files if they are + * in the same directory as the base file, or in a subdirectory of it. That is, + * if the base file is `/foo/bar/baz.svg`, then librsvg will + * only try to load referenced files (from SVG's + * `` element, for example, or from content + * included through XML entities) if those files are in `/foo/bar/` or in `/foo/bar/\/.../`. + * This is so that malicious SVG files cannot include files that are in a directory above. + * + * The full set of rules for deciding which URLs may be loaded is as follows; + * they are applied in order. A referenced URL will not be loaded as soon as + * one of these rules fails: + * + * 1. All `data:` URLs may be loaded. These are sometimes used + * to include raster image data, encoded as base-64, directly in an SVG file. + * + * 2. All other URL schemes in references require a base URL. For + * example, this means that if you load an SVG with + * [ctor@Rsvg.Handle.new_from_data] without calling [method@Rsvg.Handle.set_base_uri], + * then any referenced files will not be allowed (e.g. raster images to be + * loaded from other files will not work). + * + * 3. If referenced URLs are absolute, rather than relative, then they must + * have the same scheme as the base URL. For example, if the base URL has a + * `file` scheme, then all URL references inside the SVG must + * also have the `file` scheme, or be relative references which + * will be resolved against the base URL. + * + * 4. If referenced URLs have a `resource` scheme, that is, + * if they are included into your binary program with GLib's resource + * mechanism, they are allowed to be loaded (provided that the base URL is + * also a `resource`, per the previous rule). + * + * 5. Otherwise, non-`file` schemes are not allowed. For + * example, librsvg will not load `http` resources, to keep + * malicious SVG data from "phoning home". + * + * 6. A relative URL must resolve to the same directory as the base URL, or to + * one of its subdirectories. Librsvg will canonicalize filenames, by + * removing ".." path components and resolving symbolic links, to decide whether + * files meet these conditions. + * + * # Loading an SVG with GIO + * + * This is the easiest and most resource-efficient way of loading SVG data into + * an [class@Rsvg.Handle]. + * + * If you have a `GFile` that stands for an SVG file, you can simply call + * [ctor@Rsvg.Handle.new_from_gfile_sync] to load an [class@Rsvg.Handle] from it. + * + * Alternatively, if you have a `GInputStream`, you can use + * [ctor@Rsvg.Handle.new_from_stream_sync]. + * + * Both of those methods allow specifying a `GCancellable`, so the loading + * process can be cancelled from another thread. + * + * ## Loading an SVG from memory + * + * If you already have SVG data in a byte buffer in memory, you can create a + * memory input stream with [ctor@Gio.MemoryInputStream.new_from_data] and feed that + * to [ctor@Rsvg.Handle.new_from_stream_sync]. + * + * Note that in this case, it is important that you specify the base_file for + * the in-memory SVG data. Librsvg uses the base_file to resolve links to + * external content, like raster images. + * + * # Loading an SVG without GIO + * + * You can load an [class@Rsvg.Handle] from a simple filename or URI with + * [ctor@Rsvg.Handle.new_from_file]. Note that this is a blocking operation; there + * is no way to cancel it if loading a remote URI takes a long time. Also, note that + * this method does not let you specify [flags@Rsvg.HandleFlags]. + * + * Otherwise, loading an SVG without GIO is not recommended, since librsvg will + * need to buffer your entire data internally before actually being able to + * parse it. The deprecated way of doing this is by creating a handle with + * [ctor@Rsvg.Handle.new] or [ctor@Rsvg.Handle.new_with_flags], and then using + * [method@Rsvg.Handle.write] and [method@Rsvg.Handle.close] to feed the handle with SVG data. + * Still, please try to use the GIO stream functions instead. + * + * # Resolution of the rendered image (dots per inch, or DPI) + * + * SVG images can contain dimensions like "`5cm`" or + * "`2pt`" that must be converted from physical units into + * device units. To do this, librsvg needs to know the actual dots per inch + * (DPI) of your target device. You can call [method@Rsvg.Handle.set_dpi] or + * [method@Rsvg.Handle.set_dpi_x_y] on an [class@Rsvg.Handle] to set the DPI before rendering + * it. + * + * # Rendering + * + * The preferred way to render a whole SVG document is to use + * [method@Rsvg.Handle.render_document]. Please see its documentation for + * details. + * + * # API ordering + * + * Due to the way the librsvg API evolved over time, an [class@Rsvg.Handle] object is available + * for use as soon as it is constructed. However, not all of its methods can be + * called at any time. For example, an [class@Rsvg.Handle] just constructed with [ctor@Rsvg.Handle.new] + * is not loaded yet, and it does not make sense to call [method@Rsvg.Handle.render_document] on it + * just at that point. + * + * The documentation for the available methods in [class@Rsvg.Handle] may mention that a particular + * method is only callable on a "fully loaded handle". This means either: + * + * * The handle was loaded with [method@Rsvg.Handle.write] and [method@Rsvg.Handle.close], and + * those functions returned no errors. + * + * * The handle was loaded with [method@Rsvg.Handle.read_stream_sync] and that function + * returned no errors. + * + * Before librsvg 2.46, the library did not fully verify that a handle was in a + * fully loaded state for the methods that require it. To preserve + * compatibility with old code which inadvertently called the API without + * checking for errors, or which called some methods outside of the expected + * order, librsvg will just emit a `g_critical()` message in those cases. + * + * New methods introduced in librsvg 2.46 and later will check for the correct + * ordering, and panic if they are called out of order. This will abort + * the program as if it had a failed assertion. + */ +public class Handle : ObjectG +{ + /** the main Gtk struct */ + protected RsvgHandle* rsvgHandle; + + /** Get the main Gtk struct */ + public RsvgHandle* getHandleStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return rsvgHandle; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)rsvgHandle; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (RsvgHandle* rsvgHandle, bool ownedRef = false) + { + this.rsvgHandle = rsvgHandle; + super(cast(GObject*)rsvgHandle, ownedRef); + } + + + /** */ + public static GType getType() + { + return rsvg_handle_get_type(); + } + + /** + * Returns a new rsvg handle. Must be freed with [method@GObject.Object.unref]. This + * handle can be used to load an image. + * + * The preferred way of loading SVG data into the returned [class@Rsvg.Handle] is with + * [method@Rsvg.Handle.read_stream_sync]. + * + * The deprecated way of loading SVG data is with [method@Rsvg.Handle.write] and + * [method@Rsvg.Handle.close]; note that these require buffering the entire file + * internally, and for this reason it is better to use the stream functions: + * [ctor@Rsvg.Handle.new_from_stream_sync], [method@Rsvg.Handle.read_stream_sync], or + * [ctor@Rsvg.Handle.new_from_gfile_sync]. + * + * After loading the [class@Rsvg.Handle] with data, you can render it using Cairo or get + * a GdkPixbuf from it. When finished, free the handle with [method@GObject.Object.unref]. No + * more than one image can be loaded with one handle. + * + * Note that this function creates an [class@Rsvg.Handle] with no flags set. If you + * require any of [flags@Rsvg.HandleFlags] to be set, use any of + * [ctor@Rsvg.Handle.new_with_flags], [ctor@Rsvg.Handle.new_from_stream_sync], or + * [ctor@Rsvg.Handle.new_from_gfile_sync]. + * + * Returns: A new [class@Rsvg.Handle] with no flags set. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = rsvg_handle_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(RsvgHandle*) __p, true); + } + + /** + * Loads the SVG specified by @data. Note that this function creates an + * [class@Rsvg.Handle] without a base URL, and without any [flags@Rsvg.HandleFlags]. If you + * need these, use [ctor@Rsvg.Handle.new_from_stream_sync] instead by creating + * a [class@Gio.MemoryInputStream] from your data. + * + * Params: + * data = The SVG data + * + * Returns: A [class@Rsvg.Handle] or `NULL` if an error occurs. + * + * Since: 2.14 + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(ubyte[] data) + { + GError* err = null; + + auto __p = rsvg_handle_new_from_data(data.ptr, cast(size_t)data.length, &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_data"); + } + + this(cast(RsvgHandle*) __p, true); + } + + /** + * Loads the SVG specified by @file_name. Note that this function, like + * [ctor@Rsvg.Handle.new], does not specify any loading flags for the resulting + * handle. If you require the use of [flags@Rsvg.HandleFlags], use + * [ctor@Rsvg.Handle.new_from_gfile_sync]. + * + * Params: + * filename = The file name to load, or a URI. + * + * Returns: A [class@Rsvg.Handle] or `NULL` if an error occurs. + * + * Since: 2.14 + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string filename) + { + GError* err = null; + + auto __p = rsvg_handle_new_from_file(Str.toStringz(filename), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_file"); + } + + this(cast(RsvgHandle*) __p, true); + } + + /** + * Creates a new [class@Rsvg.Handle] for @file. + * + * This function sets the "base file" of the handle to be @file itself, so SVG + * elements like `` which reference external + * resources will be resolved relative to the location of @file. + * + * If @cancellable is not `NULL`, then the operation can be cancelled by + * triggering the cancellable object from another thread. If the + * operation was cancelled, the error `G_IO_ERROR_CANCELLED` will be + * returned in @error. + * + * Params: + * file = a `GFile` + * flags = flags from [flags@Rsvg.HandleFlags] + * cancellable = a `GCancellable`, or `NULL` + * + * Returns: a new [class@Rsvg.Handle] on success, or `NULL` with @error filled in + * + * Since: 2.32 + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(FileIF file, RsvgHandleFlags flags, Cancellable cancellable) + { + GError* err = null; + + auto __p = rsvg_handle_new_from_gfile_sync((file is null) ? null : file.getFileStruct(), flags, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_gfile_sync"); + } + + this(cast(RsvgHandle*) __p, true); + } + + /** + * Creates a new [class@Rsvg.Handle] for @stream. + * + * This function sets the "base file" of the handle to be @base_file if + * provided. SVG elements like `` which reference + * external resources will be resolved relative to the location of @base_file. + * + * If @cancellable is not `NULL`, then the operation can be cancelled by + * triggering the cancellable object from another thread. If the + * operation was cancelled, the error `G_IO_ERROR_CANCELLED` will be + * returned in @error. + * + * Params: + * inputStream = a `GInputStream` + * baseFile = a `GFile`, or `NULL` + * flags = flags from [flags@Rsvg.HandleFlags] + * cancellable = a `GCancellable`, or `NULL` + * + * Returns: a new [class@Rsvg.Handle] on success, or `NULL` with @error filled in + * + * Since: 2.32 + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(InputStream inputStream, FileIF baseFile, RsvgHandleFlags flags, Cancellable cancellable) + { + GError* err = null; + + auto __p = rsvg_handle_new_from_stream_sync((inputStream is null) ? null : inputStream.getInputStreamStruct(), (baseFile is null) ? null : baseFile.getFileStruct(), flags, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_stream_sync"); + } + + this(cast(RsvgHandle*) __p, true); + } + + /** + * Creates a new [class@Rsvg.Handle] with flags @flags. After calling this function, + * you can feed the resulting handle with SVG data by using + * [method@Rsvg.Handle.read_stream_sync]. + * + * Params: + * flags = flags from [flags@Rsvg.HandleFlags] + * + * Returns: a new [class@Rsvg.Handle] + * + * Since: 2.36 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(RsvgHandleFlags flags) + { + auto __p = rsvg_handle_new_with_flags(flags); + + if(__p is null) + { + throw new ConstructionException("null returned by new_with_flags"); + } + + this(cast(RsvgHandle*) __p, true); + } + + /** + * This is used after calling [method@Rsvg.Handle.write] to indicate that there is no more data + * to consume, and to start the actual parsing of the SVG document. The only reason to + * call this function is if you use use [method@Rsvg.Handle.write] to feed data into the @handle; + * if you use the other methods like [ctor@Rsvg.Handle.new_from_file] or + * [method@Rsvg.Handle.read_stream_sync], then you do not need to call this function. + * + * This will return `TRUE` if the loader closed successfully and the + * SVG data was parsed correctly. Note that @handle isn't freed until + * [method@GObject.Object.unref] is called. + * + * Deprecated: Use [method@Rsvg.Handle.read_stream_sync] or the constructor + * functions [ctor@Rsvg.Handle.new_from_gfile_sync] or + * [ctor@Rsvg.Handle.new_from_stream_sync]. See the deprecation notes for + * [method@Rsvg.Handle.write] for more information. + * + * Returns: `TRUE` on success, or `FALSE` on error. + * + * Throws: GException on failure. + */ + public bool close() + { + GError* err = null; + + auto __p = rsvg_handle_close(rsvgHandle, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Frees @handle. + * + * Deprecated: Use [method@GObject.Object.unref] instead. + */ + public void free() + { + rsvg_handle_free(rsvgHandle); + } + + /** + * Gets the base uri for this [class@Rsvg.Handle]. + * + * Returns: the base uri, possibly null + * + * Since: 2.8 + */ + public string getBaseUri() + { + return Str.toString(rsvg_handle_get_base_uri(rsvgHandle)); + } + + /** + * + * + * Deprecated: Librsvg does not read the metadata/desc/title elements; + * this function always returns `NULL`. + * + * Returns: This function always returns `NULL`. + * + * Since: 2.4 + */ + public string getDesc() + { + return Str.toString(rsvg_handle_get_desc(rsvgHandle)); + } + + /** + * Get the SVG's size. Do not call from within the size_func callback, because + * an infinite loop will occur. + * + * This function depends on the [class@Rsvg.Handle]'s DPI to compute dimensions in + * pixels, so you should call [method@Rsvg.Handle.set_dpi] beforehand. + * + * Deprecated: Use [method@Rsvg.Handle.get_intrinsic_size_in_pixels] instead. This + * function is deprecated because it is not able to return exact fractional dimensions, + * only integer pixels. + * + * Params: + * dimensionData = A place to store the SVG's size + * + * Since: 2.14 + */ + public void getDimensions(out RsvgDimensionData dimensionData) + { + rsvg_handle_get_dimensions(rsvgHandle, &dimensionData); + } + + /** + * Get the size of a subelement of the SVG file. Do not call from within the + * size_func callback, because an infinite loop will occur. + * + * This function depends on the [class@Rsvg.Handle]'s DPI to compute dimensions in + * pixels, so you should call [method@Rsvg.Handle.set_dpi] beforehand. + * + * Element IDs should look like an URL fragment identifier; for example, pass + * `#foo` (hash `foo`) to get the geometry of the element that + * has an `id="foo"` attribute. + * + * Deprecated: Use [method@Rsvg.Handle.get_geometry_for_layer] instead. + * + * Params: + * dimensionData = A place to store the SVG's size + * id = An element's id within the SVG, starting with "#" (a single + * hash character), for example, `#layer1`. This notation corresponds to a + * URL's fragment ID. Alternatively, pass `NULL` to use the whole SVG. + * + * Returns: `TRUE` if the dimensions could be obtained, `FALSE` if there was an error. + * + * Since: 2.22 + */ + public bool getDimensionsSub(out RsvgDimensionData dimensionData, string id) + { + return rsvg_handle_get_dimensions_sub(rsvgHandle, &dimensionData, Str.toStringz(id)) != 0; + } + + /** + * Computes the ink rectangle and logical rectangle of a single SVG element. + * + * While `rsvg_handle_get_geometry_for_layer` computes the geometry of an SVG element subtree with + * its transformation matrix, this other function will compute the element's geometry + * as if it were being rendered under an identity transformation by itself. That is, + * the resulting geometry is as if the element got extracted by itself from the SVG. + * + * This function is the counterpart to `rsvg_handle_render_element`. + * + * Element IDs should look like an URL fragment identifier; for example, pass + * `#foo` (hash `foo`) to get the geometry of the element that + * has an `id="foo"` attribute. + * + * The "ink rectangle" is the bounding box that would be painted + * for fully- stroked and filled elements. + * + * The "logical rectangle" just takes into account the unstroked + * paths and text outlines. + * + * Note that these bounds are not minimum bounds; for example, + * clipping paths are not taken into account. + * + * You can pass `NULL` for the @id if you want to measure all + * the elements in the SVG, i.e. to measure everything from the + * root element. + * + * This operation is not constant-time, as it involves going through all + * the child elements. + * + * Params: + * id = An element's id within the SVG, starting with "#" (a single + * hash character), for example, `#layer1`. This notation corresponds to a + * URL's fragment ID. Alternatively, pass `NULL` to compute the geometry for the + * whole SVG. + * outInkRect = Place to store the ink rectangle of the element. + * outLogicalRect = Place to store the logical rectangle of the element. + * + * Returns: `TRUE` if the geometry could be obtained, or `FALSE` on error. Errors + * are returned in the @error argument. + * + * API ordering: This function must be called on a fully-loaded @handle. See + * the section "[API ordering](class.Handle.html#api-ordering)" for details. + * + * Panics: this function will panic if the @handle is not fully-loaded. + * + * Since: 2.46 + * + * Throws: GException on failure. + */ + public bool getGeometryForElement(string id, out RsvgRectangle outInkRect, out RsvgRectangle outLogicalRect) + { + GError* err = null; + + auto __p = rsvg_handle_get_geometry_for_element(rsvgHandle, Str.toStringz(id), &outInkRect, &outLogicalRect, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Computes the ink rectangle and logical rectangle of an SVG element, or the + * whole SVG, as if the whole SVG were rendered to a specific viewport. + * + * Element IDs should look like an URL fragment identifier; for example, pass + * `#foo` (hash `foo`) to get the geometry of the element that + * has an `id="foo"` attribute. + * + * The "ink rectangle" is the bounding box that would be painted + * for fully-stroked and filled elements. + * + * The "logical rectangle" just takes into account the unstroked + * paths and text outlines. + * + * Note that these bounds are not minimum bounds; for example, + * clipping paths are not taken into account. + * + * You can pass `NULL` for the @id if you want to measure all + * the elements in the SVG, i.e. to measure everything from the + * root element. + * + * This operation is not constant-time, as it involves going through all + * the child elements. + * + * Params: + * id = An element's id within the SVG, starting with "#" (a single + * hash character), for example, `#layer1`. This notation corresponds to a + * URL's fragment ID. Alternatively, pass `NULL` to compute the geometry for the + * whole SVG. + * viewport = Viewport size at which the whole SVG would be fitted. + * outInkRect = Place to store the ink rectangle of the element. + * outLogicalRect = Place to store the logical rectangle of the element. + * + * Returns: `TRUE` if the geometry could be obtained, or `FALSE` on error. Errors + * are returned in the @error argument. + * + * API ordering: This function must be called on a fully-loaded @handle. See + * the section "[API ordering](class.Handle.html#api-ordering)" for details. + * + * Panics: this function will panic if the @handle is not fully-loaded. + * + * Since: 2.46 + * + * Throws: GException on failure. + */ + public bool getGeometryForLayer(string id, RsvgRectangle* viewport, out RsvgRectangle outInkRect, out RsvgRectangle outLogicalRect) + { + GError* err = null; + + auto __p = rsvg_handle_get_geometry_for_layer(rsvgHandle, Str.toStringz(id), viewport, &outInkRect, &outLogicalRect, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * In simple terms, queries the `width`, `height`, and `viewBox` attributes in an SVG document. + * + * If you are calling this function to compute a scaling factor to render the SVG, + * consider simply using [method@Rsvg.Handle.render_document] instead; it will do the + * scaling computations automatically. + * + * Before librsvg 2.54.0, the `out_has_width` and `out_has_height` arguments would be set to true or false + * depending on whether the SVG document actually had `width` and `height` attributes, respectively. + * + * However, since librsvg 2.54.0, `width` and `height` are now [geometry + * properties](https://www.w3.org/TR/SVG2/geometry.html) per the SVG2 specification; they + * are not plain attributes. SVG2 made it so that the initial value of those properties + * is `auto`, which is equivalent to specifing a value of `100%`. In this sense, even SVG + * documents which lack `width` or `height` attributes semantically have to make them + * default to `100%`. This is why since librsvg 2.54.0, `out_has_width` and + * `out_has_heigth` are always returned as `TRUE`, since with SVG2 all documents *have* a + * default width and height of `100%`. + * + * As an example, the following SVG element has a `width` of 100 pixels and a `height` of 400 pixels, but no `viewBox`. This + * function will return those sizes in `out_width` and `out_height`, and set `out_has_viewbox` to `FALSE`. + * + * ``` + * + * ``` + * + * Conversely, the following element has a `viewBox`, but no `width` or `height`. This function will + * set `out_has_viewbox` to `TRUE`, and it will also set `out_has_width` and `out_has_height` to `TRUE` but + * return both length values as `100%`. + * + * ``` + * + * ``` + * + * Note that the `RsvgLength` return values have `RsvgUnits` in them; you should + * not assume that they are always in pixels. For example, the following SVG element + * will return width and height values whose `units` fields are `RSVG_UNIT_MM`. + * + * ``` + * + * ``` + * + * API ordering: This function must be called on a fully-loaded @handle. See + * the section "[API ordering](class.Handle.html#api-ordering)" for details. + * + * Panics: this function will panic if the @handle is not fully-loaded. + * + * Params: + * outHasWidth = Will be set to `TRUE`; see below. + * outWidth = Will be set to the computed value of the `width` property in the toplevel SVG. + * outHasHeight = Will be set to `TRUE`; see below. + * outHeight = Will be set to the computed value of the `height` property in the toplevel SVG. + * outHasViewbox = Will be set to `TRUE` if the toplevel SVG has a `viewBox` attribute + * outViewbox = Will be set to the value of the `viewBox` attribute in the toplevel SVG + * + * Since: 2.46 + */ + public void getIntrinsicDimensions(out bool outHasWidth, out RsvgLength outWidth, out bool outHasHeight, out RsvgLength outHeight, out bool outHasViewbox, out RsvgRectangle outViewbox) + { + int outoutHasWidth; + int outoutHasHeight; + int outoutHasViewbox; + + rsvg_handle_get_intrinsic_dimensions(rsvgHandle, &outoutHasWidth, &outWidth, &outoutHasHeight, &outHeight, &outoutHasViewbox, &outViewbox); + + outHasWidth = (outoutHasWidth == 1); + outHasHeight = (outoutHasHeight == 1); + outHasViewbox = (outoutHasViewbox == 1); + } + + /** + * Converts an SVG document's intrinsic dimensions to pixels, and returns the result. + * + * This function is able to extract the size in pixels from an SVG document if the + * document has both `width` and `height` attributes + * with physical units (px, in, cm, mm, pt, pc) or font-based units (em, ex). For + * physical units, the dimensions are normalized to pixels using the dots-per-inch (DPI) + * value set previously with [method@Rsvg.Handle.set_dpi]. For font-based units, this function + * uses the computed value of the `font-size` property for the toplevel + * `` element. In those cases, this function returns `TRUE`. + * + * This function is not able to extract the size in pixels directly from the intrinsic + * dimensions of the SVG document if the `width` or + * `height` are in percentage units (or if they do not exist, in which + * case the SVG spec mandates that they default to 100%), as these require a + * viewport to be resolved to a final size. In this case, the + * function returns `FALSE`. + * + * For example, the following document fragment has intrinsic dimensions that will resolve + * to 20x30 pixels. + * + * ``` + * + * ``` + * + * Similarly, if the DPI is set to 96, this document will resolve to 192×288 pixels (i.e. 96×2 × 96×3). + * + * ``` + * + * ``` + * + * The dimensions of the following documents cannot be resolved to pixels directly, and + * this function would return `FALSE` for them: + * + * ``` + * + * + * + * + * + * ``` + * + * Instead of querying an SVG document's size, applications are encouraged to render SVG + * documents to a size chosen by the application, by passing a suitably-sized viewport to + * [method@Rsvg.Handle.render_document]. + * + * Params: + * outWidth = Will be set to the computed width; you should round this up to get integer pixels. + * outHeight = Will be set to the computed height; you should round this up to get integer pixels. + * + * Returns: `TRUE` if the dimensions could be converted directly to pixels; in this case + * @out_width and @out_height will be set accordingly. Note that the dimensions are + * floating-point numbers, so your application can know the exact size of an SVG document. + * To get integer dimensions, you should use `ceil()` to round up to the nearest integer + * (just using `round()`, may may chop off pixels with fractional coverage). If the + * dimensions cannot be converted to pixels, returns `FALSE` and puts 0.0 in both + * @out_width and @out_height. + * + * Since: 2.52 + */ + public bool getIntrinsicSizeInPixels(out double outWidth, out double outHeight) + { + return rsvg_handle_get_intrinsic_size_in_pixels(rsvgHandle, &outWidth, &outHeight) != 0; + } + + /** + * + * + * Deprecated: Librsvg does not read the metadata/desc/title elements; + * this function always returns `NULL`. + * + * Returns: This function always returns `NULL`. + * + * Since: 2.9 + */ + public string getMetadata() + { + return Str.toString(rsvg_handle_get_metadata(rsvgHandle)); + } + + /** + * Returns the pixbuf loaded by @handle. The pixbuf returned will be reffed, so + * the caller of this function must assume that ref. + * + * API ordering: This function must be called on a fully-loaded @handle. See + * the section "[API ordering](class.Handle.html#api-ordering)" for details. + * + * This function depends on the [class@Rsvg.Handle]'s dots-per-inch value (DPI) to compute the + * "natural size" of the document in pixels, so you should call [method@Rsvg.Handle.set_dpi] + * beforehand. + * + * Returns: A pixbuf, or %NULL on error. + * during rendering. + */ + public Pixbuf getPixbuf() + { + auto __p = rsvg_handle_get_pixbuf(rsvgHandle); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Pixbuf)(cast(GdkPixbuf*) __p, true); + } + + /** + * Creates a `GdkPixbuf` the same size as the entire SVG loaded into @handle, but + * only renders the sub-element that has the specified @id (and all its + * sub-sub-elements recursively). If @id is `NULL`, this function renders the + * whole SVG. + * + * This function depends on the [class@Rsvg.Handle]'s dots-per-inch value (DPI) to compute the + * "natural size" of the document in pixels, so you should call [method@Rsvg.Handle.set_dpi] + * beforehand. + * + * If you need to render an image which is only big enough to fit a particular + * sub-element of the SVG, consider using [method@Rsvg.Handle.render_element]. + * + * Element IDs should look like an URL fragment identifier; for example, pass + * `#foo` (hash `foo`) to get the geometry of the element that + * has an `id="foo"` attribute. + * + * API ordering: This function must be called on a fully-loaded @handle. See + * the section "[API ordering](class.Handle.html#api-ordering)" for details. + * + * Params: + * id = An element's id within the SVG, starting with "#" (a single + * hash character), for example, `#layer1`. This notation corresponds to a + * URL's fragment ID. Alternatively, pass `NULL` to use the whole SVG. + * + * Returns: a pixbuf, or `NULL` if an error occurs + * during rendering. + * + * Since: 2.14 + */ + public Pixbuf getPixbufSub(string id) + { + auto __p = rsvg_handle_get_pixbuf_sub(rsvgHandle, Str.toStringz(id)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Pixbuf)(cast(GdkPixbuf*) __p, true); + } + + /** + * Get the position of a subelement of the SVG file. Do not call from within + * the size_func callback, because an infinite loop will occur. + * + * This function depends on the [class@Rsvg.Handle]'s DPI to compute dimensions in + * pixels, so you should call [method@Rsvg.Handle.set_dpi] beforehand. + * + * Element IDs should look like an URL fragment identifier; for example, pass + * `#foo` (hash `foo`) to get the geometry of the element that + * has an `id="foo"` attribute. + * + * Deprecated: Use [method@Rsvg.Handle.get_geometry_for_layer] instead. This function is + * deprecated since it is not able to return exact floating-point positions, only integer + * pixels. + * + * Params: + * positionData = A place to store the SVG fragment's position. + * id = An element's id within the SVG, starting with "#" (a single + * hash character), for example, `#layer1`. This notation corresponds to a + * URL's fragment ID. Alternatively, pass %NULL to use the whole SVG. + * + * Returns: `TRUE` if the position could be obtained, `FALSE` if there was an error. + * + * Since: 2.22 + */ + public bool getPositionSub(out RsvgPositionData positionData, string id) + { + return rsvg_handle_get_position_sub(rsvgHandle, &positionData, Str.toStringz(id)) != 0; + } + + /** + * + * + * Deprecated: Librsvg does not read the metadata/desc/title elements; + * this function always returns `NULL`. + * + * Returns: This function always returns `NULL`. + * + * Since: 2.4 + */ + public string getTitle() + { + return Str.toString(rsvg_handle_get_title(rsvgHandle)); + } + + /** + * Checks whether the element @id exists in the SVG document. + * + * Element IDs should look like an URL fragment identifier; for example, pass + * `#foo` (hash `foo`) to get the geometry of the element that + * has an `id="foo"` attribute. + * + * Params: + * id = An element's id within the SVG, starting with "#" (a single hash + * character), for example, `#layer1`. This notation corresponds to a URL's + * fragment ID. + * + * Returns: `TRUE` if @id exists in the SVG document, `FALSE` otherwise. + * + * Since: 2.22 + */ + public bool hasSub(string id) + { + return rsvg_handle_has_sub(rsvgHandle, Str.toStringz(id)) != 0; + } + + /** + * Do not call this function. This is intended for librsvg's internal + * test suite only. + * + * Params: + * testing = Whether to enable testing mode + */ + public void internalSetTesting(bool testing) + { + rsvg_handle_internal_set_testing(rsvgHandle, testing); + } + + /** + * Reads @stream and writes the data from it to @handle. + * + * Before calling this function, you may need to call [method@Rsvg.Handle.set_base_uri] + * or [method@Rsvg.Handle.set_base_gfile] to set the "base file" for resolving + * references to external resources. SVG elements like + * `` which reference external resources will be + * resolved relative to the location you specify with those functions. + * + * If @cancellable is not `NULL`, then the operation can be cancelled by + * triggering the cancellable object from another thread. If the + * operation was cancelled, the error `G_IO_ERROR_CANCELLED` will be + * returned. + * + * Params: + * stream = a `GInputStream` + * cancellable = a `GCancellable`, or `NULL` + * + * Returns: `TRUE` if reading @stream succeeded, or `FALSE` otherwise + * with @error filled in + * + * Since: 2.32 + * + * Throws: GException on failure. + */ + public bool readStreamSync(InputStream stream, Cancellable cancellable) + { + GError* err = null; + + auto __p = rsvg_handle_read_stream_sync(rsvgHandle, (stream is null) ? null : stream.getInputStreamStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Draws a loaded SVG handle to a Cairo context. Please try to use + * [method@Rsvg.Handle.render_document] instead, which allows you to pick the size + * at which the document will be rendered. + * + * Historically this function has picked a size by itself, based on the following rules: + * + * * If the SVG document has both `width` and `height` + * attributes with physical units (px, in, cm, mm, pt, pc) or font-based units (em, + * ex), the function computes the size directly based on the dots-per-inch (DPI) you + * have configured with [method@Rsvg.Handle.set_dpi]. This is the same approach as + * [method@Rsvg.Handle.get_intrinsic_size_in_pixels]. + * + * * Otherwise, if there is a `viewBox` attribute and both + * `width` and `height` are set to + * `100%` (or if they don't exist at all and thus default to 100%), + * the function uses the width and height of the `viewBox` as a pixel size. This + * produces a rendered document with the correct aspect ratio. + * + * * Otherwise, this function computes the extents of every graphical object in the SVG + * document to find the total extents. This is moderately expensive, but no more expensive + * than rendering the whole document, for example. + * + * * This function cannot deal with percentage-based units for `width` + * and `height` because there is no viewport against which they could + * be resolved; that is why it will compute the extents of objects in that case. This + * is why we recommend that you use [method@Rsvg.Handle.render_document] instead, which takes + * in a viewport and follows the sizing policy from the web platform. + * + * Drawing will occur with respect to the @cr's current transformation: for example, if + * the @cr has a rotated current transformation matrix, the whole SVG will be rotated in + * the rendered version. + * + * This function depends on the [class@Rsvg.Handle]'s DPI to compute dimensions in + * pixels, so you should call [method@Rsvg.Handle.set_dpi] beforehand. + * + * Note that @cr must be a Cairo context that is not in an error state, that is, + * `cairo_status()` must return `CAIRO_STATUS_SUCCESS` for it. Cairo can set a + * context to be in an error state in various situations, for example, if it was + * passed an invalid matrix or if it was created for an invalid surface. + * + * Deprecated: Please use [method@Rsvg.Handle.render_document] instead; that function lets + * you pass a viewport and obtain a good error message. + * + * Params: + * cr = A Cairo context + * + * Returns: `TRUE` if drawing succeeded; `FALSE` otherwise. + * + * Since: 2.14 + */ + public bool renderCairo(Context cr) + { + return rsvg_handle_render_cairo(rsvgHandle, (cr is null) ? null : cr.getContextStruct()) != 0; + } + + /** + * Renders a single SVG element in the same place as for a whole SVG document (a "subset" + * of the document). Please try to use [method@Rsvg.Handle.render_layer] instead, which allows + * you to pick the size at which the document with the layer will be rendered. + * + * This is equivalent to [method@Rsvg.Handle.render_cairo], but it renders only a single + * element and its children, as if they composed an individual layer in the SVG. + * + * Historically this function has picked a size for the whole document by itself, based + * on the following rules: + * + * * If the SVG document has both `width` and `height` + * attributes with physical units (px, in, cm, mm, pt, pc) or font-based units (em, + * ex), the function computes the size directly based on the dots-per-inch (DPI) you + * have configured with [method@Rsvg.Handle.set_dpi]. This is the same approach as + * [method@Rsvg.Handle.get_intrinsic_size_in_pixels]. + * + * * Otherwise, if there is a `viewBox` attribute and both + * `width` and `height` are set to + * `100%` (or if they don't exist at all and thus default to 100%), + * the function uses the width and height of the `viewBox` as a pixel size. This + * produces a rendered document with the correct aspect ratio. + * + * * Otherwise, this function computes the extents of every graphical object in the SVG + * document to find the total extents. This is moderately expensive, but no more expensive + * than rendering the whole document, for example. + * + * * This function cannot deal with percentage-based units for `width` + * and `height` because there is no viewport against which they could + * be resolved; that is why it will compute the extents of objects in that case. This + * is why we recommend that you use [method@Rsvg.Handle.render_layer] instead, which takes + * in a viewport and follows the sizing policy from the web platform. + * + * Drawing will occur with respect to the @cr's current transformation: for example, if + * the @cr has a rotated current transformation matrix, the whole SVG will be rotated in + * the rendered version. + * + * This function depends on the [class@Rsvg.Handle]'s DPI to compute dimensions in + * pixels, so you should call [method@Rsvg.Handle.set_dpi] beforehand. + * + * Note that @cr must be a Cairo context that is not in an error state, that is, + * `cairo_status()` must return `CAIRO_STATUS_SUCCESS` for it. Cairo can set a + * context to be in an error state in various situations, for example, if it was + * passed an invalid matrix or if it was created for an invalid surface. + * + * Element IDs should look like an URL fragment identifier; for example, pass + * `#foo` (hash `foo`) to get the geometry of the element that + * has an `id="foo"` attribute. + * + * Deprecated: Please use [method@Rsvg.Handle.render_layer] instead; that function lets + * you pass a viewport and obtain a good error message. + * + * Params: + * cr = A Cairo context + * id = An element's id within the SVG, starting with "#" (a single + * hash character), for example, `#layer1`. This notation corresponds to a + * URL's fragment ID. Alternatively, pass `NULL` to render the whole SVG. + * + * Returns: `TRUE` if drawing succeeded; `FALSE` otherwise. + * + * Since: 2.14 + */ + public bool renderCairoSub(Context cr, string id) + { + return rsvg_handle_render_cairo_sub(rsvgHandle, (cr is null) ? null : cr.getContextStruct(), Str.toStringz(id)) != 0; + } + + /** + * Renders the whole SVG document fitted to a viewport. + * + * The @viewport gives the position and size at which the whole SVG document will be + * rendered. The document is scaled proportionally to fit into this viewport. + * + * The @cr must be in a `CAIRO_STATUS_SUCCESS` state, or this function will not + * render anything, and instead will return an error. + * + * Params: + * cr = A Cairo context + * viewport = Viewport size at which the whole SVG would be fitted. + * + * Returns: `TRUE` on success, `FALSE` on error. Errors are returned + * in the @error argument. + * + * API ordering: This function must be called on a fully-loaded @handle. See + * the section "[API ordering](class.Handle.html#api-ordering)" for details. + * + * Panics: this function will panic if the @handle is not fully-loaded. + * + * Since: 2.46 + * + * Throws: GException on failure. + */ + public bool renderDocument(Context cr, RsvgRectangle* viewport) + { + GError* err = null; + + auto __p = rsvg_handle_render_document(rsvgHandle, (cr is null) ? null : cr.getContextStruct(), viewport, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Renders a single SVG element to a given viewport. + * + * This function can be used to extract individual element subtrees and render them, + * scaled to a given @element_viewport. This is useful for applications which have + * reusable objects in an SVG and want to render them individually; for example, an + * SVG full of icons that are meant to be be rendered independently of each other. + * + * Element IDs should look like an URL fragment identifier; for example, pass + * `#foo` (hash `foo`) to get the geometry of the element that + * has an `id="foo"` attribute. + * + * You can pass `NULL` for the @id if you want to render all + * the elements in the SVG, i.e. to render everything from the + * root element. + * + * The `element_viewport` gives the position and size at which the named element will + * be rendered. FIXME: mention proportional scaling. + * + * Params: + * cr = A Cairo context + * id = An element's id within the SVG, starting with "#" (a single + * hash character), for example, `#layer1`. This notation corresponds to a + * URL's fragment ID. Alternatively, pass `NULL` to render the whole SVG document tree. + * elementViewport = Viewport size in which to fit the element + * + * Returns: `TRUE` on success, `FALSE` on error. Errors are returned + * in the @error argument. + * + * API ordering: This function must be called on a fully-loaded @handle. See + * the section "[API ordering](class.Handle.html#api-ordering)" for details. + * + * Panics: this function will panic if the @handle is not fully-loaded. + * + * Since: 2.46 + * + * Throws: GException on failure. + */ + public bool renderElement(Context cr, string id, RsvgRectangle* elementViewport) + { + GError* err = null; + + auto __p = rsvg_handle_render_element(rsvgHandle, (cr is null) ? null : cr.getContextStruct(), Str.toStringz(id), elementViewport, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Renders a single SVG element in the same place as for a whole SVG document. + * + * The @viewport gives the position and size at which the whole SVG document would be + * rendered. The document is scaled proportionally to fit into this viewport; hence the + * individual layer may be smaller than this. + * + * This is equivalent to [method@Rsvg.Handle.render_document], but it renders only a + * single element and its children, as if they composed an individual layer in + * the SVG. The element is rendered with the same transformation matrix as it + * has within the whole SVG document. Applications can use this to re-render a + * single element and repaint it on top of a previously-rendered document, for + * example. + * + * Element IDs should look like an URL fragment identifier; for example, pass + * `#foo` (hash `foo`) to get the geometry of the element that + * has an `id="foo"` attribute. + * + * You can pass `NULL` for the @id if you want to render all + * the elements in the SVG, i.e. to render everything from the + * root element. + * + * Params: + * cr = A Cairo context + * id = An element's id within the SVG, starting with "#" (a single + * hash character), for example, `#layer1`. This notation corresponds to a + * URL's fragment ID. Alternatively, pass `NULL` to render the whole SVG document tree. + * viewport = Viewport size at which the whole SVG would be fitted. + * + * Returns: `TRUE` on success, `FALSE` on error. Errors are returned + * in the @error argument. + * + * API ordering: This function must be called on a fully-loaded @handle. See + * the section "[API ordering](class.Handle.html#api-ordering)" for details. + * + * Panics: this function will panic if the @handle is not fully-loaded. + * + * Since: 2.46 + * + * Throws: GException on failure. + */ + public bool renderLayer(Context cr, string id, RsvgRectangle* viewport) + { + GError* err = null; + + auto __p = rsvg_handle_render_layer(rsvgHandle, (cr is null) ? null : cr.getContextStruct(), Str.toStringz(id), viewport, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Set the base URI for @handle from @file. + * + * Note: This function may only be called before [method@Rsvg.Handle.write] or + * [method@Rsvg.Handle.read_stream_sync] have been called. + * + * Params: + * baseFile = a `GFile` + * + * Since: 2.32 + */ + public void setBaseGfile(FileIF baseFile) + { + rsvg_handle_set_base_gfile(rsvgHandle, (baseFile is null) ? null : baseFile.getFileStruct()); + } + + /** + * Set the base URI for this SVG. + * + * Note: This function may only be called before [method@Rsvg.Handle.write] or + * [method@Rsvg.Handle.read_stream_sync] have been called. + * + * Params: + * baseUri = The base uri + * + * Since: 2.9 + */ + public void setBaseUri(string baseUri) + { + rsvg_handle_set_base_uri(rsvgHandle, Str.toStringz(baseUri)); + } + + /** + * Sets the DPI at which the @handle will be rendered. Common values are + * 75, 90, and 300 DPI. + * + * Passing a number <= 0 to @dpi will reset the DPI to whatever the default + * value happens to be, but since [id@rsvg_set_default_dpi] is deprecated, please + * do not pass values <= 0 to this function. + * + * Params: + * dpi = Dots Per Inch (i.e. as Pixels Per Inch) + * + * Since: 2.8 + */ + public void setDpi(double dpi) + { + rsvg_handle_set_dpi(rsvgHandle, dpi); + } + + /** + * Sets the DPI at which the @handle will be rendered. Common values are + * 75, 90, and 300 DPI. + * + * Passing a number <= 0 to @dpi will reset the DPI to whatever the default + * value happens to be, but since [id@rsvg_set_default_dpi_x_y] is deprecated, + * please do not pass values <= 0 to this function. + * + * Params: + * dpiX = Dots Per Inch (i.e. Pixels Per Inch) + * dpiY = Dots Per Inch (i.e. Pixels Per Inch) + * + * Since: 2.8 + */ + public void setDpiXY(double dpiX, double dpiY) + { + rsvg_handle_set_dpi_x_y(rsvgHandle, dpiX, dpiY); + } + + /** + * Sets the sizing function for the @handle, which can be used to override the + * size that librsvg computes for SVG images. The @size_func is called from the + * following functions: + * + * * [method@Rsvg.Handle.get_dimensions] + * * [method@Rsvg.Handle.get_dimensions_sub] + * * [method@Rsvg.Handle.get_position_sub] + * * [method@Rsvg.Handle.render_cairo] + * * [method@Rsvg.Handle.render_cairo_sub] + * + * Librsvg computes the size of the SVG being rendered, and passes it to the + * @size_func, which may then modify these values to set the final size of the + * generated image. + * + * Deprecated: Use [method@Rsvg.Handle.render_document] instead. + * This function was deprecated because when the @size_func is used, it makes it + * unclear when the librsvg functions which call the @size_func will use the + * size computed originally, or the callback-specified size, or whether it + * refers to the whole SVG or to just a sub-element of it. It is easier, and + * unambiguous, to use code similar to the example above. + * + * Params: + * sizeFunc = A sizing function, or `NULL` + * userData = User data to pass to @size_func, or `NULL` + * userDataDestroy = Function to be called to destroy the data passed in @user_data, + * or `NULL`. + */ + public void setSizeCallback(RsvgSizeFunc sizeFunc, void* userData, GDestroyNotify userDataDestroy) + { + rsvg_handle_set_size_callback(rsvgHandle, sizeFunc, userData, userDataDestroy); + } + + /** + * Sets a CSS stylesheet to use for an SVG document. + * + * The @css_len argument is mandatory; this function will not compute the length + * of the @css string. This is because a provided stylesheet, which the calling + * program could read from a file, can have nul characters in it. + * + * During the CSS cascade, the specified stylesheet will be used with a "User" + * [origin](https://drafts.csswg.org/css-cascade-3/#cascading-origins). + * + * Note that `@import` rules will not be resolved, except for `data:` URLs. + * + * Params: + * css = String with CSS data; must be valid UTF-8. + * + * Returns: `TRUE` on success, `FALSE` on error. Errors are returned + * in the @error argument. + * + * Since: 2.48 + * + * Throws: GException on failure. + */ + public bool setStylesheet(ubyte[] css) + { + GError* err = null; + + auto __p = rsvg_handle_set_stylesheet(rsvgHandle, css.ptr, cast(size_t)css.length, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Loads the next @count bytes of the image. You can call this function multiple + * times until the whole document is consumed; then you must call [method@Rsvg.Handle.close] + * to actually parse the document. + * + * Before calling this function for the first time, you may need to call + * [method@Rsvg.Handle.set_base_uri] or [method@Rsvg.Handle.set_base_gfile] to set the "base + * file" for resolving references to external resources. SVG elements like + * `` which reference external resources will be + * resolved relative to the location you specify with those functions. + * + * Deprecated: Use [method@Rsvg.Handle.read_stream_sync] or the constructor + * functions [ctor@Rsvg.Handle.new_from_gfile_sync] or + * [ctor@Rsvg.Handle.new_from_stream_sync]. This function is deprecated because it + * will accumulate data from the @buf in memory until [method@Rsvg.Handle.close] gets + * called. To avoid a big temporary buffer, use the suggested functions, which + * take a `GFile` or a `GInputStream` and do not require a temporary buffer. + * + * Params: + * buf = pointer to svg data + * + * Returns: `TRUE` on success, or `FALSE` on error. + * + * Throws: GException on failure. + */ + public bool write(char[] buf) + { + GError* err = null; + + auto __p = rsvg_handle_write(rsvgHandle, buf.ptr, cast(size_t)buf.length, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * This function does nothing. + * + * Deprecated: No-op. This function should not be called from normal programs. + * + * Since: 2.36 + */ + public static void cleanup() + { + rsvg_cleanup(); + } + + /** + * Do not use this function. Create an [class@Rsvg.Handle] and call + * [method@Rsvg.Handle.set_dpi] on it instead. + * + * Deprecated: This function used to set a global default DPI. However, + * it only worked if it was called before any [class@Rsvg.Handle] objects had been + * created; it would not work after that. To avoid global mutable state, please + * use [method@Rsvg.Handle.set_dpi] instead. + * + * Params: + * dpi = Dots Per Inch (aka Pixels Per Inch) + * + * Since: 2.8 + */ + public static void setDefaultDpi(double dpi) + { + rsvg_set_default_dpi(dpi); + } + + /** + * Do not use this function. Create an [class@Rsvg.Handle] and call + * [method@Rsvg.Handle.set_dpi_x_y] on it instead. + * + * Deprecated: This function used to set a global default DPI. However, + * it only worked if it was called before any [class@Rsvg.Handle] objects had been + * created; it would not work after that. To avoid global mutable state, please + * use [method@Rsvg.Handle.set_dpi] instead. + * + * Params: + * dpiX = Dots Per Inch (aka Pixels Per Inch) + * dpiY = Dots Per Inch (aka Pixels Per Inch) + * + * Since: 2.8 + */ + public static void setDefaultDpiXY(double dpiX, double dpiY) + { + rsvg_set_default_dpi_x_y(dpiX, dpiY); + } +} diff --git a/generated/gtkd/rsvg/c/functions.d b/source/generated/rsvg/rsvg/c/functions.d similarity index 87% rename from generated/gtkd/rsvg/c/functions.d rename to source/generated/rsvg/rsvg/c/functions.d index 498ee63e7..72f9719ea 100644 --- a/generated/gtkd/rsvg/c/functions.d +++ b/source/generated/rsvg/rsvg/c/functions.d @@ -26,7 +26,7 @@ module rsvg.c.functions; import std.stdio; import rsvg.c.types; -import gtkd.Loader; +import linker.Loader; version (Windows) static immutable LIBRARY_RSVG = ["librsvg-2-2.dll;rsvg-2-2.2.dll;rsvg-2.dll"]; @@ -47,15 +47,20 @@ shared static this() Linker.link(rsvg_handle_new_from_stream_sync, "rsvg_handle_new_from_stream_sync", LIBRARY_RSVG); Linker.link(rsvg_handle_new_with_flags, "rsvg_handle_new_with_flags", LIBRARY_RSVG); Linker.link(rsvg_handle_close, "rsvg_handle_close", LIBRARY_RSVG); + Linker.link(rsvg_handle_free, "rsvg_handle_free", LIBRARY_RSVG); Linker.link(rsvg_handle_get_base_uri, "rsvg_handle_get_base_uri", LIBRARY_RSVG); + Linker.link(rsvg_handle_get_desc, "rsvg_handle_get_desc", LIBRARY_RSVG); Linker.link(rsvg_handle_get_dimensions, "rsvg_handle_get_dimensions", LIBRARY_RSVG); Linker.link(rsvg_handle_get_dimensions_sub, "rsvg_handle_get_dimensions_sub", LIBRARY_RSVG); Linker.link(rsvg_handle_get_geometry_for_element, "rsvg_handle_get_geometry_for_element", LIBRARY_RSVG); Linker.link(rsvg_handle_get_geometry_for_layer, "rsvg_handle_get_geometry_for_layer", LIBRARY_RSVG); Linker.link(rsvg_handle_get_intrinsic_dimensions, "rsvg_handle_get_intrinsic_dimensions", LIBRARY_RSVG); + Linker.link(rsvg_handle_get_intrinsic_size_in_pixels, "rsvg_handle_get_intrinsic_size_in_pixels", LIBRARY_RSVG); + Linker.link(rsvg_handle_get_metadata, "rsvg_handle_get_metadata", LIBRARY_RSVG); Linker.link(rsvg_handle_get_pixbuf, "rsvg_handle_get_pixbuf", LIBRARY_RSVG); Linker.link(rsvg_handle_get_pixbuf_sub, "rsvg_handle_get_pixbuf_sub", LIBRARY_RSVG); Linker.link(rsvg_handle_get_position_sub, "rsvg_handle_get_position_sub", LIBRARY_RSVG); + Linker.link(rsvg_handle_get_title, "rsvg_handle_get_title", LIBRARY_RSVG); Linker.link(rsvg_handle_has_sub, "rsvg_handle_has_sub", LIBRARY_RSVG); Linker.link(rsvg_handle_internal_set_testing, "rsvg_handle_internal_set_testing", LIBRARY_RSVG); Linker.link(rsvg_handle_read_stream_sync, "rsvg_handle_read_stream_sync", LIBRARY_RSVG); @@ -68,6 +73,7 @@ shared static this() Linker.link(rsvg_handle_set_base_uri, "rsvg_handle_set_base_uri", LIBRARY_RSVG); Linker.link(rsvg_handle_set_dpi, "rsvg_handle_set_dpi", LIBRARY_RSVG); Linker.link(rsvg_handle_set_dpi_x_y, "rsvg_handle_set_dpi_x_y", LIBRARY_RSVG); + Linker.link(rsvg_handle_set_size_callback, "rsvg_handle_set_size_callback", LIBRARY_RSVG); Linker.link(rsvg_handle_set_stylesheet, "rsvg_handle_set_stylesheet", LIBRARY_RSVG); Linker.link(rsvg_handle_write, "rsvg_handle_write", LIBRARY_RSVG); Linker.link(rsvg_cleanup, "rsvg_cleanup", LIBRARY_RSVG); @@ -88,15 +94,20 @@ __gshared extern(C) RsvgHandle* function(GInputStream* inputStream, GFile* baseFile, RsvgHandleFlags flags, GCancellable* cancellable, GError** err) c_rsvg_handle_new_from_stream_sync; RsvgHandle* function(RsvgHandleFlags flags) c_rsvg_handle_new_with_flags; int function(RsvgHandle* handle, GError** err) c_rsvg_handle_close; + void function(RsvgHandle* handle) c_rsvg_handle_free; const(char)* function(RsvgHandle* handle) c_rsvg_handle_get_base_uri; + const(char)* function(RsvgHandle* handle) c_rsvg_handle_get_desc; void function(RsvgHandle* handle, RsvgDimensionData* dimensionData) c_rsvg_handle_get_dimensions; int function(RsvgHandle* handle, RsvgDimensionData* dimensionData, const(char)* id) c_rsvg_handle_get_dimensions_sub; int function(RsvgHandle* handle, const(char)* id, RsvgRectangle* outInkRect, RsvgRectangle* outLogicalRect, GError** err) c_rsvg_handle_get_geometry_for_element; int function(RsvgHandle* handle, const(char)* id, RsvgRectangle* viewport, RsvgRectangle* outInkRect, RsvgRectangle* outLogicalRect, GError** err) c_rsvg_handle_get_geometry_for_layer; void function(RsvgHandle* handle, int* outHasWidth, RsvgLength* outWidth, int* outHasHeight, RsvgLength* outHeight, int* outHasViewbox, RsvgRectangle* outViewbox) c_rsvg_handle_get_intrinsic_dimensions; + int function(RsvgHandle* handle, double* outWidth, double* outHeight) c_rsvg_handle_get_intrinsic_size_in_pixels; + const(char)* function(RsvgHandle* handle) c_rsvg_handle_get_metadata; GdkPixbuf* function(RsvgHandle* handle) c_rsvg_handle_get_pixbuf; GdkPixbuf* function(RsvgHandle* handle, const(char)* id) c_rsvg_handle_get_pixbuf_sub; int function(RsvgHandle* handle, RsvgPositionData* positionData, const(char)* id) c_rsvg_handle_get_position_sub; + const(char)* function(RsvgHandle* handle) c_rsvg_handle_get_title; int function(RsvgHandle* handle, const(char)* id) c_rsvg_handle_has_sub; void function(RsvgHandle* handle, int testing) c_rsvg_handle_internal_set_testing; int function(RsvgHandle* handle, GInputStream* stream, GCancellable* cancellable, GError** err) c_rsvg_handle_read_stream_sync; @@ -109,6 +120,7 @@ __gshared extern(C) void function(RsvgHandle* handle, const(char)* baseUri) c_rsvg_handle_set_base_uri; void function(RsvgHandle* handle, double dpi) c_rsvg_handle_set_dpi; void function(RsvgHandle* handle, double dpiX, double dpiY) c_rsvg_handle_set_dpi_x_y; + void function(RsvgHandle* handle, RsvgSizeFunc sizeFunc, void* userData, GDestroyNotify userDataDestroy) c_rsvg_handle_set_size_callback; int function(RsvgHandle* handle, ubyte* css, size_t cssLen, GError** err) c_rsvg_handle_set_stylesheet; int function(RsvgHandle* handle, char* buf, size_t count, GError** err) c_rsvg_handle_write; void function() c_rsvg_cleanup; @@ -127,15 +139,20 @@ alias c_rsvg_handle_new_from_gfile_sync rsvg_handle_new_from_gfile_sync; alias c_rsvg_handle_new_from_stream_sync rsvg_handle_new_from_stream_sync; alias c_rsvg_handle_new_with_flags rsvg_handle_new_with_flags; alias c_rsvg_handle_close rsvg_handle_close; +alias c_rsvg_handle_free rsvg_handle_free; alias c_rsvg_handle_get_base_uri rsvg_handle_get_base_uri; +alias c_rsvg_handle_get_desc rsvg_handle_get_desc; alias c_rsvg_handle_get_dimensions rsvg_handle_get_dimensions; alias c_rsvg_handle_get_dimensions_sub rsvg_handle_get_dimensions_sub; alias c_rsvg_handle_get_geometry_for_element rsvg_handle_get_geometry_for_element; alias c_rsvg_handle_get_geometry_for_layer rsvg_handle_get_geometry_for_layer; alias c_rsvg_handle_get_intrinsic_dimensions rsvg_handle_get_intrinsic_dimensions; +alias c_rsvg_handle_get_intrinsic_size_in_pixels rsvg_handle_get_intrinsic_size_in_pixels; +alias c_rsvg_handle_get_metadata rsvg_handle_get_metadata; alias c_rsvg_handle_get_pixbuf rsvg_handle_get_pixbuf; alias c_rsvg_handle_get_pixbuf_sub rsvg_handle_get_pixbuf_sub; alias c_rsvg_handle_get_position_sub rsvg_handle_get_position_sub; +alias c_rsvg_handle_get_title rsvg_handle_get_title; alias c_rsvg_handle_has_sub rsvg_handle_has_sub; alias c_rsvg_handle_internal_set_testing rsvg_handle_internal_set_testing; alias c_rsvg_handle_read_stream_sync rsvg_handle_read_stream_sync; @@ -148,6 +165,7 @@ alias c_rsvg_handle_set_base_gfile rsvg_handle_set_base_gfile; alias c_rsvg_handle_set_base_uri rsvg_handle_set_base_uri; alias c_rsvg_handle_set_dpi rsvg_handle_set_dpi; alias c_rsvg_handle_set_dpi_x_y rsvg_handle_set_dpi_x_y; +alias c_rsvg_handle_set_size_callback rsvg_handle_set_size_callback; alias c_rsvg_handle_set_stylesheet rsvg_handle_set_stylesheet; alias c_rsvg_handle_write rsvg_handle_write; alias c_rsvg_cleanup rsvg_cleanup; diff --git a/source/generated/rsvg/rsvg/c/types.d b/source/generated/rsvg/rsvg/c/types.d new file mode 100644 index 000000000..9419f1e60 --- /dev/null +++ b/source/generated/rsvg/rsvg/c/types.d @@ -0,0 +1,329 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module rsvg.c.types; + +public import cairo.c.types; +public import gdkpixbuf.c.types; +public import gio.c.types; +public import glib.c.types; +public import gobject.c.types; + + +/** + * An enumeration representing possible errors + */ +public enum RsvgError +{ + /** + * the request failed + */ + FAILED = 0, +} +alias RsvgError Error; + +/** + * Configuration flags for an [class@Rsvg.Handle]. Note that not all of [class@Rsvg.Handle]'s + * constructors let you specify flags. For this reason, [ctor@Rsvg.Handle.new_from_gfile_sync] + * and [ctor@Rsvg.Handle.new_from_stream_sync] are the preferred ways to create a handle. + * + * Since: 2.40.3 + */ +public enum RsvgHandleFlags +{ + /** + * No flags are set. + */ + FLAGS_NONE = 0, + /** + * Disable safety limits in the XML parser. Libxml2 has + * [several limits](https://gitlab.gnome.org/GNOME/libxml2/blob/master/include/libxml/parserInternals.h) + * designed to keep malicious XML content from consuming too much memory while parsing. + * For security reasons, this should only be used for trusted input! Since: 2.40.3 + */ + FLAG_UNLIMITED = 1, + /** + * Use this if the Cairo surface to which you are + * rendering is a PDF, PostScript, SVG, or Win32 Printing surface. This will make librsvg + * and Cairo use the original, compressed data for images in the final output, instead of + * passing uncompressed images. For example, this will make the a resulting PDF file + * smaller and faster. Please see [the Cairo + * documentation](https://www.cairographics.org/manual/cairo-cairo-surface-t.html#cairo-surface-set-mime-data) + * for details. + */ + FLAG_KEEP_IMAGE_DATA = 2, +} +alias RsvgHandleFlags HandleFlags; + +/** + * Units for the `RsvgLength` struct. These have the same meaning as [CSS length + * units](https://www.w3.org/TR/CSS21/syndata.html#length-units). + */ +public enum RsvgUnit +{ + /** + * percentage values; where 1.0 means 100%. + */ + PERCENT = 0, + /** + * pixels + */ + PX = 1, + /** + * em, or the current font size + */ + EM = 2, + /** + * x-height of the current font + */ + EX = 3, + /** + * inches + */ + IN = 4, + /** + * centimeters + */ + CM = 5, + /** + * millimeters + */ + MM = 6, + /** + * points, or 1/72 inch + */ + PT = 7, + /** + * picas, or 1/6 inch (12 points) + */ + PC = 8, +} +alias RsvgUnit Unit; + +/** + * Dimensions of an SVG image from [method@Rsvg.Handle.get_dimensions], or an + * individual element from [method@Rsvg.Handle.get_dimensions_sub]. Please see + * the deprecation documentation for those functions. + * + * Deprecated: Use [method@Rsvg.Handle.get_intrinsic_size_in_pixels] or + * [method@Rsvg.Handle.get_geometry_for_layer] instead. + */ +struct RsvgDimensionData +{ + /** + * SVG's width, in pixels + */ + int width; + /** + * SVG's height, in pixels + */ + int height; + /** + * SVG's original width, unmodified by `RsvgSizeFunc` + */ + double em; + /** + * SVG's original height, unmodified by `RsvgSizeFunc` + */ + double ex; +} + +struct RsvgHandle +{ + GObject parent; + void*[16] AbiPadding; +} + +/** + * Class structure for [class@Rsvg.Handle]. + */ +struct RsvgHandleClass +{ + /** + * parent class + */ + GObjectClass parent; + void*[15] AbiPadding; +} + +/** + * `RsvgLength` values are used in [method@Rsvg.Handle.get_intrinsic_dimensions], for + * example, to return the CSS length values of the `width` and + * `height` attributes of an `` element. + * + * This is equivalent to [CSS lengths](https://www.w3.org/TR/CSS21/syndata.html#length-units). + * + * It is up to the calling application to convert lengths in non-pixel units + * (i.e. those where the @unit field is not `RSVG_UNIT_PX`) into something + * meaningful to the application. For example, if your application knows the + * dots-per-inch (DPI) it is using, it can convert lengths with @unit in + * `RSVG_UNIT_IN` or other physical units. + */ +struct RsvgLength +{ + /** + * numeric part of the length + */ + double length; + /** + * unit part of the length + */ + RsvgUnit unit; +} + +/** + * Position of an SVG fragment from [method@Rsvg.Handle.get_position_sub]. Please + * the deprecation documentation for that function. + * + * Deprecated: Use [method@Rsvg.Handle.get_geometry_for_layer] instead. + */ +struct RsvgPositionData +{ + /** + * position on the x axis + */ + int x; + /** + * position on the y axis + */ + int y; +} + +/** + * A data structure for holding a rectangle. + * + * Since: 2.46 + */ +struct RsvgRectangle +{ + /** + * X coordinate of the left side of the rectangle + */ + double x; + /** + * Y coordinate of the the top side of the rectangle + */ + double y; + /** + * width of the rectangle + */ + double width; + /** + * height of the rectangle + */ + double height; +} + +/** + * Function to let a user of the library specify the SVG's dimensions + * + * See the documentation for [method@Rsvg.Handle.set_size_callback] for an example, and + * for the reasons for deprecation. + * + * Deprecated: Use [method@Rsvg.Handle.render_document] instead, which lets you specify + * a viewport size in which to render the SVG document. + * + * Params: + * width = the width of the SVG + * height = the height of the SVG + * userData = user data + */ +public alias extern(C) void function(int* width, int* height, void* userData) RsvgSizeFunc; + +/** + * This is a C macro that expands to a number with the major version + * of librsvg against which your program is compiled. + * + * For example, for librsvg-2.3.4, the major version is 2. + * + * C programs can use this as a compile-time check for the required + * version, but note that generally it is a better idea to do + * compile-time checks by calling [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/) + * in your build scripts. + * + * Note: for a run-time check on the version of librsvg that your + * program is running with (e.g. the version which the linker used for + * your program), or for programs not written in C, use + * `rsvg_major_version` instead. + */ +enum MAJOR_VERSION = 2; +alias LIBRSVG_MAJOR_VERSION = MAJOR_VERSION; + +/** + * This is a C macro that expands to a number with the micro version + * of librsvg against which your program is compiled. + * + * For example, for librsvg-2.3.4, the micro version is 4. + * + * C programs can use this as a compile-time check for the required + * version, but note that generally it is a better idea to do + * compile-time checks by calling [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/) + * in your build scripts. + * + * Note: for a run-time check on the version of librsvg that your + * program is running with (e.g. the version which the linker used for + * your program), or for programs not written in C, use + * `rsvg_micro_version` instead. + */ +enum MICRO_VERSION = 1; +alias LIBRSVG_MICRO_VERSION = MICRO_VERSION; + +/** + * This is a C macro that expands to a number with the minor version + * of librsvg against which your program is compiled. + * + * For example, for librsvg-2.3.4, the minor version is 3. + * + * C programs can use this as a compile-time check for the required + * version, but note that generally it is a better idea to do + * compile-time checks by calling [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/) + * in your build scripts. + * + * Note: for a run-time check on the version of librsvg that your + * program is running with (e.g. the version which the linker used for + * your program), or for programs not written in C, use + * `rsvg_minor_version` instead. + */ +enum MINOR_VERSION = 54; +alias LIBRSVG_MINOR_VERSION = MINOR_VERSION; + +/** + * This is a C macro that expands to a string with the version of + * librsvg against which your program is compiled. + * + * For example, for librsvg-2.3.4, this macro expands to + * `"2.3.4"`. + * + * C programs can use this as a compile-time check for the required + * version, but note that generally it is a better idea to do + * compile-time checks by calling [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/) + * in your build scripts. + * + * Note: for a run-time check on the version of librsvg that your + * program is running with (e.g. the version which the linker used for + * your program), or for programs not written in C, use + * `rsvg_version` instead. + */ +enum VERSION = "2.54.1"; +alias LIBRSVG_VERSION = VERSION; diff --git a/source/generated/shumate/shumate/Compass.d b/source/generated/shumate/shumate/Compass.d new file mode 100644 index 000000000..104671500 --- /dev/null +++ b/source/generated/shumate/shumate/Compass.d @@ -0,0 +1,139 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.Compass; + +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import shumate.Viewport; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * A widget displaying a compass. + * + * # CSS nodes + * + * ``` + * map-compass + * ├── revealer + * ├──── image + * ``` + * + * `ShumateCompass` uses a single CSS node with name map-compass. It also uses an + * image named "map-compass". + */ +public class Compass : Widget +{ + /** the main Gtk struct */ + protected ShumateCompass* shumateCompass; + + /** Get the main Gtk struct */ + public ShumateCompass* getCompassStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateCompass; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateCompass; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateCompass* shumateCompass, bool ownedRef = false) + { + this.shumateCompass = shumateCompass; + super(cast(GtkWidget*)shumateCompass, ownedRef); + } + + + /** */ + public static GType getType() + { + return shumate_compass_get_type(); + } + + /** + * Creates an instance of #ShumateCompass. + * + * Params: + * viewport = a #ShumateViewport + * + * Returns: a new #ShumateCompass. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Viewport viewport) + { + auto __p = shumate_compass_new((viewport is null) ? null : viewport.getViewportStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateCompass*) __p); + } + + /** + * Gets the viewport used by the compass. + * + * Returns: The #ShumateViewport used by the compass + */ + public Viewport getViewport() + { + auto __p = shumate_compass_get_viewport(shumateCompass); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Viewport)(cast(ShumateViewport*) __p); + } + + /** + * Sets the compass viewport. + * + * Params: + * viewport = a [class@Viewport] + */ + public void setViewport(Viewport viewport) + { + shumate_compass_set_viewport(shumateCompass, (viewport is null) ? null : viewport.getViewportStruct()); + } +} diff --git a/source/generated/shumate/shumate/Coordinate.d b/source/generated/shumate/shumate/Coordinate.d new file mode 100644 index 000000000..b2889c5e4 --- /dev/null +++ b/source/generated/shumate/shumate/Coordinate.d @@ -0,0 +1,118 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.Coordinate; + +private import glib.ConstructionException; +private import gobject.ObjectG; +private import shumate.LocationIF; +private import shumate.LocationT; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * A simple object implementing [iface@Location]. + */ +public class Coordinate : ObjectG, LocationIF +{ + /** the main Gtk struct */ + protected ShumateCoordinate* shumateCoordinate; + + /** Get the main Gtk struct */ + public ShumateCoordinate* getCoordinateStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateCoordinate; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateCoordinate; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateCoordinate* shumateCoordinate, bool ownedRef = false) + { + this.shumateCoordinate = shumateCoordinate; + super(cast(GObject*)shumateCoordinate, ownedRef); + } + + // add the Location capabilities + mixin LocationT!(ShumateCoordinate); + + + /** */ + public static GType getType() + { + return shumate_coordinate_get_type(); + } + + /** + * Creates a new instance of #ShumateCoordinate. + * + * Returns: the created instance. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = shumate_coordinate_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateCoordinate*) __p); + } + + /** + * Creates a new instance of #ShumateCoordinate initialized with the given + * coordinates. + * + * Params: + * latitude = the latitude coordinate + * longitude = the longitude coordinate + * + * Returns: the created instance. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(double latitude, double longitude) + { + auto __p = shumate_coordinate_new_full(latitude, longitude); + + if(__p is null) + { + throw new ConstructionException("null returned by new_full"); + } + + this(cast(ShumateCoordinate*) __p); + } +} diff --git a/source/generated/shumate/shumate/DataSource.d b/source/generated/shumate/shumate/DataSource.d new file mode 100644 index 000000000..b625c9181 --- /dev/null +++ b/source/generated/shumate/shumate/DataSource.d @@ -0,0 +1,143 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.DataSource; + +private import gio.AsyncResultIF; +private import gio.Cancellable; +private import glib.Bytes; +private import glib.ErrorG; +private import glib.GException; +private import gobject.ObjectG; +private import gobject.Signals; +private import shumate.c.functions; +public import shumate.c.types; +private import std.algorithm; + + +/** + * The base class used to retrieve tiles as [struct@GLib.Bytes]. + */ +public class DataSource : ObjectG +{ + /** the main Gtk struct */ + protected ShumateDataSource* shumateDataSource; + + /** Get the main Gtk struct */ + public ShumateDataSource* getDataSourceStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateDataSource; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateDataSource; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateDataSource* shumateDataSource, bool ownedRef = false) + { + this.shumateDataSource = shumateDataSource; + super(cast(GObject*)shumateDataSource, ownedRef); + } + + + /** */ + public static GType getType() + { + return shumate_data_source_get_type(); + } + + /** + * Gets the data for the tile at the given coordinates. + * + * Some data sources may return data multiple times. For example, + * [class@TileDownloader] may return data from a cache, then return updated + * data from the network. [signal@ShumateDataSource::received-data] is emitted + * each time data is received, then @callback is called after the last update. + * + * Params: + * x = the X coordinate to fetch + * y = the Y coordinate to fetch + * zoomLevel = the Z coordinate to fetch + * cancellable = a #GCancellable + * callback = a #GAsyncReadyCallback to execute upon completion + * userData = closure data for @callback + */ + public void getTileDataAsync(int x, int y, int zoomLevel, Cancellable cancellable, GAsyncReadyCallback callback, void* userData) + { + shumate_data_source_get_tile_data_async(shumateDataSource, x, y, zoomLevel, (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * Gets the final result of a request started with + * shumate_data_source_get_tile_data_async(). + * + * Params: + * result = a #GAsyncResult provided to callback + * + * Returns: The requested data, or %NULL if an + * error occurred + * + * Throws: GException on failure. + */ + public Bytes getTileDataFinish(AsyncResultIF result) + { + GError* err = null; + + auto __p = shumate_data_source_get_tile_data_finish(shumateDataSource, (result is null) ? null : result.getAsyncResultStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return new Bytes(cast(GBytes*) __p, true); + } + + /** + * Emitted when data is received for any tile. This includes any intermediate + * steps, such as data from the file cache, as well as the final result. + * + * Params: + * x = the X coordinate of the tile + * y = the Y coordinate of the tile + * zoomLevel = the zoom level of the tile + * bytes = the received data + */ + gulong addOnReceivedData(void delegate(int, int, int, Bytes, DataSource) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "received-data", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/shumate/shumate/FileCache.d b/source/generated/shumate/shumate/FileCache.d new file mode 100644 index 000000000..0d5c92d83 --- /dev/null +++ b/source/generated/shumate/shumate/FileCache.d @@ -0,0 +1,314 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.FileCache; + +private import gio.AsyncResultIF; +private import gio.Cancellable; +private import glib.Bytes; +private import glib.ConstructionException; +private import glib.DateTime; +private import glib.ErrorG; +private import glib.GException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * A cache that stores and retrieves tiles from the file system. It is mainly + * used by [class@TileDownloader], but can also be used by custom data + * sources. + * + * The cache will be filled up to a certain size limit. When this limit is + * reached, the cache can be purged, and the tiles that are accessed least are + * deleted. + * + * ## ETags + * + * The cache can optionally store an ETag string with each tile. This is + * useful to avoid redownloading old tiles that haven't changed (for example, + * using the HTTP If-None-Match header). + */ +public class FileCache : ObjectG +{ + /** the main Gtk struct */ + protected ShumateFileCache* shumateFileCache; + + /** Get the main Gtk struct */ + public ShumateFileCache* getFileCacheStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateFileCache; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateFileCache; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateFileCache* shumateFileCache, bool ownedRef = false) + { + this.shumateFileCache = shumateFileCache; + super(cast(GObject*)shumateFileCache, ownedRef); + } + + + /** */ + public static GType getType() + { + return shumate_file_cache_get_type(); + } + + /** + * Constructor of #ShumateFileCache. + * + * Params: + * sizeLimit = maximum size of the cache in bytes + * cacheKey = an ID for the tileset to store/retrieve + * cacheDir = the directory where the cache is created. When cache_dir == NULL, + * a cache in ~/.cache/shumate is used. + * + * Returns: a constructed #ShumateFileCache + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(uint sizeLimit, string cacheKey, string cacheDir) + { + auto __p = shumate_file_cache_new_full(sizeLimit, Str.toStringz(cacheKey), Str.toStringz(cacheDir)); + + if(__p is null) + { + throw new ConstructionException("null returned by new_full"); + } + + this(cast(ShumateFileCache*) __p, true); + } + + /** + * Gets the directory where the cache database is stored. + * + * Returns: the directory + */ + public string getCacheDir() + { + return Str.toString(shumate_file_cache_get_cache_dir(shumateFileCache)); + } + + /** + * Gets the key used to store and retrieve tiles from the cache. Different keys + * can be used to store multiple tilesets in the same cache directory. + * + * Returns: the cache key + */ + public string getCacheKey() + { + return Str.toString(shumate_file_cache_get_cache_key(shumateFileCache)); + } + + /** + * Gets the cache size limit in bytes. + * + * Returns: size limit + */ + public uint getSizeLimit() + { + return shumate_file_cache_get_size_limit(shumateFileCache); + } + + /** + * Gets tile data from the cache, if it is available. + * + * Params: + * x = the X coordinate of the tile + * y = the Y coordinate of the tile + * zoomLevel = the zoom level of the tile + * cancellable = a #GCancellable + * callback = a #GAsyncReadyCallback to execute upon completion + * userData = closure data for @callback + */ + public void getTileAsync(int x, int y, int zoomLevel, Cancellable cancellable, GAsyncReadyCallback callback, void* userData) + { + shumate_file_cache_get_tile_async(shumateFileCache, x, y, zoomLevel, (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * Gets the tile data from a completed shumate_file_cache_get_tile_async() + * operation. + * + * @modtime will be set to the time the tile was added to the cache, or the + * latest time it was confirmed to be up to date. + * + * @etag will be set to the data's ETag, if present. + * + * Params: + * etag = a location for the data's ETag, or %NULL + * modtime = a location to return the tile's last modification time, or %NULL + * result = a #GAsyncResult provided to callback + * + * Returns: a #GBytes containing the tile data, or %NULL if the tile was not in + * the cache or an error occurred + * + * Throws: GException on failure. + */ + public Bytes getTileFinish(out string etag, out DateTime modtime, AsyncResultIF result) + { + char* outetag = null; + GDateTime* outmodtime = null; + GError* err = null; + + auto __p = shumate_file_cache_get_tile_finish(shumateFileCache, &outetag, &outmodtime, (result is null) ? null : result.getAsyncResultStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + etag = Str.toString(outetag); + modtime = new DateTime(outmodtime); + + if(__p is null) + { + return null; + } + + return new Bytes(cast(GBytes*) __p, true); + } + + /** + * Marks a tile in the cache as being up to date, without changing its data. + * + * For example, a network source might call this function when it gets an HTTP + * 304 Not Modified response. + * + * Params: + * x = the X coordinate of the tile + * y = the Y coordinate of the tile + * zoomLevel = the zoom level of the tile + */ + public void markUpToDate(int x, int y, int zoomLevel) + { + shumate_file_cache_mark_up_to_date(shumateFileCache, x, y, zoomLevel); + } + + /** + * Removes less used tiles from the cache, if necessary, until it fits in + * the size limit. + * + * Params: + * cancellable = a #GCancellable + * callback = a #GAsyncReadyCallback to execute upon completion + * userData = closure data for @callback + */ + public void purgeCacheAsync(Cancellable cancellable, GAsyncReadyCallback callback, void* userData) + { + shumate_file_cache_purge_cache_async(shumateFileCache, (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * Gets the result of an async operation started using + * shumate_file_cache_purge_cache_async(). + * + * Params: + * result = a #GAsyncResult provided to callback + * + * Returns: %TRUE if any tiles were removed, otherwise %FALSE + * + * Throws: GException on failure. + */ + public bool purgeCacheFinish(AsyncResultIF result) + { + GError* err = null; + + auto __p = shumate_file_cache_purge_cache_finish(shumateFileCache, (result is null) ? null : result.getAsyncResultStruct(), &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Sets the cache size limit in bytes. + * + * Params: + * sizeLimit = the cache limit in bytes + */ + public void setSizeLimit(uint sizeLimit) + { + shumate_file_cache_set_size_limit(shumateFileCache, sizeLimit); + } + + /** + * Stores a tile in the cache. + * + * Params: + * x = the X coordinate of the tile + * y = the Y coordinate of the tile + * zoomLevel = the zoom level of the tile + * bytes = a #GBytes + * etag = an ETag string, or %NULL + * cancellable = a #GCancellable + * callback = a #GAsyncReadyCallback to execute upon completion + * userData = closure data for @callback + */ + public void storeTileAsync(int x, int y, int zoomLevel, Bytes bytes, string etag, Cancellable cancellable, GAsyncReadyCallback callback, void* userData) + { + shumate_file_cache_store_tile_async(shumateFileCache, x, y, zoomLevel, (bytes is null) ? null : bytes.getBytesStruct(), Str.toStringz(etag), (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * Gets the success value of a completed shumate_file_cache_store_tile_async() + * operation. + * + * Params: + * result = a #GAsyncResult provided to callback + * + * Returns: %TRUE if the operation was successful, otherwise %FALSE + * + * Throws: GException on failure. + */ + public bool storeTileFinish(AsyncResultIF result) + { + GError* err = null; + + auto __p = shumate_file_cache_store_tile_finish(shumateFileCache, (result is null) ? null : result.getAsyncResultStruct(), &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } +} diff --git a/source/generated/shumate/shumate/Layer.d b/source/generated/shumate/shumate/Layer.d new file mode 100644 index 000000000..b26f4f559 --- /dev/null +++ b/source/generated/shumate/shumate/Layer.d @@ -0,0 +1,99 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.Layer; + +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import shumate.Viewport; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * Every layer (overlay that moves together with the map) has to inherit this + * class and implement its virtual methods. + * + * You can use the same layer to display many types of maps. In Shumate they + * are called map sources. You can change the [property@MapLayer:map-source] + * property at any time to replace the current displayed map. + */ +public class Layer : Widget +{ + /** the main Gtk struct */ + protected ShumateLayer* shumateLayer; + + /** Get the main Gtk struct */ + public ShumateLayer* getLayerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateLayer; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateLayer; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateLayer* shumateLayer, bool ownedRef = false) + { + this.shumateLayer = shumateLayer; + super(cast(GtkWidget*)shumateLayer, ownedRef); + } + + + /** */ + public static GType getType() + { + return shumate_layer_get_type(); + } + + /** + * Gets the #ShumateViewport used by this layer. + * + * Returns: The #ShumateViewport. + */ + public Viewport getViewport() + { + auto __p = shumate_layer_get_viewport(shumateLayer); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Viewport)(cast(ShumateViewport*) __p); + } +} diff --git a/source/generated/shumate/shumate/LicenseSh.d b/source/generated/shumate/shumate/LicenseSh.d new file mode 100644 index 000000000..3ec714e3b --- /dev/null +++ b/source/generated/shumate/shumate/LicenseSh.d @@ -0,0 +1,160 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.LicenseSh; + +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import shumate.MapSource; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * A widget that displays license text. + */ +public class LicenseSh : Widget +{ + /** the main Gtk struct */ + protected ShumateLicense* shumateLicense; + + /** Get the main Gtk struct */ + public ShumateLicense* getLicenseShStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateLicense; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateLicense; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateLicense* shumateLicense, bool ownedRef = false) + { + this.shumateLicense = shumateLicense; + super(cast(GtkWidget*)shumateLicense, ownedRef); + } + + + /** */ + public static GType getType() + { + return shumate_license_get_type(); + } + + /** + * Creates an instance of #ShumateLicense. + * + * Returns: a new #ShumateLicense. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = shumate_license_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateLicense*) __p); + } + + /** */ + public void appendMapSource(MapSource mapSource) + { + shumate_license_append_map_source(shumateLicense, (mapSource is null) ? null : mapSource.getMapSourceStruct()); + } + + /** + * Gets the additional license text. + * + * Returns: the additional license text + */ + public string getExtraText() + { + return Str.toString(shumate_license_get_extra_text(shumateLicense)); + } + + /** + * Get the license's text horizontal alignment. + * + * Returns: the license's text horizontal alignment. + */ + public float getXalign() + { + return shumate_license_get_xalign(shumateLicense); + } + + /** */ + public void prependMapSource(MapSource mapSource) + { + shumate_license_prepend_map_source(shumateLicense, (mapSource is null) ? null : mapSource.getMapSourceStruct()); + } + + /** */ + public void removeMapSource(MapSource mapSource) + { + shumate_license_remove_map_source(shumateLicense, (mapSource is null) ? null : mapSource.getMapSourceStruct()); + } + + /** + * Show the additional license text on the map view. The text will preceed the + * map's licence when displayed. Use "\n" to separate the lines. + * + * Params: + * text = the additional license text + */ + public void setExtraText(string text) + { + shumate_license_set_extra_text(shumateLicense, Str.toStringz(text)); + } + + /** + * Set the license's text horizontal alignment. + * + * Params: + * xalign = The license's text horizontal alignment + */ + public void setXalign(float xalign) + { + shumate_license_set_xalign(shumateLicense, xalign); + } +} diff --git a/source/generated/shumate/shumate/LocationIF.d b/source/generated/shumate/shumate/LocationIF.d new file mode 100644 index 000000000..25f674308 --- /dev/null +++ b/source/generated/shumate/shumate/LocationIF.d @@ -0,0 +1,73 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.LocationIF; + +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * An interface common to objects having latitude and longitude + * + * By implementing #ShumateLocation the object declares that it has latitude + * and longitude and can be used to specify location on the map. + */ +public interface LocationIF{ + /** Get the main Gtk struct */ + public ShumateLocation* getLocationStruct(bool transferOwnership = false); + + /** the main Gtk struct as a void* */ + protected void* getStruct(); + + + /** */ + public static GType getType() + { + return shumate_location_get_type(); + } + + /** + * Gets the latitude coordinate in degrees. + * + * Returns: the latitude coordinate in degrees. + */ + public double getLatitude(); + + /** + * Gets the longitude coordinate in degrees. + * + * Returns: the longitude coordinate in degrees. + */ + public double getLongitude(); + + /** + * Sets the coordinates of the location + * + * Params: + * latitude = the latitude in degrees + * longitude = the longitude in degrees + */ + public void setLocation(double latitude, double longitude); +} diff --git a/source/generated/shumate/shumate/LocationT.d b/source/generated/shumate/shumate/LocationT.d new file mode 100644 index 000000000..1af0825b6 --- /dev/null +++ b/source/generated/shumate/shumate/LocationT.d @@ -0,0 +1,79 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.LocationT; + +public import shumate.c.functions; +public import shumate.c.types; + + +/** + * An interface common to objects having latitude and longitude + * + * By implementing #ShumateLocation the object declares that it has latitude + * and longitude and can be used to specify location on the map. + */ +public template LocationT(TStruct) +{ + /** Get the main Gtk struct */ + public ShumateLocation* getLocationStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return cast(ShumateLocation*)getStruct(); + } + + + /** + * Gets the latitude coordinate in degrees. + * + * Returns: the latitude coordinate in degrees. + */ + public double getLatitude() + { + return shumate_location_get_latitude(getLocationStruct()); + } + + /** + * Gets the longitude coordinate in degrees. + * + * Returns: the longitude coordinate in degrees. + */ + public double getLongitude() + { + return shumate_location_get_longitude(getLocationStruct()); + } + + /** + * Sets the coordinates of the location + * + * Params: + * latitude = the latitude in degrees + * longitude = the longitude in degrees + */ + public void setLocation(double latitude, double longitude) + { + shumate_location_set_location(getLocationStruct(), latitude, longitude); + } +} diff --git a/source/generated/shumate/shumate/Map.d b/source/generated/shumate/shumate/Map.d new file mode 100644 index 000000000..5f14c79b3 --- /dev/null +++ b/source/generated/shumate/shumate/Map.d @@ -0,0 +1,314 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.Map; + +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gobject.Signals; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import shumate.Layer; +private import shumate.MapSource; +private import shumate.Viewport; +private import shumate.c.functions; +public import shumate.c.types; +private import std.algorithm; + + +/** + * The Map widget is a [class@Gtk.Widget] that show and allows interaction with + * the user. + * + * This is the base widget and doesn't have advanced features. You can check the + * [class@Shumate.SimpleMap] for a ready-to-use widget. + * + * By default, a [class@Shumate.Viewport] is created and can be accessed with + * [method@Shumate.Map.get_viewport]. + * + * Unless created with [ctor@Shumate.Map.new_simple], the widget doesn't hold any + * layer and won't show anything. A [class@Shumate.Layer] can be added or removed + * using the [method@Shumate.Map.add_layer] or [method@Shumate.Map.remove_layer] + * methods. + */ +public class Map : Widget +{ + /** the main Gtk struct */ + protected ShumateMap* shumateMap; + + /** Get the main Gtk struct */ + public ShumateMap* getMapStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateMap; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateMap; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateMap* shumateMap, bool ownedRef = false) + { + this.shumateMap = shumateMap; + super(cast(GtkWidget*)shumateMap, ownedRef); + } + + /** + * Creates an instance of #ShumateMap. + * + * Returns: a new #ShumateMap ready to be used as a #GtkWidget. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(bool simple = false) + { + auto __p = (simple ? shumate_map_new_simple() : shumate_map_new()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateMap*) __p); + } + + /** + */ + + /** */ + public static GType getType() + { + return shumate_map_get_type(); + } + + /** + * Adds a new layer to the view + * + * Params: + * layer = a #ShumateLayer + */ + public void addLayer(Layer layer) + { + shumate_map_add_layer(shumateMap, (layer is null) ? null : layer.getLayerStruct()); + } + + /** + * Centers the map on these coordinates. + * + * Params: + * latitude = the longitude to center the map at + * longitude = the longitude to center the map at + */ + public void centerOn(double latitude, double longitude) + { + shumate_map_center_on(shumateMap, latitude, longitude); + } + + /** + * Checks whether the view animates zoom level changes. + * + * Returns: TRUE if the view animates zooms, FALSE otherwise. + */ + public bool getAnimateZoom() + { + return shumate_map_get_animate_zoom(shumateMap) != 0; + } + + /** + * Get the 'go-to-duration' property. + * + * Returns: the animation duration when calling [method@Map.go_to], + * in milliseconds. + */ + public uint getGoToDuration() + { + return shumate_map_get_go_to_duration(shumateMap); + } + + /** + * Gets the view's state. + * + * Returns: the state. + */ + public ShumateState getState() + { + return shumate_map_get_state(shumateMap); + } + + /** + * Get the #ShumateViewport used by this view. + * + * Returns: the #ShumateViewport + */ + public Viewport getViewport() + { + auto __p = shumate_map_get_viewport(shumateMap); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Viewport)(cast(ShumateViewport*) __p); + } + + /** + * Checks whether the view zooms on double click. + * + * Returns: TRUE if the view zooms on double click, FALSE otherwise. + */ + public bool getZoomOnDoubleClick() + { + return shumate_map_get_zoom_on_double_click(shumateMap) != 0; + } + + /** + * Move from the current position to these coordinates. All tiles in the + * intermediate view WILL be loaded! + * + * Params: + * latitude = the longitude to center the map at + * longitude = the longitude to center the map at + */ + public void goTo(double latitude, double longitude) + { + shumate_map_go_to(shumateMap, latitude, longitude); + } + + /** + * Adds @layer to @self above @next_sibling or, if @next_sibling is %NULL, at + * the bottom of the layer list. + * + * Params: + * layer = a #ShumateLayer + * nextSibling = a #ShumateLayer that is a child of @self, or %NULL + */ + public void insertLayerAbove(Layer layer, Layer nextSibling) + { + shumate_map_insert_layer_above(shumateMap, (layer is null) ? null : layer.getLayerStruct(), (nextSibling is null) ? null : nextSibling.getLayerStruct()); + } + + /** + * Adds @layer to @self behind @next_sibling or, if @next_sibling is %NULL, at + * the top of the layer list. + * + * Params: + * layer = a #ShumateLayer + * nextSibling = a #ShumateLayer that is a child of @self, or %NULL + */ + public void insertLayerBehind(Layer layer, Layer nextSibling) + { + shumate_map_insert_layer_behind(shumateMap, (layer is null) ? null : layer.getLayerStruct(), (nextSibling is null) ? null : nextSibling.getLayerStruct()); + } + + /** + * Removes the given layer from the view + * + * Params: + * layer = a #ShumateLayer + */ + public void removeLayer(Layer layer) + { + shumate_map_remove_layer(shumateMap, (layer is null) ? null : layer.getLayerStruct()); + } + + /** + * Should the view animate zoom level changes. + * + * Params: + * value = a #gboolean + */ + public void setAnimateZoom(bool value) + { + shumate_map_set_animate_zoom(shumateMap, value); + } + + /** + * Set the duration of the transition of [method@Map.go_to]. + * + * Params: + * duration = the animation duration, in milliseconds + */ + public void setGoToDuration(uint duration) + { + shumate_map_set_go_to_duration(shumateMap, duration); + } + + /** + * Changes the currently used map source. #g_object_unref() will be called on + * the previous one. + * + * As a side effect, changing the primary map source will also clear all + * secondary map sources. + * + * Params: + * mapSource = a #ShumateMapSource + */ + public void setMapSource(MapSource mapSource) + { + shumate_map_set_map_source(shumateMap, (mapSource is null) ? null : mapSource.getMapSourceStruct()); + } + + /** + * Should the view zoom in and recenter when the user double click on the map. + * + * Params: + * value = a #gboolean + */ + public void setZoomOnDoubleClick(bool value) + { + shumate_map_set_zoom_on_double_click(shumateMap, value); + } + + /** + * Stop the go to animation. The view will stay where it was when the + * animation was stopped. + */ + public void stopGoTo() + { + shumate_map_stop_go_to(shumateMap); + } + + /** + * The #ShumateMap::animation-completed signal is emitted when any animation in the view + * ends. This is a detailed signal. For example, if you want to be signaled + * only for go-to animation, you should connect to + * "animation-completed::go-to". And for zoom, connect to "animation-completed::zoom". + */ + gulong addOnAnimationCompleted(void delegate(Map) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "animation-completed", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/generated/gstreamer/gst/mpegts/BAT.d b/source/generated/shumate/shumate/MapLayer.d similarity index 51% rename from generated/gstreamer/gst/mpegts/BAT.d rename to source/generated/shumate/shumate/MapLayer.d index 11eb0f803..5fecc23cd 100644 --- a/generated/gstreamer/gst/mpegts/BAT.d +++ b/source/generated/shumate/shumate/MapLayer.d @@ -22,81 +22,66 @@ // implement new conversion functionalities on the wrap.utils pakage -module gst.mpegts.BAT; +module shumate.MapLayer; -private import glib.MemorySlice; -private import glib.PtrArray; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gtkd.Loader; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import shumate.Layer; +private import shumate.MapSource; +private import shumate.Viewport; +private import shumate.c.functions; +public import shumate.c.types; /** - * DVB Bouquet Association Table (EN 300 468) + * A [class@Shumate.Layer] implementation that fetches tiles from a [class@Shumate.MapSource] + * and draws them as a grid. */ -public final class BAT +public class MapLayer : Layer { /** the main Gtk struct */ - protected GstMpegtsBAT* gstMpegtsBAT; - protected bool ownedRef; + protected ShumateMapLayer* shumateMapLayer; /** Get the main Gtk struct */ - public GstMpegtsBAT* getBATStruct(bool transferOwnership = false) + public ShumateMapLayer* getMapLayerStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gstMpegtsBAT; + return shumateMapLayer; } /** the main Gtk struct as a void* */ - protected void* getStruct() + protected override void* getStruct() { - return cast(void*)gstMpegtsBAT; + return cast(void*)shumateMapLayer; } /** * Sets our main struct and passes it to the parent class. */ - public this (GstMpegtsBAT* gstMpegtsBAT, bool ownedRef = false) + public this (ShumateMapLayer* shumateMapLayer, bool ownedRef = false) { - this.gstMpegtsBAT = gstMpegtsBAT; - this.ownedRef = ownedRef; - } - - ~this () - { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsBAT); + this.shumateMapLayer = shumateMapLayer; + super(cast(ShumateLayer*)shumateMapLayer, ownedRef); } /** */ - public @property PtrArray descriptors() - { - return new PtrArray(gstMpegtsBAT.descriptors, false); - } - - /** Ditto */ - public @property void descriptors(PtrArray value) + public static GType getType() { - gstMpegtsBAT.descriptors = value.getPtrArrayStruct(); + return shumate_map_layer_get_type(); } /** */ - public @property PtrArray streams() + public this(MapSource mapSource, Viewport viewport) { - return new PtrArray(gstMpegtsBAT.streams, false); - } + auto __p = shumate_map_layer_new((mapSource is null) ? null : mapSource.getMapSourceStruct(), (viewport is null) ? null : viewport.getViewportStruct()); - /** Ditto */ - public @property void streams(PtrArray value) - { - gstMpegtsBAT.streams = value.getPtrArrayStruct(); - } + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } - /** */ - public static GType getType() - { - return gst_mpegts_bat_get_type(); + this(cast(ShumateMapLayer*) __p); } } diff --git a/source/generated/shumate/shumate/MapSource.d b/source/generated/shumate/shumate/MapSource.d new file mode 100644 index 000000000..15c4f4f41 --- /dev/null +++ b/source/generated/shumate/shumate/MapSource.d @@ -0,0 +1,408 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.MapSource; + +private import gio.AsyncResultIF; +private import gio.Cancellable; +private import glib.ErrorG; +private import glib.GException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import shumate.Tile; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * The base class for all map sources. Map sources fill [class@Tile] objects + * with images from various sources: a web API, for example, or a test pattern + * generated on demand. + * + * The most common map source is [class@RasterRenderer], which fetches tiles + * using a [class@TileDownloader]. + */ +public class MapSource : ObjectG +{ + /** the main Gtk struct */ + protected ShumateMapSource* shumateMapSource; + + /** Get the main Gtk struct */ + public ShumateMapSource* getMapSourceStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateMapSource; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateMapSource; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateMapSource* shumateMapSource, bool ownedRef = false) + { + this.shumateMapSource = shumateMapSource; + super(cast(GObject*)shumateMapSource, ownedRef); + } + + + /** */ + public static GType getType() + { + return shumate_map_source_get_type(); + } + + /** + * Asynchronous version of shumate_map_source_fill_tile(). + * + * Params: + * tile = a #ShumateTile + * cancellable = a #GCancellable + * callback = a #GAsyncReadyCallback to execute upon completion + * userData = closure data for @callback + */ + public void fillTileAsync(Tile tile, Cancellable cancellable, GAsyncReadyCallback callback, void* userData) + { + shumate_map_source_fill_tile_async(shumateMapSource, (tile is null) ? null : tile.getTileStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * Gets the success value of a completed shumate_map_source_fill_tile_async() + * operation. + * + * Params: + * result = a #GAsyncResult provided to callback + * + * Returns: %TRUE if the tile was filled with valid data, otherwise %FALSE + * + * Throws: GException on failure. + */ + public bool fillTileFinish(AsyncResultIF result) + { + GError* err = null; + + auto __p = shumate_map_source_fill_tile_finish(shumateMapSource, (result is null) ? null : result.getAsyncResultStruct(), &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Gets the number of tiles in a column at this zoom level for this map + * source. + * + * Params: + * zoomLevel = the zoom level + * + * Returns: the number of tiles in a column + */ + public uint getColumnCount(uint zoomLevel) + { + return shumate_map_source_get_column_count(shumateMapSource, zoomLevel); + } + + /** + * Gets map source's id. + * + * Returns: the map source's id. + */ + public string getId() + { + return Str.toString(shumate_map_source_get_id(shumateMapSource)); + } + + /** + * Gets the latitude corresponding to this y position in the map source's + * projection. + * + * Params: + * zoomLevel = the zoom level + * y = a y position + * + * Returns: the latitude + */ + public double getLatitude(double zoomLevel, double y) + { + return shumate_map_source_get_latitude(shumateMapSource, zoomLevel, y); + } + + /** + * Gets map source's license. + * + * Returns: the map source's license. + */ + public string getLicense() + { + return Str.toString(shumate_map_source_get_license(shumateMapSource)); + } + + /** + * Gets map source's license URI. + * + * Returns: the map source's license URI. + */ + public string getLicenseUri() + { + return Str.toString(shumate_map_source_get_license_uri(shumateMapSource)); + } + + /** + * Gets the longitude corresponding to this x position in the map source's + * projection. + * + * Params: + * zoomLevel = the zoom level + * x = a x position + * + * Returns: the longitude + */ + public double getLongitude(double zoomLevel, double x) + { + return shumate_map_source_get_longitude(shumateMapSource, zoomLevel, x); + } + + /** + * Gets map source's maximum zoom level. + * + * Returns: the maximum zoom level this map source supports + */ + public uint getMaxZoomLevel() + { + return shumate_map_source_get_max_zoom_level(shumateMapSource); + } + + /** + * Gets meters per pixel at the position on the map using this map source's projection. + * + * Params: + * zoomLevel = the zoom level + * latitude = a latitude + * longitude = a longitude + * + * Returns: the meters per pixel + */ + public double getMetersPerPixel(double zoomLevel, double latitude, double longitude) + { + return shumate_map_source_get_meters_per_pixel(shumateMapSource, zoomLevel, latitude, longitude); + } + + /** + * Gets map source's minimum zoom level. + * + * Returns: the miminum zoom level this map source supports + */ + public uint getMinZoomLevel() + { + return shumate_map_source_get_min_zoom_level(shumateMapSource); + } + + /** + * Gets map source's name. + * + * Returns: the map source's name. + */ + public string getName() + { + return Str.toString(shumate_map_source_get_name(shumateMapSource)); + } + + /** + * Gets map source's projection. + * + * Returns: the map source's projection. + */ + public ShumateMapProjection getProjection() + { + return shumate_map_source_get_projection(shumateMapSource); + } + + /** + * Gets the number of tiles in a row at this zoom level for this map source. + * + * Params: + * zoomLevel = the zoom level + * + * Returns: the number of tiles in a row + */ + public uint getRowCount(uint zoomLevel) + { + return shumate_map_source_get_row_count(shumateMapSource, zoomLevel); + } + + /** + * Gets map source's tile size. + * + * Returns: the tile's size (width and height) in pixels for this map source + */ + public uint getTileSize() + { + return shumate_map_source_get_tile_size(shumateMapSource); + } + + /** + * Gets the apparent size of the map tiles at the given fractional zoom level. + * + * As the map is zoomed in, a tile gets bigger and bigger until, at the next + * integer zoom level, it "splits" into four tiles at the next zoom level. + * Thus, the size increase follows an exponential curve, base 2. + * + * Params: + * zoomLevel = a zoom level + * + * Returns: the tile's size (width and height) in pixels for this map source + * at this zoom level + */ + public double getTileSizeAtZoom(double zoomLevel) + { + return shumate_map_source_get_tile_size_at_zoom(shumateMapSource, zoomLevel); + } + + /** + * Gets the x position on the map using this map source's projection. + * (0, 0) is located at the top left. + * + * Params: + * zoomLevel = the zoom level + * longitude = a longitude + * + * Returns: the x position + */ + public double getX(double zoomLevel, double longitude) + { + return shumate_map_source_get_x(shumateMapSource, zoomLevel, longitude); + } + + /** + * Gets the y position on the map using this map source's projection. + * (0, 0) is located at the top left. + * + * Params: + * zoomLevel = the zoom level + * latitude = a latitude + * + * Returns: the y position + */ + public double getY(double zoomLevel, double latitude) + { + return shumate_map_source_get_y(shumateMapSource, zoomLevel, latitude); + } + + /** + * Sets the map source's id. + * + * Params: + * id = an id + */ + public void setId(string id) + { + shumate_map_source_set_id(shumateMapSource, Str.toStringz(id)); + } + + /** + * Sets the map source's license. + * + * Params: + * license = the licence + */ + public void setLicense(string license) + { + shumate_map_source_set_license(shumateMapSource, Str.toStringz(license)); + } + + /** + * Sets the map source's license URI. + * + * Params: + * licenseUri = the licence URI + */ + public void setLicenseUri(string licenseUri) + { + shumate_map_source_set_license_uri(shumateMapSource, Str.toStringz(licenseUri)); + } + + /** + * Sets the map source's maximum zoom level. + * + * Params: + * zoomLevel = the maximum zoom level + */ + public void setMaxZoomLevel(uint zoomLevel) + { + shumate_map_source_set_max_zoom_level(shumateMapSource, zoomLevel); + } + + /** + * Sets the map source's minimal zoom level. + * + * Params: + * zoomLevel = the minimal zoom level + */ + public void setMinZoomLevel(uint zoomLevel) + { + shumate_map_source_set_min_zoom_level(shumateMapSource, zoomLevel); + } + + /** + * Sets the map source's name. + * + * Params: + * name = a name + */ + public void setName(string name) + { + shumate_map_source_set_name(shumateMapSource, Str.toStringz(name)); + } + + /** + * Sets the map source's projection. + * + * Params: + * projection = a #ShumateMapProjection + */ + public void setProjection(ShumateMapProjection projection) + { + shumate_map_source_set_projection(shumateMapSource, projection); + } + + /** + * Sets the map source's tile size. + * + * Params: + * tileSize = the tile size + */ + public void setTileSize(uint tileSize) + { + shumate_map_source_set_tile_size(shumateMapSource, tileSize); + } +} diff --git a/source/generated/shumate/shumate/MapSourceRegistry.d b/source/generated/shumate/shumate/MapSourceRegistry.d new file mode 100644 index 000000000..69d466f48 --- /dev/null +++ b/source/generated/shumate/shumate/MapSourceRegistry.d @@ -0,0 +1,156 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.MapSourceRegistry; + +private import gio.ListModelIF; +private import gio.ListModelT; +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import shumate.MapSource; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * This object allows you to hold [class@MapSource] instances, you can access a + * default set of sources with [method@MapSourceRegistry.populate_defaults]. + * + * It conveniently implements [iface@Gio.ListModel] to easily integrate with it. + */ +public class MapSourceRegistry : ObjectG, ListModelIF +{ + /** the main Gtk struct */ + protected ShumateMapSourceRegistry* shumateMapSourceRegistry; + + /** Get the main Gtk struct */ + public ShumateMapSourceRegistry* getMapSourceRegistryStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateMapSourceRegistry; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateMapSourceRegistry; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateMapSourceRegistry* shumateMapSourceRegistry, bool ownedRef = false) + { + this.shumateMapSourceRegistry = shumateMapSourceRegistry; + super(cast(GObject*)shumateMapSourceRegistry, ownedRef); + } + + // add the ListModel capabilities + mixin ListModelT!(ShumateMapSourceRegistry); + + /** + * Create a new #ShumateMapSourceRegistry. + * + * Returns: a newly created #ShumateMapSourceRegistry + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(bool defaults = false) + { + ShumateMapSourceRegistry* __p; + + if (!defaults) __p = shumate_map_source_registry_new(); + else __p = shumate_map_source_registry_new_with_defaults(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateMapSourceRegistry*) __p, true); + } + + /** + */ + + /** */ + public static GType getType() + { + return shumate_map_source_registry_get_type(); + } + + /** + * Adds the #ShumateMapSource to the #ShumateMapSourceRegistry + * + * Params: + * mapSource = a #ShumateMapSource + */ + public void add(MapSource mapSource) + { + shumate_map_source_registry_add(shumateMapSourceRegistry, (mapSource is null) ? null : mapSource.getMapSourceStruct()); + } + + /** + * Find the #ShumateMapSource with the corresponding id + * + * Params: + * id = the id of the #ShumateMapSource + * + * Returns: the #ShumateMapSource or %NULL if no + * map source has been found + */ + public MapSource getById(string id) + { + auto __p = shumate_map_source_registry_get_by_id(shumateMapSourceRegistry, Str.toStringz(id)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(MapSource)(cast(ShumateMapSource*) __p); + } + + /** + * Populates the #ShumateMapSourceRegistry with a default set of sources. + */ + public void populateDefaults() + { + shumate_map_source_registry_populate_defaults(shumateMapSourceRegistry); + } + + /** + * Removes the corresponding #ShumateMapSource from the registry. + * If the source doesn't exist in the registry, this function does nothing. + * + * Params: + * id = a #ShumateMapSource id + */ + public void remove(string id) + { + shumate_map_source_registry_remove(shumateMapSourceRegistry, Str.toStringz(id)); + } +} diff --git a/source/generated/shumate/shumate/Marker.d b/source/generated/shumate/shumate/Marker.d new file mode 100644 index 000000000..8a1879cab --- /dev/null +++ b/source/generated/shumate/shumate/Marker.d @@ -0,0 +1,216 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.Marker; + +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import shumate.LocationIF; +private import shumate.LocationT; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * Markers represent points of interest on a map. Markers need to be + * placed on a layer (a [class@MarkerLayer]). Layers have to be added to a + * [class@Map] for the markers to show on the map. + * + * A marker is nothing more than a regular [class@Gtk.Widget]. You can draw on + * it what ever you want. Set the marker's position on the map using + * [method@Location.set_location]. + * + * This is a base class of all markers. A typical usage of a marker is for + * instance to add a [class@Gtk.Image] with a pin image and add the + * [class@Gtk.GestureClick] controller to listen to click events and show + * a [class@Gtk.Popover] with the description of the marker. + */ +public class Marker : Widget, LocationIF +{ + /** the main Gtk struct */ + protected ShumateMarker* shumateMarker; + + /** Get the main Gtk struct */ + public ShumateMarker* getMarkerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateMarker; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateMarker; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateMarker* shumateMarker, bool ownedRef = false) + { + this.shumateMarker = shumateMarker; + super(cast(GtkWidget*)shumateMarker, ownedRef); + } + + // add the Location capabilities + mixin LocationT!(ShumateMarker); + + + /** */ + public static GType getType() + { + return shumate_marker_get_type(); + } + + /** + * Creates an instance of #ShumateMarker. + * + * Returns: a new #ShumateMarker. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = shumate_marker_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateMarker*) __p); + } + + /** */ + public void animateIn() + { + shumate_marker_animate_in(shumateMarker); + } + + /** */ + public void animateInWithDelay(uint delay) + { + shumate_marker_animate_in_with_delay(shumateMarker, delay); + } + + /** */ + public void animateOut() + { + shumate_marker_animate_out(shumateMarker); + } + + /** */ + public void animateOutWithDelay(uint delay) + { + shumate_marker_animate_out_with_delay(shumateMarker, delay); + } + + /** + * Retrieves the current child of @marker. + * + * Returns: a #GtkWidget. + */ + public Widget getChild() + { + auto __p = shumate_marker_get_child(shumateMarker); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** + * Checks whether the marker is draggable. + * + * Returns: the draggable or not state of the marker. + */ + public bool getDraggable() + { + return shumate_marker_get_draggable(shumateMarker) != 0; + } + + /** + * Checks whether the marker is selectable. + * + * Returns: the selectable or not state of the marker. + */ + public bool getSelectable() + { + return shumate_marker_get_selectable(shumateMarker) != 0; + } + + /** + * Checks whether the marker is selected. + * + * Returns: %TRUE if the marker is selected, otherwise %FALSE + */ + public bool isSelected() + { + return shumate_marker_is_selected(shumateMarker) != 0; + } + + /** + * Sets the child widget of @marker. + * + * Params: + * child = a #GtkWidget + */ + public void setChild(Widget child) + { + shumate_marker_set_child(shumateMarker, (child is null) ? null : child.getWidgetStruct()); + } + + /** + * Sets the marker as draggable or not. + * + * Params: + * value = the draggable state + */ + public void setDraggable(bool value) + { + shumate_marker_set_draggable(shumateMarker, value); + } + + /** + * Sets the marker as selectable or not. + * + * Params: + * value = the selectable state + */ + public void setSelectable(bool value) + { + shumate_marker_set_selectable(shumateMarker, value); + } +} diff --git a/source/generated/shumate/shumate/MarkerLayer.d b/source/generated/shumate/shumate/MarkerLayer.d new file mode 100644 index 000000000..3c010ae9d --- /dev/null +++ b/source/generated/shumate/shumate/MarkerLayer.d @@ -0,0 +1,329 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.MarkerLayer; + +private import glib.ConstructionException; +private import glib.ListG; +private import gobject.ObjectG; +private import gobject.Signals; +private import shumate.Layer; +private import shumate.Marker; +private import shumate.Viewport; +private import shumate.c.functions; +public import shumate.c.types; +private import std.algorithm; + + +/** + * Displays markers on the map. It is responsible for positioning markers + * correctly, marker selections and group marker operations. + */ +public class MarkerLayer : Layer +{ + /** the main Gtk struct */ + protected ShumateMarkerLayer* shumateMarkerLayer; + + /** Get the main Gtk struct */ + public ShumateMarkerLayer* getMarkerLayerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateMarkerLayer; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateMarkerLayer; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateMarkerLayer* shumateMarkerLayer, bool ownedRef = false) + { + this.shumateMarkerLayer = shumateMarkerLayer; + super(cast(ShumateLayer*)shumateMarkerLayer, ownedRef); + } + + + /** */ + public static GType getType() + { + return shumate_marker_layer_get_type(); + } + + /** + * Creates a new instance of #ShumateMarkerLayer. + * + * Params: + * viewport = the @ShumateViewport + * + * Returns: a new #ShumateMarkerLayer ready to be used as a container for the markers. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Viewport viewport) + { + auto __p = shumate_marker_layer_new((viewport is null) ? null : viewport.getViewportStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateMarkerLayer*) __p); + } + + /** + * Creates a new instance of #ShumateMarkerLayer with the specified selection mode. + * + * Params: + * viewport = the @ShumateViewport + * mode = Selection mode + * + * Returns: a new #ShumateMarkerLayer ready to be used as a container for the markers. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Viewport viewport, GtkSelectionMode mode) + { + auto __p = shumate_marker_layer_new_full((viewport is null) ? null : viewport.getViewportStruct(), mode); + + if(__p is null) + { + throw new ConstructionException("null returned by new_full"); + } + + this(cast(ShumateMarkerLayer*) __p); + } + + /** + * Adds the marker to the layer. + * + * Params: + * marker = a #ShumateMarker + */ + public void addMarker(Marker marker) + { + shumate_marker_layer_add_marker(shumateMarkerLayer, (marker is null) ? null : marker.getMarkerStruct()); + } + + /** + * Fade in all markers in the layer with an animation + */ + public void animateInAllMarkers() + { + shumate_marker_layer_animate_in_all_markers(shumateMarkerLayer); + } + + /** + * Fade out all markers in the layer with an animation + */ + public void animateOutAllMarkers() + { + shumate_marker_layer_animate_out_all_markers(shumateMarkerLayer); + } + + /** + * Gets a copy of the list of all markers inserted into the layer. You should + * free the list but not its contents. + * + * Returns: the list + */ + public ListG getMarkers() + { + auto __p = shumate_marker_layer_get_markers(shumateMarkerLayer); + + if(__p is null) + { + return null; + } + + return new ListG(cast(GList*) __p); + } + + /** + * Gets a list of selected markers in the layer. + * + * Returns: the list + */ + public ListG getSelected() + { + auto __p = shumate_marker_layer_get_selected(shumateMarkerLayer); + + if(__p is null) + { + return null; + } + + return new ListG(cast(GList*) __p); + } + + /** + * Gets the selection mode of the layer. + * + * Returns: the selection mode of the layer. + */ + public GtkSelectionMode getSelectionMode() + { + return shumate_marker_layer_get_selection_mode(shumateMarkerLayer); + } + + /** + * Hides all the markers in the layer + */ + public void hideAllMarkers() + { + shumate_marker_layer_hide_all_markers(shumateMarkerLayer); + } + + /** + * Removes all markers from the layer. + */ + public void removeAll() + { + shumate_marker_layer_remove_all(shumateMarkerLayer); + } + + /** + * Removes the marker from the layer. + * + * Params: + * marker = a #ShumateMarker + */ + public void removeMarker(Marker marker) + { + shumate_marker_layer_remove_marker(shumateMarkerLayer, (marker is null) ? null : marker.getMarkerStruct()); + } + + /** + * Selects all selectable markers in the layer. + */ + public void selectAllMarkers() + { + shumate_marker_layer_select_all_markers(shumateMarkerLayer); + } + + /** + * Selects a marker in this layer. + * + * If #ShumateMarkerLayer:selection-mode is %GTK_SELECTION_SINGLE or + * %GTK_SELECTION_BROWSE, all other markers will be unselected. If the mode is + * %GTK_SELECTION_NONE or @marker is not selectable, nothing will happen. + * + * Params: + * marker = a #ShumateMarker that is a child of @self + * + * Returns: %TRUE if the marker is now selected, otherwise %FALSE + */ + public bool selectMarker(Marker marker) + { + return shumate_marker_layer_select_marker(shumateMarkerLayer, (marker is null) ? null : marker.getMarkerStruct()) != 0; + } + + /** + * Sets all markers draggable in the layer + */ + public void setAllMarkersDraggable() + { + shumate_marker_layer_set_all_markers_draggable(shumateMarkerLayer); + } + + /** + * Sets all markers undraggable in the layer + */ + public void setAllMarkersUndraggable() + { + shumate_marker_layer_set_all_markers_undraggable(shumateMarkerLayer); + } + + /** + * Sets the selection mode of the layer. + * + * NOTE: changing selection mode to %GTK_SELECTION_NONE, %GTK_SELECTION_SINGLE + * or %GTK_SELECTION_BROWSE will clear all previously selected markers. + * + * Params: + * mode = a #GtkSelectionMode value + */ + public void setSelectionMode(GtkSelectionMode mode) + { + shumate_marker_layer_set_selection_mode(shumateMarkerLayer, mode); + } + + /** + * Shows all markers in the layer + */ + public void showAllMarkers() + { + shumate_marker_layer_show_all_markers(shumateMarkerLayer); + } + + /** + * Unselects all markers in the layer. + */ + public void unselectAllMarkers() + { + shumate_marker_layer_unselect_all_markers(shumateMarkerLayer); + } + + /** + * Unselects a marker in this layer. + * + * This works even if #ShumateMarkerLayer:selection-mode is + * %GTK_SELECTION_BROWSE. Browse mode only prevents user interaction, not the + * program, from unselecting a marker. + * + * Params: + * marker = a #ShumateMarker that is a child of @self + */ + public void unselectMarker(Marker marker) + { + shumate_marker_layer_unselect_marker(shumateMarkerLayer, (marker is null) ? null : marker.getMarkerStruct()); + } + + /** + * Emitted when a marker in the layer is selected. + * + * Params: + * marker = The marker that was selected + */ + gulong addOnMarkerSelected(void delegate(Marker, MarkerLayer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "marker-selected", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when a marker in the layer is unselected. + * + * Params: + * marker = The marker that was unselected + */ + gulong addOnMarkerUnselected(void delegate(Marker, MarkerLayer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "marker-unselected", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/shumate/shumate/MemoryCache.d b/source/generated/shumate/shumate/MemoryCache.d new file mode 100644 index 000000000..9293ff543 --- /dev/null +++ b/source/generated/shumate/shumate/MemoryCache.d @@ -0,0 +1,138 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.MemoryCache; + +private import gdk.Texture; +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import shumate.Tile; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * A cache that stores and retrieves tiles from the memory. The cache contents + * is not preserved between application restarts so this cache serves mostly as + * a quick access temporary cache to the most recently used tiles. + */ +public class MemoryCache : ObjectG +{ + /** the main Gtk struct */ + protected ShumateMemoryCache* shumateMemoryCache; + + /** Get the main Gtk struct */ + public ShumateMemoryCache* getMemoryCacheStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateMemoryCache; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateMemoryCache; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateMemoryCache* shumateMemoryCache, bool ownedRef = false) + { + this.shumateMemoryCache = shumateMemoryCache; + super(cast(GObject*)shumateMemoryCache, ownedRef); + } + + + /** */ + public static GType getType() + { + return shumate_memory_cache_get_type(); + } + + /** + * Constructor of #ShumateMemoryCache. + * + * Params: + * sizeLimit = maximum number of tiles stored in the cache + * + * Returns: a constructed #ShumateMemoryCache + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(uint sizeLimit) + { + auto __p = shumate_memory_cache_new_full(sizeLimit); + + if(__p is null) + { + throw new ConstructionException("null returned by new_full"); + } + + this(cast(ShumateMemoryCache*) __p, true); + } + + /** + * Cleans the contents of the cache. + */ + public void clean() + { + shumate_memory_cache_clean(shumateMemoryCache); + } + + /** + * Gets the maximum number of tiles stored in the cache. + * + * Returns: maximum number of stored tiles + */ + public uint getSizeLimit() + { + return shumate_memory_cache_get_size_limit(shumateMemoryCache); + } + + /** + * Sets the maximum number of tiles stored in the cache. + * + * Params: + * sizeLimit = maximum number of tiles stored in the cache + */ + public void setSizeLimit(uint sizeLimit) + { + shumate_memory_cache_set_size_limit(shumateMemoryCache, sizeLimit); + } + + /** */ + public void storeTexture(Tile tile, Texture texture, string sourceId) + { + shumate_memory_cache_store_texture(shumateMemoryCache, (tile is null) ? null : tile.getTileStruct(), (texture is null) ? null : texture.getTextureStruct(), Str.toStringz(sourceId)); + } + + /** */ + public bool tryFillTile(Tile tile, string sourceId) + { + return shumate_memory_cache_try_fill_tile(shumateMemoryCache, (tile is null) ? null : tile.getTileStruct(), Str.toStringz(sourceId)) != 0; + } +} diff --git a/source/generated/shumate/shumate/PathLayer.d b/source/generated/shumate/shumate/PathLayer.d new file mode 100644 index 000000000..20666880e --- /dev/null +++ b/source/generated/shumate/shumate/PathLayer.d @@ -0,0 +1,389 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.PathLayer; + +private import gdk.RGBA; +private import glib.ConstructionException; +private import glib.ListG; +private import gobject.ObjectG; +private import shumate.Layer; +private import shumate.LocationIF; +private import shumate.Viewport; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * A layer displaying line path between inserted [iface@Location] objects + * + * This layer shows a connection between inserted objects implementing the + * [iface@Location] interface. This means that both #ShumateMarker + * objects and [class@Coordinate] objects can be inserted into the layer. + * Of course, custom objects implementing the #ShumateLocation interface + * can be used as well. + */ +public class PathLayer : Layer +{ + /** the main Gtk struct */ + protected ShumatePathLayer* shumatePathLayer; + + /** Get the main Gtk struct */ + public ShumatePathLayer* getPathLayerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumatePathLayer; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumatePathLayer; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumatePathLayer* shumatePathLayer, bool ownedRef = false) + { + this.shumatePathLayer = shumatePathLayer; + super(cast(ShumateLayer*)shumatePathLayer, ownedRef); + } + + + /** */ + public static GType getType() + { + return shumate_path_layer_get_type(); + } + + /** + * Creates a new instance of #ShumatePathLayer. + * + * Params: + * viewport = the @ShumateViewport + * + * Returns: a new instance of #ShumatePathLayer. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Viewport viewport) + { + auto __p = shumate_path_layer_new((viewport is null) ? null : viewport.getViewportStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumatePathLayer*) __p); + } + + /** + * Adds a #ShumateLocation object to the layer. + * The node is prepended to the list. + * + * Params: + * location = a #ShumateLocation + */ + public void addNode(LocationIF location) + { + shumate_path_layer_add_node(shumatePathLayer, (location is null) ? null : location.getLocationStruct()); + } + + /** + * Gets information whether the path is closed. + * + * Returns: %TRUE when the path is closed, %FALSE otherwise + */ + public bool getClosed() + { + return shumate_path_layer_get_closed(shumatePathLayer) != 0; + } + + /** + * Returns the list of dash segment lengths. + * + * Returns: the list + */ + public ListG getDash() + { + auto __p = shumate_path_layer_get_dash(shumatePathLayer); + + if(__p is null) + { + return null; + } + + return new ListG(cast(GList*) __p, true); + } + + /** + * Checks whether the path is filled. + * + * Returns: %TRUE if the path is filled, %FALSE otherwise. + */ + public bool getFill() + { + return shumate_path_layer_get_fill(shumatePathLayer) != 0; + } + + /** + * Gets the path's fill color. + * + * Returns: the path's fill color. + */ + public RGBA getFillColor() + { + auto __p = shumate_path_layer_get_fill_color(shumatePathLayer); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(RGBA)(cast(GdkRGBA*) __p, true); + } + + /** + * Gets a copy of the list of all #ShumateLocation objects inserted into the layer. You should + * free the list but not its contents. + * + * Returns: the list + */ + public ListG getNodes() + { + auto __p = shumate_path_layer_get_nodes(shumatePathLayer); + + if(__p is null) + { + return null; + } + + return new ListG(cast(GList*) __p); + } + + /** + * Gets the path's outline color. + * + * Returns: the path's outline color. + */ + public RGBA getOutlineColor() + { + auto __p = shumate_path_layer_get_outline_color(shumatePathLayer); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(RGBA)(cast(GdkRGBA*) __p, true); + } + + /** + * Gets the width of the outline. + * + * Returns: the width of the outline + */ + public double getOutlineWidth() + { + return shumate_path_layer_get_outline_width(shumatePathLayer); + } + + /** + * Checks whether the path is stroked. + * + * Returns: %TRUE if the path is stroked, %FALSE otherwise. + */ + public bool getStroke() + { + return shumate_path_layer_get_stroke(shumatePathLayer) != 0; + } + + /** + * Gets the path's stroke color. + * + * Returns: the path's stroke color. + */ + public RGBA getStrokeColor() + { + auto __p = shumate_path_layer_get_stroke_color(shumatePathLayer); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(RGBA)(cast(GdkRGBA*) __p, true); + } + + /** + * Gets the width of the stroke. + * + * Returns: the width of the stroke + */ + public double getStrokeWidth() + { + return shumate_path_layer_get_stroke_width(shumatePathLayer); + } + + /** + * Inserts a #ShumateLocation object to the specified position. + * + * Params: + * location = a #ShumateLocation + * position = position in the list where the #ShumateLocation object should be inserted + */ + public void insertNode(LocationIF location, uint position) + { + shumate_path_layer_insert_node(shumatePathLayer, (location is null) ? null : location.getLocationStruct(), position); + } + + /** + * Removes all #ShumateLocation objects from the layer. + */ + public void removeAll() + { + shumate_path_layer_remove_all(shumatePathLayer); + } + + /** + * Removes the #ShumateLocation object from the layer. + * + * Params: + * location = a #ShumateLocation + */ + public void removeNode(LocationIF location) + { + shumate_path_layer_remove_node(shumatePathLayer, (location is null) ? null : location.getLocationStruct()); + } + + /** + * Makes the path closed. + * + * Params: + * value = %TRUE to make the path closed + */ + public void setClosed(bool value) + { + shumate_path_layer_set_closed(shumatePathLayer, value); + } + + /** + * Sets dashed line pattern in a way similar to cairo_set_dash() of cairo. This + * method supports only integer values for segment lengths. The values have to be + * passed inside the data pointer of the list (using the %GUINT_TO_POINTER conversion) + * + * Pass %NULL to use solid line. + * + * Params: + * dashPattern = list of integer values representing lengths + * of dashes/spaces (see cairo documentation of cairo_set_dash()) + */ + public void setDash(ListG dashPattern) + { + shumate_path_layer_set_dash(shumatePathLayer, (dashPattern is null) ? null : dashPattern.getListGStruct()); + } + + /** + * Sets the path to be filled + * + * Params: + * value = if the path is filled + */ + public void setFill(bool value) + { + shumate_path_layer_set_fill(shumatePathLayer, value); + } + + /** + * Set the path's fill color. + * + * Params: + * color = The path's fill color or %NULL to reset to the + * default color. The color parameter is copied. + */ + public void setFillColor(RGBA color) + { + shumate_path_layer_set_fill_color(shumatePathLayer, (color is null) ? null : color.getRGBAStruct()); + } + + /** + * Set the path's outline color. + * + * Params: + * color = The path's outline color or %NULL to reset to the + * default color. The color parameter is copied. + */ + public void setOutlineColor(RGBA color) + { + shumate_path_layer_set_outline_color(shumatePathLayer, (color is null) ? null : color.getRGBAStruct()); + } + + /** + * Sets the width of the outline + * + * Params: + * value = the width of the outline (in pixels) + */ + public void setOutlineWidth(double value) + { + shumate_path_layer_set_outline_width(shumatePathLayer, value); + } + + /** + * Sets the path to be stroked + * + * Params: + * value = if the path is stroked + */ + public void setStroke(bool value) + { + shumate_path_layer_set_stroke(shumatePathLayer, value); + } + + /** + * Set the path's stroke color. + * + * Params: + * color = The path's stroke color or %NULL to reset to the + * default color. The color parameter is copied. + */ + public void setStrokeColor(RGBA color) + { + shumate_path_layer_set_stroke_color(shumatePathLayer, (color is null) ? null : color.getRGBAStruct()); + } + + /** + * Sets the width of the stroke + * + * Params: + * value = the width of the stroke (in pixels) + */ + public void setStrokeWidth(double value) + { + shumate_path_layer_set_stroke_width(shumatePathLayer, value); + } +} diff --git a/generated/gtkd/gsk/VulkanRenderer.d b/source/generated/shumate/shumate/Point.d similarity index 64% rename from generated/gtkd/gsk/VulkanRenderer.d rename to source/generated/shumate/shumate/Point.d index 1bb21a141..ca7282bd5 100644 --- a/generated/gtkd/gsk/VulkanRenderer.d +++ b/source/generated/shumate/shumate/Point.d @@ -22,63 +22,70 @@ // implement new conversion functionalities on the wrap.utils pakage -module gsk.VulkanRenderer; +module shumate.Point; private import glib.ConstructionException; private import gobject.ObjectG; -private import gsk.Renderer; -private import gsk.c.functions; -public import gsk.c.types; +private import shumate.Marker; +private import shumate.c.functions; +public import shumate.c.types; /** - * A GSK renderer that is using Vulkan. + * A simple variant of [class@Marker] showing the location of the point as a + * circle on the map. */ -public class VulkanRenderer : Renderer +public class Point : Marker { /** the main Gtk struct */ - protected GskVulkanRenderer* gskVulkanRenderer; + protected ShumatePoint* shumatePoint; /** Get the main Gtk struct */ - public GskVulkanRenderer* getVulkanRendererStruct(bool transferOwnership = false) + public ShumatePoint* getPointStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gskVulkanRenderer; + return shumatePoint; } /** the main Gtk struct as a void* */ protected override void* getStruct() { - return cast(void*)gskVulkanRenderer; + return cast(void*)shumatePoint; } /** * Sets our main struct and passes it to the parent class. */ - public this (GskVulkanRenderer* gskVulkanRenderer, bool ownedRef = false) + public this (ShumatePoint* shumatePoint, bool ownedRef = false) { - this.gskVulkanRenderer = gskVulkanRenderer; - super(cast(GskRenderer*)gskVulkanRenderer, ownedRef); + this.shumatePoint = shumatePoint; + super(cast(ShumateMarker*)shumatePoint, ownedRef); } /** */ public static GType getType() { - return gsk_vulkan_renderer_get_type(); + return shumate_point_get_type(); } - /** */ + /** + * Creates an instance of #ShumatePoint. + * + * Returns: a new #ShumatePoint. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ public this() { - auto __p = gsk_vulkan_renderer_new(); + auto __p = shumate_point_new(); if(__p is null) { throw new ConstructionException("null returned by new"); } - this(cast(GskVulkanRenderer*) __p, true); + this(cast(ShumatePoint*) __p); } } diff --git a/source/generated/shumate/shumate/RasterRenderer.d b/source/generated/shumate/shumate/RasterRenderer.d new file mode 100644 index 000000000..27ef35067 --- /dev/null +++ b/source/generated/shumate/shumate/RasterRenderer.d @@ -0,0 +1,185 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.RasterRenderer; + +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import shumate.DataSource; +private import shumate.MapSource; +private import shumate.c.functions; +public import shumate.c.types; + + +/** */ +public class RasterRenderer : MapSource +{ + /** the main Gtk struct */ + protected ShumateRasterRenderer* shumateRasterRenderer; + + /** Get the main Gtk struct */ + public ShumateRasterRenderer* getRasterRendererStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateRasterRenderer; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateRasterRenderer; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateRasterRenderer* shumateRasterRenderer, bool ownedRef = false) + { + this.shumateRasterRenderer = shumateRasterRenderer; + super(cast(ShumateMapSource*)shumateRasterRenderer, ownedRef); + } + + + /** */ + public static GType getType() + { + return shumate_raster_renderer_get_type(); + } + + /** + * Creates a new [class@RasterRenderer] that uses the given data source. + * + * Params: + * dataSource = a [class@DataSource] to provide tile image data + * + * Returns: a newly constructed [class@RasterRenderer] + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(DataSource dataSource) + { + auto __p = shumate_raster_renderer_new((dataSource is null) ? null : dataSource.getDataSourceStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateRasterRenderer*) __p, true); + } + + /** + * Creates a new [class@RasterRenderer] that fetches tiles from the given URL + * using a [class@TileDownloader] data source. + * + * Equivalent to: + * + * ```c + * g_autoptr(ShumateTileDownloader) source = shumate_tile_downloader_new (url_template); + * ShumateRasterRenderer *renderer = shumate_raster_renderer_new (source); + * ``` + * + * Params: + * urlTemplate = a URL template to fetch tiles from + * + * Returns: a newly constructed [class@RasterRenderer] + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string urlTemplate) + { + auto __p = shumate_raster_renderer_new_from_url(Str.toStringz(urlTemplate)); + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_url"); + } + + this(cast(ShumateRasterRenderer*) __p, true); + } + + /** + * Creates a new [class@RasterRenderer] with the given details and a data + * source. + * + * Params: + * id = the map source's id + * name = the map source's name + * license = the map source's license + * licenseUri = the map source's license URI + * minZoom = the map source's minimum zoom level + * maxZoom = the map source's maximum zoom level + * tileSize = the map source's tile size (in pixels) + * projection = the map source's projection + * dataSource = a [class@DataSource] to provide tile image data + * + * Returns: a newly constructed [class@RasterRenderer] + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string id, string name, string license, string licenseUri, uint minZoom, uint maxZoom, uint tileSize, ShumateMapProjection projection, DataSource dataSource) + { + auto __p = shumate_raster_renderer_new_full(Str.toStringz(id), Str.toStringz(name), Str.toStringz(license), Str.toStringz(licenseUri), minZoom, maxZoom, tileSize, projection, (dataSource is null) ? null : dataSource.getDataSourceStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new_full"); + } + + this(cast(ShumateRasterRenderer*) __p, true); + } + + /** + * Creates a new [class@RasterRenderer] with the given details and a data + * source. + * + * Params: + * id = the map source's id + * name = the map source's name + * license = the map source's license + * licenseUri = the map source's license URI + * minZoom = the map source's minimum zoom level + * maxZoom = the map source's maximum zoom level + * tileSize = the map source's tile size (in pixels) + * projection = the map source's projection + * urlTemplate = a URL template to fetch tiles from + * + * Returns: a newly constructed [class@RasterRenderer] + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string id, string name, string license, string licenseUri, uint minZoom, uint maxZoom, uint tileSize, ShumateMapProjection projection, string urlTemplate) + { + auto __p = shumate_raster_renderer_new_full_from_url(Str.toStringz(id), Str.toStringz(name), Str.toStringz(license), Str.toStringz(licenseUri), minZoom, maxZoom, tileSize, projection, Str.toStringz(urlTemplate)); + + if(__p is null) + { + throw new ConstructionException("null returned by new_full_from_url"); + } + + this(cast(ShumateRasterRenderer*) __p, true); + } +} diff --git a/source/generated/shumate/shumate/Scale.d b/source/generated/shumate/shumate/Scale.d new file mode 100644 index 000000000..7cddf399c --- /dev/null +++ b/source/generated/shumate/shumate/Scale.d @@ -0,0 +1,180 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.Scale; + +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import shumate.Viewport; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * A widget displaying a scale. + * + * # CSS nodes + * + * ``` + * map-scale + * ├── label[.metric][.imperial] + * ``` + * + * `ShumateScale` uses a single CSS node with name map-scale, it has up to two + * childs different labels. + */ +public class Scale : Widget +{ + /** the main Gtk struct */ + protected ShumateScale* shumateScale; + + /** Get the main Gtk struct */ + public ShumateScale* getScaleStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateScale; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateScale; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateScale* shumateScale, bool ownedRef = false) + { + this.shumateScale = shumateScale; + super(cast(GtkWidget*)shumateScale, ownedRef); + } + + + /** */ + public static GType getType() + { + return shumate_scale_get_type(); + } + + /** + * Creates an instance of #ShumateScale. + * + * Params: + * viewport = a #ShumateViewport + * + * Returns: a new #ShumateScale. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Viewport viewport) + { + auto __p = shumate_scale_new((viewport is null) ? null : viewport.getViewportStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateScale*) __p); + } + + /** + * Gets the maximum scale width. + * + * Returns: The maximum scale width in pixels. + */ + public uint getMaxWidth() + { + return shumate_scale_get_max_width(shumateScale); + } + + /** + * Gets the unit used by the scale. + * + * Returns: The unit used by the scale + */ + public ShumateUnit getUnit() + { + return shumate_scale_get_unit(shumateScale); + } + + /** + * Gets the viewport used by the scale. + * + * Returns: The #ShumateViewport used by the scale + */ + public Viewport getViewport() + { + auto __p = shumate_scale_get_viewport(shumateScale); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Viewport)(cast(ShumateViewport*) __p); + } + + /** + * Sets the maximum width of the scale on the screen in pixels + * + * Params: + * value = the number of pixels + */ + public void setMaxWidth(uint value) + { + shumate_scale_set_max_width(shumateScale, value); + } + + /** + * Sets the scale unit. + * + * Params: + * unit = a #ShumateUnit + */ + public void setUnit(ShumateUnit unit) + { + shumate_scale_set_unit(shumateScale, unit); + } + + /** + * Sets the scale viewport. + * + * Params: + * viewport = a #ShumateViewport + */ + public void setViewport(Viewport viewport) + { + shumate_scale_set_viewport(shumateScale, (viewport is null) ? null : viewport.getViewportStruct()); + } +} diff --git a/source/generated/shumate/shumate/SimpleMap.d b/source/generated/shumate/shumate/SimpleMap.d new file mode 100644 index 000000000..641c7546c --- /dev/null +++ b/source/generated/shumate/shumate/SimpleMap.d @@ -0,0 +1,246 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.SimpleMap; + +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import shumate.Compass; +private import shumate.Layer; +private import shumate.LicenseSh; +private import shumate.MapSource; +private import shumate.Scale; +private import shumate.Viewport; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * A ready-to-use map [class@Gtk.Widget].If you want to use your own implementation, + * you can look at the [class@Shumate.Map] widget. + * + * The simple map contains a zoom widget, a [class@Shumate.License] at the bottom, + * a [class@Shumate.Scale] and a [class@Shumate.Compass]. + */ +public class SimpleMap : Widget +{ + /** the main Gtk struct */ + protected ShumateSimpleMap* shumateSimpleMap; + + /** Get the main Gtk struct */ + public ShumateSimpleMap* getSimpleMapStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateSimpleMap; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateSimpleMap; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateSimpleMap* shumateSimpleMap, bool ownedRef = false) + { + this.shumateSimpleMap = shumateSimpleMap; + super(cast(GtkWidget*)shumateSimpleMap, ownedRef); + } + + + /** */ + public static GType getType() + { + return shumate_simple_map_get_type(); + } + + /** */ + public this() + { + auto __p = shumate_simple_map_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateSimpleMap*) __p); + } + + /** + * Adds a map layer as an overlay on top of the base map. + * + * Params: + * layer = a [class@Layer] to add + */ + public void addOverlayLayer(Layer layer) + { + shumate_simple_map_add_overlay_layer(shumateSimpleMap, (layer is null) ? null : layer.getLayerStruct()); + } + + /** + * Gets the compass widget for the map. + * + * Returns: a [class@Compass] + */ + public Compass getCompass() + { + auto __p = shumate_simple_map_get_compass(shumateSimpleMap); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Compass)(cast(ShumateCompass*) __p); + } + + /** + * Gets the license widget for the map. + * + * Returns: a [class@License] + */ + public LicenseSh getLicense() + { + auto __p = shumate_simple_map_get_license(shumateSimpleMap); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(LicenseSh)(cast(ShumateLicense*) __p); + } + + /** + * Gets the map source for the current base layer. + * + * Returns: a [class@MapSource] + */ + public MapSource getMapSource() + { + auto __p = shumate_simple_map_get_map_source(shumateSimpleMap); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(MapSource)(cast(ShumateMapSource*) __p); + } + + /** + * Gets the scale widget for the map. + * + * Returns: a [class@Scale] + */ + public Scale getScale() + { + auto __p = shumate_simple_map_get_scale(shumateSimpleMap); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Scale)(cast(ShumateScale*) __p); + } + + /** + * Gets whether or not the zoom buttons are shown. + * + * Returns: %TRUE if the zoom buttons are visible, otherwise %FALSE + */ + public bool getShowZoomButtons() + { + return shumate_simple_map_get_show_zoom_buttons(shumateSimpleMap) != 0; + } + + /** + * Gets the map's viewport, needed for constructing map layers that will be added + * to it. + * + * Returns: a [class@Viewport] + */ + public Viewport getViewport() + { + auto __p = shumate_simple_map_get_viewport(shumateSimpleMap); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Viewport)(cast(ShumateViewport*) __p); + } + + /** */ + public void insertOverlayLayer(Layer layer, uint idx) + { + shumate_simple_map_insert_overlay_layer(shumateSimpleMap, (layer is null) ? null : layer.getLayerStruct(), idx); + } + + /** + * Removes a layer from the map. + * + * Params: + * layer = a [class@Layer] that was added to the map previously + */ + public void removeOverlayLayer(Layer layer) + { + shumate_simple_map_remove_overlay_layer(shumateSimpleMap, (layer is null) ? null : layer.getLayerStruct()); + } + + /** + * Sets the source for the base map. + * + * Params: + * mapSource = a [class@MapSource] + */ + public void setMapSource(MapSource mapSource) + { + shumate_simple_map_set_map_source(shumateSimpleMap, (mapSource is null) ? null : mapSource.getMapSourceStruct()); + } + + /** + * Sets whether or not the zoom buttons are shown. + * + * Params: + * showZoomButtons = %TRUE to show the zoom buttons, %FALSE to hide them + */ + public void setShowZoomButtons(bool showZoomButtons) + { + shumate_simple_map_set_show_zoom_buttons(shumateSimpleMap, showZoomButtons); + } +} diff --git a/source/generated/shumate/shumate/Tile.d b/source/generated/shumate/shumate/Tile.d new file mode 100644 index 000000000..70480645b --- /dev/null +++ b/source/generated/shumate/shumate/Tile.d @@ -0,0 +1,310 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.Tile; + +private import gdk.Texture; +private import glib.ConstructionException; +private import glib.DateTime; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * An object that represents map tiles. Tiles are loaded by a [class@MapSource]. + */ +public class Tile : Widget +{ + /** the main Gtk struct */ + protected ShumateTile* shumateTile; + + /** Get the main Gtk struct */ + public ShumateTile* getTileStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateTile; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateTile; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateTile* shumateTile, bool ownedRef = false) + { + this.shumateTile = shumateTile; + super(cast(GtkWidget*)shumateTile, ownedRef); + } + + + /** */ + public static GType getType() + { + return shumate_tile_get_type(); + } + + /** + * Creates an instance of #ShumateTile. + * + * Returns: a new #ShumateTile + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = shumate_tile_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateTile*) __p); + } + + /** + * Creates an instance of #ShumateTile. + * + * Params: + * x = the x position + * y = the y position + * size = the size in pixels + * zoomLevel = the zoom level + * + * Returns: a #ShumateTile + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(uint x, uint y, uint size, uint zoomLevel) + { + auto __p = shumate_tile_new_full(x, y, size, zoomLevel); + + if(__p is null) + { + throw new ConstructionException("null returned by new_full"); + } + + this(cast(ShumateTile*) __p); + } + + /** */ + public string getEtag() + { + return Str.toString(shumate_tile_get_etag(shumateTile)); + } + + /** + * Checks whether the tile should fade in. + * + * Returns: the return value determines whether the tile should fade in when loading. + */ + public bool getFadeIn() + { + return shumate_tile_get_fade_in(shumateTile) != 0; + } + + /** */ + public DateTime getModifiedTime() + { + auto __p = shumate_tile_get_modified_time(shumateTile); + + if(__p is null) + { + return null; + } + + return new DateTime(cast(GDateTime*) __p, true); + } + + /** + * Gets the tile's size. + * + * Returns: the tile's size in pixels + */ + public uint getSize() + { + return shumate_tile_get_size(shumateTile); + } + + /** + * Gets the current state of tile loading. + * + * Returns: the tile's #ShumateState + */ + public ShumateState getState() + { + return shumate_tile_get_state(shumateTile); + } + + /** + * Get the #GdkTexture representing this tile. + * + * Returns: A #GdkTexture + */ + public Texture getTexture() + { + auto __p = shumate_tile_get_texture(shumateTile); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Texture)(cast(GdkTexture*) __p); + } + + /** + * Gets the tile's x position. + * + * Returns: the tile's x position + */ + public uint getX() + { + return shumate_tile_get_x(shumateTile); + } + + /** + * Gets the tile's y position. + * + * Returns: the tile's y position + */ + public uint getY() + { + return shumate_tile_get_y(shumateTile); + } + + /** + * Gets the tile's zoom level. + * + * Returns: the tile's zoom level + */ + public uint getZoomLevel() + { + return shumate_tile_get_zoom_level(shumateTile); + } + + /** */ + public void setEtag(string etag) + { + shumate_tile_set_etag(shumateTile, Str.toStringz(etag)); + } + + /** + * Sets the flag determining whether the tile should fade in when loading + * + * Params: + * fadeIn = determines whether the tile should fade in when loading + */ + public void setFadeIn(bool fadeIn) + { + shumate_tile_set_fade_in(shumateTile, fadeIn); + } + + /** */ + public void setModifiedTime(DateTime modifiedTime) + { + shumate_tile_set_modified_time(shumateTile, (modifiedTime is null) ? null : modifiedTime.getDateTimeStruct()); + } + + /** + * Sets the tile's size + * + * Params: + * size = the size in pixels + */ + public void setSize(uint size) + { + shumate_tile_set_size(shumateTile, size); + } + + /** + * Sets the tile's #ShumateState + * + * Params: + * state = a #ShumateState + */ + public void setState(ShumateState state) + { + shumate_tile_set_state(shumateTile, state); + } + + /** + * Sets the #GdkTexture representing this tile. + * + * Params: + * texture = a #GdkTexture + */ + public void setTexture(Texture texture) + { + shumate_tile_set_texture(shumateTile, (texture is null) ? null : texture.getTextureStruct()); + } + + /** + * Sets the tile's x position + * + * Params: + * x = the position + */ + public void setX(uint x) + { + shumate_tile_set_x(shumateTile, x); + } + + /** + * Sets the tile's y position + * + * Params: + * y = the position + */ + public void setY(uint y) + { + shumate_tile_set_y(shumateTile, y); + } + + /** + * Sets the tile's zoom level + * + * Params: + * zoomLevel = the zoom level + */ + public void setZoomLevel(uint zoomLevel) + { + shumate_tile_set_zoom_level(shumateTile, zoomLevel); + } +} diff --git a/source/generated/shumate/shumate/TileDownloader.d b/source/generated/shumate/shumate/TileDownloader.d new file mode 100644 index 000000000..14fdc1dc5 --- /dev/null +++ b/source/generated/shumate/shumate/TileDownloader.d @@ -0,0 +1,100 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.TileDownloader; + +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import shumate.DataSource; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * A [class@Shumate.DataSource] that asynchronously downloads tiles from an online + * service using a given template. + * + * It contains an internal [class@Shumate.FileCache] to cache the tiles on the system. + */ +public class TileDownloader : DataSource +{ + /** the main Gtk struct */ + protected ShumateTileDownloader* shumateTileDownloader; + + /** Get the main Gtk struct */ + public ShumateTileDownloader* getTileDownloaderStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateTileDownloader; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateTileDownloader; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateTileDownloader* shumateTileDownloader, bool ownedRef = false) + { + this.shumateTileDownloader = shumateTileDownloader; + super(cast(ShumateDataSource*)shumateTileDownloader, ownedRef); + } + + + /** */ + public static GType getType() + { + return shumate_tile_downloader_get_type(); + } + + /** + * Creates a new [class@TileDownloader] that fetches tiles from an API and + * caches them on disk. + * + * See [property@TileDownloader:url-template] for the format of the URL template. + * + * Params: + * urlTemplate = a URL template to fetch tiles from + * + * Returns: a newly constructed [class@TileDownloader] + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string urlTemplate) + { + auto __p = shumate_tile_downloader_new(Str.toStringz(urlTemplate)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateTileDownloader*) __p, true); + } +} diff --git a/source/generated/shumate/shumate/VectorRenderer.d b/source/generated/shumate/shumate/VectorRenderer.d new file mode 100644 index 000000000..02e3d6146 --- /dev/null +++ b/source/generated/shumate/shumate/VectorRenderer.d @@ -0,0 +1,239 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.VectorRenderer; + +private import gio.InitableIF; +private import gio.InitableT; +private import glib.ConstructionException; +private import glib.ErrorG; +private import glib.GException; +private import glib.Str; +private import gobject.ObjectG; +private import shumate.DataSource; +private import shumate.MapSource; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * A [class@Shumate.MapSource] that renders tiles from a given vector data source. + */ +public class VectorRenderer : MapSource, InitableIF +{ + /** the main Gtk struct */ + protected ShumateVectorRenderer* shumateVectorRenderer; + + /** Get the main Gtk struct */ + public ShumateVectorRenderer* getVectorRendererStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateVectorRenderer; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateVectorRenderer; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateVectorRenderer* shumateVectorRenderer, bool ownedRef = false) + { + this.shumateVectorRenderer = shumateVectorRenderer; + super(cast(ShumateMapSource*)shumateVectorRenderer, ownedRef); + } + + // add the Initable capabilities + mixin InitableT!(ShumateVectorRenderer); + + + /** */ + public static GType getType() + { + return shumate_vector_renderer_get_type(); + } + + /** + * Creates a new [class@VectorRenderer] to render vector tiles from @data_source. + * + * Params: + * dataSource = a [class@DataSource] to provide tile image data + * styleJson = a vector style + * + * Returns: a newly constructed [class@VectorRenderer] + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(DataSource dataSource, string styleJson) + { + GError* err = null; + + auto __p = shumate_vector_renderer_new((dataSource is null) ? null : dataSource.getDataSourceStruct(), Str.toStringz(styleJson), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateVectorRenderer*) __p, true); + } + + /** + * Creates a new [class@VectorRenderer] that fetches tiles from the given URL + * using a [class@TileDownloader] data source. + * + * Equivalent to: + * + * ```c + * g_autoptr(ShumateTileDownloader) source = shumate_tile_downloader_new (url_template); + * ShumateVectorRenderer *renderer = shumate_vector_renderer_new (source); + * ``` + * + * Params: + * urlTemplate = a URL template to fetch tiles from + * styleJson = a vector style + * + * Returns: a newly constructed [class@VectorRenderer] + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string urlTemplate, string styleJson) + { + GError* err = null; + + auto __p = shumate_vector_renderer_new_from_url(Str.toStringz(urlTemplate), Str.toStringz(styleJson), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_url"); + } + + this(cast(ShumateVectorRenderer*) __p, true); + } + + /** + * Creates a new [class@VectorRenderer] to render vector tiles from @data_source. + * + * Params: + * id = the map source's id + * name = the map source's name + * license = the map source's license + * licenseUri = the map source's license URI + * minZoom = the map source's minimum zoom level + * maxZoom = the map source's maximum zoom level + * tileSize = the map source's tile size (in pixels) + * projection = the map source's projection + * dataSource = a [class@DataSource] to provide tile image data + * + * Returns: a newly constructed [class@VectorRenderer] object + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string id, string name, string license, string licenseUri, uint minZoom, uint maxZoom, uint tileSize, ShumateMapProjection projection, DataSource dataSource, string styleJson) + { + GError* err = null; + + auto __p = shumate_vector_renderer_new_full(Str.toStringz(id), Str.toStringz(name), Str.toStringz(license), Str.toStringz(licenseUri), minZoom, maxZoom, tileSize, projection, (dataSource is null) ? null : dataSource.getDataSourceStruct(), Str.toStringz(styleJson), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new_full"); + } + + this(cast(ShumateVectorRenderer*) __p, true); + } + + /** + * Creates a new [class@VectorRenderer] that fetches tiles from the given URL + * using a [class@TileDownloader] data source. + * + * Params: + * id = the map source's id + * name = the map source's name + * license = the map source's license + * licenseUri = the map source's license URI + * minZoom = the map source's minimum zoom level + * maxZoom = the map source's maximum zoom level + * tileSize = the map source's tile size (in pixels) + * projection = the map source's projection + * urlTemplate = a template for the URL to fetch tiles from + * + * Returns: a newly constructed [class@VectorRenderer] object + * + * Throws: GException on failure. + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string id, string name, string license, string licenseUri, uint minZoom, uint maxZoom, uint tileSize, ShumateMapProjection projection, string urlTemplate, string styleJson) + { + GError* err = null; + + auto __p = shumate_vector_renderer_new_full_from_url(Str.toStringz(id), Str.toStringz(name), Str.toStringz(license), Str.toStringz(licenseUri), minZoom, maxZoom, tileSize, projection, Str.toStringz(urlTemplate), Str.toStringz(styleJson), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + throw new ConstructionException("null returned by new_full_from_url"); + } + + this(cast(ShumateVectorRenderer*) __p, true); + } + + /** + * Checks whether libshumate was compiled with vector tile support. If it was + * not, vector renderers cannot be created or used. + * + * Returns: %TRUE if libshumate was compiled with `-Dvector_renderer=true` or + * %FALSE if it was not + */ + public static bool isSupported() + { + return shumate_vector_renderer_is_supported() != 0; + } +} diff --git a/source/generated/shumate/shumate/Viewport.d b/source/generated/shumate/shumate/Viewport.d new file mode 100644 index 000000000..cfd131472 --- /dev/null +++ b/source/generated/shumate/shumate/Viewport.d @@ -0,0 +1,259 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.Viewport; + +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.Widget; +private import shumate.LocationIF; +private import shumate.LocationT; +private import shumate.MapSource; +private import shumate.c.functions; +public import shumate.c.types; + + +/** + * The object holding the coordinate, zoom-level, and rotation state of the current view. + * + * As the object implements [iface@Shumate.Location], the latitude and longitude are + * accessible via the interface methods. + */ +public class Viewport : ObjectG, LocationIF +{ + /** the main Gtk struct */ + protected ShumateViewport* shumateViewport; + + /** Get the main Gtk struct */ + public ShumateViewport* getViewportStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return shumateViewport; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)shumateViewport; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (ShumateViewport* shumateViewport, bool ownedRef = false) + { + this.shumateViewport = shumateViewport; + super(cast(GObject*)shumateViewport, ownedRef); + } + + // add the Location capabilities + mixin LocationT!(ShumateViewport); + + + /** */ + public static GType getType() + { + return shumate_viewport_get_type(); + } + + /** + * Creates a new #ShumateViewport + * + * Returns: A new #ShumateViewport + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = shumate_viewport_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(ShumateViewport*) __p, true); + } + + /** + * Get the maximal zoom level + * + * Returns: the maximal zoom level + */ + public uint getMaxZoomLevel() + { + return shumate_viewport_get_max_zoom_level(shumateViewport); + } + + /** + * Get the minimal zoom level + * + * Returns: the minimal zoom level + */ + public uint getMinZoomLevel() + { + return shumate_viewport_get_min_zoom_level(shumateViewport); + } + + /** + * Get the reference map source + * + * Returns: the reference #ShumateMapSource or %NULL + * when none has been set. + */ + public MapSource getReferenceMapSource() + { + auto __p = shumate_viewport_get_reference_map_source(shumateViewport); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(MapSource)(cast(ShumateMapSource*) __p); + } + + /** + * Gets the current rotation + * + * Returns: the current rotation + */ + public double getRotation() + { + return shumate_viewport_get_rotation(shumateViewport); + } + + /** + * Get the current zoom level + * + * Returns: the current zoom level + */ + public double getZoomLevel() + { + return shumate_viewport_get_zoom_level(shumateViewport); + } + + /** + * Gets the position on @widget that correspond to the given latitude and + * longitude. + * + * Params: + * widget = a #GtkWidget that uses @self as viewport + * latitude = the latitude + * longitude = the longitude + * x = return value for the x coordinate + * y = return value for the y coordinate + */ + public void locationToWidgetCoords(Widget widget, double latitude, double longitude, out double x, out double y) + { + shumate_viewport_location_to_widget_coords(shumateViewport, (widget is null) ? null : widget.getWidgetStruct(), latitude, longitude, &x, &y); + } + + /** + * Set the maximal zoom level + * + * Params: + * maxZoomLevel = the maximal zoom level + */ + public void setMaxZoomLevel(uint maxZoomLevel) + { + shumate_viewport_set_max_zoom_level(shumateViewport, maxZoomLevel); + } + + /** + * Set the minimal zoom level + * + * Params: + * minZoomLevel = the minimal zoom level + */ + public void setMinZoomLevel(uint minZoomLevel) + { + shumate_viewport_set_min_zoom_level(shumateViewport, minZoomLevel); + } + + /** + * Set the reference map source + * + * Params: + * mapSource = a #ShumateMapSource or %NULL to set none. + */ + public void setReferenceMapSource(MapSource mapSource) + { + shumate_viewport_set_reference_map_source(shumateViewport, (mapSource is null) ? null : mapSource.getMapSourceStruct()); + } + + /** + * Sets the rotation + * + * Params: + * rotation = the rotation + */ + public void setRotation(double rotation) + { + shumate_viewport_set_rotation(shumateViewport, rotation); + } + + /** + * Set the zoom level + * + * Params: + * zoomLevel = the zoom level + */ + public void setZoomLevel(double zoomLevel) + { + shumate_viewport_set_zoom_level(shumateViewport, zoomLevel); + } + + /** + * Gets the latitude and longitude corresponding to a position on @widget. + * + * Params: + * widget = a #GtkWidget that uses @self as viewport + * x = the x coordinate + * y = the y coordinate + * latitude = return location for the latitude + * longitude = return location for the longitude + */ + public void widgetCoordsToLocation(Widget widget, double x, double y, out double latitude, out double longitude) + { + shumate_viewport_widget_coords_to_location(shumateViewport, (widget is null) ? null : widget.getWidgetStruct(), x, y, &latitude, &longitude); + } + + /** + * Increases the zoom level + */ + public void zoomIn() + { + shumate_viewport_zoom_in(shumateViewport); + } + + /** + * Decreases the zoom level + */ + public void zoomOut() + { + shumate_viewport_zoom_out(shumateViewport); + } +} diff --git a/source/generated/shumate/shumate/c/functions.d b/source/generated/shumate/shumate/c/functions.d new file mode 100644 index 000000000..284fc19bb --- /dev/null +++ b/source/generated/shumate/shumate/c/functions.d @@ -0,0 +1,944 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.c.functions; + +import std.stdio; +import shumate.c.types; +import linker.Loader; + +version (Windows) + static immutable LIBRARY_SHUMATE = ["libshumate-1.0-1.dll;shumate-1.0-1.dll;shumate-1.dll"]; +else version (OSX) + static immutable LIBRARY_SHUMATE = ["libshumate-1.0.1.dylib"]; +else + static immutable LIBRARY_SHUMATE = ["libshumate-1.0.so.1"]; + +shared static this() +{ + // shumate.Compass + + Linker.link(shumate_compass_get_type, "shumate_compass_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_compass_new, "shumate_compass_new", LIBRARY_SHUMATE); + Linker.link(shumate_compass_get_viewport, "shumate_compass_get_viewport", LIBRARY_SHUMATE); + Linker.link(shumate_compass_set_viewport, "shumate_compass_set_viewport", LIBRARY_SHUMATE); + + // shumate.Coordinate + + Linker.link(shumate_coordinate_get_type, "shumate_coordinate_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_coordinate_new, "shumate_coordinate_new", LIBRARY_SHUMATE); + Linker.link(shumate_coordinate_new_full, "shumate_coordinate_new_full", LIBRARY_SHUMATE); + + // shumate.DataSource + + Linker.link(shumate_data_source_get_type, "shumate_data_source_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_data_source_get_tile_data_async, "shumate_data_source_get_tile_data_async", LIBRARY_SHUMATE); + Linker.link(shumate_data_source_get_tile_data_finish, "shumate_data_source_get_tile_data_finish", LIBRARY_SHUMATE); + + // shumate.FileCache + + Linker.link(shumate_file_cache_get_type, "shumate_file_cache_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_file_cache_new_full, "shumate_file_cache_new_full", LIBRARY_SHUMATE); + Linker.link(shumate_file_cache_get_cache_dir, "shumate_file_cache_get_cache_dir", LIBRARY_SHUMATE); + Linker.link(shumate_file_cache_get_cache_key, "shumate_file_cache_get_cache_key", LIBRARY_SHUMATE); + Linker.link(shumate_file_cache_get_size_limit, "shumate_file_cache_get_size_limit", LIBRARY_SHUMATE); + Linker.link(shumate_file_cache_get_tile_async, "shumate_file_cache_get_tile_async", LIBRARY_SHUMATE); + Linker.link(shumate_file_cache_get_tile_finish, "shumate_file_cache_get_tile_finish", LIBRARY_SHUMATE); + Linker.link(shumate_file_cache_mark_up_to_date, "shumate_file_cache_mark_up_to_date", LIBRARY_SHUMATE); + Linker.link(shumate_file_cache_purge_cache_async, "shumate_file_cache_purge_cache_async", LIBRARY_SHUMATE); + Linker.link(shumate_file_cache_purge_cache_finish, "shumate_file_cache_purge_cache_finish", LIBRARY_SHUMATE); + Linker.link(shumate_file_cache_set_size_limit, "shumate_file_cache_set_size_limit", LIBRARY_SHUMATE); + Linker.link(shumate_file_cache_store_tile_async, "shumate_file_cache_store_tile_async", LIBRARY_SHUMATE); + Linker.link(shumate_file_cache_store_tile_finish, "shumate_file_cache_store_tile_finish", LIBRARY_SHUMATE); + + // shumate.Layer + + Linker.link(shumate_layer_get_type, "shumate_layer_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_layer_get_viewport, "shumate_layer_get_viewport", LIBRARY_SHUMATE); + + // shumate.LicenseSh + + Linker.link(shumate_license_get_type, "shumate_license_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_license_new, "shumate_license_new", LIBRARY_SHUMATE); + Linker.link(shumate_license_append_map_source, "shumate_license_append_map_source", LIBRARY_SHUMATE); + Linker.link(shumate_license_get_extra_text, "shumate_license_get_extra_text", LIBRARY_SHUMATE); + Linker.link(shumate_license_get_xalign, "shumate_license_get_xalign", LIBRARY_SHUMATE); + Linker.link(shumate_license_prepend_map_source, "shumate_license_prepend_map_source", LIBRARY_SHUMATE); + Linker.link(shumate_license_remove_map_source, "shumate_license_remove_map_source", LIBRARY_SHUMATE); + Linker.link(shumate_license_set_extra_text, "shumate_license_set_extra_text", LIBRARY_SHUMATE); + Linker.link(shumate_license_set_xalign, "shumate_license_set_xalign", LIBRARY_SHUMATE); + + // shumate.Location + + Linker.link(shumate_location_get_type, "shumate_location_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_location_get_latitude, "shumate_location_get_latitude", LIBRARY_SHUMATE); + Linker.link(shumate_location_get_longitude, "shumate_location_get_longitude", LIBRARY_SHUMATE); + Linker.link(shumate_location_set_location, "shumate_location_set_location", LIBRARY_SHUMATE); + + // shumate.Map + + Linker.link(shumate_map_get_type, "shumate_map_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_map_new, "shumate_map_new", LIBRARY_SHUMATE); + Linker.link(shumate_map_new_simple, "shumate_map_new_simple", LIBRARY_SHUMATE); + Linker.link(shumate_map_add_layer, "shumate_map_add_layer", LIBRARY_SHUMATE); + Linker.link(shumate_map_center_on, "shumate_map_center_on", LIBRARY_SHUMATE); + Linker.link(shumate_map_get_animate_zoom, "shumate_map_get_animate_zoom", LIBRARY_SHUMATE); + Linker.link(shumate_map_get_go_to_duration, "shumate_map_get_go_to_duration", LIBRARY_SHUMATE); + Linker.link(shumate_map_get_state, "shumate_map_get_state", LIBRARY_SHUMATE); + Linker.link(shumate_map_get_viewport, "shumate_map_get_viewport", LIBRARY_SHUMATE); + Linker.link(shumate_map_get_zoom_on_double_click, "shumate_map_get_zoom_on_double_click", LIBRARY_SHUMATE); + Linker.link(shumate_map_go_to, "shumate_map_go_to", LIBRARY_SHUMATE); + Linker.link(shumate_map_insert_layer_above, "shumate_map_insert_layer_above", LIBRARY_SHUMATE); + Linker.link(shumate_map_insert_layer_behind, "shumate_map_insert_layer_behind", LIBRARY_SHUMATE); + Linker.link(shumate_map_remove_layer, "shumate_map_remove_layer", LIBRARY_SHUMATE); + Linker.link(shumate_map_set_animate_zoom, "shumate_map_set_animate_zoom", LIBRARY_SHUMATE); + Linker.link(shumate_map_set_go_to_duration, "shumate_map_set_go_to_duration", LIBRARY_SHUMATE); + Linker.link(shumate_map_set_map_source, "shumate_map_set_map_source", LIBRARY_SHUMATE); + Linker.link(shumate_map_set_zoom_on_double_click, "shumate_map_set_zoom_on_double_click", LIBRARY_SHUMATE); + Linker.link(shumate_map_stop_go_to, "shumate_map_stop_go_to", LIBRARY_SHUMATE); + + // shumate.MapLayer + + Linker.link(shumate_map_layer_get_type, "shumate_map_layer_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_map_layer_new, "shumate_map_layer_new", LIBRARY_SHUMATE); + + // shumate.MapSource + + Linker.link(shumate_map_source_get_type, "shumate_map_source_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_fill_tile_async, "shumate_map_source_fill_tile_async", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_fill_tile_finish, "shumate_map_source_fill_tile_finish", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_column_count, "shumate_map_source_get_column_count", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_id, "shumate_map_source_get_id", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_latitude, "shumate_map_source_get_latitude", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_license, "shumate_map_source_get_license", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_license_uri, "shumate_map_source_get_license_uri", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_longitude, "shumate_map_source_get_longitude", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_max_zoom_level, "shumate_map_source_get_max_zoom_level", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_meters_per_pixel, "shumate_map_source_get_meters_per_pixel", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_min_zoom_level, "shumate_map_source_get_min_zoom_level", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_name, "shumate_map_source_get_name", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_projection, "shumate_map_source_get_projection", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_row_count, "shumate_map_source_get_row_count", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_tile_size, "shumate_map_source_get_tile_size", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_tile_size_at_zoom, "shumate_map_source_get_tile_size_at_zoom", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_x, "shumate_map_source_get_x", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_get_y, "shumate_map_source_get_y", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_set_id, "shumate_map_source_set_id", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_set_license, "shumate_map_source_set_license", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_set_license_uri, "shumate_map_source_set_license_uri", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_set_max_zoom_level, "shumate_map_source_set_max_zoom_level", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_set_min_zoom_level, "shumate_map_source_set_min_zoom_level", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_set_name, "shumate_map_source_set_name", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_set_projection, "shumate_map_source_set_projection", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_set_tile_size, "shumate_map_source_set_tile_size", LIBRARY_SHUMATE); + + // shumate.MapSourceRegistry + + Linker.link(shumate_map_source_registry_get_type, "shumate_map_source_registry_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_registry_new, "shumate_map_source_registry_new", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_registry_new_with_defaults, "shumate_map_source_registry_new_with_defaults", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_registry_add, "shumate_map_source_registry_add", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_registry_get_by_id, "shumate_map_source_registry_get_by_id", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_registry_populate_defaults, "shumate_map_source_registry_populate_defaults", LIBRARY_SHUMATE); + Linker.link(shumate_map_source_registry_remove, "shumate_map_source_registry_remove", LIBRARY_SHUMATE); + + // shumate.Marker + + Linker.link(shumate_marker_get_type, "shumate_marker_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_marker_new, "shumate_marker_new", LIBRARY_SHUMATE); + Linker.link(shumate_marker_animate_in, "shumate_marker_animate_in", LIBRARY_SHUMATE); + Linker.link(shumate_marker_animate_in_with_delay, "shumate_marker_animate_in_with_delay", LIBRARY_SHUMATE); + Linker.link(shumate_marker_animate_out, "shumate_marker_animate_out", LIBRARY_SHUMATE); + Linker.link(shumate_marker_animate_out_with_delay, "shumate_marker_animate_out_with_delay", LIBRARY_SHUMATE); + Linker.link(shumate_marker_get_child, "shumate_marker_get_child", LIBRARY_SHUMATE); + Linker.link(shumate_marker_get_draggable, "shumate_marker_get_draggable", LIBRARY_SHUMATE); + Linker.link(shumate_marker_get_selectable, "shumate_marker_get_selectable", LIBRARY_SHUMATE); + Linker.link(shumate_marker_is_selected, "shumate_marker_is_selected", LIBRARY_SHUMATE); + Linker.link(shumate_marker_set_child, "shumate_marker_set_child", LIBRARY_SHUMATE); + Linker.link(shumate_marker_set_draggable, "shumate_marker_set_draggable", LIBRARY_SHUMATE); + Linker.link(shumate_marker_set_selectable, "shumate_marker_set_selectable", LIBRARY_SHUMATE); + + // shumate.MarkerLayer + + Linker.link(shumate_marker_layer_get_type, "shumate_marker_layer_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_new, "shumate_marker_layer_new", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_new_full, "shumate_marker_layer_new_full", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_add_marker, "shumate_marker_layer_add_marker", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_animate_in_all_markers, "shumate_marker_layer_animate_in_all_markers", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_animate_out_all_markers, "shumate_marker_layer_animate_out_all_markers", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_get_markers, "shumate_marker_layer_get_markers", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_get_selected, "shumate_marker_layer_get_selected", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_get_selection_mode, "shumate_marker_layer_get_selection_mode", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_hide_all_markers, "shumate_marker_layer_hide_all_markers", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_remove_all, "shumate_marker_layer_remove_all", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_remove_marker, "shumate_marker_layer_remove_marker", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_select_all_markers, "shumate_marker_layer_select_all_markers", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_select_marker, "shumate_marker_layer_select_marker", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_set_all_markers_draggable, "shumate_marker_layer_set_all_markers_draggable", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_set_all_markers_undraggable, "shumate_marker_layer_set_all_markers_undraggable", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_set_selection_mode, "shumate_marker_layer_set_selection_mode", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_show_all_markers, "shumate_marker_layer_show_all_markers", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_unselect_all_markers, "shumate_marker_layer_unselect_all_markers", LIBRARY_SHUMATE); + Linker.link(shumate_marker_layer_unselect_marker, "shumate_marker_layer_unselect_marker", LIBRARY_SHUMATE); + + // shumate.MemoryCache + + Linker.link(shumate_memory_cache_get_type, "shumate_memory_cache_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_memory_cache_new_full, "shumate_memory_cache_new_full", LIBRARY_SHUMATE); + Linker.link(shumate_memory_cache_clean, "shumate_memory_cache_clean", LIBRARY_SHUMATE); + Linker.link(shumate_memory_cache_get_size_limit, "shumate_memory_cache_get_size_limit", LIBRARY_SHUMATE); + Linker.link(shumate_memory_cache_set_size_limit, "shumate_memory_cache_set_size_limit", LIBRARY_SHUMATE); + Linker.link(shumate_memory_cache_store_texture, "shumate_memory_cache_store_texture", LIBRARY_SHUMATE); + Linker.link(shumate_memory_cache_try_fill_tile, "shumate_memory_cache_try_fill_tile", LIBRARY_SHUMATE); + + // shumate.PathLayer + + Linker.link(shumate_path_layer_get_type, "shumate_path_layer_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_new, "shumate_path_layer_new", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_add_node, "shumate_path_layer_add_node", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_get_closed, "shumate_path_layer_get_closed", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_get_dash, "shumate_path_layer_get_dash", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_get_fill, "shumate_path_layer_get_fill", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_get_fill_color, "shumate_path_layer_get_fill_color", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_get_nodes, "shumate_path_layer_get_nodes", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_get_outline_color, "shumate_path_layer_get_outline_color", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_get_outline_width, "shumate_path_layer_get_outline_width", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_get_stroke, "shumate_path_layer_get_stroke", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_get_stroke_color, "shumate_path_layer_get_stroke_color", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_get_stroke_width, "shumate_path_layer_get_stroke_width", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_insert_node, "shumate_path_layer_insert_node", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_remove_all, "shumate_path_layer_remove_all", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_remove_node, "shumate_path_layer_remove_node", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_set_closed, "shumate_path_layer_set_closed", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_set_dash, "shumate_path_layer_set_dash", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_set_fill, "shumate_path_layer_set_fill", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_set_fill_color, "shumate_path_layer_set_fill_color", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_set_outline_color, "shumate_path_layer_set_outline_color", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_set_outline_width, "shumate_path_layer_set_outline_width", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_set_stroke, "shumate_path_layer_set_stroke", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_set_stroke_color, "shumate_path_layer_set_stroke_color", LIBRARY_SHUMATE); + Linker.link(shumate_path_layer_set_stroke_width, "shumate_path_layer_set_stroke_width", LIBRARY_SHUMATE); + + // shumate.Point + + Linker.link(shumate_point_get_type, "shumate_point_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_point_new, "shumate_point_new", LIBRARY_SHUMATE); + + // shumate.RasterRenderer + + Linker.link(shumate_raster_renderer_get_type, "shumate_raster_renderer_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_raster_renderer_new, "shumate_raster_renderer_new", LIBRARY_SHUMATE); + Linker.link(shumate_raster_renderer_new_from_url, "shumate_raster_renderer_new_from_url", LIBRARY_SHUMATE); + Linker.link(shumate_raster_renderer_new_full, "shumate_raster_renderer_new_full", LIBRARY_SHUMATE); + Linker.link(shumate_raster_renderer_new_full_from_url, "shumate_raster_renderer_new_full_from_url", LIBRARY_SHUMATE); + + // shumate.Scale + + Linker.link(shumate_scale_get_type, "shumate_scale_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_scale_new, "shumate_scale_new", LIBRARY_SHUMATE); + Linker.link(shumate_scale_get_max_width, "shumate_scale_get_max_width", LIBRARY_SHUMATE); + Linker.link(shumate_scale_get_unit, "shumate_scale_get_unit", LIBRARY_SHUMATE); + Linker.link(shumate_scale_get_viewport, "shumate_scale_get_viewport", LIBRARY_SHUMATE); + Linker.link(shumate_scale_set_max_width, "shumate_scale_set_max_width", LIBRARY_SHUMATE); + Linker.link(shumate_scale_set_unit, "shumate_scale_set_unit", LIBRARY_SHUMATE); + Linker.link(shumate_scale_set_viewport, "shumate_scale_set_viewport", LIBRARY_SHUMATE); + + // shumate.SimpleMap + + Linker.link(shumate_simple_map_get_type, "shumate_simple_map_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_simple_map_new, "shumate_simple_map_new", LIBRARY_SHUMATE); + Linker.link(shumate_simple_map_add_overlay_layer, "shumate_simple_map_add_overlay_layer", LIBRARY_SHUMATE); + Linker.link(shumate_simple_map_get_compass, "shumate_simple_map_get_compass", LIBRARY_SHUMATE); + Linker.link(shumate_simple_map_get_license, "shumate_simple_map_get_license", LIBRARY_SHUMATE); + Linker.link(shumate_simple_map_get_map_source, "shumate_simple_map_get_map_source", LIBRARY_SHUMATE); + Linker.link(shumate_simple_map_get_scale, "shumate_simple_map_get_scale", LIBRARY_SHUMATE); + Linker.link(shumate_simple_map_get_show_zoom_buttons, "shumate_simple_map_get_show_zoom_buttons", LIBRARY_SHUMATE); + Linker.link(shumate_simple_map_get_viewport, "shumate_simple_map_get_viewport", LIBRARY_SHUMATE); + Linker.link(shumate_simple_map_insert_overlay_layer, "shumate_simple_map_insert_overlay_layer", LIBRARY_SHUMATE); + Linker.link(shumate_simple_map_remove_overlay_layer, "shumate_simple_map_remove_overlay_layer", LIBRARY_SHUMATE); + Linker.link(shumate_simple_map_set_map_source, "shumate_simple_map_set_map_source", LIBRARY_SHUMATE); + Linker.link(shumate_simple_map_set_show_zoom_buttons, "shumate_simple_map_set_show_zoom_buttons", LIBRARY_SHUMATE); + + // shumate.Tile + + Linker.link(shumate_tile_get_type, "shumate_tile_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_tile_new, "shumate_tile_new", LIBRARY_SHUMATE); + Linker.link(shumate_tile_new_full, "shumate_tile_new_full", LIBRARY_SHUMATE); + Linker.link(shumate_tile_get_etag, "shumate_tile_get_etag", LIBRARY_SHUMATE); + Linker.link(shumate_tile_get_fade_in, "shumate_tile_get_fade_in", LIBRARY_SHUMATE); + Linker.link(shumate_tile_get_modified_time, "shumate_tile_get_modified_time", LIBRARY_SHUMATE); + Linker.link(shumate_tile_get_size, "shumate_tile_get_size", LIBRARY_SHUMATE); + Linker.link(shumate_tile_get_state, "shumate_tile_get_state", LIBRARY_SHUMATE); + Linker.link(shumate_tile_get_texture, "shumate_tile_get_texture", LIBRARY_SHUMATE); + Linker.link(shumate_tile_get_x, "shumate_tile_get_x", LIBRARY_SHUMATE); + Linker.link(shumate_tile_get_y, "shumate_tile_get_y", LIBRARY_SHUMATE); + Linker.link(shumate_tile_get_zoom_level, "shumate_tile_get_zoom_level", LIBRARY_SHUMATE); + Linker.link(shumate_tile_set_etag, "shumate_tile_set_etag", LIBRARY_SHUMATE); + Linker.link(shumate_tile_set_fade_in, "shumate_tile_set_fade_in", LIBRARY_SHUMATE); + Linker.link(shumate_tile_set_modified_time, "shumate_tile_set_modified_time", LIBRARY_SHUMATE); + Linker.link(shumate_tile_set_size, "shumate_tile_set_size", LIBRARY_SHUMATE); + Linker.link(shumate_tile_set_state, "shumate_tile_set_state", LIBRARY_SHUMATE); + Linker.link(shumate_tile_set_texture, "shumate_tile_set_texture", LIBRARY_SHUMATE); + Linker.link(shumate_tile_set_x, "shumate_tile_set_x", LIBRARY_SHUMATE); + Linker.link(shumate_tile_set_y, "shumate_tile_set_y", LIBRARY_SHUMATE); + Linker.link(shumate_tile_set_zoom_level, "shumate_tile_set_zoom_level", LIBRARY_SHUMATE); + + // shumate.TileDownloader + + Linker.link(shumate_tile_downloader_get_type, "shumate_tile_downloader_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_tile_downloader_new, "shumate_tile_downloader_new", LIBRARY_SHUMATE); + + // shumate.VectorRenderer + + Linker.link(shumate_vector_renderer_get_type, "shumate_vector_renderer_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_vector_renderer_new, "shumate_vector_renderer_new", LIBRARY_SHUMATE); + Linker.link(shumate_vector_renderer_new_from_url, "shumate_vector_renderer_new_from_url", LIBRARY_SHUMATE); + Linker.link(shumate_vector_renderer_new_full, "shumate_vector_renderer_new_full", LIBRARY_SHUMATE); + Linker.link(shumate_vector_renderer_new_full_from_url, "shumate_vector_renderer_new_full_from_url", LIBRARY_SHUMATE); + Linker.link(shumate_vector_renderer_is_supported, "shumate_vector_renderer_is_supported", LIBRARY_SHUMATE); + + // shumate.Viewport + + Linker.link(shumate_viewport_get_type, "shumate_viewport_get_type", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_new, "shumate_viewport_new", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_get_max_zoom_level, "shumate_viewport_get_max_zoom_level", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_get_min_zoom_level, "shumate_viewport_get_min_zoom_level", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_get_reference_map_source, "shumate_viewport_get_reference_map_source", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_get_rotation, "shumate_viewport_get_rotation", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_get_zoom_level, "shumate_viewport_get_zoom_level", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_location_to_widget_coords, "shumate_viewport_location_to_widget_coords", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_set_max_zoom_level, "shumate_viewport_set_max_zoom_level", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_set_min_zoom_level, "shumate_viewport_set_min_zoom_level", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_set_reference_map_source, "shumate_viewport_set_reference_map_source", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_set_rotation, "shumate_viewport_set_rotation", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_set_zoom_level, "shumate_viewport_set_zoom_level", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_widget_coords_to_location, "shumate_viewport_widget_coords_to_location", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_zoom_in, "shumate_viewport_zoom_in", LIBRARY_SHUMATE); + Linker.link(shumate_viewport_zoom_out, "shumate_viewport_zoom_out", LIBRARY_SHUMATE); +} + +__gshared extern(C) +{ + + // shumate.Compass + + GType function() c_shumate_compass_get_type; + ShumateCompass* function(ShumateViewport* viewport) c_shumate_compass_new; + ShumateViewport* function(ShumateCompass* compass) c_shumate_compass_get_viewport; + void function(ShumateCompass* compass, ShumateViewport* viewport) c_shumate_compass_set_viewport; + + // shumate.Coordinate + + GType function() c_shumate_coordinate_get_type; + ShumateCoordinate* function() c_shumate_coordinate_new; + ShumateCoordinate* function(double latitude, double longitude) c_shumate_coordinate_new_full; + + // shumate.DataSource + + GType function() c_shumate_data_source_get_type; + void function(ShumateDataSource* self, int x, int y, int zoomLevel, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) c_shumate_data_source_get_tile_data_async; + GBytes* function(ShumateDataSource* self, GAsyncResult* result, GError** err) c_shumate_data_source_get_tile_data_finish; + + // shumate.FileCache + + GType function() c_shumate_file_cache_get_type; + ShumateFileCache* function(uint sizeLimit, const(char)* cacheKey, const(char)* cacheDir) c_shumate_file_cache_new_full; + const(char)* function(ShumateFileCache* fileCache) c_shumate_file_cache_get_cache_dir; + const(char)* function(ShumateFileCache* fileCache) c_shumate_file_cache_get_cache_key; + uint function(ShumateFileCache* fileCache) c_shumate_file_cache_get_size_limit; + void function(ShumateFileCache* self, int x, int y, int zoomLevel, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) c_shumate_file_cache_get_tile_async; + GBytes* function(ShumateFileCache* self, char** etag, GDateTime** modtime, GAsyncResult* result, GError** err) c_shumate_file_cache_get_tile_finish; + void function(ShumateFileCache* self, int x, int y, int zoomLevel) c_shumate_file_cache_mark_up_to_date; + void function(ShumateFileCache* self, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) c_shumate_file_cache_purge_cache_async; + int function(ShumateFileCache* self, GAsyncResult* result, GError** err) c_shumate_file_cache_purge_cache_finish; + void function(ShumateFileCache* fileCache, uint sizeLimit) c_shumate_file_cache_set_size_limit; + void function(ShumateFileCache* self, int x, int y, int zoomLevel, GBytes* bytes, const(char)* etag, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) c_shumate_file_cache_store_tile_async; + int function(ShumateFileCache* self, GAsyncResult* result, GError** err) c_shumate_file_cache_store_tile_finish; + + // shumate.Layer + + GType function() c_shumate_layer_get_type; + ShumateViewport* function(ShumateLayer* self) c_shumate_layer_get_viewport; + + // shumate.LicenseSh + + GType function() c_shumate_license_get_type; + ShumateLicense* function() c_shumate_license_new; + void function(ShumateLicense* license, ShumateMapSource* mapSource) c_shumate_license_append_map_source; + const(char)* function(ShumateLicense* license) c_shumate_license_get_extra_text; + float function(ShumateLicense* license) c_shumate_license_get_xalign; + void function(ShumateLicense* license, ShumateMapSource* mapSource) c_shumate_license_prepend_map_source; + void function(ShumateLicense* license, ShumateMapSource* mapSource) c_shumate_license_remove_map_source; + void function(ShumateLicense* license, const(char)* text) c_shumate_license_set_extra_text; + void function(ShumateLicense* license, float xalign) c_shumate_license_set_xalign; + + // shumate.Location + + GType function() c_shumate_location_get_type; + double function(ShumateLocation* location) c_shumate_location_get_latitude; + double function(ShumateLocation* location) c_shumate_location_get_longitude; + void function(ShumateLocation* location, double latitude, double longitude) c_shumate_location_set_location; + + // shumate.Map + + GType function() c_shumate_map_get_type; + ShumateMap* function() c_shumate_map_new; + ShumateMap* function() c_shumate_map_new_simple; + void function(ShumateMap* self, ShumateLayer* layer) c_shumate_map_add_layer; + void function(ShumateMap* self, double latitude, double longitude) c_shumate_map_center_on; + int function(ShumateMap* self) c_shumate_map_get_animate_zoom; + uint function(ShumateMap* self) c_shumate_map_get_go_to_duration; + ShumateState function(ShumateMap* self) c_shumate_map_get_state; + ShumateViewport* function(ShumateMap* self) c_shumate_map_get_viewport; + int function(ShumateMap* self) c_shumate_map_get_zoom_on_double_click; + void function(ShumateMap* self, double latitude, double longitude) c_shumate_map_go_to; + void function(ShumateMap* self, ShumateLayer* layer, ShumateLayer* nextSibling) c_shumate_map_insert_layer_above; + void function(ShumateMap* self, ShumateLayer* layer, ShumateLayer* nextSibling) c_shumate_map_insert_layer_behind; + void function(ShumateMap* self, ShumateLayer* layer) c_shumate_map_remove_layer; + void function(ShumateMap* self, int value) c_shumate_map_set_animate_zoom; + void function(ShumateMap* self, uint duration) c_shumate_map_set_go_to_duration; + void function(ShumateMap* self, ShumateMapSource* mapSource) c_shumate_map_set_map_source; + void function(ShumateMap* self, int value) c_shumate_map_set_zoom_on_double_click; + void function(ShumateMap* self) c_shumate_map_stop_go_to; + + // shumate.MapLayer + + GType function() c_shumate_map_layer_get_type; + ShumateMapLayer* function(ShumateMapSource* mapSource, ShumateViewport* viewport) c_shumate_map_layer_new; + + // shumate.MapSource + + GType function() c_shumate_map_source_get_type; + void function(ShumateMapSource* self, ShumateTile* tile, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) c_shumate_map_source_fill_tile_async; + int function(ShumateMapSource* self, GAsyncResult* result, GError** err) c_shumate_map_source_fill_tile_finish; + uint function(ShumateMapSource* mapSource, uint zoomLevel) c_shumate_map_source_get_column_count; + const(char)* function(ShumateMapSource* mapSource) c_shumate_map_source_get_id; + double function(ShumateMapSource* mapSource, double zoomLevel, double y) c_shumate_map_source_get_latitude; + const(char)* function(ShumateMapSource* mapSource) c_shumate_map_source_get_license; + const(char)* function(ShumateMapSource* mapSource) c_shumate_map_source_get_license_uri; + double function(ShumateMapSource* mapSource, double zoomLevel, double x) c_shumate_map_source_get_longitude; + uint function(ShumateMapSource* mapSource) c_shumate_map_source_get_max_zoom_level; + double function(ShumateMapSource* mapSource, double zoomLevel, double latitude, double longitude) c_shumate_map_source_get_meters_per_pixel; + uint function(ShumateMapSource* mapSource) c_shumate_map_source_get_min_zoom_level; + const(char)* function(ShumateMapSource* mapSource) c_shumate_map_source_get_name; + ShumateMapProjection function(ShumateMapSource* mapSource) c_shumate_map_source_get_projection; + uint function(ShumateMapSource* mapSource, uint zoomLevel) c_shumate_map_source_get_row_count; + uint function(ShumateMapSource* mapSource) c_shumate_map_source_get_tile_size; + double function(ShumateMapSource* mapSource, double zoomLevel) c_shumate_map_source_get_tile_size_at_zoom; + double function(ShumateMapSource* mapSource, double zoomLevel, double longitude) c_shumate_map_source_get_x; + double function(ShumateMapSource* mapSource, double zoomLevel, double latitude) c_shumate_map_source_get_y; + void function(ShumateMapSource* mapSource, const(char)* id) c_shumate_map_source_set_id; + void function(ShumateMapSource* mapSource, const(char)* license) c_shumate_map_source_set_license; + void function(ShumateMapSource* mapSource, const(char)* licenseUri) c_shumate_map_source_set_license_uri; + void function(ShumateMapSource* mapSource, uint zoomLevel) c_shumate_map_source_set_max_zoom_level; + void function(ShumateMapSource* mapSource, uint zoomLevel) c_shumate_map_source_set_min_zoom_level; + void function(ShumateMapSource* mapSource, const(char)* name) c_shumate_map_source_set_name; + void function(ShumateMapSource* mapSource, ShumateMapProjection projection) c_shumate_map_source_set_projection; + void function(ShumateMapSource* mapSource, uint tileSize) c_shumate_map_source_set_tile_size; + + // shumate.MapSourceRegistry + + GType function() c_shumate_map_source_registry_get_type; + ShumateMapSourceRegistry* function() c_shumate_map_source_registry_new; + ShumateMapSourceRegistry* function() c_shumate_map_source_registry_new_with_defaults; + void function(ShumateMapSourceRegistry* self, ShumateMapSource* mapSource) c_shumate_map_source_registry_add; + ShumateMapSource* function(ShumateMapSourceRegistry* self, const(char)* id) c_shumate_map_source_registry_get_by_id; + void function(ShumateMapSourceRegistry* self) c_shumate_map_source_registry_populate_defaults; + void function(ShumateMapSourceRegistry* self, const(char)* id) c_shumate_map_source_registry_remove; + + // shumate.Marker + + GType function() c_shumate_marker_get_type; + ShumateMarker* function() c_shumate_marker_new; + void function(ShumateMarker* marker) c_shumate_marker_animate_in; + void function(ShumateMarker* marker, uint delay) c_shumate_marker_animate_in_with_delay; + void function(ShumateMarker* marker) c_shumate_marker_animate_out; + void function(ShumateMarker* marker, uint delay) c_shumate_marker_animate_out_with_delay; + GtkWidget* function(ShumateMarker* marker) c_shumate_marker_get_child; + int function(ShumateMarker* marker) c_shumate_marker_get_draggable; + int function(ShumateMarker* marker) c_shumate_marker_get_selectable; + int function(ShumateMarker* marker) c_shumate_marker_is_selected; + void function(ShumateMarker* marker, GtkWidget* child) c_shumate_marker_set_child; + void function(ShumateMarker* marker, int value) c_shumate_marker_set_draggable; + void function(ShumateMarker* marker, int value) c_shumate_marker_set_selectable; + + // shumate.MarkerLayer + + GType function() c_shumate_marker_layer_get_type; + ShumateMarkerLayer* function(ShumateViewport* viewport) c_shumate_marker_layer_new; + ShumateMarkerLayer* function(ShumateViewport* viewport, GtkSelectionMode mode) c_shumate_marker_layer_new_full; + void function(ShumateMarkerLayer* layer, ShumateMarker* marker) c_shumate_marker_layer_add_marker; + void function(ShumateMarkerLayer* layer) c_shumate_marker_layer_animate_in_all_markers; + void function(ShumateMarkerLayer* layer) c_shumate_marker_layer_animate_out_all_markers; + GList* function(ShumateMarkerLayer* layer) c_shumate_marker_layer_get_markers; + GList* function(ShumateMarkerLayer* layer) c_shumate_marker_layer_get_selected; + GtkSelectionMode function(ShumateMarkerLayer* layer) c_shumate_marker_layer_get_selection_mode; + void function(ShumateMarkerLayer* layer) c_shumate_marker_layer_hide_all_markers; + void function(ShumateMarkerLayer* layer) c_shumate_marker_layer_remove_all; + void function(ShumateMarkerLayer* layer, ShumateMarker* marker) c_shumate_marker_layer_remove_marker; + void function(ShumateMarkerLayer* layer) c_shumate_marker_layer_select_all_markers; + int function(ShumateMarkerLayer* self, ShumateMarker* marker) c_shumate_marker_layer_select_marker; + void function(ShumateMarkerLayer* layer) c_shumate_marker_layer_set_all_markers_draggable; + void function(ShumateMarkerLayer* layer) c_shumate_marker_layer_set_all_markers_undraggable; + void function(ShumateMarkerLayer* layer, GtkSelectionMode mode) c_shumate_marker_layer_set_selection_mode; + void function(ShumateMarkerLayer* layer) c_shumate_marker_layer_show_all_markers; + void function(ShumateMarkerLayer* layer) c_shumate_marker_layer_unselect_all_markers; + void function(ShumateMarkerLayer* self, ShumateMarker* marker) c_shumate_marker_layer_unselect_marker; + + // shumate.MemoryCache + + GType function() c_shumate_memory_cache_get_type; + ShumateMemoryCache* function(uint sizeLimit) c_shumate_memory_cache_new_full; + void function(ShumateMemoryCache* memoryCache) c_shumate_memory_cache_clean; + uint function(ShumateMemoryCache* memoryCache) c_shumate_memory_cache_get_size_limit; + void function(ShumateMemoryCache* memoryCache, uint sizeLimit) c_shumate_memory_cache_set_size_limit; + void function(ShumateMemoryCache* self, ShumateTile* tile, GdkTexture* texture, const(char)* sourceId) c_shumate_memory_cache_store_texture; + int function(ShumateMemoryCache* self, ShumateTile* tile, const(char)* sourceId) c_shumate_memory_cache_try_fill_tile; + + // shumate.PathLayer + + GType function() c_shumate_path_layer_get_type; + ShumatePathLayer* function(ShumateViewport* viewport) c_shumate_path_layer_new; + void function(ShumatePathLayer* layer, ShumateLocation* location) c_shumate_path_layer_add_node; + int function(ShumatePathLayer* layer) c_shumate_path_layer_get_closed; + GList* function(ShumatePathLayer* layer) c_shumate_path_layer_get_dash; + int function(ShumatePathLayer* layer) c_shumate_path_layer_get_fill; + GdkRGBA* function(ShumatePathLayer* layer) c_shumate_path_layer_get_fill_color; + GList* function(ShumatePathLayer* layer) c_shumate_path_layer_get_nodes; + GdkRGBA* function(ShumatePathLayer* layer) c_shumate_path_layer_get_outline_color; + double function(ShumatePathLayer* layer) c_shumate_path_layer_get_outline_width; + int function(ShumatePathLayer* layer) c_shumate_path_layer_get_stroke; + GdkRGBA* function(ShumatePathLayer* layer) c_shumate_path_layer_get_stroke_color; + double function(ShumatePathLayer* layer) c_shumate_path_layer_get_stroke_width; + void function(ShumatePathLayer* layer, ShumateLocation* location, uint position) c_shumate_path_layer_insert_node; + void function(ShumatePathLayer* layer) c_shumate_path_layer_remove_all; + void function(ShumatePathLayer* layer, ShumateLocation* location) c_shumate_path_layer_remove_node; + void function(ShumatePathLayer* layer, int value) c_shumate_path_layer_set_closed; + void function(ShumatePathLayer* layer, GList* dashPattern) c_shumate_path_layer_set_dash; + void function(ShumatePathLayer* layer, int value) c_shumate_path_layer_set_fill; + void function(ShumatePathLayer* layer, GdkRGBA* color) c_shumate_path_layer_set_fill_color; + void function(ShumatePathLayer* layer, GdkRGBA* color) c_shumate_path_layer_set_outline_color; + void function(ShumatePathLayer* layer, double value) c_shumate_path_layer_set_outline_width; + void function(ShumatePathLayer* layer, int value) c_shumate_path_layer_set_stroke; + void function(ShumatePathLayer* layer, GdkRGBA* color) c_shumate_path_layer_set_stroke_color; + void function(ShumatePathLayer* layer, double value) c_shumate_path_layer_set_stroke_width; + + // shumate.Point + + GType function() c_shumate_point_get_type; + ShumateMarker* function() c_shumate_point_new; + + // shumate.RasterRenderer + + GType function() c_shumate_raster_renderer_get_type; + ShumateRasterRenderer* function(ShumateDataSource* dataSource) c_shumate_raster_renderer_new; + ShumateRasterRenderer* function(const(char)* urlTemplate) c_shumate_raster_renderer_new_from_url; + ShumateRasterRenderer* function(const(char)* id, const(char)* name, const(char)* license, const(char)* licenseUri, uint minZoom, uint maxZoom, uint tileSize, ShumateMapProjection projection, ShumateDataSource* dataSource) c_shumate_raster_renderer_new_full; + ShumateRasterRenderer* function(const(char)* id, const(char)* name, const(char)* license, const(char)* licenseUri, uint minZoom, uint maxZoom, uint tileSize, ShumateMapProjection projection, const(char)* urlTemplate) c_shumate_raster_renderer_new_full_from_url; + + // shumate.Scale + + GType function() c_shumate_scale_get_type; + ShumateScale* function(ShumateViewport* viewport) c_shumate_scale_new; + uint function(ShumateScale* scale) c_shumate_scale_get_max_width; + ShumateUnit function(ShumateScale* scale) c_shumate_scale_get_unit; + ShumateViewport* function(ShumateScale* scale) c_shumate_scale_get_viewport; + void function(ShumateScale* scale, uint value) c_shumate_scale_set_max_width; + void function(ShumateScale* scale, ShumateUnit unit) c_shumate_scale_set_unit; + void function(ShumateScale* scale, ShumateViewport* viewport) c_shumate_scale_set_viewport; + + // shumate.SimpleMap + + GType function() c_shumate_simple_map_get_type; + ShumateSimpleMap* function() c_shumate_simple_map_new; + void function(ShumateSimpleMap* self, ShumateLayer* layer) c_shumate_simple_map_add_overlay_layer; + ShumateCompass* function(ShumateSimpleMap* self) c_shumate_simple_map_get_compass; + ShumateLicense* function(ShumateSimpleMap* self) c_shumate_simple_map_get_license; + ShumateMapSource* function(ShumateSimpleMap* self) c_shumate_simple_map_get_map_source; + ShumateScale* function(ShumateSimpleMap* self) c_shumate_simple_map_get_scale; + int function(ShumateSimpleMap* self) c_shumate_simple_map_get_show_zoom_buttons; + ShumateViewport* function(ShumateSimpleMap* self) c_shumate_simple_map_get_viewport; + void function(ShumateSimpleMap* self, ShumateLayer* layer, uint idx) c_shumate_simple_map_insert_overlay_layer; + void function(ShumateSimpleMap* self, ShumateLayer* layer) c_shumate_simple_map_remove_overlay_layer; + void function(ShumateSimpleMap* self, ShumateMapSource* mapSource) c_shumate_simple_map_set_map_source; + void function(ShumateSimpleMap* self, int showZoomButtons) c_shumate_simple_map_set_show_zoom_buttons; + + // shumate.Tile + + GType function() c_shumate_tile_get_type; + ShumateTile* function() c_shumate_tile_new; + ShumateTile* function(uint x, uint y, uint size, uint zoomLevel) c_shumate_tile_new_full; + const(char)* function(ShumateTile* self) c_shumate_tile_get_etag; + int function(ShumateTile* self) c_shumate_tile_get_fade_in; + GDateTime* function(ShumateTile* self) c_shumate_tile_get_modified_time; + uint function(ShumateTile* self) c_shumate_tile_get_size; + ShumateState function(ShumateTile* self) c_shumate_tile_get_state; + GdkTexture* function(ShumateTile* self) c_shumate_tile_get_texture; + uint function(ShumateTile* self) c_shumate_tile_get_x; + uint function(ShumateTile* self) c_shumate_tile_get_y; + uint function(ShumateTile* self) c_shumate_tile_get_zoom_level; + void function(ShumateTile* self, const(char)* etag) c_shumate_tile_set_etag; + void function(ShumateTile* self, int fadeIn) c_shumate_tile_set_fade_in; + void function(ShumateTile* self, GDateTime* modifiedTime) c_shumate_tile_set_modified_time; + void function(ShumateTile* self, uint size) c_shumate_tile_set_size; + void function(ShumateTile* self, ShumateState state) c_shumate_tile_set_state; + void function(ShumateTile* self, GdkTexture* texture) c_shumate_tile_set_texture; + void function(ShumateTile* self, uint x) c_shumate_tile_set_x; + void function(ShumateTile* self, uint y) c_shumate_tile_set_y; + void function(ShumateTile* self, uint zoomLevel) c_shumate_tile_set_zoom_level; + + // shumate.TileDownloader + + GType function() c_shumate_tile_downloader_get_type; + ShumateTileDownloader* function(const(char)* urlTemplate) c_shumate_tile_downloader_new; + + // shumate.VectorRenderer + + GType function() c_shumate_vector_renderer_get_type; + ShumateVectorRenderer* function(ShumateDataSource* dataSource, const(char)* styleJson, GError** err) c_shumate_vector_renderer_new; + ShumateVectorRenderer* function(const(char)* urlTemplate, const(char)* styleJson, GError** err) c_shumate_vector_renderer_new_from_url; + ShumateVectorRenderer* function(const(char)* id, const(char)* name, const(char)* license, const(char)* licenseUri, uint minZoom, uint maxZoom, uint tileSize, ShumateMapProjection projection, ShumateDataSource* dataSource, const(char)* styleJson, GError** err) c_shumate_vector_renderer_new_full; + ShumateVectorRenderer* function(const(char)* id, const(char)* name, const(char)* license, const(char)* licenseUri, uint minZoom, uint maxZoom, uint tileSize, ShumateMapProjection projection, const(char)* urlTemplate, const(char)* styleJson, GError** err) c_shumate_vector_renderer_new_full_from_url; + int function() c_shumate_vector_renderer_is_supported; + + // shumate.Viewport + + GType function() c_shumate_viewport_get_type; + ShumateViewport* function() c_shumate_viewport_new; + uint function(ShumateViewport* self) c_shumate_viewport_get_max_zoom_level; + uint function(ShumateViewport* self) c_shumate_viewport_get_min_zoom_level; + ShumateMapSource* function(ShumateViewport* self) c_shumate_viewport_get_reference_map_source; + double function(ShumateViewport* self) c_shumate_viewport_get_rotation; + double function(ShumateViewport* self) c_shumate_viewport_get_zoom_level; + void function(ShumateViewport* self, GtkWidget* widget, double latitude, double longitude, double* x, double* y) c_shumate_viewport_location_to_widget_coords; + void function(ShumateViewport* self, uint maxZoomLevel) c_shumate_viewport_set_max_zoom_level; + void function(ShumateViewport* self, uint minZoomLevel) c_shumate_viewport_set_min_zoom_level; + void function(ShumateViewport* self, ShumateMapSource* mapSource) c_shumate_viewport_set_reference_map_source; + void function(ShumateViewport* self, double rotation) c_shumate_viewport_set_rotation; + void function(ShumateViewport* self, double zoomLevel) c_shumate_viewport_set_zoom_level; + void function(ShumateViewport* self, GtkWidget* widget, double x, double y, double* latitude, double* longitude) c_shumate_viewport_widget_coords_to_location; + void function(ShumateViewport* self) c_shumate_viewport_zoom_in; + void function(ShumateViewport* self) c_shumate_viewport_zoom_out; +} + + +// shumate.Compass + +alias c_shumate_compass_get_type shumate_compass_get_type; +alias c_shumate_compass_new shumate_compass_new; +alias c_shumate_compass_get_viewport shumate_compass_get_viewport; +alias c_shumate_compass_set_viewport shumate_compass_set_viewport; + +// shumate.Coordinate + +alias c_shumate_coordinate_get_type shumate_coordinate_get_type; +alias c_shumate_coordinate_new shumate_coordinate_new; +alias c_shumate_coordinate_new_full shumate_coordinate_new_full; + +// shumate.DataSource + +alias c_shumate_data_source_get_type shumate_data_source_get_type; +alias c_shumate_data_source_get_tile_data_async shumate_data_source_get_tile_data_async; +alias c_shumate_data_source_get_tile_data_finish shumate_data_source_get_tile_data_finish; + +// shumate.FileCache + +alias c_shumate_file_cache_get_type shumate_file_cache_get_type; +alias c_shumate_file_cache_new_full shumate_file_cache_new_full; +alias c_shumate_file_cache_get_cache_dir shumate_file_cache_get_cache_dir; +alias c_shumate_file_cache_get_cache_key shumate_file_cache_get_cache_key; +alias c_shumate_file_cache_get_size_limit shumate_file_cache_get_size_limit; +alias c_shumate_file_cache_get_tile_async shumate_file_cache_get_tile_async; +alias c_shumate_file_cache_get_tile_finish shumate_file_cache_get_tile_finish; +alias c_shumate_file_cache_mark_up_to_date shumate_file_cache_mark_up_to_date; +alias c_shumate_file_cache_purge_cache_async shumate_file_cache_purge_cache_async; +alias c_shumate_file_cache_purge_cache_finish shumate_file_cache_purge_cache_finish; +alias c_shumate_file_cache_set_size_limit shumate_file_cache_set_size_limit; +alias c_shumate_file_cache_store_tile_async shumate_file_cache_store_tile_async; +alias c_shumate_file_cache_store_tile_finish shumate_file_cache_store_tile_finish; + +// shumate.Layer + +alias c_shumate_layer_get_type shumate_layer_get_type; +alias c_shumate_layer_get_viewport shumate_layer_get_viewport; + +// shumate.LicenseSh + +alias c_shumate_license_get_type shumate_license_get_type; +alias c_shumate_license_new shumate_license_new; +alias c_shumate_license_append_map_source shumate_license_append_map_source; +alias c_shumate_license_get_extra_text shumate_license_get_extra_text; +alias c_shumate_license_get_xalign shumate_license_get_xalign; +alias c_shumate_license_prepend_map_source shumate_license_prepend_map_source; +alias c_shumate_license_remove_map_source shumate_license_remove_map_source; +alias c_shumate_license_set_extra_text shumate_license_set_extra_text; +alias c_shumate_license_set_xalign shumate_license_set_xalign; + +// shumate.Location + +alias c_shumate_location_get_type shumate_location_get_type; +alias c_shumate_location_get_latitude shumate_location_get_latitude; +alias c_shumate_location_get_longitude shumate_location_get_longitude; +alias c_shumate_location_set_location shumate_location_set_location; + +// shumate.Map + +alias c_shumate_map_get_type shumate_map_get_type; +alias c_shumate_map_new shumate_map_new; +alias c_shumate_map_new_simple shumate_map_new_simple; +alias c_shumate_map_add_layer shumate_map_add_layer; +alias c_shumate_map_center_on shumate_map_center_on; +alias c_shumate_map_get_animate_zoom shumate_map_get_animate_zoom; +alias c_shumate_map_get_go_to_duration shumate_map_get_go_to_duration; +alias c_shumate_map_get_state shumate_map_get_state; +alias c_shumate_map_get_viewport shumate_map_get_viewport; +alias c_shumate_map_get_zoom_on_double_click shumate_map_get_zoom_on_double_click; +alias c_shumate_map_go_to shumate_map_go_to; +alias c_shumate_map_insert_layer_above shumate_map_insert_layer_above; +alias c_shumate_map_insert_layer_behind shumate_map_insert_layer_behind; +alias c_shumate_map_remove_layer shumate_map_remove_layer; +alias c_shumate_map_set_animate_zoom shumate_map_set_animate_zoom; +alias c_shumate_map_set_go_to_duration shumate_map_set_go_to_duration; +alias c_shumate_map_set_map_source shumate_map_set_map_source; +alias c_shumate_map_set_zoom_on_double_click shumate_map_set_zoom_on_double_click; +alias c_shumate_map_stop_go_to shumate_map_stop_go_to; + +// shumate.MapLayer + +alias c_shumate_map_layer_get_type shumate_map_layer_get_type; +alias c_shumate_map_layer_new shumate_map_layer_new; + +// shumate.MapSource + +alias c_shumate_map_source_get_type shumate_map_source_get_type; +alias c_shumate_map_source_fill_tile_async shumate_map_source_fill_tile_async; +alias c_shumate_map_source_fill_tile_finish shumate_map_source_fill_tile_finish; +alias c_shumate_map_source_get_column_count shumate_map_source_get_column_count; +alias c_shumate_map_source_get_id shumate_map_source_get_id; +alias c_shumate_map_source_get_latitude shumate_map_source_get_latitude; +alias c_shumate_map_source_get_license shumate_map_source_get_license; +alias c_shumate_map_source_get_license_uri shumate_map_source_get_license_uri; +alias c_shumate_map_source_get_longitude shumate_map_source_get_longitude; +alias c_shumate_map_source_get_max_zoom_level shumate_map_source_get_max_zoom_level; +alias c_shumate_map_source_get_meters_per_pixel shumate_map_source_get_meters_per_pixel; +alias c_shumate_map_source_get_min_zoom_level shumate_map_source_get_min_zoom_level; +alias c_shumate_map_source_get_name shumate_map_source_get_name; +alias c_shumate_map_source_get_projection shumate_map_source_get_projection; +alias c_shumate_map_source_get_row_count shumate_map_source_get_row_count; +alias c_shumate_map_source_get_tile_size shumate_map_source_get_tile_size; +alias c_shumate_map_source_get_tile_size_at_zoom shumate_map_source_get_tile_size_at_zoom; +alias c_shumate_map_source_get_x shumate_map_source_get_x; +alias c_shumate_map_source_get_y shumate_map_source_get_y; +alias c_shumate_map_source_set_id shumate_map_source_set_id; +alias c_shumate_map_source_set_license shumate_map_source_set_license; +alias c_shumate_map_source_set_license_uri shumate_map_source_set_license_uri; +alias c_shumate_map_source_set_max_zoom_level shumate_map_source_set_max_zoom_level; +alias c_shumate_map_source_set_min_zoom_level shumate_map_source_set_min_zoom_level; +alias c_shumate_map_source_set_name shumate_map_source_set_name; +alias c_shumate_map_source_set_projection shumate_map_source_set_projection; +alias c_shumate_map_source_set_tile_size shumate_map_source_set_tile_size; + +// shumate.MapSourceRegistry + +alias c_shumate_map_source_registry_get_type shumate_map_source_registry_get_type; +alias c_shumate_map_source_registry_new shumate_map_source_registry_new; +alias c_shumate_map_source_registry_new_with_defaults shumate_map_source_registry_new_with_defaults; +alias c_shumate_map_source_registry_add shumate_map_source_registry_add; +alias c_shumate_map_source_registry_get_by_id shumate_map_source_registry_get_by_id; +alias c_shumate_map_source_registry_populate_defaults shumate_map_source_registry_populate_defaults; +alias c_shumate_map_source_registry_remove shumate_map_source_registry_remove; + +// shumate.Marker + +alias c_shumate_marker_get_type shumate_marker_get_type; +alias c_shumate_marker_new shumate_marker_new; +alias c_shumate_marker_animate_in shumate_marker_animate_in; +alias c_shumate_marker_animate_in_with_delay shumate_marker_animate_in_with_delay; +alias c_shumate_marker_animate_out shumate_marker_animate_out; +alias c_shumate_marker_animate_out_with_delay shumate_marker_animate_out_with_delay; +alias c_shumate_marker_get_child shumate_marker_get_child; +alias c_shumate_marker_get_draggable shumate_marker_get_draggable; +alias c_shumate_marker_get_selectable shumate_marker_get_selectable; +alias c_shumate_marker_is_selected shumate_marker_is_selected; +alias c_shumate_marker_set_child shumate_marker_set_child; +alias c_shumate_marker_set_draggable shumate_marker_set_draggable; +alias c_shumate_marker_set_selectable shumate_marker_set_selectable; + +// shumate.MarkerLayer + +alias c_shumate_marker_layer_get_type shumate_marker_layer_get_type; +alias c_shumate_marker_layer_new shumate_marker_layer_new; +alias c_shumate_marker_layer_new_full shumate_marker_layer_new_full; +alias c_shumate_marker_layer_add_marker shumate_marker_layer_add_marker; +alias c_shumate_marker_layer_animate_in_all_markers shumate_marker_layer_animate_in_all_markers; +alias c_shumate_marker_layer_animate_out_all_markers shumate_marker_layer_animate_out_all_markers; +alias c_shumate_marker_layer_get_markers shumate_marker_layer_get_markers; +alias c_shumate_marker_layer_get_selected shumate_marker_layer_get_selected; +alias c_shumate_marker_layer_get_selection_mode shumate_marker_layer_get_selection_mode; +alias c_shumate_marker_layer_hide_all_markers shumate_marker_layer_hide_all_markers; +alias c_shumate_marker_layer_remove_all shumate_marker_layer_remove_all; +alias c_shumate_marker_layer_remove_marker shumate_marker_layer_remove_marker; +alias c_shumate_marker_layer_select_all_markers shumate_marker_layer_select_all_markers; +alias c_shumate_marker_layer_select_marker shumate_marker_layer_select_marker; +alias c_shumate_marker_layer_set_all_markers_draggable shumate_marker_layer_set_all_markers_draggable; +alias c_shumate_marker_layer_set_all_markers_undraggable shumate_marker_layer_set_all_markers_undraggable; +alias c_shumate_marker_layer_set_selection_mode shumate_marker_layer_set_selection_mode; +alias c_shumate_marker_layer_show_all_markers shumate_marker_layer_show_all_markers; +alias c_shumate_marker_layer_unselect_all_markers shumate_marker_layer_unselect_all_markers; +alias c_shumate_marker_layer_unselect_marker shumate_marker_layer_unselect_marker; + +// shumate.MemoryCache + +alias c_shumate_memory_cache_get_type shumate_memory_cache_get_type; +alias c_shumate_memory_cache_new_full shumate_memory_cache_new_full; +alias c_shumate_memory_cache_clean shumate_memory_cache_clean; +alias c_shumate_memory_cache_get_size_limit shumate_memory_cache_get_size_limit; +alias c_shumate_memory_cache_set_size_limit shumate_memory_cache_set_size_limit; +alias c_shumate_memory_cache_store_texture shumate_memory_cache_store_texture; +alias c_shumate_memory_cache_try_fill_tile shumate_memory_cache_try_fill_tile; + +// shumate.PathLayer + +alias c_shumate_path_layer_get_type shumate_path_layer_get_type; +alias c_shumate_path_layer_new shumate_path_layer_new; +alias c_shumate_path_layer_add_node shumate_path_layer_add_node; +alias c_shumate_path_layer_get_closed shumate_path_layer_get_closed; +alias c_shumate_path_layer_get_dash shumate_path_layer_get_dash; +alias c_shumate_path_layer_get_fill shumate_path_layer_get_fill; +alias c_shumate_path_layer_get_fill_color shumate_path_layer_get_fill_color; +alias c_shumate_path_layer_get_nodes shumate_path_layer_get_nodes; +alias c_shumate_path_layer_get_outline_color shumate_path_layer_get_outline_color; +alias c_shumate_path_layer_get_outline_width shumate_path_layer_get_outline_width; +alias c_shumate_path_layer_get_stroke shumate_path_layer_get_stroke; +alias c_shumate_path_layer_get_stroke_color shumate_path_layer_get_stroke_color; +alias c_shumate_path_layer_get_stroke_width shumate_path_layer_get_stroke_width; +alias c_shumate_path_layer_insert_node shumate_path_layer_insert_node; +alias c_shumate_path_layer_remove_all shumate_path_layer_remove_all; +alias c_shumate_path_layer_remove_node shumate_path_layer_remove_node; +alias c_shumate_path_layer_set_closed shumate_path_layer_set_closed; +alias c_shumate_path_layer_set_dash shumate_path_layer_set_dash; +alias c_shumate_path_layer_set_fill shumate_path_layer_set_fill; +alias c_shumate_path_layer_set_fill_color shumate_path_layer_set_fill_color; +alias c_shumate_path_layer_set_outline_color shumate_path_layer_set_outline_color; +alias c_shumate_path_layer_set_outline_width shumate_path_layer_set_outline_width; +alias c_shumate_path_layer_set_stroke shumate_path_layer_set_stroke; +alias c_shumate_path_layer_set_stroke_color shumate_path_layer_set_stroke_color; +alias c_shumate_path_layer_set_stroke_width shumate_path_layer_set_stroke_width; + +// shumate.Point + +alias c_shumate_point_get_type shumate_point_get_type; +alias c_shumate_point_new shumate_point_new; + +// shumate.RasterRenderer + +alias c_shumate_raster_renderer_get_type shumate_raster_renderer_get_type; +alias c_shumate_raster_renderer_new shumate_raster_renderer_new; +alias c_shumate_raster_renderer_new_from_url shumate_raster_renderer_new_from_url; +alias c_shumate_raster_renderer_new_full shumate_raster_renderer_new_full; +alias c_shumate_raster_renderer_new_full_from_url shumate_raster_renderer_new_full_from_url; + +// shumate.Scale + +alias c_shumate_scale_get_type shumate_scale_get_type; +alias c_shumate_scale_new shumate_scale_new; +alias c_shumate_scale_get_max_width shumate_scale_get_max_width; +alias c_shumate_scale_get_unit shumate_scale_get_unit; +alias c_shumate_scale_get_viewport shumate_scale_get_viewport; +alias c_shumate_scale_set_max_width shumate_scale_set_max_width; +alias c_shumate_scale_set_unit shumate_scale_set_unit; +alias c_shumate_scale_set_viewport shumate_scale_set_viewport; + +// shumate.SimpleMap + +alias c_shumate_simple_map_get_type shumate_simple_map_get_type; +alias c_shumate_simple_map_new shumate_simple_map_new; +alias c_shumate_simple_map_add_overlay_layer shumate_simple_map_add_overlay_layer; +alias c_shumate_simple_map_get_compass shumate_simple_map_get_compass; +alias c_shumate_simple_map_get_license shumate_simple_map_get_license; +alias c_shumate_simple_map_get_map_source shumate_simple_map_get_map_source; +alias c_shumate_simple_map_get_scale shumate_simple_map_get_scale; +alias c_shumate_simple_map_get_show_zoom_buttons shumate_simple_map_get_show_zoom_buttons; +alias c_shumate_simple_map_get_viewport shumate_simple_map_get_viewport; +alias c_shumate_simple_map_insert_overlay_layer shumate_simple_map_insert_overlay_layer; +alias c_shumate_simple_map_remove_overlay_layer shumate_simple_map_remove_overlay_layer; +alias c_shumate_simple_map_set_map_source shumate_simple_map_set_map_source; +alias c_shumate_simple_map_set_show_zoom_buttons shumate_simple_map_set_show_zoom_buttons; + +// shumate.Tile + +alias c_shumate_tile_get_type shumate_tile_get_type; +alias c_shumate_tile_new shumate_tile_new; +alias c_shumate_tile_new_full shumate_tile_new_full; +alias c_shumate_tile_get_etag shumate_tile_get_etag; +alias c_shumate_tile_get_fade_in shumate_tile_get_fade_in; +alias c_shumate_tile_get_modified_time shumate_tile_get_modified_time; +alias c_shumate_tile_get_size shumate_tile_get_size; +alias c_shumate_tile_get_state shumate_tile_get_state; +alias c_shumate_tile_get_texture shumate_tile_get_texture; +alias c_shumate_tile_get_x shumate_tile_get_x; +alias c_shumate_tile_get_y shumate_tile_get_y; +alias c_shumate_tile_get_zoom_level shumate_tile_get_zoom_level; +alias c_shumate_tile_set_etag shumate_tile_set_etag; +alias c_shumate_tile_set_fade_in shumate_tile_set_fade_in; +alias c_shumate_tile_set_modified_time shumate_tile_set_modified_time; +alias c_shumate_tile_set_size shumate_tile_set_size; +alias c_shumate_tile_set_state shumate_tile_set_state; +alias c_shumate_tile_set_texture shumate_tile_set_texture; +alias c_shumate_tile_set_x shumate_tile_set_x; +alias c_shumate_tile_set_y shumate_tile_set_y; +alias c_shumate_tile_set_zoom_level shumate_tile_set_zoom_level; + +// shumate.TileDownloader + +alias c_shumate_tile_downloader_get_type shumate_tile_downloader_get_type; +alias c_shumate_tile_downloader_new shumate_tile_downloader_new; + +// shumate.VectorRenderer + +alias c_shumate_vector_renderer_get_type shumate_vector_renderer_get_type; +alias c_shumate_vector_renderer_new shumate_vector_renderer_new; +alias c_shumate_vector_renderer_new_from_url shumate_vector_renderer_new_from_url; +alias c_shumate_vector_renderer_new_full shumate_vector_renderer_new_full; +alias c_shumate_vector_renderer_new_full_from_url shumate_vector_renderer_new_full_from_url; +alias c_shumate_vector_renderer_is_supported shumate_vector_renderer_is_supported; + +// shumate.Viewport + +alias c_shumate_viewport_get_type shumate_viewport_get_type; +alias c_shumate_viewport_new shumate_viewport_new; +alias c_shumate_viewport_get_max_zoom_level shumate_viewport_get_max_zoom_level; +alias c_shumate_viewport_get_min_zoom_level shumate_viewport_get_min_zoom_level; +alias c_shumate_viewport_get_reference_map_source shumate_viewport_get_reference_map_source; +alias c_shumate_viewport_get_rotation shumate_viewport_get_rotation; +alias c_shumate_viewport_get_zoom_level shumate_viewport_get_zoom_level; +alias c_shumate_viewport_location_to_widget_coords shumate_viewport_location_to_widget_coords; +alias c_shumate_viewport_set_max_zoom_level shumate_viewport_set_max_zoom_level; +alias c_shumate_viewport_set_min_zoom_level shumate_viewport_set_min_zoom_level; +alias c_shumate_viewport_set_reference_map_source shumate_viewport_set_reference_map_source; +alias c_shumate_viewport_set_rotation shumate_viewport_set_rotation; +alias c_shumate_viewport_set_zoom_level shumate_viewport_set_zoom_level; +alias c_shumate_viewport_widget_coords_to_location shumate_viewport_widget_coords_to_location; +alias c_shumate_viewport_zoom_in shumate_viewport_zoom_in; +alias c_shumate_viewport_zoom_out shumate_viewport_zoom_out; diff --git a/source/generated/shumate/shumate/c/types.d b/source/generated/shumate/shumate/c/types.d new file mode 100644 index 000000000..1f0b549df --- /dev/null +++ b/source/generated/shumate/shumate/c/types.d @@ -0,0 +1,491 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module shumate.c.types; + +public import gdk.c.types; +public import gio.c.types; +public import glib.c.types; +public import gobject.c.types; +public import gtk.c.types; + + +/** + * Error codes in the #SHUMATE_FILE_CACHE_ERROR domain. + */ +public enum ShumateFileCacheError +{ + /** + * An unspecified error occurred during the operation. + */ + FAILED = 0, +} +alias ShumateFileCacheError FileCacheError; + +/** + * Projections supported by the library. + */ +public enum ShumateMapProjection +{ + /** + * Currently the only supported projection + */ + MERCATOR = 0, +} +alias ShumateMapProjection MapProjection; + +/** + * Tile loading state. + */ +public enum ShumateState +{ + /** + * Initial or undefined state + */ + NONE = 0, + /** + * Tile is loading + */ + LOADING = 1, + /** + * Tile is loaded but not yet displayed + */ + LOADED = 2, + /** + * Tile loading finished. Also used to inform map sources + * that tile loading has been cancelled. + */ + DONE = 3, +} +alias ShumateState State; + +/** + * Error codes that occurs while parsing the style in [class@VectorRenderer]. + */ +public enum ShumateStyleError +{ + /** + * An unspecified error occurred during the operation. + */ + FAILED = 0, + /** + * A JSON node in the style has the wrong type (e.g. an object where there should be an array). + */ + MALFORMED_STYLE = 1, + /** + * An unsupported layer type was encountered. + */ + UNSUPPORTED_LAYER = 2, + /** + * An invalid or unrecognized expression was encountered. + */ + INVALID_EXPRESSION = 3, + /** + * Libshumate was compiled without vector tile support. + */ + SUPPORT_OMITTED = 4, +} +alias ShumateStyleError StyleError; + +/** + * Error codes in the #SHUMATE_TILE_DOWNLOADER_ERROR domain. + */ +public enum ShumateTileDownloaderError +{ + /** + * An unspecified error occurred during the operation. + */ + FAILED = 0, + /** + * An unsuccessful HTTP response was received from the server. + */ + BAD_RESPONSE = 1, + /** + * The server could not be reached. + */ + COULD_NOT_CONNECT = 2, + /** + * The provided URL isn't valid + */ + MALFORMED_URL = 3, + /** + * The tile source has been marked as offline. + */ + OFFLINE = 4, +} +alias ShumateTileDownloaderError TileDownloaderError; + +/** + * Units used by the scale. + */ +public enum ShumateUnit +{ + /** + * Both metric and imperial units + */ + BOTH = 0, + /** + * Metric units (meters) + */ + METRIC = 1, + /** + * Imperial units (miles) + */ + IMPERIAL = 2, +} +alias ShumateUnit Unit; + +struct ShumateCompass; + +struct ShumateCompassClass +{ + GtkWidgetClass parentClass; +} + +struct ShumateCoordinate +{ + GObject parentInstance; +} + +struct ShumateCoordinateClass +{ + GObjectClass parentClass; +} + +struct ShumateDataSource +{ + GObject parentInstance; +} + +struct ShumateDataSourceClass +{ + GObjectClass parentClass; + /** */ + extern(C) void function(ShumateDataSource* self, int x, int y, int zoomLevel, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) getTileDataAsync; + /** + * + * Params: + * self = a [class@DataSource] + * result = a #GAsyncResult provided to callback + * Returns: The requested data, or %NULL if an + * error occurred + * + * Throws: GException on failure. + */ + extern(C) GBytes* function(ShumateDataSource* self, GAsyncResult* result, GError** err) getTileDataFinish; +} + +struct ShumateFileCache +{ + GObject parentInstance; +} + +struct ShumateFileCacheClass +{ + GObjectClass parentClass; +} + +struct ShumateLayer +{ + GtkWidget parentInstance; +} + +struct ShumateLayerClass +{ + GtkWidgetClass parentClass; +} + +struct ShumateLicense; + +struct ShumateLicenseClass +{ + GtkWidgetClass parentClass; +} + +struct ShumateLocation; + +/** + * An interface common to objects having latitude and longitude. + */ +struct ShumateLocationInterface +{ + GTypeInterface gIface; + /** + * + * Params: + * location = a #ShumateLocation + * Returns: the latitude coordinate in degrees. + */ + extern(C) double function(ShumateLocation* location) getLatitude; + /** + * + * Params: + * location = a #ShumateLocation + * Returns: the longitude coordinate in degrees. + */ + extern(C) double function(ShumateLocation* location) getLongitude; + /** */ + extern(C) void function(ShumateLocation* location, double latitude, double longitude) setLocation; +} + +struct ShumateMap +{ + GtkWidget parentInstance; +} + +struct ShumateMapClass +{ + GtkWidgetClass parentClass; +} + +struct ShumateMapLayer; + +struct ShumateMapLayerClass +{ + ShumateLayerClass parentClass; +} + +struct ShumateMapSource +{ + GObject parentInstance; +} + +struct ShumateMapSourceClass +{ + GObjectClass parentClass; + /** */ + extern(C) void function(ShumateMapSource* self, ShumateTile* tile, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) fillTileAsync; + /** + * + * Params: + * self = a #ShumateMapSource + * result = a #GAsyncResult provided to callback + * Returns: %TRUE if the tile was filled with valid data, otherwise %FALSE + * + * Throws: GException on failure. + */ + extern(C) int function(ShumateMapSource* self, GAsyncResult* result, GError** err) fillTileFinish; +} + +struct ShumateMapSourceRegistry; + +struct ShumateMapSourceRegistryClass +{ + GObjectClass parentClass; +} + +struct ShumateMarker +{ + GtkWidget parentInstance; +} + +struct ShumateMarkerClass +{ + GtkWidgetClass parentClass; +} + +struct ShumateMarkerLayer +{ + ShumateLayer parentInstance; +} + +struct ShumateMarkerLayerClass +{ + ShumateLayerClass parentClass; +} + +struct ShumateMemoryCache +{ + GObject parentInstance; +} + +struct ShumateMemoryCacheClass +{ + GObjectClass parentClass; +} + +struct ShumatePathLayer +{ + ShumateLayer parentInstance; +} + +struct ShumatePathLayerClass +{ + ShumateLayerClass parentClass; +} + +struct ShumatePoint; + +struct ShumatePointClass +{ + ShumateMarkerClass parentClass; +} + +struct ShumateRasterRenderer; + +struct ShumateRasterRendererClass +{ + ShumateMapSourceClass parentClass; +} + +struct ShumateScale; + +struct ShumateScaleClass +{ + GtkWidgetClass parentClass; +} + +struct ShumateSimpleMap; + +struct ShumateSimpleMapClass +{ + GtkWidgetClass parentClass; +} + +struct ShumateTile +{ + GtkWidget parentInstance; +} + +struct ShumateTileClass +{ + GtkWidgetClass parentClass; +} + +struct ShumateTileDownloader; + +struct ShumateTileDownloaderClass +{ + ShumateDataSourceClass parentClass; +} + +struct ShumateVectorRenderer; + +struct ShumateVectorRendererClass +{ + ShumateMapSourceClass parentClass; +} + +struct ShumateViewport; + +struct ShumateViewportClass +{ + GObjectClass parentClass; +} + +/** + * The major version of libshumate (1, if %SHUMATE_VERSION is 1.2.3) + */ +enum MAJOR_VERSION = 1; +alias SHUMATE_MAJOR_VERSION = MAJOR_VERSION; + +/** + * Maps for Free Relief + */ +enum MAP_SOURCE_MFF_RELIEF = "mff-relief"; +alias SHUMATE_MAP_SOURCE_MFF_RELIEF = MAP_SOURCE_MFF_RELIEF; + +/** + * OpenStreetMap Cycle Map + */ +enum MAP_SOURCE_OSM_CYCLE_MAP = "osm-cyclemap"; +alias SHUMATE_MAP_SOURCE_OSM_CYCLE_MAP = MAP_SOURCE_OSM_CYCLE_MAP; + +/** + * OpenStreetMap Mapnik + */ +enum MAP_SOURCE_OSM_MAPNIK = "osm-mapnik"; +alias SHUMATE_MAP_SOURCE_OSM_MAPNIK = MAP_SOURCE_OSM_MAPNIK; + +/** + * OpenStreetMap Transport Map + */ +enum MAP_SOURCE_OSM_TRANSPORT_MAP = "osm-transportmap"; +alias SHUMATE_MAP_SOURCE_OSM_TRANSPORT_MAP = MAP_SOURCE_OSM_TRANSPORT_MAP; + +/** + * OpenWeatherMap clouds layer + */ +enum MAP_SOURCE_OWM_CLOUDS = "owm-clouds"; +alias SHUMATE_MAP_SOURCE_OWM_CLOUDS = MAP_SOURCE_OWM_CLOUDS; + +/** + * OpenWeatherMap precipitation + */ +enum MAP_SOURCE_OWM_PRECIPITATION = "owm-precipitation"; +alias SHUMATE_MAP_SOURCE_OWM_PRECIPITATION = MAP_SOURCE_OWM_PRECIPITATION; + +/** + * OpenWeatherMap sea level pressure + */ +enum MAP_SOURCE_OWM_PRESSURE = "owm-pressure"; +alias SHUMATE_MAP_SOURCE_OWM_PRESSURE = MAP_SOURCE_OWM_PRESSURE; + +/** + * OpenWeatherMap temperature + */ +enum MAP_SOURCE_OWM_TEMPERATURE = "owm-temperature"; +alias SHUMATE_MAP_SOURCE_OWM_TEMPERATURE = MAP_SOURCE_OWM_TEMPERATURE; + +/** + * OpenWeatherMap wind + */ +enum MAP_SOURCE_OWM_WIND = "owm-wind"; +alias SHUMATE_MAP_SOURCE_OWM_WIND = MAP_SOURCE_OWM_WIND; + +/** + * The maximal possible latitude value. + */ +enum MAX_LATITUDE = 85.0511287798; +alias SHUMATE_MAX_LATITUDE = MAX_LATITUDE; + +/** + * The maximal possible longitude value. + */ +enum MAX_LONGITUDE = 180.0; +alias SHUMATE_MAX_LONGITUDE = MAX_LONGITUDE; + +/** + * The micro version of libshumate (3, if %SHUMATE_VERSION is 1.2.3) + */ +enum MICRO_VERSION = 0; +alias SHUMATE_MICRO_VERSION = MICRO_VERSION; + +/** + * The minor version of libshumate (2, if %SHUMATE_VERSION is 1.2.3) + */ +enum MINOR_VERSION = 0; +alias SHUMATE_MINOR_VERSION = MINOR_VERSION; + +/** + * The minimal possible latitude value. + */ +enum MIN_LATITUDE = -85.0511287798; +alias SHUMATE_MIN_LATITUDE = MIN_LATITUDE; + +/** + * The minimal possible longitude value. + */ +enum MIN_LONGITUDE = -180.0; +alias SHUMATE_MIN_LONGITUDE = MIN_LONGITUDE; diff --git a/source/generated/soup/soup/Address.d b/source/generated/soup/soup/Address.d new file mode 100644 index 000000000..2a60ea930 --- /dev/null +++ b/source/generated/soup/soup/Address.d @@ -0,0 +1,386 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.Address; + +private import gio.Cancellable; +private import gio.SocketAddress; +private import gio.SocketConnectableIF; +private import gio.SocketConnectableT; +private import glib.ConstructionException; +private import glib.MainContext; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class Address : ObjectG, SocketConnectableIF +{ + /** the main Gtk struct */ + protected SoupAddress* soupAddress; + + /** Get the main Gtk struct */ + public SoupAddress* getAddressStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupAddress; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupAddress; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupAddress* soupAddress, bool ownedRef = false) + { + this.soupAddress = soupAddress; + super(cast(GObject*)soupAddress, ownedRef); + } + + // add the SocketConnectable capabilities + mixin SocketConnectableT!(SoupAddress); + + + /** */ + public static GType getType() + { + return soup_address_get_type(); + } + + /** + * Creates a #SoupAddress from @name and @port. The #SoupAddress's IP + * address may not be available right away; the caller can call + * soup_address_resolve_async() or soup_address_resolve_sync() to + * force a DNS resolution. + * + * Params: + * name = a hostname or physical address + * port = a port number + * + * Returns: a #SoupAddress + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string name, uint port) + { + auto __p = soup_address_new(Str.toStringz(name), port); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupAddress*) __p, true); + } + + /** + * Returns a #SoupAddress corresponding to the "any" address + * for @family (or %NULL if @family isn't supported), suitable for + * using as a listening #SoupSocket. + * + * Params: + * family = the address family + * port = the port number (usually %SOUP_ADDRESS_ANY_PORT) + * + * Returns: the new #SoupAddress + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(SoupAddressFamily family, uint port) + { + auto __p = soup_address_new_any(family, port); + + if(__p is null) + { + throw new ConstructionException("null returned by new_any"); + } + + this(cast(SoupAddress*) __p, true); + } + + /** + * Returns a #SoupAddress equivalent to @sa (or %NULL if @sa's + * address family isn't supported) + * + * Params: + * sa = a pointer to a sockaddr + * len = size of @sa + * + * Returns: the new #SoupAddress + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(sockaddr* sa, int len) + { + auto __p = soup_address_new_from_sockaddr(sa, len); + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_sockaddr"); + } + + this(cast(SoupAddress*) __p, true); + } + + /** + * Tests if @addr1 and @addr2 have the same IP address. This method + * can be used with soup_address_hash_by_ip() to create a + * #GHashTable that hashes on IP address. + * + * This would be used to distinguish hosts in situations where + * different virtual hosts on the same IP address should be considered + * the same. Eg, if "www.example.com" and "www.example.net" have the + * same IP address, then a single connection can be used to talk + * to either of them. + * + * See also soup_address_equal_by_name(), which compares by name + * rather than by IP address. + * + * Params: + * addr2 = another #SoupAddress with a resolved + * IP address + * + * Returns: whether or not @addr1 and @addr2 have the same IP + * address. + * + * Since: 2.26 + */ + public bool equalByIp(Address addr2) + { + return soup_address_equal_by_ip(soupAddress, (addr2 is null) ? null : addr2.getAddressStruct()) != 0; + } + + /** + * Tests if @addr1 and @addr2 have the same "name". This method can be + * used with soup_address_hash_by_name() to create a #GHashTable that + * hashes on address "names". + * + * Comparing by name normally means comparing the addresses by their + * hostnames. But if the address was originally created using an IP + * address literal, then it will be compared by that instead. + * + * In particular, if "www.example.com" has the IP address 10.0.0.1, + * and @addr1 was created with the name "www.example.com" and @addr2 + * was created with the name "10.0.0.1", then they will compare as + * unequal for purposes of soup_address_equal_by_name(). + * + * This would be used to distinguish hosts in situations where + * different virtual hosts on the same IP address should be considered + * different. Eg, for purposes of HTTP authentication or cookies, two + * hosts with the same IP address but different names are considered + * to be different hosts. + * + * See also soup_address_equal_by_ip(), which compares by IP address + * rather than by name. + * + * Params: + * addr2 = another #SoupAddress with a resolved + * name + * + * Returns: whether or not @addr1 and @addr2 have the same name + * + * Since: 2.26 + */ + public bool equalByName(Address addr2) + { + return soup_address_equal_by_name(soupAddress, (addr2 is null) ? null : addr2.getAddressStruct()) != 0; + } + + /** + * Creates a new #GSocketAddress corresponding to @addr (which is assumed + * to only have one socket address associated with it). + * + * Returns: a new #GSocketAddress + * + * Since: 2.32 + */ + public SocketAddress getGsockaddr() + { + auto __p = soup_address_get_gsockaddr(soupAddress); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SocketAddress)(cast(GSocketAddress*) __p, true); + } + + /** + * Returns the hostname associated with @addr. + * + * This method is not thread-safe; if you call it while @addr is being + * resolved in another thread, it may return garbage. You can use + * soup_address_is_resolved() to safely test whether or not an address + * is resolved before fetching its name or address. + * + * Returns: the hostname, or %NULL if it is not known. + */ + public string getName() + { + return Str.toString(soup_address_get_name(soupAddress)); + } + + /** + * Returns the physical address associated with @addr as a string. + * (Eg, "127.0.0.1"). If the address is not yet known, returns %NULL. + * + * This method is not thread-safe; if you call it while @addr is being + * resolved in another thread, it may return garbage. You can use + * soup_address_is_resolved() to safely test whether or not an address + * is resolved before fetching its name or address. + * + * Returns: the physical address, or %NULL + */ + public string getPhysical() + { + return Str.toString(soup_address_get_physical(soupAddress)); + } + + /** + * Returns the port associated with @addr. + * + * Returns: the port + */ + public uint getPort() + { + return soup_address_get_port(soupAddress); + } + + /** + * Returns the sockaddr associated with @addr, with its length in + * *@len. If the sockaddr is not yet known, returns %NULL. + * + * This method is not thread-safe; if you call it while @addr is being + * resolved in another thread, it may return garbage. You can use + * soup_address_is_resolved() to safely test whether or not an address + * is resolved before fetching its name or address. + * + * Params: + * len = return location for sockaddr length + * + * Returns: the sockaddr, or %NULL + */ + public sockaddr* getSockaddr(int* len) + { + return soup_address_get_sockaddr(soupAddress, len); + } + + /** + * A hash function (for #GHashTable) that corresponds to + * soup_address_equal_by_ip(), qv + * + * Returns: the IP-based hash value for @addr. + * + * Since: 2.26 + */ + public uint hashByIp() + { + return soup_address_hash_by_ip(soupAddress); + } + + /** + * A hash function (for #GHashTable) that corresponds to + * soup_address_equal_by_name(), qv + * + * Returns: the named-based hash value for @addr. + * + * Since: 2.26 + */ + public uint hashByName() + { + return soup_address_hash_by_name(soupAddress); + } + + /** + * Tests if @addr has already been resolved. Unlike the other + * #SoupAddress "get" methods, this is safe to call when @addr might + * be being resolved in another thread. + * + * Returns: %TRUE if @addr has been resolved. + */ + public bool isResolved() + { + return soup_address_is_resolved(soupAddress) != 0; + } + + /** + * Asynchronously resolves the missing half of @addr (its IP address + * if it was created with soup_address_new(), or its hostname if it + * was created with soup_address_new_from_sockaddr() or + * soup_address_new_any().) + * + * If @cancellable is non-%NULL, it can be used to cancel the + * resolution. @callback will still be invoked in this case, with a + * status of %SOUP_STATUS_CANCELLED. + * + * It is safe to call this more than once on a given address, from the + * same thread, with the same @async_context (and doing so will not + * result in redundant DNS queries being made). But it is not safe to + * call from multiple threads, or with different @async_contexts, or + * mixed with calls to soup_address_resolve_sync(). + * + * Params: + * asyncContext = the #GMainContext to call @callback from + * cancellable = a #GCancellable object, or %NULL + * callback = callback to call with the result + * userData = data for @callback + */ + public void resolveAsync(MainContext asyncContext, Cancellable cancellable, SoupAddressCallback callback, void* userData) + { + soup_address_resolve_async(soupAddress, (asyncContext is null) ? null : asyncContext.getMainContextStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * Synchronously resolves the missing half of @addr, as with + * soup_address_resolve_async(). + * + * If @cancellable is non-%NULL, it can be used to cancel the + * resolution. soup_address_resolve_sync() will then return a status + * of %SOUP_STATUS_CANCELLED. + * + * It is safe to call this more than once, even from different + * threads, but it is not safe to mix calls to + * soup_address_resolve_sync() with calls to + * soup_address_resolve_async() on the same address. + * + * Params: + * cancellable = a #GCancellable object, or %NULL + * + * Returns: %SOUP_STATUS_OK, %SOUP_STATUS_CANT_RESOLVE, or + * %SOUP_STATUS_CANCELLED. + */ + public uint resolveSync(Cancellable cancellable) + { + return soup_address_resolve_sync(soupAddress, (cancellable is null) ? null : cancellable.getCancellableStruct()); + } +} diff --git a/source/generated/soup/soup/Auth.d b/source/generated/soup/soup/Auth.d new file mode 100644 index 000000000..aaf4d0276 --- /dev/null +++ b/source/generated/soup/soup/Auth.d @@ -0,0 +1,324 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.Auth; + +private import glib.ConstructionException; +private import glib.ListSG; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import soup.Message; +private import soup.URI; +private import soup.c.functions; +public import soup.c.types; + + +/** + * The abstract base class for handling authentication. Specific HTTP + * Authentication mechanisms are implemented by its subclasses, but + * applications never need to be aware of the specific subclasses + * being used. + */ +public class Auth : ObjectG +{ + /** the main Gtk struct */ + protected SoupAuth* soupAuth; + + /** Get the main Gtk struct */ + public SoupAuth* getAuthStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupAuth; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupAuth; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupAuth* soupAuth, bool ownedRef = false) + { + this.soupAuth = soupAuth; + super(cast(GObject*)soupAuth, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_auth_get_type(); + } + + /** + * Creates a new #SoupAuth of type @type with the information from + * @msg and @auth_header. + * + * This is called by #SoupSession; you will normally not create auths + * yourself. + * + * Params: + * type = the type of auth to create (a subtype of #SoupAuth) + * msg = the #SoupMessage the auth is being created for + * authHeader = the WWW-Authenticate/Proxy-Authenticate header + * + * Returns: the new #SoupAuth, or %NULL if it could + * not be created + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(GType type, Message msg, string authHeader) + { + auto __p = soup_auth_new(type, (msg is null) ? null : msg.getMessageStruct(), Str.toStringz(authHeader)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupAuth*) __p, true); + } + + /** + * Call this on an auth to authenticate it; normally this will cause + * the auth's message to be requeued with the new authentication info. + * + * Params: + * username = the username provided by the user or client + * password = the password provided by the user or client + */ + public void authenticate(string username, string password) + { + soup_auth_authenticate(soupAuth, Str.toStringz(username), Str.toStringz(password)); + } + + /** + * Tests if @auth is able to authenticate by providing credentials to the + * soup_auth_authenticate(). + * + * Returns: %TRUE if @auth is able to accept credentials. + * + * Since: 2.54 + */ + public bool canAuthenticate() + { + return soup_auth_can_authenticate(soupAuth) != 0; + } + + /** + * Frees @space. + * + * Params: + * space = the return value from soup_auth_get_protection_space() + */ + public void freeProtectionSpace(ListSG space) + { + soup_auth_free_protection_space(soupAuth, (space is null) ? null : space.getListSGStruct()); + } + + /** + * Generates an appropriate "Authorization" header for @msg. (The + * session will only call this if soup_auth_is_authenticated() + * returned %TRUE.) + * + * Params: + * msg = the #SoupMessage to be authorized + * + * Returns: the "Authorization" header, which must be freed. + */ + public string getAuthorization(Message msg) + { + auto retStr = soup_auth_get_authorization(soupAuth, (msg is null) ? null : msg.getMessageStruct()); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Returns the host that @auth is associated with. + * + * Returns: the hostname + */ + public string getHost() + { + return Str.toString(soup_auth_get_host(soupAuth)); + } + + /** + * Gets an opaque identifier for @auth, for use as a hash key or the + * like. #SoupAuth objects from the same server with the same + * identifier refer to the same authentication domain (eg, the URLs + * associated with them take the same usernames and passwords). + * + * Returns: the identifier + */ + public string getInfo() + { + auto retStr = soup_auth_get_info(soupAuth); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Returns a list of paths on the server which @auth extends over. + * (All subdirectories of these paths are also assumed to be part + * of @auth's protection space, unless otherwise discovered not to + * be.) + * + * Params: + * sourceUri = the URI of the request that @auth was generated in + * response to. + * + * Returns: the list of + * paths, which can be freed with soup_auth_free_protection_space(). + */ + public ListSG getProtectionSpace(URI sourceUri) + { + auto __p = soup_auth_get_protection_space(soupAuth, (sourceUri is null) ? null : sourceUri.getURIStruct()); + + if(__p is null) + { + return null; + } + + return new ListSG(cast(GSList*) __p, true); + } + + /** + * Returns @auth's realm. This is an identifier that distinguishes + * separate authentication spaces on a given server, and may be some + * string that is meaningful to the user. (Although it is probably not + * localized.) + * + * Returns: the realm name + */ + public string getRealm() + { + return Str.toString(soup_auth_get_realm(soupAuth)); + } + + /** */ + public string getSavedPassword(string user) + { + return Str.toString(soup_auth_get_saved_password(soupAuth, Str.toStringz(user))); + } + + /** */ + public ListSG getSavedUsers() + { + auto __p = soup_auth_get_saved_users(soupAuth); + + if(__p is null) + { + return null; + } + + return new ListSG(cast(GSList*) __p, true); + } + + /** + * Returns @auth's scheme name. (Eg, "Basic", "Digest", or "NTLM") + * + * Returns: the scheme name + */ + public string getSchemeName() + { + return Str.toString(soup_auth_get_scheme_name(soupAuth)); + } + + /** */ + public void hasSavedPassword(string username, string password) + { + soup_auth_has_saved_password(soupAuth, Str.toStringz(username), Str.toStringz(password)); + } + + /** + * Tests if @auth has been given a username and password + * + * Returns: %TRUE if @auth has been given a username and password + */ + public bool isAuthenticated() + { + return soup_auth_is_authenticated(soupAuth) != 0; + } + + /** + * Tests whether or not @auth is associated with a proxy server rather + * than an "origin" server. + * + * Returns: %TRUE or %FALSE + */ + public bool isForProxy() + { + return soup_auth_is_for_proxy(soupAuth) != 0; + } + + /** + * Tests if @auth is ready to make a request for @msg with. For most + * auths, this is equivalent to soup_auth_is_authenticated(), but for + * some auth types (eg, NTLM), the auth may be sendable (eg, as an + * authentication request) even before it is authenticated. + * + * Params: + * msg = a #SoupMessage + * + * Returns: %TRUE if @auth is ready to make a request with. + * + * Since: 2.42 + */ + public bool isReady(Message msg) + { + return soup_auth_is_ready(soupAuth, (msg is null) ? null : msg.getMessageStruct()) != 0; + } + + /** */ + public void savePassword(string username, string password) + { + soup_auth_save_password(soupAuth, Str.toStringz(username), Str.toStringz(password)); + } + + /** + * Updates @auth with the information from @msg and @auth_header, + * possibly un-authenticating it. As with soup_auth_new(), this is + * normally only used by #SoupSession. + * + * Params: + * msg = the #SoupMessage @auth is being updated for + * authHeader = the WWW-Authenticate/Proxy-Authenticate header + * + * Returns: %TRUE if @auth is still a valid (but potentially + * unauthenticated) #SoupAuth. %FALSE if something about @auth_params + * could not be parsed or incorporated into @auth at all. + */ + public bool update(Message msg, string authHeader) + { + return soup_auth_update(soupAuth, (msg is null) ? null : msg.getMessageStruct(), Str.toStringz(authHeader)) != 0; + } +} diff --git a/generated/gstreamer/gstreamer/IntRange.d b/source/generated/soup/soup/AuthBasic.d similarity index 69% rename from generated/gstreamer/gstreamer/IntRange.d rename to source/generated/soup/soup/AuthBasic.d index 227a9890f..051b44e87 100644 --- a/generated/gstreamer/gstreamer/IntRange.d +++ b/source/generated/soup/soup/AuthBasic.d @@ -22,48 +22,46 @@ // implement new conversion functionalities on the wrap.utils pakage -module gstreamer.IntRange; +module soup.AuthBasic; -private import gstreamer.c.functions; -public import gstreamer.c.types; +private import soup.Auth; +private import soup.c.functions; +public import soup.c.types; -/** - * A fundamental type that describes a #gint range - */ -public class IntRange +/** */ +public class AuthBasic : Auth { /** the main Gtk struct */ - protected GstIntRange* gstIntRange; - protected bool ownedRef; + protected SoupAuthBasic* soupAuthBasic; /** Get the main Gtk struct */ - public GstIntRange* getIntRangeStruct(bool transferOwnership = false) + public SoupAuthBasic* getAuthBasicStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gstIntRange; + return soupAuthBasic; } /** the main Gtk struct as a void* */ - protected void* getStruct() + protected override void* getStruct() { - return cast(void*)gstIntRange; + return cast(void*)soupAuthBasic; } /** * Sets our main struct and passes it to the parent class. */ - public this (GstIntRange* gstIntRange, bool ownedRef = false) + public this (SoupAuthBasic* soupAuthBasic, bool ownedRef = false) { - this.gstIntRange = gstIntRange; - this.ownedRef = ownedRef; + this.soupAuthBasic = soupAuthBasic; + super(cast(SoupAuth*)soupAuthBasic, ownedRef); } /** */ public static GType getType() { - return gst_int_range_get_type(); + return soup_auth_basic_get_type(); } } diff --git a/generated/gstreamer/gstreamer/Int64Range.d b/source/generated/soup/soup/AuthDigest.d similarity index 68% rename from generated/gstreamer/gstreamer/Int64Range.d rename to source/generated/soup/soup/AuthDigest.d index c79cdd1e4..95ccbcb4e 100644 --- a/generated/gstreamer/gstreamer/Int64Range.d +++ b/source/generated/soup/soup/AuthDigest.d @@ -22,48 +22,46 @@ // implement new conversion functionalities on the wrap.utils pakage -module gstreamer.Int64Range; +module soup.AuthDigest; -private import gstreamer.c.functions; -public import gstreamer.c.types; +private import soup.Auth; +private import soup.c.functions; +public import soup.c.types; -/** - * A fundamental type that describes a #gint64 range - */ -public class Int64Range +/** */ +public class AuthDigest : Auth { /** the main Gtk struct */ - protected GstInt64Range* gstInt64Range; - protected bool ownedRef; + protected SoupAuthDigest* soupAuthDigest; /** Get the main Gtk struct */ - public GstInt64Range* getInt64RangeStruct(bool transferOwnership = false) + public SoupAuthDigest* getAuthDigestStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gstInt64Range; + return soupAuthDigest; } /** the main Gtk struct as a void* */ - protected void* getStruct() + protected override void* getStruct() { - return cast(void*)gstInt64Range; + return cast(void*)soupAuthDigest; } /** * Sets our main struct and passes it to the parent class. */ - public this (GstInt64Range* gstInt64Range, bool ownedRef = false) + public this (SoupAuthDigest* soupAuthDigest, bool ownedRef = false) { - this.gstInt64Range = gstInt64Range; - this.ownedRef = ownedRef; + this.soupAuthDigest = soupAuthDigest; + super(cast(SoupAuth*)soupAuthDigest, ownedRef); } /** */ public static GType getType() { - return gst_int64_range_get_type(); + return soup_auth_digest_get_type(); } } diff --git a/source/generated/soup/soup/AuthDomain.d b/source/generated/soup/soup/AuthDomain.d new file mode 100644 index 000000000..2f26f57ea --- /dev/null +++ b/source/generated/soup/soup/AuthDomain.d @@ -0,0 +1,258 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.AuthDomain; + +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import soup.Message; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class AuthDomain : ObjectG +{ + /** the main Gtk struct */ + protected SoupAuthDomain* soupAuthDomain; + + /** Get the main Gtk struct */ + public SoupAuthDomain* getAuthDomainStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupAuthDomain; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupAuthDomain; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupAuthDomain* soupAuthDomain, bool ownedRef = false) + { + this.soupAuthDomain = soupAuthDomain; + super(cast(GObject*)soupAuthDomain, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_auth_domain_get_type(); + } + + /** + * Checks if @msg contains appropriate authorization for @domain to + * accept it. Mirroring soup_auth_domain_covers(), this does not check + * whether or not @domain cares if @msg is + * authorized. + * + * This is used by #SoupServer internally and is probably of no use to + * anyone else. + * + * Params: + * msg = a #SoupMessage + * + * Returns: the username that @msg has authenticated + * as, if in fact it has authenticated. %NULL otherwise. + */ + public string accepts(Message msg) + { + auto retStr = soup_auth_domain_accepts(soupAuthDomain, (msg is null) ? null : msg.getMessageStruct()); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Adds @path to @domain, such that requests under @path on @domain's + * server will require authentication (unless overridden by + * soup_auth_domain_remove_path() or soup_auth_domain_set_filter()). + * + * You can also add paths by setting the %SOUP_AUTH_DOMAIN_ADD_PATH + * property, which can also be used to add one or more paths at + * construct time. + * + * Params: + * path = the path to add to @domain + */ + public void addPath(string path) + { + soup_auth_domain_add_path(soupAuthDomain, Str.toStringz(path)); + } + + /** + * Adds a "WWW-Authenticate" or "Proxy-Authenticate" header to @msg, + * requesting that the client authenticate, and sets @msg's status + * accordingly. + * + * This is used by #SoupServer internally and is probably of no use to + * anyone else. + * + * Params: + * msg = a #SoupMessage + */ + public void challenge(Message msg) + { + soup_auth_domain_challenge(soupAuthDomain, (msg is null) ? null : msg.getMessageStruct()); + } + + /** + * Checks if @msg authenticates to @domain via @username and + * @password. This would normally be called from a + * #SoupAuthDomainGenericAuthCallback. + * + * Params: + * msg = a #SoupMessage + * username = a username + * password = a password + * + * Returns: whether or not the message is authenticated + */ + public bool checkPassword(Message msg, string username, string password) + { + return soup_auth_domain_check_password(soupAuthDomain, (msg is null) ? null : msg.getMessageStruct(), Str.toStringz(username), Str.toStringz(password)) != 0; + } + + /** + * Checks if @domain requires @msg to be authenticated (according to + * its paths and filter function). This does not actually look at + * whether @msg is authenticated, merely whether + * or not it needs to be. + * + * This is used by #SoupServer internally and is probably of no use to + * anyone else. + * + * Params: + * msg = a #SoupMessage + * + * Returns: %TRUE if @domain requires @msg to be authenticated + */ + public bool covers(Message msg) + { + return soup_auth_domain_covers(soupAuthDomain, (msg is null) ? null : msg.getMessageStruct()) != 0; + } + + /** + * Gets the realm name associated with @domain + * + * Returns: @domain's realm + */ + public string getRealm() + { + return Str.toString(soup_auth_domain_get_realm(soupAuthDomain)); + } + + /** + * Removes @path from @domain, such that requests under @path on + * @domain's server will NOT require authentication. + * + * This is not simply an undo-er for soup_auth_domain_add_path(); it + * can be used to "carve out" a subtree that does not require + * authentication inside a hierarchy that does. Note also that unlike + * with soup_auth_domain_add_path(), this cannot be overridden by + * adding a filter, as filters can only bypass authentication that + * would otherwise be required, not require it where it would + * otherwise be unnecessary. + * + * You can also remove paths by setting the + * %SOUP_AUTH_DOMAIN_REMOVE_PATH property, which can also be used to + * remove one or more paths at construct time. + * + * Params: + * path = the path to remove from @domain + */ + public void removePath(string path) + { + soup_auth_domain_remove_path(soupAuthDomain, Str.toStringz(path)); + } + + /** + * Adds @filter as an authentication filter to @domain. The filter + * gets a chance to bypass authentication for certain requests that + * would otherwise require it. Eg, it might check the message's path + * in some way that is too complicated to do via the other methods, or + * it might check the message's method, and allow GETs but not PUTs. + * + * The filter function returns %TRUE if the request should still + * require authentication, or %FALSE if authentication is unnecessary + * for this request. + * + * To help prevent security holes, your filter should return %TRUE by + * default, and only return %FALSE under specifically-tested + * circumstances, rather than the other way around. Eg, in the example + * above, where you want to authenticate PUTs but not GETs, you should + * check if the method is GET and return %FALSE in that case, and then + * return %TRUE for all other methods (rather than returning %TRUE for + * PUT and %FALSE for all other methods). This way if it turned out + * (now or later) that some paths supported additional methods besides + * GET and PUT, those methods would default to being NOT allowed for + * unauthenticated users. + * + * You can also set the filter by setting the %SOUP_AUTH_DOMAIN_FILTER + * and %SOUP_AUTH_DOMAIN_FILTER_DATA properties, which can also be + * used to set the filter at construct time. + * + * Params: + * filter = the auth filter for @domain + * filterData = data to pass to @filter + * dnotify = destroy notifier to free @filter_data when @domain + * is destroyed + */ + public void setFilter(SoupAuthDomainFilter filter, void* filterData, GDestroyNotify dnotify) + { + soup_auth_domain_set_filter(soupAuthDomain, filter, filterData, dnotify); + } + + /** + * Sets @auth_callback as an authentication-handling callback for + * @domain. Whenever a request comes in to @domain which cannot be + * authenticated via a domain-specific auth callback (eg, + * #SoupAuthDomainDigestAuthCallback), the generic auth callback + * will be invoked. See #SoupAuthDomainGenericAuthCallback for information + * on what the callback should do. + * + * Params: + * authCallback = the auth callback + * authData = data to pass to @auth_callback + * dnotify = destroy notifier to free @auth_data when @domain + * is destroyed + */ + public void setGenericAuthCallback(SoupAuthDomainGenericAuthCallback authCallback, void* authData, GDestroyNotify dnotify) + { + soup_auth_domain_set_generic_auth_callback(soupAuthDomain, authCallback, authData, dnotify); + } + + /** */ + public bool tryGenericAuthCallback(Message msg, string username) + { + return soup_auth_domain_try_generic_auth_callback(soupAuthDomain, (msg is null) ? null : msg.getMessageStruct(), Str.toStringz(username)) != 0; + } +} diff --git a/source/generated/soup/soup/AuthDomainBasic.d b/source/generated/soup/soup/AuthDomainBasic.d new file mode 100644 index 000000000..e68fa180e --- /dev/null +++ b/source/generated/soup/soup/AuthDomainBasic.d @@ -0,0 +1,92 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.AuthDomainBasic; + +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import soup.AuthDomain; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class AuthDomainBasic : AuthDomain +{ + /** the main Gtk struct */ + protected SoupAuthDomainBasic* soupAuthDomainBasic; + + /** Get the main Gtk struct */ + public SoupAuthDomainBasic* getAuthDomainBasicStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupAuthDomainBasic; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupAuthDomainBasic; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupAuthDomainBasic* soupAuthDomainBasic, bool ownedRef = false) + { + this.soupAuthDomainBasic = soupAuthDomainBasic; + super(cast(SoupAuthDomain*)soupAuthDomainBasic, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_auth_domain_basic_get_type(); + } + + /** + * Sets the callback that @domain will use to authenticate incoming + * requests. For each request containing authorization, @domain will + * invoke the callback, and then either accept or reject the request + * based on @callback's return value. + * + * You can also set the auth callback by setting the + * %SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK and + * %SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA properties, which can also be + * used to set the callback at construct time. + * + * Params: + * callback = the callback + * userData = data to pass to @auth_callback + * dnotify = destroy notifier to free @user_data when @domain + * is destroyed + */ + public void setAuthCallback(SoupAuthDomainBasicAuthCallback callback, void* userData, GDestroyNotify dnotify) + { + soup_auth_domain_basic_set_auth_callback(cast(SoupAuthDomain*)soupAuthDomainBasic, callback, userData, dnotify); + } +} diff --git a/source/generated/soup/soup/AuthDomainDigest.d b/source/generated/soup/soup/AuthDomainDigest.d new file mode 100644 index 000000000..56c868c22 --- /dev/null +++ b/source/generated/soup/soup/AuthDomainDigest.d @@ -0,0 +1,123 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.AuthDomainDigest; + +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import soup.AuthDomain; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class AuthDomainDigest : AuthDomain +{ + /** the main Gtk struct */ + protected SoupAuthDomainDigest* soupAuthDomainDigest; + + /** Get the main Gtk struct */ + public SoupAuthDomainDigest* getAuthDomainDigestStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupAuthDomainDigest; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupAuthDomainDigest; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupAuthDomainDigest* soupAuthDomainDigest, bool ownedRef = false) + { + this.soupAuthDomainDigest = soupAuthDomainDigest; + super(cast(SoupAuthDomain*)soupAuthDomainDigest, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_auth_domain_digest_get_type(); + } + + /** + * Encodes the username/realm/password triplet for Digest + * authentication. (That is, it returns a stringified MD5 hash of + * @username, @realm, and @password concatenated together). This is + * the form that is needed as the return value of + * #SoupAuthDomainDigest's auth handler. + * + * For security reasons, you should store the encoded hash, rather + * than storing the cleartext password itself and calling this method + * only when you need to verify it. This way, if your server is + * compromised, the attackers will not gain access to cleartext + * passwords which might also be usable at other sites. (Note also + * that the encoded password returned by this method is identical to + * the encoded password stored in an Apache .htdigest file.) + * + * Params: + * username = a username + * realm = an auth realm name + * password = the password for @username in @realm + * + * Returns: the encoded password + */ + public static string encodePassword(string username, string realm, string password) + { + auto retStr = soup_auth_domain_digest_encode_password(Str.toStringz(username), Str.toStringz(realm), Str.toStringz(password)); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Sets the callback that @domain will use to authenticate incoming + * requests. For each request containing authorization, @domain will + * invoke the callback, and then either accept or reject the request + * based on @callback's return value. + * + * You can also set the auth callback by setting the + * %SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK and + * %SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA properties, which can also be + * used to set the callback at construct time. + * + * Params: + * callback = the callback + * userData = data to pass to @auth_callback + * dnotify = destroy notifier to free @user_data when @domain + * is destroyed + */ + public void setAuthCallback(SoupAuthDomainDigestAuthCallback callback, void* userData, GDestroyNotify dnotify) + { + soup_auth_domain_digest_set_auth_callback(cast(SoupAuthDomain*)soupAuthDomainDigest, callback, userData, dnotify); + } +} diff --git a/source/generated/soup/soup/AuthManager.d b/source/generated/soup/soup/AuthManager.d new file mode 100644 index 000000000..87d34485b --- /dev/null +++ b/source/generated/soup/soup/AuthManager.d @@ -0,0 +1,127 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.AuthManager; + +private import gobject.ObjectG; +private import gobject.Signals; +private import soup.Auth; +private import soup.Message; +private import soup.SessionFeatureIF; +private import soup.SessionFeatureT; +private import soup.URI; +private import soup.c.functions; +public import soup.c.types; +private import std.algorithm; + + +/** */ +public class AuthManager : ObjectG, SessionFeatureIF +{ + /** the main Gtk struct */ + protected SoupAuthManager* soupAuthManager; + + /** Get the main Gtk struct */ + public SoupAuthManager* getAuthManagerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupAuthManager; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupAuthManager; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupAuthManager* soupAuthManager, bool ownedRef = false) + { + this.soupAuthManager = soupAuthManager; + super(cast(GObject*)soupAuthManager, ownedRef); + } + + // add the SessionFeature capabilities + mixin SessionFeatureT!(SoupAuthManager); + + + /** */ + public static GType getType() + { + return soup_auth_manager_get_type(); + } + + /** + * Clear all credentials cached by @manager + * + * Since: 2.58 + */ + public void clearCachedCredentials() + { + soup_auth_manager_clear_cached_credentials(soupAuthManager); + } + + /** + * Records that @auth is to be used under @uri, as though a + * WWW-Authenticate header had been received at that URI. This can be + * used to "preload" @manager's auth cache, to avoid an extra HTTP + * round trip in the case where you know ahead of time that a 401 + * response will be returned. + * + * This is only useful for authentication types where the initial + * Authorization header does not depend on any additional information + * from the server. (Eg, Basic or NTLM, but not Digest.) + * + * Params: + * uri = the #SoupURI under which @auth is to be used + * auth = the #SoupAuth to use + * + * Since: 2.42 + */ + public void useAuth(URI uri, Auth auth) + { + soup_auth_manager_use_auth(soupAuthManager, (uri is null) ? null : uri.getURIStruct(), (auth is null) ? null : auth.getAuthStruct()); + } + + /** + * Emitted when the manager requires the application to + * provide authentication credentials. + * + * #SoupSession connects to this signal and emits its own + * #SoupSession::authenticate signal when it is emitted, so + * you shouldn't need to use this signal directly. + * + * Params: + * msg = the #SoupMessage being sent + * auth = the #SoupAuth to authenticate + * retrying = %TRUE if this is the second (or later) attempt + */ + gulong addOnAuthenticate(void delegate(Message, Auth, bool, AuthManager) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "authenticate", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/generated/gstreamer/gstreamer/Bitmask.d b/source/generated/soup/soup/AuthNTLM.d similarity index 69% rename from generated/gstreamer/gstreamer/Bitmask.d rename to source/generated/soup/soup/AuthNTLM.d index 1a0f06700..8d58567c2 100644 --- a/generated/gstreamer/gstreamer/Bitmask.d +++ b/source/generated/soup/soup/AuthNTLM.d @@ -22,48 +22,46 @@ // implement new conversion functionalities on the wrap.utils pakage -module gstreamer.Bitmask; +module soup.AuthNTLM; -private import gstreamer.c.functions; -public import gstreamer.c.types; +private import soup.Auth; +private import soup.c.functions; +public import soup.c.types; -/** - * A fundamental type that describes a 64-bit bitmask - */ -public class Bitmask +/** */ +public class AuthNTLM : Auth { /** the main Gtk struct */ - protected GstBitmask* gstBitmask; - protected bool ownedRef; + protected SoupAuthNTLM* soupAuthNTLM; /** Get the main Gtk struct */ - public GstBitmask* getBitmaskStruct(bool transferOwnership = false) + public SoupAuthNTLM* getAuthNTLMStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gstBitmask; + return soupAuthNTLM; } /** the main Gtk struct as a void* */ - protected void* getStruct() + protected override void* getStruct() { - return cast(void*)gstBitmask; + return cast(void*)soupAuthNTLM; } /** * Sets our main struct and passes it to the parent class. */ - public this (GstBitmask* gstBitmask, bool ownedRef = false) + public this (SoupAuthNTLM* soupAuthNTLM, bool ownedRef = false) { - this.gstBitmask = gstBitmask; - this.ownedRef = ownedRef; + this.soupAuthNTLM = soupAuthNTLM; + super(cast(SoupAuth*)soupAuthNTLM, ownedRef); } /** */ public static GType getType() { - return gst_bitmask_get_type(); + return soup_auth_ntlm_get_type(); } } diff --git a/source/generated/soup/soup/AuthNegotiate.d b/source/generated/soup/soup/AuthNegotiate.d new file mode 100644 index 000000000..9e882be67 --- /dev/null +++ b/source/generated/soup/soup/AuthNegotiate.d @@ -0,0 +1,80 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.AuthNegotiate; + +private import soup.Auth; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class AuthNegotiate : Auth +{ + /** the main Gtk struct */ + protected SoupAuthNegotiate* soupAuthNegotiate; + + /** Get the main Gtk struct */ + public SoupAuthNegotiate* getAuthNegotiateStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupAuthNegotiate; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupAuthNegotiate; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupAuthNegotiate* soupAuthNegotiate, bool ownedRef = false) + { + this.soupAuthNegotiate = soupAuthNegotiate; + super(cast(SoupAuth*)soupAuthNegotiate, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_auth_negotiate_get_type(); + } + + /** + * Indicates whether libsoup was built with GSSAPI support. If this is + * %FALSE, %SOUP_TYPE_AUTH_NEGOTIATE will still be defined and can + * still be added to a #SoupSession, but libsoup will never attempt to + * actually use this auth type. + * + * Since: 2.54 + */ + public static bool supported() + { + return soup_auth_negotiate_supported() != 0; + } +} diff --git a/source/generated/soup/soup/Buffer.d b/source/generated/soup/soup/Buffer.d new file mode 100644 index 000000000..aa8df3e94 --- /dev/null +++ b/source/generated/soup/soup/Buffer.d @@ -0,0 +1,317 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.Buffer; + +private import glib.Bytes; +private import glib.ConstructionException; +private import glib.MemorySlice; +public import glib.c.types; +private import gobject.ObjectG; +private import linker.Loader; +private import soup.c.functions; +public import soup.c.types; + + +/** + * A data buffer, generally used to represent a chunk of a + * #SoupMessageBody. + * + * @data is a #char because that's generally convenient; in some + * situations you may need to cast it to #guchar or another type. + */ +public final class Buffer +{ + /** the main Gtk struct */ + protected SoupBuffer* soupBuffer; + protected bool ownedRef; + + /** Get the main Gtk struct */ + public SoupBuffer* getBufferStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupBuffer; + } + + /** the main Gtk struct as a void* */ + protected void* getStruct() + { + return cast(void*)soupBuffer; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupBuffer* soupBuffer, bool ownedRef = false) + { + this.soupBuffer = soupBuffer; + this.ownedRef = ownedRef; + } + + ~this () + { + if ( Linker.isLoaded(LIBRARY_SOUP[0]) && ownedRef ) + soup_buffer_free(soupBuffer); + } + + /** + * the data + */ + public @property ubyte [] data() { + return cast(ubyte [])soupBuffer.data[0..getArrayLength(cast(ubyte *)soupBuffer.data)]; + } + + /** Ditto */ + public @property void data(ubyte [] value) { + soupBuffer.data = cast(void *)value.ptr; + } + + /** + */ + + + /** + * length of @data + */ + public @property size_t length() + { + return soupBuffer.length; + } + + /** Ditto */ + public @property void length(size_t value) + { + soupBuffer.length = value; + } + + /** */ + public static GType getType() + { + return soup_buffer_get_type(); + } + + /** + * Creates a new #SoupBuffer containing @length bytes from @data. + * + * Params: + * use = how @data is to be used by the buffer + * data = data + * + * Returns: the new #SoupBuffer. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(SoupMemoryUse use, ubyte[] data) + { + auto __p = soup_buffer_new(use, data.ptr, cast(size_t)data.length); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupBuffer*) __p); + } + + /** + * Creates a new #SoupBuffer containing @length bytes from @data. + * + * This function is exactly equivalent to soup_buffer_new() with + * %SOUP_MEMORY_TAKE as first argument; it exists mainly for + * convenience and simplifying language bindings. + * + * Params: + * data = data + * + * Returns: the new #SoupBuffer. + * + * Since: 2.32 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(char[] data) + { + auto __p = soup_buffer_new_take(data.ptr, cast(size_t)data.length); + + if(__p is null) + { + throw new ConstructionException("null returned by new_take"); + } + + this(cast(SoupBuffer*) __p); + } + + /** + * Creates a new #SoupBuffer containing @length bytes from @data. When + * the #SoupBuffer is freed, it will call @owner_dnotify, passing + * @owner to it. You must ensure that @data will remain valid until + * @owner_dnotify is called. + * + * For example, you could use this to create a buffer containing data + * returned from libxml without needing to do an extra copy: + * + * + * xmlDocDumpMemory (doc, &xmlbody, &len); + * return soup_buffer_new_with_owner (xmlbody, len, xmlbody, + * (GDestroyNotify)xmlFree); + * + * + * In this example, @data and @owner are the same, but in other cases + * they would be different (eg, @owner would be a object, and @data + * would be a pointer to one of the object's fields). + * + * Params: + * data = data + * owner = pointer to an object that owns @data + * ownerDnotify = a function to free/unref @owner when + * the buffer is freed + * + * Returns: the new #SoupBuffer. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(ubyte[] data, void* owner, GDestroyNotify ownerDnotify) + { + auto __p = soup_buffer_new_with_owner(data.ptr, cast(size_t)data.length, owner, ownerDnotify); + + if(__p is null) + { + throw new ConstructionException("null returned by new_with_owner"); + } + + this(cast(SoupBuffer*) __p); + } + + /** + * Makes a copy of @buffer. In reality, #SoupBuffer is a refcounted + * type, and calling soup_buffer_copy() will normally just increment + * the refcount on @buffer and return it. However, if @buffer was + * created with #SOUP_MEMORY_TEMPORARY memory, then soup_buffer_copy() + * will actually return a copy of it, so that the data in the copy + * will remain valid after the temporary buffer is freed. + * + * Returns: the new (or newly-reffed) buffer + */ + public Buffer copy() + { + auto __p = soup_buffer_copy(soupBuffer); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Buffer)(cast(SoupBuffer*) __p, true); + } + + /** + * Frees @buffer. (In reality, as described in the documentation for + * soup_buffer_copy(), this is actually an "unref" operation, and may + * or may not actually free @buffer.) + */ + public void free() + { + soup_buffer_free(soupBuffer); + ownedRef = false; + } + + /** + * Creates a #GBytes pointing to the same memory as @buffer. The + * #GBytes will hold a reference on @buffer to ensure that it is not + * freed while the #GBytes is still valid. + * + * Returns: a new #GBytes which has the same content + * as the #SoupBuffer. + * + * Since: 2.40 + */ + public Bytes getAsBytes() + { + auto __p = soup_buffer_get_as_bytes(soupBuffer); + + if(__p is null) + { + return null; + } + + return new Bytes(cast(GBytes*) __p, true); + } + + /** + * This function exists for use by language bindings, because it's not + * currently possible to get the right effect by annotating the fields + * of #SoupBuffer. + * + * Params: + * data = the pointer + * to the buffer data is stored here + * + * Since: 2.32 + */ + public void getData(out ubyte[] data) + { + ubyte* outdata; + size_t length; + + soup_buffer_get_data(soupBuffer, &outdata, &length); + + data = outdata[0 .. length]; + } + + /** + * Gets the "owner" object for a buffer created with + * soup_buffer_new_with_owner(). + * + * Returns: the owner pointer + */ + public void* getOwner() + { + return soup_buffer_get_owner(soupBuffer); + } + + /** + * Creates a new #SoupBuffer containing @length bytes "copied" from + * @parent starting at @offset. (Normally this will not actually copy + * any data, but will instead simply reference the same data as + * @parent does.) + * + * Params: + * offset = offset within @parent to start at + * length = number of bytes to copy from @parent + * + * Returns: the new #SoupBuffer. + */ + public Buffer newSubbuffer(size_t offset, size_t length) + { + auto __p = soup_buffer_new_subbuffer(soupBuffer, offset, length); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Buffer)(cast(SoupBuffer*) __p, true); + } +} diff --git a/source/generated/soup/soup/Cache.d b/source/generated/soup/soup/Cache.d new file mode 100644 index 000000000..eb64a8692 --- /dev/null +++ b/source/generated/soup/soup/Cache.d @@ -0,0 +1,177 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.Cache; + +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import soup.SessionFeatureIF; +private import soup.SessionFeatureT; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class Cache : ObjectG, SessionFeatureIF +{ + /** the main Gtk struct */ + protected SoupCache* soupCache; + + /** Get the main Gtk struct */ + public SoupCache* getCacheStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupCache; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupCache; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupCache* soupCache, bool ownedRef = false) + { + this.soupCache = soupCache; + super(cast(GObject*)soupCache, ownedRef); + } + + // add the SessionFeature capabilities + mixin SessionFeatureT!(SoupCache); + + + /** */ + public static GType getType() + { + return soup_cache_get_type(); + } + + /** + * Creates a new #SoupCache. + * + * Params: + * cacheDir = the directory to store the cached data, or %NULL + * to use the default one. Note that since the cache isn't safe to access for + * multiple processes at once, and the default directory isn't namespaced by + * process, clients are strongly discouraged from passing %NULL. + * cacheType = the #SoupCacheType of the cache + * + * Returns: a new #SoupCache + * + * Since: 2.34 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string cacheDir, SoupCacheType cacheType) + { + auto __p = soup_cache_new(Str.toStringz(cacheDir), cacheType); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupCache*) __p, true); + } + + /** + * Will remove all entries in the @cache plus all the cache files. + * + * Since: 2.34 + */ + public void clear() + { + soup_cache_clear(soupCache); + } + + /** + * Synchronously writes the cache index out to disk. Contrast with + * soup_cache_flush(), which writes pending cache + * entries to disk. + * + * You must call this before exiting if you want your cache data to + * persist between sessions. + * + * Since: 2.34. + */ + public void dump() + { + soup_cache_dump(soupCache); + } + + /** + * This function will force all pending writes in the @cache to be + * committed to disk. For doing so it will iterate the #GMainContext + * associated with @cache's session as long as needed. + * + * Contrast with soup_cache_dump(), which writes out the cache index + * file. + * + * Since: 2.34 + */ + public void flush() + { + soup_cache_flush(soupCache); + } + + /** + * Gets the maximum size of the cache. + * + * Returns: the maximum size of the cache, in bytes. + * + * Since: 2.34 + */ + public uint getMaxSize() + { + return soup_cache_get_max_size(soupCache); + } + + /** + * Loads the contents of @cache's index into memory. + * + * Since: 2.34 + */ + public void load() + { + soup_cache_load(soupCache); + } + + /** + * Sets the maximum size of the cache. + * + * Params: + * maxSize = the maximum size of the cache, in bytes + * + * Since: 2.34 + */ + public void setMaxSize(uint maxSize) + { + soup_cache_set_max_size(soupCache, maxSize); + } +} diff --git a/source/generated/soup/soup/ClientContext.d b/source/generated/soup/soup/ClientContext.d new file mode 100644 index 000000000..7c9f31a0a --- /dev/null +++ b/source/generated/soup/soup/ClientContext.d @@ -0,0 +1,289 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.ClientContext; + +private import gio.IOStream; +private import gio.Socket; +private import gio.SocketAddress; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import soup.Address; +private import soup.AuthDomain; +private import soup.SSocket; +private import soup.c.functions; +public import soup.c.types; + + +/** + * A #SoupClientContext provides additional information about the + * client making a particular request. In particular, you can use + * soup_client_context_get_auth_domain() and + * soup_client_context_get_auth_user() to determine if HTTP + * authentication was used successfully. + * + * soup_client_context_get_remote_address() and/or + * soup_client_context_get_host() can be used to get information for + * logging or debugging purposes. soup_client_context_get_gsocket() may + * also be of use in some situations (eg, tracking when multiple + * requests are made on the same connection). + */ +public class ClientContext +{ + /** the main Gtk struct */ + protected SoupClientContext* soupClientContext; + protected bool ownedRef; + + /** Get the main Gtk struct */ + public SoupClientContext* getClientContextStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupClientContext; + } + + /** the main Gtk struct as a void* */ + protected void* getStruct() + { + return cast(void*)soupClientContext; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupClientContext* soupClientContext, bool ownedRef = false) + { + this.soupClientContext = soupClientContext; + this.ownedRef = ownedRef; + } + + + /** */ + public static GType getType() + { + return soup_client_context_get_type(); + } + + /** + * Retrieves the #SoupAddress associated with the remote end + * of a connection. + * + * Deprecated: Use soup_client_context_get_remote_address(), which returns + * a #GSocketAddress. + * + * Returns: the #SoupAddress + * associated with the remote end of a connection, it may be + * %NULL if you used soup_server_accept_iostream(). + */ + public Address getAddress() + { + auto __p = soup_client_context_get_address(soupClientContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Address)(cast(SoupAddress*) __p); + } + + /** + * Checks whether the request associated with @client has been + * authenticated, and if so returns the #SoupAuthDomain that + * authenticated it. + * + * Returns: a #SoupAuthDomain, or + * %NULL if the request was not authenticated. + */ + public AuthDomain getAuthDomain() + { + auto __p = soup_client_context_get_auth_domain(soupClientContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(AuthDomain)(cast(SoupAuthDomain*) __p); + } + + /** + * Checks whether the request associated with @client has been + * authenticated, and if so returns the username that the client + * authenticated as. + * + * Returns: the authenticated-as user, or %NULL if + * the request was not authenticated. + */ + public string getAuthUser() + { + return Str.toString(soup_client_context_get_auth_user(soupClientContext)); + } + + /** + * Retrieves the #GSocket that @client is associated with. + * + * If you are using this method to observe when multiple requests are + * made on the same persistent HTTP connection (eg, as the ntlm-test + * test program does), you will need to pay attention to socket + * destruction as well (eg, by using weak references), so that you do + * not get fooled when the allocator reuses the memory address of a + * previously-destroyed socket to represent a new socket. + * + * Returns: the #GSocket that @client is + * associated with, %NULL if you used soup_server_accept_iostream(). + * + * Since: 2.48 + */ + public Socket getGsocket() + { + auto __p = soup_client_context_get_gsocket(soupClientContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Socket)(cast(GSocket*) __p); + } + + /** + * Retrieves the IP address associated with the remote end of a + * connection. + * + * Returns: the IP address associated with the remote + * end of a connection, it may be %NULL if you used + * soup_server_accept_iostream(). + */ + public string getHost() + { + return Str.toString(soup_client_context_get_host(soupClientContext)); + } + + /** + * Retrieves the #GSocketAddress associated with the local end + * of a connection. + * + * Returns: the #GSocketAddress + * associated with the local end of a connection, it may be + * %NULL if you used soup_server_accept_iostream(). + * + * Since: 2.48 + */ + public SocketAddress getLocalAddress() + { + auto __p = soup_client_context_get_local_address(soupClientContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SocketAddress)(cast(GSocketAddress*) __p); + } + + /** + * Retrieves the #GSocketAddress associated with the remote end + * of a connection. + * + * Returns: the #GSocketAddress + * associated with the remote end of a connection, it may be + * %NULL if you used soup_server_accept_iostream(). + * + * Since: 2.48 + */ + public SocketAddress getRemoteAddress() + { + auto __p = soup_client_context_get_remote_address(soupClientContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SocketAddress)(cast(GSocketAddress*) __p); + } + + /** + * Retrieves the #SoupSocket that @client is associated with. + * + * If you are using this method to observe when multiple requests are + * made on the same persistent HTTP connection (eg, as the ntlm-test + * test program does), you will need to pay attention to socket + * destruction as well (either by using weak references, or by + * connecting to the #SoupSocket::disconnected signal), so that you do + * not get fooled when the allocator reuses the memory address of a + * previously-destroyed socket to represent a new socket. + * + * Deprecated: use soup_client_context_get_gsocket(), which returns + * a #GSocket. + * + * Returns: the #SoupSocket that @client is + * associated with. + */ + public SSocket getSocket() + { + auto __p = soup_client_context_get_socket(soupClientContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SSocket)(cast(SoupSocket*) __p); + } + + /** + * "Steals" the HTTP connection associated with @client from its + * #SoupServer. This happens immediately, regardless of the current + * state of the connection; if the response to the current + * #SoupMessage has not yet finished being sent, then it will be + * discarded; you can steal the connection from a + * #SoupMessage:wrote-informational or #SoupMessage:wrote-body signal + * handler if you need to wait for part or all of the response to be + * sent. + * + * Note that when calling this function from C, @client will most + * likely be freed as a side effect. + * + * Returns: the #GIOStream formerly associated + * with @client (or %NULL if @client was no longer associated with a + * connection). No guarantees are made about what kind of #GIOStream + * is returned. + * + * Since: 2.50 + */ + public IOStream stealConnection() + { + auto __p = soup_client_context_steal_connection(soupClientContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(IOStream)(cast(GIOStream*) __p, true); + } +} diff --git a/generated/gstreamer/gstreamer/FractionRange.d b/source/generated/soup/soup/ContentDecoder.d similarity index 60% rename from generated/gstreamer/gstreamer/FractionRange.d rename to source/generated/soup/soup/ContentDecoder.d index 3f6edf9a9..0de67df61 100644 --- a/generated/gstreamer/gstreamer/FractionRange.d +++ b/source/generated/soup/soup/ContentDecoder.d @@ -22,48 +22,51 @@ // implement new conversion functionalities on the wrap.utils pakage -module gstreamer.FractionRange; +module soup.ContentDecoder; -private import gstreamer.c.functions; -public import gstreamer.c.types; +private import gobject.ObjectG; +private import soup.SessionFeatureIF; +private import soup.SessionFeatureT; +private import soup.c.functions; +public import soup.c.types; -/** - * A fundamental type that describes a #GstFractionRange range - */ -public class FractionRange +/** */ +public class ContentDecoder : ObjectG, SessionFeatureIF { /** the main Gtk struct */ - protected GstFractionRange* gstFractionRange; - protected bool ownedRef; + protected SoupContentDecoder* soupContentDecoder; /** Get the main Gtk struct */ - public GstFractionRange* getFractionRangeStruct(bool transferOwnership = false) + public SoupContentDecoder* getContentDecoderStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gstFractionRange; + return soupContentDecoder; } /** the main Gtk struct as a void* */ - protected void* getStruct() + protected override void* getStruct() { - return cast(void*)gstFractionRange; + return cast(void*)soupContentDecoder; } /** * Sets our main struct and passes it to the parent class. */ - public this (GstFractionRange* gstFractionRange, bool ownedRef = false) + public this (SoupContentDecoder* soupContentDecoder, bool ownedRef = false) { - this.gstFractionRange = gstFractionRange; - this.ownedRef = ownedRef; + this.soupContentDecoder = soupContentDecoder; + super(cast(GObject*)soupContentDecoder, ownedRef); } + // add the SessionFeature capabilities + mixin SessionFeatureT!(SoupContentDecoder); + /** */ public static GType getType() { - return gst_fraction_range_get_type(); + return soup_content_decoder_get_type(); } } diff --git a/source/generated/soup/soup/ContentSniffer.d b/source/generated/soup/soup/ContentSniffer.d new file mode 100644 index 000000000..c0f3995d2 --- /dev/null +++ b/source/generated/soup/soup/ContentSniffer.d @@ -0,0 +1,140 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.ContentSniffer; + +private import glib.ConstructionException; +private import glib.HashTable; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import soup.Buffer; +private import soup.Message; +private import soup.SessionFeatureIF; +private import soup.SessionFeatureT; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class ContentSniffer : ObjectG, SessionFeatureIF +{ + /** the main Gtk struct */ + protected SoupContentSniffer* soupContentSniffer; + + /** Get the main Gtk struct */ + public SoupContentSniffer* getContentSnifferStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupContentSniffer; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupContentSniffer; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupContentSniffer* soupContentSniffer, bool ownedRef = false) + { + this.soupContentSniffer = soupContentSniffer; + super(cast(GObject*)soupContentSniffer, ownedRef); + } + + // add the SessionFeature capabilities + mixin SessionFeatureT!(SoupContentSniffer); + + + /** */ + public static GType getType() + { + return soup_content_sniffer_get_type(); + } + + /** + * Creates a new #SoupContentSniffer. + * + * Returns: a new #SoupContentSniffer + * + * Since: 2.28 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = soup_content_sniffer_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupContentSniffer*) __p, true); + } + + /** + * Gets the number of bytes @sniffer needs in order to properly sniff + * a buffer. + * + * Returns: the number of bytes to sniff + * + * Since: 2.28 + */ + public size_t getBufferSize() + { + return soup_content_sniffer_get_buffer_size(soupContentSniffer); + } + + /** + * Sniffs @buffer to determine its Content-Type. The result may also + * be influenced by the Content-Type declared in @msg's response + * headers. + * + * Params: + * msg = the message to sniff + * buffer = a buffer containing the start of @msg's response body + * params = return + * location for Content-Type parameters (eg, "charset"), or %NULL + * + * Returns: the sniffed Content-Type of @buffer; this will never be %NULL, + * but may be "application/octet-stream". + * + * Since: 2.28 + */ + public string sniff(Message msg, Buffer buffer, out HashTable params) + { + GHashTable* outparams = null; + + auto retStr = soup_content_sniffer_sniff(soupContentSniffer, (msg is null) ? null : msg.getMessageStruct(), (buffer is null) ? null : buffer.getBufferStruct(), &outparams); + + params = new HashTable(outparams); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } +} diff --git a/source/generated/soup/soup/Cookie.d b/source/generated/soup/soup/Cookie.d new file mode 100644 index 000000000..b9f33e149 --- /dev/null +++ b/source/generated/soup/soup/Cookie.d @@ -0,0 +1,635 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.Cookie; + +private import glib.ConstructionException; +private import glib.MemorySlice; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import linker.Loader; +private import soup.Date; +private import soup.URI; +private import soup.c.functions; +public import soup.c.types; + + +/** + * An HTTP cookie. + * + * @name and @value will be set for all cookies. If the cookie is + * generated from a string that appears to have no name, then @name + * will be the empty string. + * + * @domain and @path give the host or domain, and path within that + * host/domain, to restrict this cookie to. If @domain starts with + * ".", that indicates a domain (which matches the string after the + * ".", or any hostname that has @domain as a suffix). Otherwise, it + * is a hostname and must match exactly. + * + * @expires will be non-%NULL if the cookie uses either the original + * "expires" attribute, or the newer "max-age" attribute. If @expires + * is %NULL, it indicates that neither "expires" nor "max-age" was + * specified, and the cookie expires at the end of the session. + * + * If @http_only is set, the cookie should not be exposed to untrusted + * code (eg, javascript), so as to minimize the danger posed by + * cross-site scripting attacks. + * + * Since: 2.24 + */ +public final class Cookie +{ + /** the main Gtk struct */ + protected SoupCookie* soupCookie; + protected bool ownedRef; + + /** Get the main Gtk struct */ + public SoupCookie* getCookieStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupCookie; + } + + /** the main Gtk struct as a void* */ + protected void* getStruct() + { + return cast(void*)soupCookie; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupCookie* soupCookie, bool ownedRef = false) + { + this.soupCookie = soupCookie; + this.ownedRef = ownedRef; + } + + ~this () + { + if ( Linker.isLoaded(LIBRARY_SOUP[0]) && ownedRef ) + soup_cookie_free(soupCookie); + } + + + /** + * the cookie name + */ + public @property string name() + { + return Str.toString(soupCookie.name); + } + + /** Ditto */ + public @property void name(string value) + { + soupCookie.name = Str.toStringz(value); + } + + /** + * the cookie value + */ + public @property string value() + { + return Str.toString(soupCookie.value); + } + + /** Ditto */ + public @property void value(string value) + { + soupCookie.value = Str.toStringz(value); + } + + /** + * the "domain" attribute, or else the hostname that the + * cookie came from. + */ + public @property string domain() + { + return Str.toString(soupCookie.domain); + } + + /** Ditto */ + public @property void domain(string value) + { + soupCookie.domain = Str.toStringz(value); + } + + /** + * the "path" attribute, or %NULL + */ + public @property string path() + { + return Str.toString(soupCookie.path); + } + + /** Ditto */ + public @property void path(string value) + { + soupCookie.path = Str.toStringz(value); + } + + /** + * the cookie expiration time, or %NULL for a session cookie + */ + public @property Date expires() + { + return ObjectG.getDObject!(Date)(soupCookie.expires, false); + } + + /** Ditto */ + public @property void expires(Date value) + { + soupCookie.expires = value.getDateStruct(); + } + + /** + * %TRUE if the cookie should only be tranferred over SSL + */ + public @property bool secure() + { + return soupCookie.secure != 0; + } + + /** Ditto */ + public @property void secure(bool value) + { + soupCookie.secure = value; + } + + /** + * %TRUE if the cookie should not be exposed to scripts + */ + public @property bool httpOnly() + { + return soupCookie.httpOnly != 0; + } + + /** Ditto */ + public @property void httpOnly(bool value) + { + soupCookie.httpOnly = value; + } + + /** */ + public static GType getType() + { + return soup_cookie_get_type(); + } + + /** + * Creates a new #SoupCookie with the given attributes. (Use + * soup_cookie_set_secure() and soup_cookie_set_http_only() if you + * need to set those attributes on the returned cookie.) + * + * If @domain starts with ".", that indicates a domain (which matches + * the string after the ".", or any hostname that has @domain as a + * suffix). Otherwise, it is a hostname and must match exactly. + * + * @max_age is used to set the "expires" attribute on the cookie; pass + * -1 to not include the attribute (indicating that the cookie expires + * with the current session), 0 for an already-expired cookie, or a + * lifetime in seconds. You can use the constants + * %SOUP_COOKIE_MAX_AGE_ONE_HOUR, %SOUP_COOKIE_MAX_AGE_ONE_DAY, + * %SOUP_COOKIE_MAX_AGE_ONE_WEEK and %SOUP_COOKIE_MAX_AGE_ONE_YEAR (or + * multiples thereof) to calculate this value. (If you really care + * about setting the exact time that the cookie will expire, use + * soup_cookie_set_expires().) + * + * Params: + * name = cookie name + * value = cookie value + * domain = cookie domain or hostname + * path = cookie path, or %NULL + * maxAge = max age of the cookie, or -1 for a session cookie + * + * Returns: a new #SoupCookie. + * + * Since: 2.24 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string name, string value, string domain, string path, int maxAge) + { + auto __p = soup_cookie_new(Str.toStringz(name), Str.toStringz(value), Str.toStringz(domain), Str.toStringz(path), maxAge); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupCookie*) __p); + } + + /** + * Tests if @cookie should be sent to @uri. + * + * (At the moment, this does not check that @cookie's domain matches + * @uri, because it assumes that the caller has already done that. + * But don't rely on that; it may change in the future.) + * + * Params: + * uri = a #SoupURI + * + * Returns: %TRUE if @cookie should be sent to @uri, %FALSE if + * not + * + * Since: 2.24 + */ + public bool appliesToUri(URI uri) + { + return soup_cookie_applies_to_uri(soupCookie, (uri is null) ? null : uri.getURIStruct()) != 0; + } + + /** + * Copies @cookie. + * + * Returns: a copy of @cookie + * + * Since: 2.24 + */ + public Cookie copy() + { + auto __p = soup_cookie_copy(soupCookie); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Cookie)(cast(SoupCookie*) __p, true); + } + + /** + * Checks if the @cookie's domain and @host match in the sense that + * @cookie should be sent when making a request to @host, or that + * @cookie should be accepted when receiving a response from @host. + * + * Params: + * host = a URI + * + * Returns: %TRUE if the domains match, %FALSE otherwise + * + * Since: 2.30 + */ + public bool domainMatches(string host) + { + return soup_cookie_domain_matches(soupCookie, Str.toStringz(host)) != 0; + } + + /** + * Tests if @cookie1 and @cookie2 are equal. + * + * Note that currently, this does not check that the cookie domains + * match. This may change in the future. + * + * Params: + * cookie2 = a #SoupCookie + * + * Returns: whether the cookies are equal. + * + * Since: 2.24 + */ + public bool equal(Cookie cookie2) + { + return soup_cookie_equal(soupCookie, (cookie2 is null) ? null : cookie2.getCookieStruct()) != 0; + } + + /** + * Frees @cookie + * + * Since: 2.24 + */ + public void free() + { + soup_cookie_free(soupCookie); + ownedRef = false; + } + + /** + * Gets @cookie's domain + * + * Returns: @cookie's domain + * + * Since: 2.32 + */ + public string getDomain() + { + return Str.toString(soup_cookie_get_domain(soupCookie)); + } + + /** + * Gets @cookie's expiration time. + * + * Returns: @cookie's expiration + * time, which is owned by @cookie and should not be modified or + * freed. + * + * Since: 2.32 + */ + public Date getExpires() + { + auto __p = soup_cookie_get_expires(soupCookie); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Date)(cast(SoupDate*) __p); + } + + /** + * Gets @cookie's HttpOnly attribute + * + * Returns: @cookie's HttpOnly attribute + * + * Since: 2.32 + */ + public bool getHttpOnly() + { + return soup_cookie_get_http_only(soupCookie) != 0; + } + + /** + * Gets @cookie's name + * + * Returns: @cookie's name + * + * Since: 2.32 + */ + public string getName() + { + return Str.toString(soup_cookie_get_name(soupCookie)); + } + + /** + * Gets @cookie's path + * + * Returns: @cookie's path + * + * Since: 2.32 + */ + public string getPath() + { + return Str.toString(soup_cookie_get_path(soupCookie)); + } + + /** + * Returns: a #SoupSameSitePolicy + * + * Since: 2.70 + */ + public SoupSameSitePolicy getSameSitePolicy() + { + return soup_cookie_get_same_site_policy(soupCookie); + } + + /** + * Gets @cookie's secure attribute + * + * Returns: @cookie's secure attribute + * + * Since: 2.32 + */ + public bool getSecure() + { + return soup_cookie_get_secure(soupCookie) != 0; + } + + /** + * Gets @cookie's value + * + * Returns: @cookie's value + * + * Since: 2.32 + */ + public string getValue() + { + return Str.toString(soup_cookie_get_value(soupCookie)); + } + + /** + * Sets @cookie's domain to @domain + * + * Params: + * domain = the new domain + * + * Since: 2.24 + */ + public void setDomain(string domain) + { + soup_cookie_set_domain(soupCookie, Str.toStringz(domain)); + } + + /** + * Sets @cookie's expiration time to @expires. If @expires is %NULL, + * @cookie will be a session cookie and will expire at the end of the + * client's session. + * + * (This sets the same property as soup_cookie_set_max_age().) + * + * Params: + * expires = the new expiration time, or %NULL + * + * Since: 2.24 + */ + public void setExpires(Date expires) + { + soup_cookie_set_expires(soupCookie, (expires is null) ? null : expires.getDateStruct()); + } + + /** + * Sets @cookie's HttpOnly attribute to @http_only. If %TRUE, @cookie + * will be marked as "http only", meaning it should not be exposed to + * web page scripts or other untrusted code. + * + * Params: + * httpOnly = the new value for the HttpOnly attribute + * + * Since: 2.24 + */ + public void setHttpOnly(bool httpOnly) + { + soup_cookie_set_http_only(soupCookie, httpOnly); + } + + /** + * Sets @cookie's max age to @max_age. If @max_age is -1, the cookie + * is a session cookie, and will expire at the end of the client's + * session. Otherwise, it is the number of seconds until the cookie + * expires. You can use the constants %SOUP_COOKIE_MAX_AGE_ONE_HOUR, + * %SOUP_COOKIE_MAX_AGE_ONE_DAY, %SOUP_COOKIE_MAX_AGE_ONE_WEEK and + * %SOUP_COOKIE_MAX_AGE_ONE_YEAR (or multiples thereof) to calculate + * this value. (A value of 0 indicates that the cookie should be + * considered already-expired.) + * + * (This sets the same property as soup_cookie_set_expires().) + * + * Params: + * maxAge = the new max age + * + * Since: 2.24 + */ + public void setMaxAge(int maxAge) + { + soup_cookie_set_max_age(soupCookie, maxAge); + } + + /** + * Sets @cookie's name to @name + * + * Params: + * name = the new name + * + * Since: 2.24 + */ + public void setName(string name) + { + soup_cookie_set_name(soupCookie, Str.toStringz(name)); + } + + /** + * Sets @cookie's path to @path + * + * Params: + * path = the new path + * + * Since: 2.24 + */ + public void setPath(string path) + { + soup_cookie_set_path(soupCookie, Str.toStringz(path)); + } + + /** + * When used in conjunction with soup_cookie_jar_get_cookie_list_with_same_site_info() this + * sets the policy of when this cookie should be exposed. + * + * Params: + * policy = a #SoupSameSitePolicy + * + * Since: 2.70 + */ + public void setSameSitePolicy(SoupSameSitePolicy policy) + { + soup_cookie_set_same_site_policy(soupCookie, policy); + } + + /** + * Sets @cookie's secure attribute to @secure. If %TRUE, @cookie will + * only be transmitted from the client to the server over secure + * (https) connections. + * + * Params: + * secure = the new value for the secure attribute + * + * Since: 2.24 + */ + public void setSecure(bool secure) + { + soup_cookie_set_secure(soupCookie, secure); + } + + /** + * Sets @cookie's value to @value + * + * Params: + * value = the new value + * + * Since: 2.24 + */ + public void setValue(string value) + { + soup_cookie_set_value(soupCookie, Str.toStringz(value)); + } + + /** + * Serializes @cookie in the format used by the Cookie header (ie, for + * returning a cookie from a #SoupSession to a server). + * + * Returns: the header + * + * Since: 2.24 + */ + public string toCookieHeader() + { + auto retStr = soup_cookie_to_cookie_header(soupCookie); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Serializes @cookie in the format used by the Set-Cookie header + * (ie, for sending a cookie from a #SoupServer to a client). + * + * Returns: the header + * + * Since: 2.24 + */ + public string toSetCookieHeader() + { + auto retStr = soup_cookie_to_set_cookie_header(soupCookie); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Parses @header and returns a #SoupCookie. (If @header contains + * multiple cookies, only the first one will be parsed.) + * + * If @header does not have "path" or "domain" attributes, they will + * be defaulted from @origin. If @origin is %NULL, path will default + * to "/", but domain will be left as %NULL. Note that this is not a + * valid state for a #SoupCookie, and you will need to fill in some + * appropriate string for the domain if you want to actually make use + * of the cookie. + * + * Params: + * header = a cookie string (eg, the value of a Set-Cookie header) + * origin = origin of the cookie, or %NULL + * + * Returns: a new #SoupCookie, or %NULL if it could + * not be parsed, or contained an illegal "domain" attribute for a + * cookie originating from @origin. + * + * Since: 2.24 + */ + public static Cookie parse(string header, URI origin) + { + auto __p = soup_cookie_parse(Str.toStringz(header), (origin is null) ? null : origin.getURIStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Cookie)(cast(SoupCookie*) __p, true); + } +} diff --git a/source/generated/soup/soup/CookieJar.d b/source/generated/soup/soup/CookieJar.d new file mode 100644 index 000000000..99c3f3f17 --- /dev/null +++ b/source/generated/soup/soup/CookieJar.d @@ -0,0 +1,409 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.CookieJar; + +private import glib.ConstructionException; +private import glib.ListSG; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gobject.Signals; +private import soup.Cookie; +private import soup.SessionFeatureIF; +private import soup.SessionFeatureT; +private import soup.URI; +private import soup.c.functions; +public import soup.c.types; +private import std.algorithm; + + +/** */ +public class CookieJar : ObjectG, SessionFeatureIF +{ + /** the main Gtk struct */ + protected SoupCookieJar* soupCookieJar; + + /** Get the main Gtk struct */ + public SoupCookieJar* getCookieJarStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupCookieJar; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupCookieJar; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupCookieJar* soupCookieJar, bool ownedRef = false) + { + this.soupCookieJar = soupCookieJar; + super(cast(GObject*)soupCookieJar, ownedRef); + } + + // add the SessionFeature capabilities + mixin SessionFeatureT!(SoupCookieJar); + + + /** */ + public static GType getType() + { + return soup_cookie_jar_get_type(); + } + + /** + * Creates a new #SoupCookieJar. The base #SoupCookieJar class does + * not support persistent storage of cookies; use a subclass for that. + * + * Returns: a new #SoupCookieJar + * + * Since: 2.24 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = soup_cookie_jar_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupCookieJar*) __p, true); + } + + /** + * Adds @cookie to @jar, emitting the 'changed' signal if we are modifying + * an existing cookie or adding a valid new cookie ('valid' means + * that the cookie's expire date is not in the past). + * + * @cookie will be 'stolen' by the jar, so don't free it afterwards. + * + * Params: + * cookie = a #SoupCookie + * + * Since: 2.26 + */ + public void addCookie(Cookie cookie) + { + soup_cookie_jar_add_cookie(soupCookieJar, (cookie is null) ? null : cookie.getCookieStruct(true)); + } + + /** + * Adds @cookie to @jar, emitting the 'changed' signal if we are modifying + * an existing cookie or adding a valid new cookie ('valid' means + * that the cookie's expire date is not in the past). + * + * @first_party will be used to reject cookies coming from third party + * resources in case such a security policy is set in the @jar. + * + * @uri will be used to reject setting or overwriting secure cookies + * from insecure origins. %NULL is treated as secure. + * + * @cookie will be 'stolen' by the jar, so don't free it afterwards. + * + * Params: + * cookie = a #SoupCookie + * uri = the URI setting the cookie + * firstParty = the URI for the main document + * + * Since: 2.68 + */ + public void addCookieFull(Cookie cookie, URI uri, URI firstParty) + { + soup_cookie_jar_add_cookie_full(soupCookieJar, (cookie is null) ? null : cookie.getCookieStruct(true), (uri is null) ? null : uri.getURIStruct(), (firstParty is null) ? null : firstParty.getURIStruct()); + } + + /** + * Adds @cookie to @jar, emitting the 'changed' signal if we are modifying + * an existing cookie or adding a valid new cookie ('valid' means + * that the cookie's expire date is not in the past). + * + * @first_party will be used to reject cookies coming from third party + * resources in case such a security policy is set in the @jar. + * + * @cookie will be 'stolen' by the jar, so don't free it afterwards. + * + * For secure cookies to work properly you may want to use + * soup_cookie_jar_add_cookie_full(). + * + * Params: + * firstParty = the URI for the main document + * cookie = a #SoupCookie + * + * Since: 2.40 + */ + public void addCookieWithFirstParty(URI firstParty, Cookie cookie) + { + soup_cookie_jar_add_cookie_with_first_party(soupCookieJar, (firstParty is null) ? null : firstParty.getURIStruct(), (cookie is null) ? null : cookie.getCookieStruct(true)); + } + + /** + * Constructs a #GSList with every cookie inside the @jar. + * The cookies in the list are a copy of the original, so + * you have to free them when you are done with them. + * + * Returns: a #GSList + * with all the cookies in the @jar. + * + * Since: 2.26 + */ + public ListSG allCookies() + { + auto __p = soup_cookie_jar_all_cookies(soupCookieJar); + + if(__p is null) + { + return null; + } + + return new ListSG(cast(GSList*) __p, true); + } + + /** + * Deletes @cookie from @jar, emitting the 'changed' signal. + * + * Params: + * cookie = a #SoupCookie + * + * Since: 2.26 + */ + public void deleteCookie(Cookie cookie) + { + soup_cookie_jar_delete_cookie(soupCookieJar, (cookie is null) ? null : cookie.getCookieStruct()); + } + + /** + * Gets @jar's #SoupCookieJarAcceptPolicy + * + * Returns: the #SoupCookieJarAcceptPolicy set in the @jar + * + * Since: 2.30 + */ + public SoupCookieJarAcceptPolicy getAcceptPolicy() + { + return soup_cookie_jar_get_accept_policy(soupCookieJar); + } + + /** + * Retrieves the list of cookies that would be sent with a request to @uri + * as a #GSList of #SoupCookie objects. + * + * If @for_http is %TRUE, the return value will include cookies marked + * "HttpOnly" (that is, cookies that the server wishes to keep hidden + * from client-side scripting operations such as the JavaScript + * document.cookies property). Since #SoupCookieJar sets the Cookie + * header itself when making the actual HTTP request, you should + * almost certainly be setting @for_http to %FALSE if you are calling + * this. + * + * Params: + * uri = a #SoupURI + * forHttp = whether or not the return value is being passed directly + * to an HTTP operation + * + * Returns: a #GSList + * with the cookies in the @jar that would be sent with a request to @uri. + * + * Since: 2.40 + */ + public ListSG getCookieList(URI uri, bool forHttp) + { + auto __p = soup_cookie_jar_get_cookie_list(soupCookieJar, (uri is null) ? null : uri.getURIStruct(), forHttp); + + if(__p is null) + { + return null; + } + + return new ListSG(cast(GSList*) __p, true); + } + + /** + * This is an extended version of soup_cookie_jar_get_cookie_list() that + * provides more information required to use SameSite cookies. See the + * [SameSite cookies spec](https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site-00) + * for more detailed information. + * + * Params: + * uri = a #SoupURI + * topLevel = a #SoupURI for the top level document + * siteForCookies = a #SoupURI indicating the origin to get cookies for + * forHttp = whether or not the return value is being passed directly + * to an HTTP operation + * isSafeMethod = if the HTTP method is safe, as defined by RFC 7231, ignored when @for_http is %FALSE + * isTopLevelNavigation = whether or not the HTTP request is part of + * top level navigation + * + * Returns: a #GSList + * with the cookies in the @jar that would be sent with a request to @uri. + * + * Since: 2.70 + */ + public ListSG getCookieListWithSameSiteInfo(URI uri, URI topLevel, URI siteForCookies, bool forHttp, bool isSafeMethod, bool isTopLevelNavigation) + { + auto __p = soup_cookie_jar_get_cookie_list_with_same_site_info(soupCookieJar, (uri is null) ? null : uri.getURIStruct(), (topLevel is null) ? null : topLevel.getURIStruct(), (siteForCookies is null) ? null : siteForCookies.getURIStruct(), forHttp, isSafeMethod, isTopLevelNavigation); + + if(__p is null) + { + return null; + } + + return new ListSG(cast(GSList*) __p, true); + } + + /** + * Retrieves (in Cookie-header form) the list of cookies that would + * be sent with a request to @uri. + * + * If @for_http is %TRUE, the return value will include cookies marked + * "HttpOnly" (that is, cookies that the server wishes to keep hidden + * from client-side scripting operations such as the JavaScript + * document.cookies property). Since #SoupCookieJar sets the Cookie + * header itself when making the actual HTTP request, you should + * almost certainly be setting @for_http to %FALSE if you are calling + * this. + * + * Params: + * uri = a #SoupURI + * forHttp = whether or not the return value is being passed directly + * to an HTTP operation + * + * Returns: the cookies, in string form, or %NULL if + * there are no cookies for @uri. + * + * Since: 2.24 + */ + public string getCookies(URI uri, bool forHttp) + { + auto retStr = soup_cookie_jar_get_cookies(soupCookieJar, (uri is null) ? null : uri.getURIStruct(), forHttp); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Gets whether @jar stores cookies persistenly. + * + * Returns: %TRUE if @jar storage is persistent or %FALSE otherwise. + * + * Since: 2.40 + */ + public bool isPersistent() + { + return soup_cookie_jar_is_persistent(soupCookieJar) != 0; + } + + /** + * This function exists for backward compatibility, but does not do + * anything any more; cookie jars are saved automatically when they + * are changed. + * + * Deprecated: This is a no-op. + * + * Since: 2.24 + */ + public void save() + { + soup_cookie_jar_save(soupCookieJar); + } + + /** + * Sets @policy as the cookie acceptance policy for @jar. + * + * Params: + * policy = a #SoupCookieJarAcceptPolicy + * + * Since: 2.30 + */ + public void setAcceptPolicy(SoupCookieJarAcceptPolicy policy) + { + soup_cookie_jar_set_accept_policy(soupCookieJar, policy); + } + + /** + * Adds @cookie to @jar, exactly as though it had appeared in a + * Set-Cookie header returned from a request to @uri. + * + * Keep in mind that if the #SoupCookieJarAcceptPolicy set is either + * %SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY or + * %SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY you'll need to use + * soup_cookie_jar_set_cookie_with_first_party(), otherwise the jar + * will have no way of knowing if the cookie is being set by a third + * party or not. + * + * Params: + * uri = the URI setting the cookie + * cookie = the stringified cookie to set + * + * Since: 2.24 + */ + public void setCookie(URI uri, string cookie) + { + soup_cookie_jar_set_cookie(soupCookieJar, (uri is null) ? null : uri.getURIStruct(), Str.toStringz(cookie)); + } + + /** + * Adds @cookie to @jar, exactly as though it had appeared in a + * Set-Cookie header returned from a request to @uri. @first_party + * will be used to reject cookies coming from third party resources in + * case such a security policy is set in the @jar. + * + * Params: + * uri = the URI setting the cookie + * firstParty = the URI for the main document + * cookie = the stringified cookie to set + * + * Since: 2.30 + */ + public void setCookieWithFirstParty(URI uri, URI firstParty, string cookie) + { + soup_cookie_jar_set_cookie_with_first_party(soupCookieJar, (uri is null) ? null : uri.getURIStruct(), (firstParty is null) ? null : firstParty.getURIStruct(), Str.toStringz(cookie)); + } + + /** + * Emitted when @jar changes. If a cookie has been added, + * @new_cookie will contain the newly-added cookie and + * @old_cookie will be %NULL. If a cookie has been deleted, + * @old_cookie will contain the to-be-deleted cookie and + * @new_cookie will be %NULL. If a cookie has been changed, + * @old_cookie will contain its old value, and @new_cookie its + * new value. + * + * Params: + * oldCookie = the old #SoupCookie value + * newCookie = the new #SoupCookie value + */ + gulong addOnChanged(void delegate(Cookie, Cookie, CookieJar) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "changed", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/soup/soup/CookieJarDB.d b/source/generated/soup/soup/CookieJarDB.d new file mode 100644 index 000000000..af61072bb --- /dev/null +++ b/source/generated/soup/soup/CookieJarDB.d @@ -0,0 +1,102 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.CookieJarDB; + +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import soup.CookieJar; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class CookieJarDB : CookieJar +{ + /** the main Gtk struct */ + protected SoupCookieJarDB* soupCookieJarDB; + + /** Get the main Gtk struct */ + public SoupCookieJarDB* getCookieJarDBStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupCookieJarDB; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupCookieJarDB; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupCookieJarDB* soupCookieJarDB, bool ownedRef = false) + { + this.soupCookieJarDB = soupCookieJarDB; + super(cast(SoupCookieJar*)soupCookieJarDB, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_cookie_jar_db_get_type(); + } + + /** + * Creates a #SoupCookieJarDB. + * + * @filename will be read in at startup to create an initial set of + * cookies. If @read_only is %FALSE, then the non-session cookies will + * be written to @filename when the 'changed' signal is emitted from + * the jar. (If @read_only is %TRUE, then the cookie jar will only be + * used for this session, and changes made to it will be lost when the + * jar is destroyed.) + * + * Params: + * filename = the filename to read to/write from, or %NULL + * readOnly = %TRUE if @filename is read-only + * + * Returns: the new #SoupCookieJar + * + * Since: 2.42 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string filename, bool readOnly) + { + auto __p = soup_cookie_jar_db_new(Str.toStringz(filename), readOnly); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupCookieJarDB*) __p, true); + } +} diff --git a/source/generated/soup/soup/CookieJarText.d b/source/generated/soup/soup/CookieJarText.d new file mode 100644 index 000000000..a9449463e --- /dev/null +++ b/source/generated/soup/soup/CookieJarText.d @@ -0,0 +1,102 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.CookieJarText; + +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import soup.CookieJar; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class CookieJarText : CookieJar +{ + /** the main Gtk struct */ + protected SoupCookieJarText* soupCookieJarText; + + /** Get the main Gtk struct */ + public SoupCookieJarText* getCookieJarTextStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupCookieJarText; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupCookieJarText; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupCookieJarText* soupCookieJarText, bool ownedRef = false) + { + this.soupCookieJarText = soupCookieJarText; + super(cast(SoupCookieJar*)soupCookieJarText, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_cookie_jar_text_get_type(); + } + + /** + * Creates a #SoupCookieJarText. + * + * @filename will be read in at startup to create an initial set of + * cookies. If @read_only is %FALSE, then the non-session cookies will + * be written to @filename when the 'changed' signal is emitted from + * the jar. (If @read_only is %TRUE, then the cookie jar will only be + * used for this session, and changes made to it will be lost when the + * jar is destroyed.) + * + * Params: + * filename = the filename to read to/write from + * readOnly = %TRUE if @filename is read-only + * + * Returns: the new #SoupCookieJar + * + * Since: 2.26 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string filename, bool readOnly) + { + auto __p = soup_cookie_jar_text_new(Str.toStringz(filename), readOnly); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupCookieJarText*) __p, true); + } +} diff --git a/source/generated/soup/soup/Date.d b/source/generated/soup/soup/Date.d new file mode 100644 index 000000000..564588961 --- /dev/null +++ b/source/generated/soup/soup/Date.d @@ -0,0 +1,491 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.Date; + +private import glib.ConstructionException; +private import glib.MemorySlice; +private import glib.Str; +private import glib.TimeVal; +private import glib.c.functions; +private import gobject.ObjectG; +private import linker.Loader; +private import soup.c.functions; +public import soup.c.types; + + +/** + * A date and time. The date is assumed to be in the (proleptic) + * Gregorian calendar. The time is in UTC if @utc is %TRUE. Otherwise, + * the time is a local time, and @offset gives the offset from UTC in + * minutes (such that adding @offset to the time would give the + * correct UTC time). If @utc is %FALSE and @offset is 0, then the + * %SoupDate represents a "floating" time with no associated timezone + * information. + */ +public final class Date +{ + /** the main Gtk struct */ + protected SoupDate* soupDate; + protected bool ownedRef; + + /** Get the main Gtk struct */ + public SoupDate* getDateStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupDate; + } + + /** the main Gtk struct as a void* */ + protected void* getStruct() + { + return cast(void*)soupDate; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupDate* soupDate, bool ownedRef = false) + { + this.soupDate = soupDate; + this.ownedRef = ownedRef; + } + + ~this () + { + if ( Linker.isLoaded(LIBRARY_SOUP[0]) && ownedRef ) + soup_date_free(soupDate); + } + + + /** + * the year, 1 to 9999 + */ + public @property int year() + { + return soupDate.year; + } + + /** Ditto */ + public @property void year(int value) + { + soupDate.year = value; + } + + /** + * the month, 1 to 12 + */ + public @property int month() + { + return soupDate.month; + } + + /** Ditto */ + public @property void month(int value) + { + soupDate.month = value; + } + + /** + * day of the month, 1 to 31 + */ + public @property int day() + { + return soupDate.day; + } + + /** Ditto */ + public @property void day(int value) + { + soupDate.day = value; + } + + /** + * hour of the day, 0 to 23 + */ + public @property int hour() + { + return soupDate.hour; + } + + /** Ditto */ + public @property void hour(int value) + { + soupDate.hour = value; + } + + /** + * minute, 0 to 59 + */ + public @property int minute() + { + return soupDate.minute; + } + + /** Ditto */ + public @property void minute(int value) + { + soupDate.minute = value; + } + + /** + * second, 0 to 59 (or up to 61 in the case of leap seconds) + */ + public @property int second() + { + return soupDate.second; + } + + /** Ditto */ + public @property void second(int value) + { + soupDate.second = value; + } + + /** + * %TRUE if the date is in UTC + */ + public @property bool utc() + { + return soupDate.utc != 0; + } + + /** Ditto */ + public @property void utc(bool value) + { + soupDate.utc = value; + } + + /** + * offset from UTC + */ + public @property int offset() + { + return soupDate.offset; + } + + /** Ditto */ + public @property void offset(int value) + { + soupDate.offset = value; + } + + /** */ + public static GType getType() + { + return soup_date_get_type(); + } + + /** + * Creates a #SoupDate representing the indicated time, UTC. + * + * Params: + * year = the year (1-9999) + * month = the month (1-12) + * day = the day of the month (1-31, as appropriate for @month) + * hour = the hour (0-23) + * minute = the minute (0-59) + * second = the second (0-59, or up to 61 for leap seconds) + * + * Returns: a new #SoupDate + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(int year, int month, int day, int hour, int minute, int second) + { + auto __p = soup_date_new(year, month, day, hour, minute, second); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupDate*) __p); + } + + /** + * Creates a #SoupDate representing a time @offset_seconds after the + * current time (or before it, if @offset_seconds is negative). If + * offset_seconds is 0, returns the current time. + * + * If @offset_seconds would indicate a time not expressible as a + * time_t, the return value will be clamped into range. + * + * Params: + * offsetSeconds = offset from current time + * + * Returns: a new #SoupDate + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(int offsetSeconds) + { + auto __p = soup_date_new_from_now(offsetSeconds); + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_now"); + } + + this(cast(SoupDate*) __p); + } + + /** + * Parses @date_string and tries to extract a date from it. This + * recognizes all of the "HTTP-date" formats from RFC 2616, all ISO + * 8601 formats containing both a time and a date, RFC 2822 dates, + * and reasonable approximations thereof. (Eg, it is lenient about + * whitespace, leading "0"s, etc.) + * + * Params: + * dateString = the date in some plausible format + * + * Returns: a new #SoupDate, or %NULL if @date_string + * could not be parsed. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string dateString) + { + auto __p = soup_date_new_from_string(Str.toStringz(dateString)); + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_string"); + } + + this(cast(SoupDate*) __p); + } + + /** + * Creates a #SoupDate corresponding to @when + * + * Params: + * when = a time_t + * + * Returns: a new #SoupDate + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(uint when) + { + auto __p = soup_date_new_from_time_t(when); + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_time_t"); + } + + this(cast(SoupDate*) __p); + } + + /** + * Copies @date. + * + * Since: 2.24 + */ + public Date copy() + { + auto __p = soup_date_copy(soupDate); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Date)(cast(SoupDate*) __p, true); + } + + /** + * Frees @date. + * + * Since: 2.24 + */ + public void free() + { + soup_date_free(soupDate); + ownedRef = false; + } + + /** + * Gets @date's day. + * + * Returns: @date's day + * + * Since: 2.32 + */ + public int getDay() + { + return soup_date_get_day(soupDate); + } + + /** + * Gets @date's hour. + * + * Returns: @date's hour + * + * Since: 2.32 + */ + public int getHour() + { + return soup_date_get_hour(soupDate); + } + + /** + * Gets @date's minute. + * + * Returns: @date's minute + * + * Since: 2.32 + */ + public int getMinute() + { + return soup_date_get_minute(soupDate); + } + + /** + * Gets @date's month. + * + * Returns: @date's month + * + * Since: 2.32 + */ + public int getMonth() + { + return soup_date_get_month(soupDate); + } + + /** + * Gets @date's offset from UTC. + * + * Returns: @date's offset from UTC. If soup_date_get_utc() + * returns %FALSE but soup_date_get_offset() returns 0, that means the + * date is a "floating" time with no associated offset information. + * + * Since: 2.32 + */ + public int getOffset() + { + return soup_date_get_offset(soupDate); + } + + /** + * Gets @date's second. + * + * Returns: @date's second + * + * Since: 2.32 + */ + public int getSecond() + { + return soup_date_get_second(soupDate); + } + + /** + * Gets @date's UTC flag + * + * Returns: %TRUE if @date is UTC. + * + * Since: 2.32 + */ + public int getUtc() + { + return soup_date_get_utc(soupDate); + } + + /** + * Gets @date's year. + * + * Returns: @date's year + * + * Since: 2.32 + */ + public int getYear() + { + return soup_date_get_year(soupDate); + } + + /** + * Determines if @date is in the past. + * + * Returns: %TRUE if @date is in the past + * + * Since: 2.24 + */ + public bool isPast() + { + return soup_date_is_past(soupDate) != 0; + } + + /** + * Converts @date to a string in the format described by @format. + * + * Params: + * format = the format to generate the date in + * + * Returns: @date as a string + */ + public string toString(SoupDateFormat format) + { + auto retStr = soup_date_to_string(soupDate, format); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Converts @date to a time_t, assumming it to be in + * UTC. + * + * If @date is not representable as a time_t, it will be + * clamped into range. (In particular, some HTTP cookies have + * expiration dates after "Y2.038k" (2038-01-19T03:14:07Z).) + * + * Returns: @date as a time_t + */ + public uint to_time_t() + { + return soup_date_to_time_t(soupDate); + } + + /** + * Converts @date to a #GTimeVal. + * + * Deprecated: Do not use #GTimeVal, as it's not Y2038-safe. + * + * Params: + * time = a #GTimeVal structure in which to store the converted time. + * + * Since: 2.24 + */ + public void toTimeval(out TimeVal time) + { + GTimeVal* outtime = sliceNew!GTimeVal(); + + soup_date_to_timeval(soupDate, outtime); + + time = new TimeVal(outtime, true); + } +} diff --git a/source/generated/soup/soup/HSTSEnforcer.d b/source/generated/soup/soup/HSTSEnforcer.d new file mode 100644 index 000000000..140765341 --- /dev/null +++ b/source/generated/soup/soup/HSTSEnforcer.d @@ -0,0 +1,247 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.HSTSEnforcer; + +private import glib.ConstructionException; +private import glib.ListG; +private import glib.Str; +private import gobject.ObjectG; +private import gobject.Signals; +private import soup.HSTSPolicy; +private import soup.Message; +private import soup.SessionFeatureIF; +private import soup.SessionFeatureT; +private import soup.c.functions; +public import soup.c.types; +private import std.algorithm; + + +/** */ +public class HSTSEnforcer : ObjectG, SessionFeatureIF +{ + /** the main Gtk struct */ + protected SoupHSTSEnforcer* soupHSTSEnforcer; + + /** Get the main Gtk struct */ + public SoupHSTSEnforcer* getHSTSEnforcerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupHSTSEnforcer; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupHSTSEnforcer; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupHSTSEnforcer* soupHSTSEnforcer, bool ownedRef = false) + { + this.soupHSTSEnforcer = soupHSTSEnforcer; + super(cast(GObject*)soupHSTSEnforcer, ownedRef); + } + + // add the SessionFeature capabilities + mixin SessionFeatureT!(SoupHSTSEnforcer); + + + /** */ + public static GType getType() + { + return soup_hsts_enforcer_get_type(); + } + + /** + * Creates a new #SoupHSTSEnforcer. The base #SoupHSTSEnforcer class + * does not support persistent storage of HSTS policies, see + * #SoupHSTSEnforcerDB for that. + * + * Returns: a new #SoupHSTSEnforcer + * + * Since: 2.68 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = soup_hsts_enforcer_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupHSTSEnforcer*) __p, true); + } + + /** + * Gets a list of domains for which there are policies in @enforcer. + * + * Params: + * sessionPolicies = whether to include session policies + * + * Returns: a newly allocated + * list of domains. Use g_list_free_full() and g_free() to free the + * list. + * + * Since: 2.68 + */ + public ListG getDomains(bool sessionPolicies) + { + auto __p = soup_hsts_enforcer_get_domains(soupHSTSEnforcer, sessionPolicies); + + if(__p is null) + { + return null; + } + + return new ListG(cast(GList*) __p, true); + } + + /** + * Gets a list with the policies in @enforcer. + * + * Params: + * sessionPolicies = whether to include session policies + * + * Returns: a newly + * allocated list of policies. Use g_list_free_full() and + * soup_hsts_policy_free() to free the list. + * + * Since: 2.68 + */ + public ListG getPolicies(bool sessionPolicies) + { + auto __p = soup_hsts_enforcer_get_policies(soupHSTSEnforcer, sessionPolicies); + + if(__p is null) + { + return null; + } + + return new ListG(cast(GList*) __p, true); + } + + /** + * Gets whether @hsts_enforcer has a currently valid policy for @domain. + * + * Params: + * domain = a domain. + * + * Returns: %TRUE if access to @domain should happen over HTTPS, false + * otherwise. + * + * Since: 2.68 + */ + public bool hasValidPolicy(string domain) + { + return soup_hsts_enforcer_has_valid_policy(soupHSTSEnforcer, Str.toStringz(domain)) != 0; + } + + /** + * Gets whether @hsts_enforcer stores policies persistenly. + * + * Returns: %TRUE if @hsts_enforcer storage is persistent or %FALSE otherwise. + * + * Since: 2.68 + */ + public bool isPersistent() + { + return soup_hsts_enforcer_is_persistent(soupHSTSEnforcer) != 0; + } + + /** + * Sets @policy to @hsts_enforcer. If @policy is expired, any + * existing HSTS policy for its host will be removed instead. If a + * policy existed for this host, it will be replaced. Otherwise, the + * new policy will be inserted. If the policy is a session policy, that + * is, one created with soup_hsts_policy_new_session_policy(), the policy + * will not expire and will be enforced during the lifetime of + * @hsts_enforcer's #SoupSession. + * + * Params: + * policy = the policy of the HSTS host + * + * Since: 2.68 + */ + public void setPolicy(HSTSPolicy policy) + { + soup_hsts_enforcer_set_policy(soupHSTSEnforcer, (policy is null) ? null : policy.getHSTSPolicyStruct()); + } + + /** + * Sets a session policy for @domain. A session policy is a policy + * that is permanent to the lifetime of @hsts_enforcer's #SoupSession + * and doesn't expire. + * + * Params: + * domain = policy domain or hostname + * includeSubdomains = %TRUE if the policy applies on sub domains + * + * Since: 2.68 + */ + public void setSessionPolicy(string domain, bool includeSubdomains) + { + soup_hsts_enforcer_set_session_policy(soupHSTSEnforcer, Str.toStringz(domain), includeSubdomains); + } + + /** + * Emitted when @hsts_enforcer changes. If a policy has been added, + * @new_policy will contain the newly-added policy and + * @old_policy will be %NULL. If a policy has been deleted, + * @old_policy will contain the to-be-deleted policy and + * @new_policy will be %NULL. If a policy has been changed, + * @old_policy will contain its old value, and @new_policy its + * new value. + * + * Note that you shouldn't modify the policies from a callback to + * this signal. + * + * Params: + * oldPolicy = the old #SoupHSTSPolicy value + * newPolicy = the new #SoupHSTSPolicy value + */ + gulong addOnChanged(void delegate(HSTSPolicy, HSTSPolicy, HSTSEnforcer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "changed", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when @hsts_enforcer has upgraded the protocol + * for @message to HTTPS as a result of matching its domain with + * a HSTS policy. + * + * Params: + * message = the message for which HSTS is being enforced + */ + gulong addOnHstsEnforced(void delegate(Message, HSTSEnforcer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "hsts-enforced", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/soup/soup/HSTSEnforcerDB.d b/source/generated/soup/soup/HSTSEnforcerDB.d new file mode 100644 index 000000000..0179b0ffa --- /dev/null +++ b/source/generated/soup/soup/HSTSEnforcerDB.d @@ -0,0 +1,101 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.HSTSEnforcerDB; + +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import soup.HSTSEnforcer; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class HSTSEnforcerDB : HSTSEnforcer +{ + /** the main Gtk struct */ + protected SoupHSTSEnforcerDB* soupHSTSEnforcerDB; + + /** Get the main Gtk struct */ + public SoupHSTSEnforcerDB* getHSTSEnforcerDBStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupHSTSEnforcerDB; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupHSTSEnforcerDB; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupHSTSEnforcerDB* soupHSTSEnforcerDB, bool ownedRef = false) + { + this.soupHSTSEnforcerDB = soupHSTSEnforcerDB; + super(cast(SoupHSTSEnforcer*)soupHSTSEnforcerDB, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_hsts_enforcer_db_get_type(); + } + + /** + * Creates a #SoupHSTSEnforcerDB. + * + * @filename will be read in during the initialization of a + * #SoupHSTSEnforcerDB, in order to create an initial set of HSTS + * policies. If the file doesn't exist, a new database will be created + * and initialized. Changes to the policies during the lifetime of a + * #SoupHSTSEnforcerDB will be written to @filename when + * #SoupHSTSEnforcer::changed is emitted. + * + * Params: + * filename = the filename of the database to read/write from. + * + * Returns: the new #SoupHSTSEnforcer + * + * Since: 2.68 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string filename) + { + auto __p = soup_hsts_enforcer_db_new(Str.toStringz(filename)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupHSTSEnforcerDB*) __p, true); + } +} diff --git a/source/generated/soup/soup/HSTSPolicy.d b/source/generated/soup/soup/HSTSPolicy.d new file mode 100644 index 000000000..e30842124 --- /dev/null +++ b/source/generated/soup/soup/HSTSPolicy.d @@ -0,0 +1,377 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.HSTSPolicy; + +private import glib.ConstructionException; +private import glib.MemorySlice; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import linker.Loader; +private import soup.Date; +private import soup.Message; +private import soup.c.functions; +public import soup.c.types; + + +/** + * An HTTP Strict Transport Security policy. + * + * @domain represents the host that this policy applies to. The domain + * must be IDNA-canonicalized. soup_hsts_policy_new() and related methods + * will do this for you. + * + * @max_age contains the 'max-age' value from the Strict Transport + * Security header and indicates the time to live of this policy, + * in seconds. + * + * @expires will be non-%NULL if the policy has been set by the host and + * hence has an expiry time. If @expires is %NULL, it indicates that the + * policy is a permanent session policy set by the user agent. + * + * If @include_subdomains is %TRUE, the Strict Transport Security policy + * must also be enforced on subdomains of @domain. + * + * Since: 2.68 + */ +public final class HSTSPolicy +{ + /** the main Gtk struct */ + protected SoupHSTSPolicy* soupHSTSPolicy; + protected bool ownedRef; + + /** Get the main Gtk struct */ + public SoupHSTSPolicy* getHSTSPolicyStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupHSTSPolicy; + } + + /** the main Gtk struct as a void* */ + protected void* getStruct() + { + return cast(void*)soupHSTSPolicy; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupHSTSPolicy* soupHSTSPolicy, bool ownedRef = false) + { + this.soupHSTSPolicy = soupHSTSPolicy; + this.ownedRef = ownedRef; + } + + ~this () + { + if ( Linker.isLoaded(LIBRARY_SOUP[0]) && ownedRef ) + soup_hsts_policy_free(soupHSTSPolicy); + } + + + /** + * The domain or hostname that the policy applies to + */ + public @property string domain() + { + return Str.toString(soupHSTSPolicy.domain); + } + + /** Ditto */ + public @property void domain(string value) + { + soupHSTSPolicy.domain = Str.toStringz(value); + } + + /** + * The maximum age, in seconds, that the policy is valid + */ + public @property ulong maxAge() + { + return soupHSTSPolicy.maxAge; + } + + /** Ditto */ + public @property void maxAge(ulong value) + { + soupHSTSPolicy.maxAge = value; + } + + /** + * the policy expiration time, or %NULL for a permanent session policy + */ + public @property Date expires() + { + return ObjectG.getDObject!(Date)(soupHSTSPolicy.expires, false); + } + + /** Ditto */ + public @property void expires(Date value) + { + soupHSTSPolicy.expires = value.getDateStruct(); + } + + /** + * %TRUE if the policy applies on subdomains + */ + public @property bool includeSubdomains() + { + return soupHSTSPolicy.includeSubdomains != 0; + } + + /** Ditto */ + public @property void includeSubdomains(bool value) + { + soupHSTSPolicy.includeSubdomains = value; + } + + /** */ + public static GType getType() + { + return soup_hsts_policy_get_type(); + } + + /** + * Creates a new #SoupHSTSPolicy with the given attributes. + * + * @domain is a domain on which the strict transport security policy + * represented by this object must be enforced. + * + * @max_age is used to set the "expires" attribute on the policy; pass + * SOUP_HSTS_POLICY_MAX_AGE_PAST for an already-expired policy, or a + * lifetime in seconds. + * + * If @include_subdomains is %TRUE, the strict transport security policy + * must also be enforced on all subdomains of @domain. + * + * Params: + * domain = policy domain or hostname + * maxAge = max age of the policy + * includeSubdomains = %TRUE if the policy applies on subdomains + * + * Returns: a new #SoupHSTSPolicy. + * + * Since: 2.68 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string domain, ulong maxAge, bool includeSubdomains) + { + auto __p = soup_hsts_policy_new(Str.toStringz(domain), maxAge, includeSubdomains); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupHSTSPolicy*) __p); + } + + /** + * Parses @msg's first "Strict-Transport-Security" response header and + * returns a #SoupHSTSPolicy. + * + * Params: + * msg = a #SoupMessage + * + * Returns: a new #SoupHSTSPolicy, or %NULL if no valid + * "Strict-Transport-Security" response header was found. + * + * Since: 2.68 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Message msg) + { + auto __p = soup_hsts_policy_new_from_response((msg is null) ? null : msg.getMessageStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_response"); + } + + this(cast(SoupHSTSPolicy*) __p); + } + + /** + * Full version of #soup_hsts_policy_new(), to use with an existing + * expiration date. See #soup_hsts_policy_new() for details. + * + * Params: + * domain = policy domain or hostname + * maxAge = max age of the policy + * expires = the date of expiration of the policy or %NULL for a permanent policy + * includeSubdomains = %TRUE if the policy applies on subdomains + * + * Returns: a new #SoupHSTSPolicy. + * + * Since: 2.68 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string domain, ulong maxAge, Date expires, bool includeSubdomains) + { + auto __p = soup_hsts_policy_new_full(Str.toStringz(domain), maxAge, (expires is null) ? null : expires.getDateStruct(), includeSubdomains); + + if(__p is null) + { + throw new ConstructionException("null returned by new_full"); + } + + this(cast(SoupHSTSPolicy*) __p); + } + + /** + * Creates a new session #SoupHSTSPolicy with the given attributes. + * A session policy is a policy that is valid during the lifetime of + * the #SoupHSTSEnforcer it is added to. Contrary to regular policies, + * it has no expiration date and is not stored in persistent + * enforcers. These policies are useful for user-agent to load their + * own or user-defined rules. + * + * @domain is a domain on which the strict transport security policy + * represented by this object must be enforced. + * + * If @include_subdomains is %TRUE, the strict transport security policy + * must also be enforced on all subdomains of @domain. + * + * Params: + * domain = policy domain or hostname + * includeSubdomains = %TRUE if the policy applies on sub domains + * + * Returns: a new #SoupHSTSPolicy. + * + * Since: 2.68 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string domain, bool includeSubdomains) + { + auto __p = soup_hsts_policy_new_session_policy(Str.toStringz(domain), includeSubdomains); + + if(__p is null) + { + throw new ConstructionException("null returned by new_session_policy"); + } + + this(cast(SoupHSTSPolicy*) __p); + } + + /** + * Copies @policy. + * + * Returns: a copy of @policy + * + * Since: 2.68 + */ + public HSTSPolicy copy() + { + auto __p = soup_hsts_policy_copy(soupHSTSPolicy); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(HSTSPolicy)(cast(SoupHSTSPolicy*) __p, true); + } + + /** + * Tests if @policy1 and @policy2 are equal. + * + * Params: + * policy2 = a #SoupHSTSPolicy + * + * Returns: whether the policies are equal. + * + * Since: 2.68 + */ + public bool equal(HSTSPolicy policy2) + { + return soup_hsts_policy_equal(soupHSTSPolicy, (policy2 is null) ? null : policy2.getHSTSPolicyStruct()) != 0; + } + + /** + * Frees @policy. + * + * Since: 2.68 + */ + public void free() + { + soup_hsts_policy_free(soupHSTSPolicy); + ownedRef = false; + } + + /** + * Gets @policy's domain. + * + * Returns: @policy's domain. + * + * Since: 2.68 + */ + public string getDomain() + { + return Str.toString(soup_hsts_policy_get_domain(soupHSTSPolicy)); + } + + /** + * Gets whether @policy include its subdomains. + * + * Returns: %TRUE if @policy includes subdomains, %FALSE otherwise. + * + * Since: 2.68 + */ + public bool includesSubdomains() + { + return soup_hsts_policy_includes_subdomains(soupHSTSPolicy) != 0; + } + + /** + * Gets whether @policy is expired. Permanent policies never + * expire. + * + * Returns: %TRUE if @policy is expired, %FALSE otherwise. + * + * Since: 2.68 + */ + public bool isExpired() + { + return soup_hsts_policy_is_expired(soupHSTSPolicy) != 0; + } + + /** + * Gets whether @policy is a non-permanent, non-expirable session policy. + * see soup_hsts_policy_new_session_policy() for details. + * + * Returns: %TRUE if @policy is permanent, %FALSE otherwise + * + * Since: 2.68 + */ + public bool isSessionPolicy() + { + return soup_hsts_policy_is_session_policy(soupHSTSPolicy) != 0; + } +} diff --git a/source/generated/soup/soup/Logger.d b/source/generated/soup/soup/Logger.d new file mode 100644 index 000000000..cb421644d --- /dev/null +++ b/source/generated/soup/soup/Logger.d @@ -0,0 +1,182 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.Logger; + +private import glib.ConstructionException; +private import gobject.ObjectG; +private import soup.Session; +private import soup.SessionFeatureIF; +private import soup.SessionFeatureT; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class Logger : ObjectG, SessionFeatureIF +{ + /** the main Gtk struct */ + protected SoupLogger* soupLogger; + + /** Get the main Gtk struct */ + public SoupLogger* getLoggerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupLogger; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupLogger; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupLogger* soupLogger, bool ownedRef = false) + { + this.soupLogger = soupLogger; + super(cast(GObject*)soupLogger, ownedRef); + } + + // add the SessionFeature capabilities + mixin SessionFeatureT!(SoupLogger); + + + /** */ + public static GType getType() + { + return soup_logger_get_type(); + } + + /** + * Creates a new #SoupLogger with the given debug level. If @level is + * %SOUP_LOGGER_LOG_BODY, @max_body_size gives the maximum number of + * bytes of the body that will be logged. (-1 means "no limit".) + * + * If you need finer control over what message parts are and aren't + * logged, use soup_logger_set_request_filter() and + * soup_logger_set_response_filter(). + * + * Params: + * level = the debug level + * maxBodySize = the maximum body size to output, or -1 + * + * Returns: a new #SoupLogger + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(SoupLoggerLogLevel level, int maxBodySize) + { + auto __p = soup_logger_new(level, maxBodySize); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupLogger*) __p, true); + } + + /** + * Sets @logger to watch @session and print debug information for + * its messages. + * + * (The session will take a reference on @logger, which will be + * removed when you call soup_logger_detach(), or when the session is + * destroyed.) + * + * Deprecated: Use soup_session_add_feature() instead. + * + * Params: + * session = a #SoupSession + */ + public void attach(Session session) + { + soup_logger_attach(soupLogger, (session is null) ? null : session.getSessionStruct()); + } + + /** + * Stops @logger from watching @session. + * + * Deprecated: Use soup_session_remove_feature() instead. + * + * Params: + * session = a #SoupSession + */ + public void detach(Session session) + { + soup_logger_detach(soupLogger, (session is null) ? null : session.getSessionStruct()); + } + + /** + * Sets up an alternate log printing routine, if you don't want + * the log to go to stdout. + * + * Params: + * printer = the callback for printing logging output + * printerData = data to pass to the callback + * destroy = a #GDestroyNotify to free @printer_data + */ + public void setPrinter(SoupLoggerPrinter printer, void* printerData, GDestroyNotify destroy) + { + soup_logger_set_printer(soupLogger, printer, printerData, destroy); + } + + /** + * Sets up a filter to determine the log level for a given request. + * For each HTTP request @logger will invoke @request_filter to + * determine how much (if any) of that request to log. (If you do not + * set a request filter, @logger will just always log requests at the + * level passed to soup_logger_new().) + * + * Params: + * requestFilter = the callback for request debugging + * filterData = data to pass to the callback + * destroy = a #GDestroyNotify to free @filter_data + */ + public void setRequestFilter(SoupLoggerFilter requestFilter, void* filterData, GDestroyNotify destroy) + { + soup_logger_set_request_filter(soupLogger, requestFilter, filterData, destroy); + } + + /** + * Sets up a filter to determine the log level for a given response. + * For each HTTP response @logger will invoke @response_filter to + * determine how much (if any) of that response to log. (If you do not + * set a response filter, @logger will just always log responses at + * the level passed to soup_logger_new().) + * + * Params: + * responseFilter = the callback for response debugging + * filterData = data to pass to the callback + * destroy = a #GDestroyNotify to free @filter_data + */ + public void setResponseFilter(SoupLoggerFilter responseFilter, void* filterData, GDestroyNotify destroy) + { + soup_logger_set_response_filter(soupLogger, responseFilter, filterData, destroy); + } +} diff --git a/source/generated/soup/soup/Message.d b/source/generated/soup/soup/Message.d new file mode 100644 index 000000000..3154c67ab --- /dev/null +++ b/source/generated/soup/soup/Message.d @@ -0,0 +1,960 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.Message; + +private import gio.IOStream; +private import gio.TlsCertificate; +private import glib.ConstructionException; +private import glib.HashTable; +private import glib.Str; +private import gobject.ObjectG; +private import gobject.Signals; +private import soup.Address; +private import soup.Buffer; +private import soup.Request; +private import soup.URI; +private import soup.c.functions; +public import soup.c.types; +private import std.algorithm; + + +/** + * Represents an HTTP message being sent or received. + * + * @status_code will normally be a #SoupStatus value, eg, + * %SOUP_STATUS_OK, though of course it might actually be an unknown + * status code. @reason_phrase is the actual text returned from the + * server, which may or may not correspond to the "standard" + * description of @status_code. At any rate, it is almost certainly + * not localized, and not very descriptive even if it is in the user's + * language; you should not use @reason_phrase in user-visible + * messages. Rather, you should look at @status_code, and determine an + * end-user-appropriate message based on that and on what you were + * trying to do. + * + * As described in the #SoupMessageBody documentation, the + * @request_body and @response_body data fields + * will not necessarily be filled in at all times. When the body + * fields are filled in, they will be terminated with a '\0' byte + * (which is not included in the length), so you + * can use them as ordinary C strings (assuming that you know that the + * body doesn't have any other '\0' bytes). + * + * For a client-side #SoupMessage, @request_body's + * data is usually filled in right before libsoup + * writes the request to the network, but you should not count on + * this; use soup_message_body_flatten() if you want to ensure that + * data is filled in. If you are not using + * #SoupRequest to read the response, then @response_body's + * data will be filled in before + * #SoupMessage::finished is emitted. (If you are using #SoupRequest, + * then the message body is not accumulated by default, so + * @response_body's data will always be %NULL.) + * + * For a server-side #SoupMessage, @request_body's %data will be + * filled in before #SoupMessage::got_body is emitted. + * + * To prevent the %data field from being filled in at all (eg, if you + * are handling the data from a #SoupMessage::got_chunk, and so don't + * need to see it all at the end), call + * soup_message_body_set_accumulate() on @response_body or + * @request_body as appropriate, passing %FALSE. + */ +public class Message : ObjectG +{ + /** the main Gtk struct */ + protected SoupMessage* soupMessage; + + /** Get the main Gtk struct */ + public SoupMessage* getMessageStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupMessage; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupMessage; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupMessage* soupMessage, bool ownedRef = false) + { + this.soupMessage = soupMessage; + super(cast(GObject*)soupMessage, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_message_get_type(); + } + + /** + * Creates a new empty #SoupMessage, which will connect to @uri + * + * Params: + * method = the HTTP method for the created request + * uriString = the destination endpoint (as a string) + * + * Returns: the new #SoupMessage (or %NULL if @uri + * could not be parsed). + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string method, string uriString) + { + auto __p = soup_message_new(Str.toStringz(method), Str.toStringz(uriString)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupMessage*) __p, true); + } + + /** + * Creates a new empty #SoupMessage, which will connect to @uri + * + * Params: + * method = the HTTP method for the created request + * uri = the destination endpoint (as a #SoupURI) + * + * Returns: the new #SoupMessage + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string method, URI uri) + { + auto __p = soup_message_new_from_uri(Str.toStringz(method), (uri is null) ? null : uri.getURIStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_uri"); + } + + this(cast(SoupMessage*) __p, true); + } + + /** + * Adds a signal handler to @msg for @signal, as with + * g_signal_connect(), but the @callback will only be run if @msg's + * incoming messages headers (that is, the + * request_headers for a client #SoupMessage, or + * the response_headers for a server #SoupMessage) + * contain a header named @header. + * + * Params: + * signal = signal to connect the handler to. + * header = HTTP response header to match against + * callback = the header handler + * userData = data to pass to @handler_cb + * + * Returns: the handler ID from g_signal_connect() + */ + public uint addHeaderHandler(string signal, string header, GCallback callback, void* userData) + { + return soup_message_add_header_handler(soupMessage, Str.toStringz(signal), Str.toStringz(header), callback, userData); + } + + /** + * Adds a signal handler to @msg for @signal, as with + * g_signal_connect(), but the @callback will only be run if @msg has + * the status @status_code. + * + * @signal must be a signal that will be emitted after @msg's status + * is set. For a client #SoupMessage, this means it can't be a "wrote" + * signal. For a server #SoupMessage, this means it can't be a "got" + * signal. + * + * Params: + * signal = signal to connect the handler to. + * statusCode = status code to match against + * callback = the header handler + * userData = data to pass to @handler_cb + * + * Returns: the handler ID from g_signal_connect() + */ + public uint addStatusCodeHandler(string signal, uint statusCode, GCallback callback, void* userData) + { + return soup_message_add_status_code_handler(soupMessage, Str.toStringz(signal), statusCode, callback, userData); + } + + /** */ + public void contentSniffed(string contentType, HashTable params) + { + soup_message_content_sniffed(soupMessage, Str.toStringz(contentType), (params is null) ? null : params.getHashTableStruct()); + } + + /** + * This disables the actions of #SoupSessionFeatures with the + * given @feature_type (or a subclass of that type) on @msg, so that + * @msg is processed as though the feature(s) hadn't been added to the + * session. Eg, passing #SOUP_TYPE_CONTENT_SNIFFER for @feature_type + * will disable Content-Type sniffing on the message. + * + * You must call this before queueing @msg on a session; calling it on + * a message that has already been queued is undefined. In particular, + * you cannot call this on a message that is being requeued after a + * redirect or authentication. + * + * Params: + * featureType = the #GType of a #SoupSessionFeature + * + * Since: 2.28 + */ + public void disableFeature(GType featureType) + { + soup_message_disable_feature(soupMessage, featureType); + } + + /** */ + public void finished() + { + soup_message_finished(soupMessage); + } + + /** + * Gets the address @msg's URI points to. After first setting the + * URI on a message, this will be unresolved, although the message's + * session will resolve it before sending the message. + * + * Returns: the address @msg's URI points to + * + * Since: 2.26 + */ + public Address getAddress() + { + auto __p = soup_message_get_address(soupMessage); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Address)(cast(SoupAddress*) __p); + } + + /** + * Gets @msg's first-party #SoupURI + * + * Returns: the @msg's first party #SoupURI + * + * Since: 2.30 + */ + public URI getFirstParty() + { + auto __p = soup_message_get_first_party(soupMessage); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(URI)(cast(SoupURI*) __p); + } + + /** + * Gets the flags on @msg + * + * Returns: the flags + */ + public SoupMessageFlags getFlags() + { + return soup_message_get_flags(soupMessage); + } + + /** + * Gets the HTTP version of @msg. This is the minimum of the + * version from the request and the version from the response. + * + * Returns: the HTTP version + */ + public SoupHTTPVersion getHttpVersion() + { + return soup_message_get_http_version(soupMessage); + } + + /** + * If @msg is using https (or attempted to use https but got + * %SOUP_STATUS_SSL_FAILED), this retrieves the #GTlsCertificate + * associated with its connection, and the #GTlsCertificateFlags + * showing what problems, if any, have been found with that + * certificate. + * + * This is only meaningful with messages processed by a #SoupSession and is + * not useful for messages received by a #SoupServer + * + * Params: + * certificate = @msg's TLS certificate + * errors = the verification status of @certificate + * + * Returns: %TRUE if @msg used/attempted https, %FALSE if not + * + * Since: 2.34 + */ + public bool getHttpsStatus(out TlsCertificate certificate, out GTlsCertificateFlags errors) + { + GTlsCertificate* outcertificate = null; + + auto __p = soup_message_get_https_status(soupMessage, &outcertificate, &errors) != 0; + + certificate = ObjectG.getDObject!(TlsCertificate)(outcertificate); + + return __p; + } + + /** */ + public bool getIsTopLevelNavigation() + { + return soup_message_get_is_top_level_navigation(soupMessage) != 0; + } + + /** + * Retrieves the #SoupMessagePriority. If not set this value defaults + * to #SOUP_MESSAGE_PRIORITY_NORMAL. + * + * Returns: the priority of the message. + * + * Since: 2.44 + */ + public SoupMessagePriority getPriority() + { + return soup_message_get_priority(soupMessage); + } + + /** + * Gets @msg's site for cookies #SoupURI + * + * Returns: the @msg's site for cookies #SoupURI + * + * Since: 2.70 + */ + public URI getSiteForCookies() + { + auto __p = soup_message_get_site_for_cookies(soupMessage); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(URI)(cast(SoupURI*) __p); + } + + /** + * If @msg is associated with a #SoupRequest, this returns that + * request. Otherwise it returns %NULL. + * + * Returns: @msg's associated #SoupRequest + * + * Since: 2.42 + */ + public Request getSoupRequest() + { + auto __p = soup_message_get_soup_request(soupMessage); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Request)(cast(SoupRequest*) __p); + } + + /** + * Gets @msg's URI + * + * Returns: the URI @msg is targeted for. + */ + public URI getUri() + { + auto __p = soup_message_get_uri(soupMessage); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(URI)(cast(SoupURI*) __p); + } + + /** */ + public void gotBody() + { + soup_message_got_body(soupMessage); + } + + /** */ + public void gotChunk(Buffer chunk) + { + soup_message_got_chunk(soupMessage, (chunk is null) ? null : chunk.getBufferStruct()); + } + + /** */ + public void gotHeaders() + { + soup_message_got_headers(soupMessage); + } + + /** */ + public void gotInformational() + { + soup_message_got_informational(soupMessage); + } + + /** + * Get whether #SoupSessionFeatures of the given @feature_type + * (or a subclass of that type) are disabled on @msg. + * See soup_message_disable_feature(). + * + * Params: + * featureType = the #GType of a #SoupSessionFeature + * + * Returns: %TRUE if feature is disabled, or %FALSE otherwise. + * + * Since: 2.72 + */ + public bool isFeatureDisabled(GType featureType) + { + return soup_message_is_feature_disabled(soupMessage, featureType) != 0; + } + + /** + * Determines whether or not @msg's connection can be kept alive for + * further requests after processing @msg, based on the HTTP version, + * Connection header, etc. + * + * Returns: %TRUE or %FALSE. + */ + public bool isKeepalive() + { + return soup_message_is_keepalive(soupMessage) != 0; + } + + /** */ + public void restarted() + { + soup_message_restarted(soupMessage); + } + + /** + * Sets an alternate chunk-allocation function to use when reading + * @msg's body when using the traditional (ie, + * non-#SoupRequest-based) API. Every time data is available + * to read, libsoup will call @allocator, which should return a + * #SoupBuffer. (See #SoupChunkAllocator for additional details.) + * Libsoup will then read data from the network into that buffer, and + * update the buffer's length to indicate how much + * data it read. + * + * Generally, a custom chunk allocator would be used in conjunction + * with soup_message_body_set_accumulate() %FALSE and + * #SoupMessage::got_chunk, as part of a strategy to avoid unnecessary + * copying of data. However, you cannot assume that every call to the + * allocator will be followed by a call to your + * #SoupMessage::got_chunk handler; if an I/O error occurs, then the + * buffer will be unreffed without ever having been used. If your + * buffer-allocation strategy requires special cleanup, use + * soup_buffer_new_with_owner() rather than doing the cleanup from the + * #SoupMessage::got_chunk handler. + * + * The other thing to remember when using non-accumulating message + * bodies is that the buffer passed to the #SoupMessage::got_chunk + * handler will be unreffed after the handler returns, just as it + * would be in the non-custom-allocated case. If you want to hand the + * chunk data off to some other part of your program to use later, + * you'll need to ref the #SoupBuffer (or its owner, in the + * soup_buffer_new_with_owner() case) to ensure that the data remains + * valid. + * + * Deprecated: #SoupRequest provides a much simpler API that lets you + * read the response directly into your own buffers without needing to + * mess with callbacks, pausing/unpausing, etc. + * + * Params: + * allocator = the chunk allocator callback + * userData = data to pass to @allocator + * destroyNotify = destroy notifier to free @user_data when @msg is + * destroyed + */ + public void setChunkAllocator(SoupChunkAllocator allocator, void* userData, GDestroyNotify destroyNotify) + { + soup_message_set_chunk_allocator(soupMessage, allocator, userData, destroyNotify); + } + + /** + * Sets @first_party as the main document #SoupURI for @msg. For + * details of when and how this is used refer to the documentation for + * #SoupCookieJarAcceptPolicy. + * + * Params: + * firstParty = the #SoupURI for the @msg's first party + * + * Since: 2.30 + */ + public void setFirstParty(URI firstParty) + { + soup_message_set_first_party(soupMessage, (firstParty is null) ? null : firstParty.getURIStruct()); + } + + /** + * Sets the specified flags on @msg. + * + * Params: + * flags = a set of #SoupMessageFlags values + */ + public void setFlags(SoupMessageFlags flags) + { + soup_message_set_flags(soupMessage, flags); + } + + /** + * Sets the HTTP version on @msg. The default version is + * %SOUP_HTTP_1_1. Setting it to %SOUP_HTTP_1_0 will prevent certain + * functionality from being used. + * + * Params: + * version_ = the HTTP version + */ + public void setHttpVersion(SoupHTTPVersion version_) + { + soup_message_set_http_version(soupMessage, version_); + } + + /** + * See the [same-site spec](https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site-00) + * for more information. + * + * Params: + * isTopLevelNavigation = if %TRUE indicate the current request is a top-level navigation + * + * Since: 2.70 + */ + public void setIsTopLevelNavigation(bool isTopLevelNavigation) + { + soup_message_set_is_top_level_navigation(soupMessage, isTopLevelNavigation); + } + + /** + * Sets the priority of a message. Note that this won't have any + * effect unless used before the message is added to the session's + * message processing queue. + * + * The message will be placed just before any other previously added + * message with lower priority (messages with the same priority are + * processed on a FIFO basis). + * + * Setting priorities does not currently work with #SoupSessionSync + * (or with synchronous messages on a plain #SoupSession) because in + * the synchronous/blocking case, priority ends up being determined + * semi-randomly by thread scheduling. + * + * Params: + * priority = the #SoupMessagePriority + * + * Since: 2.44 + */ + public void setPriority(SoupMessagePriority priority) + { + soup_message_set_priority(soupMessage, priority); + } + + /** + * Sets @msg's status_code to @status_code and adds a Location header + * pointing to @redirect_uri. Use this from a #SoupServer when you + * want to redirect the client to another URI. + * + * @redirect_uri can be a relative URI, in which case it is + * interpreted relative to @msg's current URI. In particular, if + * @redirect_uri is just a path, it will replace the path + * and query of @msg's URI. + * + * Params: + * statusCode = a 3xx status code + * redirectUri = the URI to redirect @msg to + * + * Since: 2.38 + */ + public void setRedirect(uint statusCode, string redirectUri) + { + soup_message_set_redirect(soupMessage, statusCode, Str.toStringz(redirectUri)); + } + + /** + * Convenience function to set the request body of a #SoupMessage. If + * @content_type is %NULL, the request body must be empty as well. + * + * Params: + * contentType = MIME Content-Type of the body + * reqUse = a #SoupMemoryUse describing how to handle @req_body + * reqBody = a data buffer containing the body of the message request. + */ + public void setRequest(string contentType, SoupMemoryUse reqUse, string reqBody) + { + soup_message_set_request(soupMessage, Str.toStringz(contentType), reqUse, Str.toStringz(reqBody), cast(size_t)reqBody.length); + } + + /** + * Convenience function to set the response body of a #SoupMessage. If + * @content_type is %NULL, the response body must be empty as well. + * + * Params: + * contentType = MIME Content-Type of the body + * respUse = a #SoupMemoryUse describing how to handle @resp_body + * respBody = a data buffer containing the body of the message response. + */ + public void setResponse(string contentType, SoupMemoryUse respUse, string respBody) + { + soup_message_set_response(soupMessage, Str.toStringz(contentType), respUse, Str.toStringz(respBody), cast(size_t)respBody.length); + } + + /** + * Sets @site_for_cookies as the policy URL for same-site cookies for @msg. + * + * It is either the URL of the top-level document or %NULL depending on whether the registrable + * domain of this document's URL matches the registrable domain of its parent's/opener's + * URL. For the top-level document it is set to the document's URL. + * + * See the [same-site spec](https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site-00) + * for more information. + * + * Params: + * siteForCookies = the #SoupURI for the @msg's site for cookies + * + * Since: 2.70 + */ + public void setSiteForCookies(URI siteForCookies) + { + soup_message_set_site_for_cookies(soupMessage, (siteForCookies is null) ? null : siteForCookies.getURIStruct()); + } + + /** + * Sets @msg's status code to @status_code. If @status_code is a + * known value, it will also set @msg's reason_phrase. + * + * Params: + * statusCode = an HTTP status code + */ + public void setStatus(uint statusCode) + { + soup_message_set_status(soupMessage, statusCode); + } + + /** + * Sets @msg's status code and reason phrase. + * + * Params: + * statusCode = an HTTP status code + * reasonPhrase = a description of the status + */ + public void setStatusFull(uint statusCode, string reasonPhrase) + { + soup_message_set_status_full(soupMessage, statusCode, Str.toStringz(reasonPhrase)); + } + + /** + * Sets @msg's URI to @uri. If @msg has already been sent and you want + * to re-send it with the new URI, you need to call + * soup_session_requeue_message(). + * + * Params: + * uri = the new #SoupURI + */ + public void setUri(URI uri) + { + soup_message_set_uri(soupMessage, (uri is null) ? null : uri.getURIStruct()); + } + + /** */ + public void starting() + { + soup_message_starting(soupMessage); + } + + /** */ + public void wroteBody() + { + soup_message_wrote_body(soupMessage); + } + + /** */ + public void wroteBodyData(Buffer chunk) + { + soup_message_wrote_body_data(soupMessage, (chunk is null) ? null : chunk.getBufferStruct()); + } + + /** */ + public void wroteChunk() + { + soup_message_wrote_chunk(soupMessage); + } + + /** */ + public void wroteHeaders() + { + soup_message_wrote_headers(soupMessage); + } + + /** */ + public void wroteInformational() + { + soup_message_wrote_informational(soupMessage); + } + + /** + * This signal is emitted after #SoupMessage::got-headers, and + * before the first #SoupMessage::got-chunk. If content + * sniffing is disabled, or no content sniffing will be + * performed, due to the sniffer deciding to trust the + * Content-Type sent by the server, this signal is emitted + * immediately after #SoupMessage::got-headers, and @type is + * %NULL. + * + * If the #SoupContentSniffer feature is enabled, and the + * sniffer decided to perform sniffing, the first + * #SoupMessage::got-chunk emission may be delayed, so that the + * sniffer has enough data to correctly sniff the content. It + * notified the library user that the content has been + * sniffed, and allows it to change the header contents in the + * message, if desired. + * + * After this signal is emitted, the data that was spooled so + * that sniffing could be done is delivered on the first + * emission of #SoupMessage::got-chunk. + * + * Params: + * type = the content type that we got from sniffing + * params = a #GHashTable with the parameters + * + * Since: 2.28 + */ + gulong addOnContentSniffed(void delegate(string, HashTable, Message) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "content-sniffed", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when all HTTP processing is finished for a message. + * (After #SoupMessage::got_body for client-side messages, or + * after #SoupMessage::wrote_body for server-side messages.) + */ + gulong addOnFinished(void delegate(Message) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "finished", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted after receiving the complete message body. (For a + * server-side message, this means it has received the request + * body. For a client-side message, this means it has received + * the response body and is nearly done with the message.) + * + * See also soup_message_add_header_handler() and + * soup_message_add_status_code_handler(), which can be used + * to connect to a subset of emissions of this signal. + */ + gulong addOnGotBody(void delegate(Message) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "got-body", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted after receiving a chunk of a message body. Note + * that "chunk" in this context means any subpiece of the + * body, not necessarily the specific HTTP 1.1 chunks sent by + * the other side. + * + * If you cancel or requeue @msg while processing this signal, + * then the current HTTP I/O will be stopped after this signal + * emission finished, and @msg's connection will be closed. + * + * Params: + * chunk = the just-read chunk + */ + gulong addOnGotChunk(void delegate(Buffer, Message) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "got-chunk", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted after receiving all message headers for a message. + * (For a client-side message, this is after receiving the + * Status-Line and response headers; for a server-side + * message, it is after receiving the Request-Line and request + * headers.) + * + * See also soup_message_add_header_handler() and + * soup_message_add_status_code_handler(), which can be used + * to connect to a subset of emissions of this signal. + * + * If you cancel or requeue @msg while processing this signal, + * then the current HTTP I/O will be stopped after this signal + * emission finished, and @msg's connection will be closed. + * (If you need to requeue a message--eg, after handling + * authentication or redirection--it is usually better to + * requeue it from a #SoupMessage::got_body handler rather + * than a #SoupMessage::got_headers handler, so that the + * existing HTTP connection can be reused.) + */ + gulong addOnGotHeaders(void delegate(Message) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "got-headers", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted after receiving a 1xx (Informational) response for + * a (client-side) message. The response_headers will be + * filled in with the headers associated with the + * informational response; however, those header values will + * be erased after this signal is done. + * + * If you cancel or requeue @msg while processing this signal, + * then the current HTTP I/O will be stopped after this signal + * emission finished, and @msg's connection will be closed. + */ + gulong addOnGotInformational(void delegate(Message) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "got-informational", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted to indicate that some network-related event + * related to @msg has occurred. This essentially proxies the + * #GSocketClient::event signal, but only for events that + * occur while @msg "owns" the connection; if @msg is sent on + * an existing persistent connection, then this signal will + * not be emitted. (If you want to force the message to be + * sent on a new connection, set the + * %SOUP_MESSAGE_NEW_CONNECTION flag on it.) + * + * See #GSocketClient::event for more information on what + * the different values of @event correspond to, and what + * @connection will be in each case. + * + * Params: + * event = the network event + * connection = the current state of the network connection + * + * Since: 2.38 + */ + gulong addOnNetwork(void delegate(GSocketClientEvent, IOStream, Message) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "network-event", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when a request that was already sent once is now + * being sent again (eg, because the first attempt received a + * redirection response, or because we needed to use + * authentication). + */ + gulong addOnRestarted(void delegate(Message) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "restarted", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted just before a message is sent. + * + * Since: 2.50 + */ + gulong addOnStarting(void delegate(Message) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "starting", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted immediately after writing the complete body for a + * message. (For a client-side message, this means that + * libsoup is done writing and is now waiting for the response + * from the server. For a server-side message, this means that + * libsoup has finished writing the response and is nearly + * done with the message.) + */ + gulong addOnWroteBody(void delegate(Message) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "wrote-body", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted immediately after writing a portion of the message + * body to the network. + * + * Unlike #SoupMessage::wrote_chunk, this is emitted after + * every successful write() call, not only after finishing a + * complete "chunk". + * + * Params: + * chunk = the data written + * + * Since: 2.24 + */ + gulong addOnWroteBodyData(void delegate(Buffer, Message) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "wrote-body-data", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted immediately after writing a body chunk for a message. + * + * Note that this signal is not parallel to + * #SoupMessage::got_chunk; it is emitted only when a complete + * chunk (added with soup_message_body_append() or + * soup_message_body_append_buffer()) has been written. To get + * more useful continuous progress information, use + * #SoupMessage::wrote_body_data. + */ + gulong addOnWroteChunk(void delegate(Message) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "wrote-chunk", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted immediately after writing the headers for a + * message. (For a client-side message, this is after writing + * the request headers; for a server-side message, it is after + * writing the response headers.) + */ + gulong addOnWroteHeaders(void delegate(Message) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "wrote-headers", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted immediately after writing a 1xx (Informational) + * response for a (server-side) message. + */ + gulong addOnWroteInformational(void delegate(Message) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "wrote-informational", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/soup/soup/MessageBody.d b/source/generated/soup/soup/MessageBody.d new file mode 100644 index 000000000..e220166a8 --- /dev/null +++ b/source/generated/soup/soup/MessageBody.d @@ -0,0 +1,358 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.MessageBody; + +private import glib.ConstructionException; +private import glib.MemorySlice; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import linker.Loader; +private import soup.Buffer; +private import soup.c.functions; +public import soup.c.types; + + +/** + * A #SoupMessage request or response body. + * + * Note that while @length always reflects the full length of the + * message body, @data is normally %NULL, and will only be filled in + * after soup_message_body_flatten() is called. For client-side + * messages, this automatically happens for the response body after it + * has been fully read, unless you set the + * %SOUP_MESSAGE_OVERWRITE_CHUNKS flags. Likewise, for server-side + * messages, the request body is automatically filled in after being + * read. + * + * As an added bonus, when @data is filled in, it is always terminated + * with a '\0' byte (which is not reflected in @length). + */ +public final class MessageBody +{ + /** the main Gtk struct */ + protected SoupMessageBody* soupMessageBody; + protected bool ownedRef; + + /** Get the main Gtk struct */ + public SoupMessageBody* getMessageBodyStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupMessageBody; + } + + /** the main Gtk struct as a void* */ + protected void* getStruct() + { + return cast(void*)soupMessageBody; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupMessageBody* soupMessageBody, bool ownedRef = false) + { + this.soupMessageBody = soupMessageBody; + this.ownedRef = ownedRef; + } + + ~this () + { + if ( Linker.isLoaded(LIBRARY_SOUP[0]) && ownedRef ) + soup_message_body_free(soupMessageBody); + } + + + /** + * the data + */ + public @property string data() + { + return Str.toString(soupMessageBody.data); + } + + /** Ditto */ + public @property void data(string value) + { + soupMessageBody.data = Str.toStringz(value); + } + + /** + * length of @data + */ + public @property long length() + { + return soupMessageBody.length; + } + + /** Ditto */ + public @property void length(long value) + { + soupMessageBody.length = value; + } + + /** */ + public static GType getType() + { + return soup_message_body_get_type(); + } + + /** + * Creates a new #SoupMessageBody. #SoupMessage uses this internally; you + * will not normally need to call it yourself. + * + * Returns: a new #SoupMessageBody. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = soup_message_body_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupMessageBody*) __p); + } + + /** + * Appends @length bytes from @data to @body according to @use. + * + * Params: + * use = how to use @data + * data = data to append + */ + public void append(SoupMemoryUse use, ubyte[] data) + { + soup_message_body_append(soupMessageBody, use, data.ptr, cast(size_t)data.length); + } + + /** + * Appends the data from @buffer to @body. (#SoupMessageBody uses + * #SoupBuffers internally, so this is normally a constant-time + * operation that doesn't actually require copying the data in + * @buffer.) + * + * Params: + * buffer = a #SoupBuffer + */ + public void appendBuffer(Buffer buffer) + { + soup_message_body_append_buffer(soupMessageBody, (buffer is null) ? null : buffer.getBufferStruct()); + } + + /** + * Appends @length bytes from @data to @body. + * + * This function is exactly equivalent to soup_message_body_append() + * with %SOUP_MEMORY_TAKE as second argument; it exists mainly for + * convenience and simplifying language bindings. + * + * Params: + * data = data to append + * + * Since: 2.32 + */ + public void appendTake(char[] data) + { + soup_message_body_append_take(soupMessageBody, data.ptr, cast(size_t)data.length); + } + + /** + * Tags @body as being complete; Call this when using chunked encoding + * after you have appended the last chunk. + */ + public void complete() + { + soup_message_body_complete(soupMessageBody); + } + + /** + * Fills in @body's data field with a buffer containing all of the + * data in @body (plus an additional '\0' byte not counted by @body's + * length field). + * + * Returns: a #SoupBuffer containing the same data as @body. + * (You must free this buffer if you do not want it.) + */ + public Buffer flatten() + { + auto __p = soup_message_body_flatten(soupMessageBody); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Buffer)(cast(SoupBuffer*) __p, true); + } + + /** + * Frees @body. You will not normally need to use this, as + * #SoupMessage frees its associated message bodies automatically. + */ + public void free() + { + soup_message_body_free(soupMessageBody); + ownedRef = false; + } + + /** + * Gets the accumulate flag on @body; see + * soup_message_body_set_accumulate() for details. + * + * Returns: the accumulate flag for @body. + * + * Since: 2.24 + */ + public bool getAccumulate() + { + return soup_message_body_get_accumulate(soupMessageBody) != 0; + } + + /** + * Gets a #SoupBuffer containing data from @body starting at @offset. + * The size of the returned chunk is unspecified. You can iterate + * through the entire body by first calling + * soup_message_body_get_chunk() with an offset of 0, and then on each + * successive call, increment the offset by the length of the + * previously-returned chunk. + * + * If @offset is greater than or equal to the total length of @body, + * then the return value depends on whether or not + * soup_message_body_complete() has been called or not; if it has, + * then soup_message_body_get_chunk() will return a 0-length chunk + * (indicating the end of @body). If it has not, then + * soup_message_body_get_chunk() will return %NULL (indicating that + * @body may still potentially have more data, but that data is not + * currently available). + * + * Params: + * offset = an offset + * + * Returns: a #SoupBuffer, or %NULL. + */ + public Buffer getChunk(long offset) + { + auto __p = soup_message_body_get_chunk(soupMessageBody, offset); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Buffer)(cast(SoupBuffer*) __p, true); + } + + /** + * Handles the #SoupMessageBody part of receiving a chunk of data from + * the network. Normally this means appending @chunk to @body, exactly + * as with soup_message_body_append_buffer(), but if you have set + * @body's accumulate flag to %FALSE, then that will not happen. + * + * This is a low-level method which you should not normally need to + * use. + * + * Params: + * chunk = a #SoupBuffer received from the network + * + * Since: 2.24 + */ + public void gotChunk(Buffer chunk) + { + soup_message_body_got_chunk(soupMessageBody, (chunk is null) ? null : chunk.getBufferStruct()); + } + + /** + * Sets or clears the accumulate flag on @body. (The default value is + * %TRUE.) If set to %FALSE, @body's %data field will not be filled in + * after the body is fully sent/received, and the chunks that make up + * @body may be discarded when they are no longer needed. + * + * In particular, if you set this flag to %FALSE on an "incoming" + * message body (that is, the #SoupMessage:response_body of a + * client-side message, or #SoupMessage:request_body of a server-side + * message), this will cause each chunk of the body to be discarded + * after its corresponding #SoupMessage::got_chunk signal is emitted. + * (This is equivalent to setting the deprecated + * %SOUP_MESSAGE_OVERWRITE_CHUNKS flag on the message.) + * + * If you set this flag to %FALSE on the #SoupMessage:response_body of + * a server-side message, it will cause each chunk of the body to be + * discarded after its corresponding #SoupMessage::wrote_chunk signal + * is emitted. + * + * If you set the flag to %FALSE on the #SoupMessage:request_body of a + * client-side message, it will block the accumulation of chunks into + * @body's %data field, but it will not normally cause the chunks to + * be discarded after being written like in the server-side + * #SoupMessage:response_body case, because the request body needs to + * be kept around in case the request needs to be sent a second time + * due to redirection or authentication. However, if you set the + * %SOUP_MESSAGE_CAN_REBUILD flag on the message, then the chunks will + * be discarded, and you will be responsible for recreating the + * request body after the #SoupMessage::restarted signal is emitted. + * + * Params: + * accumulate = whether or not to accumulate body chunks in @body + * + * Since: 2.24 + */ + public void setAccumulate(bool accumulate) + { + soup_message_body_set_accumulate(soupMessageBody, accumulate); + } + + /** + * Deletes all of the data in @body. + */ + public void truncate() + { + soup_message_body_truncate(soupMessageBody); + } + + /** + * Handles the #SoupMessageBody part of writing a chunk of data to the + * network. Normally this is a no-op, but if you have set @body's + * accumulate flag to %FALSE, then this will cause @chunk to be + * discarded to free up memory. + * + * This is a low-level method which you should not need to use, and + * there are further restrictions on its proper use which are not + * documented here. + * + * Params: + * chunk = a #SoupBuffer returned from soup_message_body_get_chunk() + * + * Since: 2.24 + */ + public void wroteChunk(Buffer chunk) + { + soup_message_body_wrote_chunk(soupMessageBody, (chunk is null) ? null : chunk.getBufferStruct()); + } +} diff --git a/source/generated/soup/soup/MessageHeaders.d b/source/generated/soup/soup/MessageHeaders.d new file mode 100644 index 000000000..21a3a6e3d --- /dev/null +++ b/source/generated/soup/soup/MessageHeaders.d @@ -0,0 +1,667 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.MessageHeaders; + +private import glib.ConstructionException; +private import glib.HashTable; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import linker.Loader; +private import soup.c.functions; +public import soup.c.types; + + +/** + * The HTTP message headers associated with a request or response. + */ +public class MessageHeaders +{ + /** the main Gtk struct */ + protected SoupMessageHeaders* soupMessageHeaders; + protected bool ownedRef; + + /** Get the main Gtk struct */ + public SoupMessageHeaders* getMessageHeadersStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupMessageHeaders; + } + + /** the main Gtk struct as a void* */ + protected void* getStruct() + { + return cast(void*)soupMessageHeaders; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupMessageHeaders* soupMessageHeaders, bool ownedRef = false) + { + this.soupMessageHeaders = soupMessageHeaders; + this.ownedRef = ownedRef; + } + + ~this () + { + if ( Linker.isLoaded(LIBRARY_SOUP[0]) && ownedRef ) + soup_message_headers_free(soupMessageHeaders); + } + + + /** */ + public static GType getType() + { + return soup_message_headers_get_type(); + } + + /** + * Creates a #SoupMessageHeaders. (#SoupMessage does this + * automatically for its own headers. You would only need to use this + * method if you are manually parsing or generating message headers.) + * + * Params: + * type = the type of headers + * + * Returns: a new #SoupMessageHeaders + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(SoupMessageHeadersType type) + { + auto __p = soup_message_headers_new(type); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupMessageHeaders*) __p); + } + + /** + * Appends a new header with name @name and value @value to @hdrs. (If + * there is an existing header with name @name, then this creates a + * second one, which is only allowed for list-valued headers; see also + * soup_message_headers_replace().) + * + * The caller is expected to make sure that @name and @value are + * syntactically correct. + * + * Params: + * name = the header name to add + * value = the new value of @name + */ + public void append(string name, string value) + { + soup_message_headers_append(soupMessageHeaders, Str.toStringz(name), Str.toStringz(value)); + } + + /** + * Removes all the headers listed in the Connection header. + * + * Since: 2.36 + */ + public void cleanConnectionHeaders() + { + soup_message_headers_clean_connection_headers(soupMessageHeaders); + } + + /** + * Clears @hdrs. + */ + public void clear() + { + soup_message_headers_clear(soupMessageHeaders); + } + + alias foreac = foreach_; + /** + * Calls @func once for each header value in @hdrs. + * + * Beware that unlike soup_message_headers_get(), this processes the + * headers in exactly the way they were added, rather than + * concatenating multiple same-named headers into a single value. + * (This is intentional; it ensures that if you call + * soup_message_headers_append() multiple times with the same name, + * then the I/O code will output multiple copies of the header when + * sending the message to the remote implementation, which may be + * required for interoperability in some cases.) + * + * You may not modify the headers from @func. + * + * Params: + * func = callback function to run for each header + * userData = data to pass to @func + */ + public void foreach_(SoupMessageHeadersForeachFunc func, void* userData) + { + soup_message_headers_foreach(soupMessageHeaders, func, userData); + } + + /** + * Frees @hdrs. + */ + public void free() + { + soup_message_headers_free(soupMessageHeaders); + ownedRef = false; + } + + /** + * Frees the array of ranges returned from soup_message_headers_get_ranges(). + * + * Params: + * ranges = an array of #SoupRange + * + * Since: 2.26 + */ + public void freeRanges(SoupRange* ranges) + { + soup_message_headers_free_ranges(soupMessageHeaders, ranges); + } + + /** + * Gets the value of header @name in @hdrs. + * + * This method was supposed to work correctly for both single-valued + * and list-valued headers, but because some HTTP clients/servers + * mistakenly send multiple copies of headers that are supposed to be + * single-valued, it sometimes returns incorrect results. To fix this, + * the methods soup_message_headers_get_one() and + * soup_message_headers_get_list() were introduced, so callers can + * explicitly state which behavior they are expecting. + * + * Deprecated: Use soup_message_headers_get_one() or + * soup_message_headers_get_list() instead. + * + * Params: + * name = header name + * + * Returns: as with soup_message_headers_get_list(). + */ + public string get(string name) + { + return Str.toString(soup_message_headers_get(soupMessageHeaders, Str.toStringz(name))); + } + + /** + * Looks up the "Content-Disposition" header in @hdrs, parses it, and + * returns its value in *@disposition and *@params. @params can be + * %NULL if you are only interested in the disposition-type. + * + * In HTTP, the most common use of this header is to set a + * disposition-type of "attachment", to suggest to the browser that a + * response should be saved to disk rather than displayed in the + * browser. If @params contains a "filename" parameter, this is a + * suggestion of a filename to use. (If the parameter value in the + * header contains an absolute or relative path, libsoup will truncate + * it down to just the final path component, so you do not need to + * test this yourself.) + * + * Content-Disposition is also used in "multipart/form-data", however + * this is handled automatically by #SoupMultipart and the associated + * form methods. + * + * Params: + * disposition = return location for the + * disposition-type, or %NULL + * params = return + * location for the Content-Disposition parameters, or %NULL + * + * Returns: %TRUE if @hdrs contains a "Content-Disposition" + * header, %FALSE if not (in which case *@disposition and *@params + * will be unchanged). + * + * Since: 2.26 + */ + public bool getContentDisposition(out string disposition, out HashTable params) + { + char* outdisposition = null; + GHashTable* outparams = null; + + auto __p = soup_message_headers_get_content_disposition(soupMessageHeaders, &outdisposition, &outparams) != 0; + + disposition = Str.toString(outdisposition); + params = new HashTable(outparams); + + return __p; + } + + /** + * Gets the message body length that @hdrs declare. This will only + * be non-0 if soup_message_headers_get_encoding() returns + * %SOUP_ENCODING_CONTENT_LENGTH. + * + * Returns: the message body length declared by @hdrs. + */ + public long getContentLength() + { + return soup_message_headers_get_content_length(soupMessageHeaders); + } + + /** + * Parses @hdrs's Content-Range header and returns it in @start, + * @end, and @total_length. If the total length field in the header + * was specified as "*", then @total_length will be set to -1. + * + * Params: + * start = return value for the start of the range + * end = return value for the end of the range + * totalLength = return value for the total length of the + * resource, or %NULL if you don't care. + * + * Returns: %TRUE if @hdrs contained a "Content-Range" header + * containing a byte range which could be parsed, %FALSE otherwise. + * + * Since: 2.26 + */ + public bool getContentRange(out long start, out long end, out long totalLength) + { + return soup_message_headers_get_content_range(soupMessageHeaders, &start, &end, &totalLength) != 0; + } + + /** + * Looks up the "Content-Type" header in @hdrs, parses it, and returns + * its value in *@content_type and *@params. @params can be %NULL if you + * are only interested in the content type itself. + * + * Params: + * params = return location for the Content-Type parameters (eg, "charset"), or + * %NULL + * + * Returns: a string with the value of the + * "Content-Type" header or %NULL if @hdrs does not contain that + * header or it cannot be parsed (in which case *@params will be + * unchanged). + * + * Since: 2.26 + */ + public string getContentType(out HashTable params) + { + GHashTable* outparams = null; + + auto retStr = soup_message_headers_get_content_type(soupMessageHeaders, &outparams); + + params = new HashTable(outparams); + + return Str.toString(retStr); + } + + /** + * Gets the message body encoding that @hdrs declare. This may not + * always correspond to the encoding used on the wire; eg, a HEAD + * response may declare a Content-Length or Transfer-Encoding, but + * it will never actually include a body. + * + * Returns: the encoding declared by @hdrs. + */ + public SoupEncoding getEncoding() + { + return soup_message_headers_get_encoding(soupMessageHeaders); + } + + /** + * Gets the expectations declared by @hdrs's "Expect" header. + * Currently this will either be %SOUP_EXPECTATION_CONTINUE or + * %SOUP_EXPECTATION_UNRECOGNIZED. + * + * Returns: the contents of @hdrs's "Expect" header + */ + public SoupExpectation getExpectations() + { + return soup_message_headers_get_expectations(soupMessageHeaders); + } + + /** + * Gets the type of headers. + * + * Returns: the header's type. + * + * Since: 2.50 + */ + public SoupMessageHeadersType getHeadersType() + { + return soup_message_headers_get_headers_type(soupMessageHeaders); + } + + /** + * Gets the value of header @name in @hdrs. Use this for headers whose + * values are comma-delimited lists, and which are therefore allowed + * to appear multiple times in the headers. For non-list-valued + * headers, use soup_message_headers_get_one(). + * + * If @name appears multiple times in @hdrs, + * soup_message_headers_get_list() will concatenate all of the values + * together, separated by commas. This is sometimes awkward to parse + * (eg, WWW-Authenticate, Set-Cookie), but you have to be able to deal + * with it anyway, because the HTTP spec explicitly states that this + * transformation is allowed, and so an upstream proxy could do the + * same thing. + * + * Params: + * name = header name + * + * Returns: the header's value or %NULL if not found. + * + * Since: 2.28 + */ + public string getList(string name) + { + return Str.toString(soup_message_headers_get_list(soupMessageHeaders, Str.toStringz(name))); + } + + /** + * Gets the value of header @name in @hdrs. Use this for headers whose + * values are not comma-delimited lists, and + * which therefore can only appear at most once in the headers. For + * list-valued headers, use soup_message_headers_get_list(). + * + * If @hdrs does erroneously contain multiple copies of the header, it + * is not defined which one will be returned. (Ideally, it will return + * whichever one makes libsoup most compatible with other HTTP + * implementations.) + * + * Params: + * name = header name + * + * Returns: the header's value or %NULL if not found. + * + * Since: 2.28 + */ + public string getOne(string name) + { + return Str.toString(soup_message_headers_get_one(soupMessageHeaders, Str.toStringz(name))); + } + + /** + * Parses @hdrs's Range header and returns an array of the requested + * byte ranges. The returned array must be freed with + * soup_message_headers_free_ranges(). + * + * If @total_length is non-0, its value will be used to adjust the + * returned ranges to have explicit start and end values, and the + * returned ranges will be sorted and non-overlapping. If + * @total_length is 0, then some ranges may have an end value of -1, + * as described under #SoupRange, and some of the ranges may be + * redundant. + * + * Beware that even if given a @total_length, this function does not + * check that the ranges are satisfiable. + * + * + * #SoupServer has built-in handling for range requests. If your + * server handler returns a %SOUP_STATUS_OK response containing the + * complete response body (rather than pausing the message and + * returning some of the response body later), and there is a Range + * header in the request, then libsoup will automatically convert the + * response to a %SOUP_STATUS_PARTIAL_CONTENT response containing only + * the range(s) requested by the client. + * + * The only time you need to process the Range header yourself is if + * either you need to stream the response body rather than returning + * it all at once, or you do not already have the complete response + * body available, and only want to generate the parts that were + * actually requested by the client. + * + * + * Params: + * totalLength = the total_length of the response body + * ranges = return location for an array + * of #SoupRange + * + * Returns: %TRUE if @hdrs contained a syntactically-valid + * "Range" header, %FALSE otherwise (in which case @range and @length + * will not be set). + * + * Since: 2.26 + */ + public bool getRanges(long totalLength, out SoupRange[] ranges) + { + SoupRange* outranges; + int length; + + auto __p = soup_message_headers_get_ranges(soupMessageHeaders, totalLength, &outranges, &length) != 0; + + ranges = outranges[0 .. length]; + + return __p; + } + + /** + * Checks whether the list-valued header @name is present in @hdrs, + * and contains a case-insensitive match for @token. + * + * (If @name is present in @hdrs, then this is equivalent to calling + * soup_header_contains() on its value.) + * + * Params: + * name = header name + * token = token to look for + * + * Returns: %TRUE if the header is present and contains @token, + * %FALSE otherwise. + * + * Since: 2.50 + */ + public bool headerContains(string name, string token) + { + return soup_message_headers_header_contains(soupMessageHeaders, Str.toStringz(name), Str.toStringz(token)) != 0; + } + + /** + * Checks whether the header @name is present in @hdrs and is + * (case-insensitively) equal to @value. + * + * Params: + * name = header name + * value = expected value + * + * Returns: %TRUE if the header is present and its value is + * @value, %FALSE otherwise. + * + * Since: 2.50 + */ + public bool headerEquals(string name, string value) + { + return soup_message_headers_header_equals(soupMessageHeaders, Str.toStringz(name), Str.toStringz(value)) != 0; + } + + /** + * Removes @name from @hdrs. If there are multiple values for @name, + * they are all removed. + * + * Params: + * name = the header name to remove + */ + public void remove(string name) + { + soup_message_headers_remove(soupMessageHeaders, Str.toStringz(name)); + } + + /** + * Replaces the value of the header @name in @hdrs with @value. (See + * also soup_message_headers_append().) + * + * The caller is expected to make sure that @name and @value are + * syntactically correct. + * + * Params: + * name = the header name to replace + * value = the new value of @name + */ + public void replace(string name, string value) + { + soup_message_headers_replace(soupMessageHeaders, Str.toStringz(name), Str.toStringz(value)); + } + + /** + * Sets the "Content-Disposition" header in @hdrs to @disposition, + * optionally with additional parameters specified in @params. + * + * See soup_message_headers_get_content_disposition() for a discussion + * of how Content-Disposition is used in HTTP. + * + * Params: + * disposition = the disposition-type + * params = additional + * parameters, or %NULL + * + * Since: 2.26 + */ + public void setContentDisposition(string disposition, HashTable params) + { + soup_message_headers_set_content_disposition(soupMessageHeaders, Str.toStringz(disposition), (params is null) ? null : params.getHashTableStruct()); + } + + /** + * Sets the message body length that @hdrs will declare, and sets + * @hdrs's encoding to %SOUP_ENCODING_CONTENT_LENGTH. + * + * You do not normally need to call this; if @hdrs is set to use + * Content-Length encoding, libsoup will automatically set its + * Content-Length header for you immediately before sending the + * headers. One situation in which this method is useful is when + * generating the response to a HEAD request; Calling + * soup_message_headers_set_content_length() allows you to put the + * correct content length into the response without needing to waste + * memory by filling in a response body which won't actually be sent. + * + * Params: + * contentLength = the message body length + */ + public void setContentLength(long contentLength) + { + soup_message_headers_set_content_length(soupMessageHeaders, contentLength); + } + + /** + * Sets @hdrs's Content-Range header according to the given values. + * (Note that @total_length is the total length of the entire resource + * that this is a range of, not simply @end - @start + 1.) + * + * + * #SoupServer has built-in handling for range requests, and you do + * not normally need to call this function youself. See + * soup_message_headers_get_ranges() for more details. + * + * + * Params: + * start = the start of the range + * end = the end of the range + * totalLength = the total length of the resource, or -1 if unknown + * + * Since: 2.26 + */ + public void setContentRange(long start, long end, long totalLength) + { + soup_message_headers_set_content_range(soupMessageHeaders, start, end, totalLength); + } + + /** + * Sets the "Content-Type" header in @hdrs to @content_type, + * optionally with additional parameters specified in @params. + * + * Params: + * contentType = the MIME type + * params = additional + * parameters, or %NULL + * + * Since: 2.26 + */ + public void setContentType(string contentType, HashTable params) + { + soup_message_headers_set_content_type(soupMessageHeaders, Str.toStringz(contentType), (params is null) ? null : params.getHashTableStruct()); + } + + /** + * Sets the message body encoding that @hdrs will declare. In particular, + * you should use this if you are going to send a request or response in + * chunked encoding. + * + * Params: + * encoding = a #SoupEncoding + */ + public void setEncoding(SoupEncoding encoding) + { + soup_message_headers_set_encoding(soupMessageHeaders, encoding); + } + + /** + * Sets @hdrs's "Expect" header according to @expectations. + * + * Currently %SOUP_EXPECTATION_CONTINUE is the only known expectation + * value. You should set this value on a request if you are sending a + * large message body (eg, via POST or PUT), and want to give the + * server a chance to reject the request after seeing just the headers + * (eg, because it will require authentication before allowing you to + * post, or because you're POSTing to a URL that doesn't exist). This + * saves you from having to transmit the large request body when the + * server is just going to ignore it anyway. + * + * Params: + * expectations = the expectations to set + */ + public void setExpectations(SoupExpectation expectations) + { + soup_message_headers_set_expectations(soupMessageHeaders, expectations); + } + + /** + * Sets @hdrs's Range header to request the indicated range. + * @start and @end are interpreted as in a #SoupRange. + * + * If you need to request multiple ranges, use + * soup_message_headers_set_ranges(). + * + * Params: + * start = the start of the range to request + * end = the end of the range to request + * + * Since: 2.26 + */ + public void setRange(long start, long end) + { + soup_message_headers_set_range(soupMessageHeaders, start, end); + } + + /** + * Sets @hdrs's Range header to request the indicated ranges. (If you + * only want to request a single range, you can use + * soup_message_headers_set_range().) + * + * Params: + * ranges = an array of #SoupRange + * length = the length of @range + * + * Since: 2.26 + */ + public void setRanges(SoupRange* ranges, int length) + { + soup_message_headers_set_ranges(soupMessageHeaders, ranges, length); + } +} diff --git a/source/generated/soup/soup/MessageHeadersIter.d b/source/generated/soup/soup/MessageHeadersIter.d new file mode 100644 index 000000000..f5689614a --- /dev/null +++ b/source/generated/soup/soup/MessageHeadersIter.d @@ -0,0 +1,120 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.MessageHeadersIter; + +private import glib.MemorySlice; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import soup.MessageHeaders; +private import soup.c.functions; +public import soup.c.types; + + +/** + * An opaque type used to iterate over a %SoupMessageHeaders + * structure. + * + * After intializing the iterator with + * soup_message_headers_iter_init(), call + * soup_message_headers_iter_next() to fetch data from it. + * + * You may not modify the headers while iterating over them. + */ +public class MessageHeadersIter +{ + /** the main Gtk struct */ + protected SoupMessageHeadersIter* soupMessageHeadersIter; + protected bool ownedRef; + + /** Get the main Gtk struct */ + public SoupMessageHeadersIter* getMessageHeadersIterStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupMessageHeadersIter; + } + + /** the main Gtk struct as a void* */ + protected void* getStruct() + { + return cast(void*)soupMessageHeadersIter; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupMessageHeadersIter* soupMessageHeadersIter, bool ownedRef = false) + { + this.soupMessageHeadersIter = soupMessageHeadersIter; + this.ownedRef = ownedRef; + } + + + /** + * Yields the next name/value pair in the %SoupMessageHeaders being + * iterated by @iter. If @iter has already yielded the last header, + * then soup_message_headers_iter_next() will return %FALSE and @name + * and @value will be unchanged. + * + * Params: + * name = pointer to a variable to return + * the header name in + * value = pointer to a variable to return + * the header value in + * + * Returns: %TRUE if another name and value were returned, %FALSE + * if the end of the headers has been reached. + */ + public bool next(out string name, out string value) + { + char* outname = null; + char* outvalue = null; + + auto __p = soup_message_headers_iter_next(soupMessageHeadersIter, &outname, &outvalue) != 0; + + name = Str.toString(outname); + value = Str.toString(outvalue); + + return __p; + } + + /** + * Initializes @iter for iterating @hdrs. + * + * Params: + * iter = a pointer to a %SoupMessageHeadersIter + * structure + * hdrs = a %SoupMessageHeaders + */ + public static void init(out MessageHeadersIter iter, MessageHeaders hdrs) + { + SoupMessageHeadersIter* outiter = sliceNew!SoupMessageHeadersIter(); + + soup_message_headers_iter_init(outiter, (hdrs is null) ? null : hdrs.getMessageHeadersStruct()); + + iter = ObjectG.getDObject!(MessageHeadersIter)(outiter, true); + } +} diff --git a/source/generated/soup/soup/Multipart.d b/source/generated/soup/soup/Multipart.d new file mode 100644 index 000000000..fbfbd3621 --- /dev/null +++ b/source/generated/soup/soup/Multipart.d @@ -0,0 +1,264 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.Multipart; + +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import linker.Loader; +private import soup.Buffer; +private import soup.MessageBody; +private import soup.MessageHeaders; +private import soup.c.functions; +public import soup.c.types; + + +/** + * Represents a multipart HTTP message body, parsed according to the + * syntax of RFC 2046. Of particular interest to HTTP are + * multipart/byte-ranges and + * multipart/form-data. + * + * Although the headers of a #SoupMultipart body part will contain the + * full headers from that body part, libsoup does not interpret them + * according to MIME rules. For example, each body part is assumed to + * have "binary" Content-Transfer-Encoding, even if its headers + * explicitly state otherwise. In other words, don't try to use + * #SoupMultipart for handling real MIME multiparts. + * + * Since: 2.26 + */ +public class Multipart +{ + /** the main Gtk struct */ + protected SoupMultipart* soupMultipart; + protected bool ownedRef; + + /** Get the main Gtk struct */ + public SoupMultipart* getMultipartStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupMultipart; + } + + /** the main Gtk struct as a void* */ + protected void* getStruct() + { + return cast(void*)soupMultipart; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupMultipart* soupMultipart, bool ownedRef = false) + { + this.soupMultipart = soupMultipart; + this.ownedRef = ownedRef; + } + + ~this () + { + if ( Linker.isLoaded(LIBRARY_SOUP[0]) && ownedRef ) + soup_multipart_free(soupMultipart); + } + + + /** */ + public static GType getType() + { + return soup_multipart_get_type(); + } + + /** + * Creates a new empty #SoupMultipart with a randomly-generated + * boundary string. Note that @mime_type must be the full MIME type, + * including "multipart/". + * + * Params: + * mimeType = the MIME type of the multipart to create. + * + * Returns: a new empty #SoupMultipart of the given @mime_type + * + * Since: 2.26 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string mimeType) + { + auto __p = soup_multipart_new(Str.toStringz(mimeType)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupMultipart*) __p); + } + + /** + * Parses @headers and @body to form a new #SoupMultipart + * + * Params: + * headers = the headers of the HTTP message to parse + * body_ = the body of the HTTP message to parse + * + * Returns: a new #SoupMultipart (or %NULL if the + * message couldn't be parsed or wasn't multipart). + * + * Since: 2.26 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(MessageHeaders headers, MessageBody body_) + { + auto __p = soup_multipart_new_from_message((headers is null) ? null : headers.getMessageHeadersStruct(), (body_ is null) ? null : body_.getMessageBodyStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_message"); + } + + this(cast(SoupMultipart*) __p); + } + + /** + * Adds a new MIME part containing @body to @multipart, using + * "Content-Disposition: form-data", as per the HTML forms + * specification. See soup_form_request_new_from_multipart() for more + * details. + * + * Params: + * controlName = the name of the control associated with this file + * filename = the name of the file, or %NULL if not known + * contentType = the MIME type of the file, or %NULL if not known + * body_ = the file data + * + * Since: 2.26 + */ + public void appendFormFile(string controlName, string filename, string contentType, Buffer body_) + { + soup_multipart_append_form_file(soupMultipart, Str.toStringz(controlName), Str.toStringz(filename), Str.toStringz(contentType), (body_ is null) ? null : body_.getBufferStruct()); + } + + /** + * Adds a new MIME part containing @data to @multipart, using + * "Content-Disposition: form-data", as per the HTML forms + * specification. See soup_form_request_new_from_multipart() for more + * details. + * + * Params: + * controlName = the name of the control associated with @data + * data = the body data + * + * Since: 2.26 + */ + public void appendFormString(string controlName, string data) + { + soup_multipart_append_form_string(soupMultipart, Str.toStringz(controlName), Str.toStringz(data)); + } + + /** + * Adds a new MIME part to @multipart with the given headers and body. + * (The multipart will make its own copies of @headers and @body, so + * you should free your copies if you are not using them for anything + * else.) + * + * Params: + * headers = the MIME part headers + * body_ = the MIME part body + * + * Since: 2.26 + */ + public void appendPart(MessageHeaders headers, Buffer body_) + { + soup_multipart_append_part(soupMultipart, (headers is null) ? null : headers.getMessageHeadersStruct(), (body_ is null) ? null : body_.getBufferStruct()); + } + + /** + * Frees @multipart + * + * Since: 2.26 + */ + public void free() + { + soup_multipart_free(soupMultipart); + ownedRef = false; + } + + /** + * Gets the number of body parts in @multipart + * + * Returns: the number of body parts in @multipart + * + * Since: 2.26 + */ + public int getLength() + { + return soup_multipart_get_length(soupMultipart); + } + + /** + * Gets the indicated body part from @multipart. + * + * Params: + * part = the part number to get (counting from 0) + * headers = return location for the MIME part + * headers + * body_ = return location for the MIME part + * body + * + * Returns: %TRUE on success, %FALSE if @part is out of range (in + * which case @headers and @body won't be set) + * + * Since: 2.26 + */ + public bool getPart(int part, out MessageHeaders headers, out Buffer body_) + { + SoupMessageHeaders* outheaders = null; + SoupBuffer* outbody_ = null; + + auto __p = soup_multipart_get_part(soupMultipart, part, &outheaders, &outbody_) != 0; + + headers = ObjectG.getDObject!(MessageHeaders)(outheaders); + body_ = ObjectG.getDObject!(Buffer)(outbody_); + + return __p; + } + + /** + * Serializes @multipart to @dest_headers and @dest_body. + * + * Params: + * destHeaders = the headers of the HTTP message to serialize @multipart to + * destBody = the body of the HTTP message to serialize @multipart to + * + * Since: 2.26 + */ + public void toMessage(MessageHeaders destHeaders, MessageBody destBody) + { + soup_multipart_to_message(soupMultipart, (destHeaders is null) ? null : destHeaders.getMessageHeadersStruct(), (destBody is null) ? null : destBody.getMessageBodyStruct()); + } +} diff --git a/source/generated/soup/soup/MultipartInputStream.d b/source/generated/soup/soup/MultipartInputStream.d new file mode 100644 index 000000000..979caff3a --- /dev/null +++ b/source/generated/soup/soup/MultipartInputStream.d @@ -0,0 +1,232 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.MultipartInputStream; + +private import gio.AsyncResultIF; +private import gio.Cancellable; +private import gio.FilterInputStream; +private import gio.InputStream; +private import gio.PollableInputStreamIF; +private import gio.PollableInputStreamT; +private import glib.ConstructionException; +private import glib.ErrorG; +private import glib.GException; +private import gobject.ObjectG; +private import soup.Message; +private import soup.MessageHeaders; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class MultipartInputStream : FilterInputStream, PollableInputStreamIF +{ + /** the main Gtk struct */ + protected SoupMultipartInputStream* soupMultipartInputStream; + + /** Get the main Gtk struct */ + public SoupMultipartInputStream* getMultipartInputStreamStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupMultipartInputStream; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupMultipartInputStream; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupMultipartInputStream* soupMultipartInputStream, bool ownedRef = false) + { + this.soupMultipartInputStream = soupMultipartInputStream; + super(cast(GFilterInputStream*)soupMultipartInputStream, ownedRef); + } + + // add the PollableInputStream capabilities + mixin PollableInputStreamT!(SoupMultipartInputStream); + + + /** */ + public static GType getType() + { + return soup_multipart_input_stream_get_type(); + } + + /** + * Creates a new #SoupMultipartInputStream that wraps the + * #GInputStream obtained by sending the #SoupRequest. Reads should + * not be done directly through this object, use the input streams + * returned by soup_multipart_input_stream_next_part() or its async + * counterpart instead. + * + * Params: + * msg = the #SoupMessage the response is related to. + * baseStream = the #GInputStream returned by sending the request. + * + * Returns: a new #SoupMultipartInputStream + * + * Since: 2.40 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Message msg, InputStream baseStream) + { + auto __p = soup_multipart_input_stream_new((msg is null) ? null : msg.getMessageStruct(), (baseStream is null) ? null : baseStream.getInputStreamStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupMultipartInputStream*) __p, true); + } + + /** + * Obtains the headers for the part currently being processed. Note + * that the #SoupMessageHeaders that are returned are owned by the + * #SoupMultipartInputStream and will be replaced when a call is made + * to soup_multipart_input_stream_next_part() or its async + * counterpart, so if keeping the headers is required, a copy must be + * made. + * + * Note that if a part had no headers at all an empty #SoupMessageHeaders + * will be returned. + * + * Returns: a #SoupMessageHeaders + * containing the headers for the part currently being processed or + * %NULL if the headers failed to parse. + * + * Since: 2.40 + */ + public MessageHeaders getHeaders() + { + auto __p = soup_multipart_input_stream_get_headers(soupMultipartInputStream); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(MessageHeaders)(cast(SoupMessageHeaders*) __p); + } + + /** + * Obtains an input stream for the next part. When dealing with a + * multipart response the input stream needs to be wrapped in a + * #SoupMultipartInputStream and this function or its async + * counterpart need to be called to obtain the first part for + * reading. + * + * After calling this function, + * soup_multipart_input_stream_get_headers() can be used to obtain the + * headers for the first part. A read of 0 bytes indicates the end of + * the part; a new call to this function should be done at that point, + * to obtain the next part. + * + * Params: + * cancellable = a #GCancellable + * + * Returns: a new #GInputStream, or + * %NULL if there are no more parts + * + * Since: 2.40 + * + * Throws: GException on failure. + */ + public InputStream nextPart(Cancellable cancellable) + { + GError* err = null; + + auto __p = soup_multipart_input_stream_next_part(soupMultipartInputStream, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(InputStream)(cast(GInputStream*) __p, true); + } + + /** + * Obtains a #GInputStream for the next request. See + * soup_multipart_input_stream_next_part() for details on the + * workflow. + * + * Params: + * ioPriority = the I/O priority for the request. + * cancellable = a #GCancellable. + * callback = callback to call when request is satisfied. + * data = data for @callback + * + * Since: 2.40 + */ + public void nextPartAsync(int ioPriority, Cancellable cancellable, GAsyncReadyCallback callback, void* data) + { + soup_multipart_input_stream_next_part_async(soupMultipartInputStream, ioPriority, (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, data); + } + + /** + * Finishes an asynchronous request for the next part. + * + * Params: + * result = a #GAsyncResult. + * + * Returns: a newly created + * #GInputStream for reading the next part or %NULL if there are no + * more parts. + * + * Since: 2.40 + * + * Throws: GException on failure. + */ + public InputStream nextPartFinish(AsyncResultIF result) + { + GError* err = null; + + auto __p = soup_multipart_input_stream_next_part_finish(soupMultipartInputStream, (result is null) ? null : result.getAsyncResultStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(InputStream)(cast(GInputStream*) __p, true); + } +} diff --git a/source/generated/soup/soup/PasswordManagerIF.d b/source/generated/soup/soup/PasswordManagerIF.d new file mode 100644 index 000000000..6118d13fc --- /dev/null +++ b/source/generated/soup/soup/PasswordManagerIF.d @@ -0,0 +1,55 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.PasswordManagerIF; + +private import gio.Cancellable; +private import glib.MainContext; +private import soup.Auth; +private import soup.Message; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public interface PasswordManagerIF{ + /** Get the main Gtk struct */ + public SoupPasswordManager* getPasswordManagerStruct(bool transferOwnership = false); + + /** the main Gtk struct as a void* */ + protected void* getStruct(); + + + /** */ + public static GType getType() + { + return soup_password_manager_get_type(); + } + + /** */ + public void getPasswordsAsync(Message msg, Auth auth, bool retrying, MainContext asyncContext, Cancellable cancellable, SoupPasswordManagerCallback callback, void* userData); + + /** */ + public void getPasswordsSync(Message msg, Auth auth, Cancellable cancellable); +} diff --git a/source/generated/soup/soup/PasswordManagerT.d b/source/generated/soup/soup/PasswordManagerT.d new file mode 100644 index 000000000..5c730f2c2 --- /dev/null +++ b/source/generated/soup/soup/PasswordManagerT.d @@ -0,0 +1,58 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.PasswordManagerT; + +public import gio.Cancellable; +public import glib.MainContext; +public import soup.Auth; +public import soup.Message; +public import soup.c.functions; +public import soup.c.types; + + +/** */ +public template PasswordManagerT(TStruct) +{ + /** Get the main Gtk struct */ + public SoupPasswordManager* getPasswordManagerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return cast(SoupPasswordManager*)getStruct(); + } + + + /** */ + public void getPasswordsAsync(Message msg, Auth auth, bool retrying, MainContext asyncContext, Cancellable cancellable, SoupPasswordManagerCallback callback, void* userData) + { + soup_password_manager_get_passwords_async(getPasswordManagerStruct(), (msg is null) ? null : msg.getMessageStruct(), (auth is null) ? null : auth.getAuthStruct(), retrying, (asyncContext is null) ? null : asyncContext.getMainContextStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** */ + public void getPasswordsSync(Message msg, Auth auth, Cancellable cancellable) + { + soup_password_manager_get_passwords_sync(getPasswordManagerStruct(), (msg is null) ? null : msg.getMessageStruct(), (auth is null) ? null : auth.getAuthStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct()); + } +} diff --git a/source/generated/soup/soup/ProxyResolverDefault.d b/source/generated/soup/soup/ProxyResolverDefault.d new file mode 100644 index 000000000..b86f3cb51 --- /dev/null +++ b/source/generated/soup/soup/ProxyResolverDefault.d @@ -0,0 +1,77 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.ProxyResolverDefault; + +private import gobject.ObjectG; +private import soup.ProxyURIResolverIF; +private import soup.ProxyURIResolverT; +private import soup.SessionFeatureIF; +private import soup.SessionFeatureT; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class ProxyResolverDefault : ObjectG, ProxyURIResolverIF, SessionFeatureIF +{ + /** the main Gtk struct */ + protected SoupProxyResolverDefault* soupProxyResolverDefault; + + /** Get the main Gtk struct */ + public SoupProxyResolverDefault* getProxyResolverDefaultStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupProxyResolverDefault; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupProxyResolverDefault; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupProxyResolverDefault* soupProxyResolverDefault, bool ownedRef = false) + { + this.soupProxyResolverDefault = soupProxyResolverDefault; + super(cast(GObject*)soupProxyResolverDefault, ownedRef); + } + + // add the ProxyURIResolver capabilities + mixin ProxyURIResolverT!(SoupProxyResolverDefault); + + // add the SessionFeature capabilities + mixin SessionFeatureT!(SoupProxyResolverDefault); + + + /** */ + public static GType getType() + { + return soup_proxy_resolver_default_get_type(); + } +} diff --git a/source/generated/soup/soup/ProxyResolverIF.d b/source/generated/soup/soup/ProxyResolverIF.d new file mode 100644 index 000000000..6de90e67e --- /dev/null +++ b/source/generated/soup/soup/ProxyResolverIF.d @@ -0,0 +1,64 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.ProxyResolverIF; + +private import gio.Cancellable; +private import glib.MainContext; +private import gobject.ObjectG; +private import soup.Address; +private import soup.Message; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public interface ProxyResolverIF{ + /** Get the main Gtk struct */ + public SoupProxyResolver* getProxyResolverStruct(bool transferOwnership = false); + + /** the main Gtk struct as a void* */ + protected void* getStruct(); + + + /** */ + public static GType getType() + { + return soup_proxy_resolver_get_type(); + } + + /** + * + * + * Deprecated: Use SoupProxyURIResolver.get_proxy_uri_async instead + */ + public void getProxyAsync(Message msg, MainContext asyncContext, Cancellable cancellable, SoupProxyResolverCallback callback, void* userData); + + /** + * + * + * Deprecated: Use SoupProxyURIResolver.get_proxy_uri_sync() instead + */ + public uint getProxySync(Message msg, Cancellable cancellable, out Address addr); +} diff --git a/source/generated/soup/soup/ProxyResolverT.d b/source/generated/soup/soup/ProxyResolverT.d new file mode 100644 index 000000000..a201fcb84 --- /dev/null +++ b/source/generated/soup/soup/ProxyResolverT.d @@ -0,0 +1,73 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.ProxyResolverT; + +public import gio.Cancellable; +public import glib.MainContext; +public import gobject.ObjectG; +public import soup.Address; +public import soup.Message; +public import soup.c.functions; +public import soup.c.types; + + +/** */ +public template ProxyResolverT(TStruct) +{ + /** Get the main Gtk struct */ + public SoupProxyResolver* getProxyResolverStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return cast(SoupProxyResolver*)getStruct(); + } + + + /** + * + * + * Deprecated: Use SoupProxyURIResolver.get_proxy_uri_async instead + */ + public void getProxyAsync(Message msg, MainContext asyncContext, Cancellable cancellable, SoupProxyResolverCallback callback, void* userData) + { + soup_proxy_resolver_get_proxy_async(getProxyResolverStruct(), (msg is null) ? null : msg.getMessageStruct(), (asyncContext is null) ? null : asyncContext.getMainContextStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * + * + * Deprecated: Use SoupProxyURIResolver.get_proxy_uri_sync() instead + */ + public uint getProxySync(Message msg, Cancellable cancellable, out Address addr) + { + SoupAddress* outaddr = null; + + auto __p = soup_proxy_resolver_get_proxy_sync(getProxyResolverStruct(), (msg is null) ? null : msg.getMessageStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), &outaddr); + + addr = ObjectG.getDObject!(Address)(outaddr); + + return __p; + } +} diff --git a/source/generated/soup/soup/ProxyURIResolverIF.d b/source/generated/soup/soup/ProxyURIResolverIF.d new file mode 100644 index 000000000..55efcb3ed --- /dev/null +++ b/source/generated/soup/soup/ProxyURIResolverIF.d @@ -0,0 +1,87 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.ProxyURIResolverIF; + +private import gio.Cancellable; +private import glib.MainContext; +private import gobject.ObjectG; +private import soup.URI; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public interface ProxyURIResolverIF{ + /** Get the main Gtk struct */ + public SoupProxyURIResolver* getProxyURIResolverStruct(bool transferOwnership = false); + + /** the main Gtk struct as a void* */ + protected void* getStruct(); + + + /** */ + public static GType getType() + { + return soup_proxy_uri_resolver_get_type(); + } + + /** + * Asynchronously determines a proxy URI to use for @msg and calls + * @callback. + * + * Deprecated: #SoupProxyURIResolver is deprecated in favor of + * #GProxyResolver + * + * Params: + * uri = the #SoupURI you want a proxy for + * asyncContext = the #GMainContext to invoke @callback in + * cancellable = a #GCancellable, or %NULL + * callback = callback to invoke with the proxy address + * userData = data for @callback + * + * Since: 2.26.3 + */ + public void getProxyUriAsync(URI uri, MainContext asyncContext, Cancellable cancellable, SoupProxyURIResolverCallback callback, void* userData); + + /** + * Synchronously determines a proxy URI to use for @uri. If @uri + * should be sent via proxy, *@proxy_uri will be set to the URI of the + * proxy, else it will be set to %NULL. + * + * Deprecated: #SoupProxyURIResolver is deprecated in favor of + * #GProxyResolver + * + * Params: + * uri = the #SoupURI you want a proxy for + * cancellable = a #GCancellable, or %NULL + * proxyUri = on return, will contain the proxy URI + * + * Returns: %SOUP_STATUS_OK if successful, or a transport-level + * error. + * + * Since: 2.26.3 + */ + public uint getProxyUriSync(URI uri, Cancellable cancellable, out URI proxyUri); +} diff --git a/source/generated/soup/soup/ProxyURIResolverT.d b/source/generated/soup/soup/ProxyURIResolverT.d new file mode 100644 index 000000000..a9d853d33 --- /dev/null +++ b/source/generated/soup/soup/ProxyURIResolverT.d @@ -0,0 +1,96 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.ProxyURIResolverT; + +public import gio.Cancellable; +public import glib.MainContext; +public import gobject.ObjectG; +public import soup.URI; +public import soup.c.functions; +public import soup.c.types; + + +/** */ +public template ProxyURIResolverT(TStruct) +{ + /** Get the main Gtk struct */ + public SoupProxyURIResolver* getProxyURIResolverStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return cast(SoupProxyURIResolver*)getStruct(); + } + + + /** + * Asynchronously determines a proxy URI to use for @msg and calls + * @callback. + * + * Deprecated: #SoupProxyURIResolver is deprecated in favor of + * #GProxyResolver + * + * Params: + * uri = the #SoupURI you want a proxy for + * asyncContext = the #GMainContext to invoke @callback in + * cancellable = a #GCancellable, or %NULL + * callback = callback to invoke with the proxy address + * userData = data for @callback + * + * Since: 2.26.3 + */ + public void getProxyUriAsync(URI uri, MainContext asyncContext, Cancellable cancellable, SoupProxyURIResolverCallback callback, void* userData) + { + soup_proxy_uri_resolver_get_proxy_uri_async(getProxyURIResolverStruct(), (uri is null) ? null : uri.getURIStruct(), (asyncContext is null) ? null : asyncContext.getMainContextStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * Synchronously determines a proxy URI to use for @uri. If @uri + * should be sent via proxy, *@proxy_uri will be set to the URI of the + * proxy, else it will be set to %NULL. + * + * Deprecated: #SoupProxyURIResolver is deprecated in favor of + * #GProxyResolver + * + * Params: + * uri = the #SoupURI you want a proxy for + * cancellable = a #GCancellable, or %NULL + * proxyUri = on return, will contain the proxy URI + * + * Returns: %SOUP_STATUS_OK if successful, or a transport-level + * error. + * + * Since: 2.26.3 + */ + public uint getProxyUriSync(URI uri, Cancellable cancellable, out URI proxyUri) + { + SoupURI* outproxyUri = null; + + auto __p = soup_proxy_uri_resolver_get_proxy_uri_sync(getProxyURIResolverStruct(), (uri is null) ? null : uri.getURIStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), &outproxyUri); + + proxyUri = ObjectG.getDObject!(URI)(outproxyUri); + + return __p; + } +} diff --git a/source/generated/soup/soup/Request.d b/source/generated/soup/soup/Request.d new file mode 100644 index 000000000..24bbee864 --- /dev/null +++ b/source/generated/soup/soup/Request.d @@ -0,0 +1,243 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.Request; + +private import gio.AsyncResultIF; +private import gio.Cancellable; +private import gio.InitableIF; +private import gio.InitableT; +private import gio.InputStream; +private import glib.ErrorG; +private import glib.GException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import soup.Session; +private import soup.URI; +private import soup.c.functions; +public import soup.c.types; + + +/** + * A request to retrieve a particular URI. + * + * Since: 2.42 + */ +public class Request : ObjectG, InitableIF +{ + /** the main Gtk struct */ + protected SoupRequest* soupRequest; + + /** Get the main Gtk struct */ + public SoupRequest* getRequestStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupRequest; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupRequest; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupRequest* soupRequest, bool ownedRef = false) + { + this.soupRequest = soupRequest; + super(cast(GObject*)soupRequest, ownedRef); + } + + // add the Initable capabilities + mixin InitableT!(SoupRequest); + + + /** */ + public static GType getType() + { + return soup_request_get_type(); + } + + /** + * Gets the length of the data represented by @request. For most + * request types, this will not be known until after you call + * soup_request_send() or soup_request_send_finish(). + * + * Returns: the length of the data represented by @request, + * or -1 if not known. + * + * Since: 2.42 + */ + public long getContentLength() + { + return soup_request_get_content_length(soupRequest); + } + + /** + * Gets the type of the data represented by @request. For most request + * types, this will not be known until after you call + * soup_request_send() or soup_request_send_finish(). + * + * As in the HTTP Content-Type header, this may include parameters + * after the MIME type. + * + * Returns: the type of the data represented by + * @request, or %NULL if not known. + * + * Since: 2.42 + */ + public string getContentType() + { + return Str.toString(soup_request_get_content_type(soupRequest)); + } + + /** + * Gets @request's #SoupSession + * + * Returns: @request's #SoupSession + * + * Since: 2.42 + */ + public Session getSession() + { + auto __p = soup_request_get_session(soupRequest); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Session)(cast(SoupSession*) __p); + } + + /** + * Gets @request's URI + * + * Returns: @request's URI + * + * Since: 2.42 + */ + public URI getUri() + { + auto __p = soup_request_get_uri(soupRequest); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(URI)(cast(SoupURI*) __p); + } + + /** + * Synchronously requests the URI pointed to by @request, and returns + * a #GInputStream that can be used to read its contents. + * + * Note that you cannot use this method with #SoupRequests attached to + * a #SoupSessionAsync. + * + * Params: + * cancellable = a #GCancellable or %NULL + * + * Returns: a #GInputStream that can be used to + * read from the URI pointed to by @request. + * + * Since: 2.42 + * + * Throws: GException on failure. + */ + public InputStream send(Cancellable cancellable) + { + GError* err = null; + + auto __p = soup_request_send(soupRequest, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(InputStream)(cast(GInputStream*) __p, true); + } + + /** + * Begins an asynchronously request for the URI pointed to by + * @request. + * + * Note that you cannot use this method with #SoupRequests attached to + * a #SoupSessionSync. + * + * Params: + * cancellable = a #GCancellable or %NULL + * callback = a #GAsyncReadyCallback + * userData = user data passed to @callback + * + * Since: 2.42 + */ + public void sendAsync(Cancellable cancellable, GAsyncReadyCallback callback, void* userData) + { + soup_request_send_async(soupRequest, (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * Gets the result of a soup_request_send_async(). + * + * Params: + * result = the #GAsyncResult + * + * Returns: a #GInputStream that can be used to + * read from the URI pointed to by @request. + * + * Since: 2.42 + * + * Throws: GException on failure. + */ + public InputStream sendFinish(AsyncResultIF result) + { + GError* err = null; + + auto __p = soup_request_send_finish(soupRequest, (result is null) ? null : result.getAsyncResultStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(InputStream)(cast(GInputStream*) __p, true); + } +} diff --git a/generated/gstreamer/gstreamer/Fraction.d b/source/generated/soup/soup/RequestData.d similarity index 67% rename from generated/gstreamer/gstreamer/Fraction.d rename to source/generated/soup/soup/RequestData.d index 0712292c2..275ec32f7 100644 --- a/generated/gstreamer/gstreamer/Fraction.d +++ b/source/generated/soup/soup/RequestData.d @@ -22,49 +22,46 @@ // implement new conversion functionalities on the wrap.utils pakage -module gstreamer.Fraction; +module soup.RequestData; -private import gstreamer.c.functions; -public import gstreamer.c.types; +private import soup.Request; +private import soup.c.functions; +public import soup.c.types; -/** - * A fundamental type that describes a fraction of an integer numerator - * over an integer denominator - */ -public class Fraction +/** */ +public class RequestData : Request { /** the main Gtk struct */ - protected GstFraction* gstFraction; - protected bool ownedRef; + protected SoupRequestData* soupRequestData; /** Get the main Gtk struct */ - public GstFraction* getFractionStruct(bool transferOwnership = false) + public SoupRequestData* getRequestDataStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gstFraction; + return soupRequestData; } /** the main Gtk struct as a void* */ - protected void* getStruct() + protected override void* getStruct() { - return cast(void*)gstFraction; + return cast(void*)soupRequestData; } /** * Sets our main struct and passes it to the parent class. */ - public this (GstFraction* gstFraction, bool ownedRef = false) + public this (SoupRequestData* soupRequestData, bool ownedRef = false) { - this.gstFraction = gstFraction; - this.ownedRef = ownedRef; + this.soupRequestData = soupRequestData; + super(cast(SoupRequest*)soupRequestData, ownedRef); } /** */ public static GType getType() { - return gst_fraction_get_type(); + return soup_request_data_get_type(); } } diff --git a/generated/gstreamer/gstreamer/FlagSet.d b/source/generated/soup/soup/RequestFile.d similarity index 57% rename from generated/gstreamer/gstreamer/FlagSet.d rename to source/generated/soup/soup/RequestFile.d index ad53b40ee..56b2b1a4b 100644 --- a/generated/gstreamer/gstreamer/FlagSet.d +++ b/source/generated/soup/soup/RequestFile.d @@ -22,64 +22,67 @@ // implement new conversion functionalities on the wrap.utils pakage -module gstreamer.FlagSet; +module soup.RequestFile; -private import gstreamer.c.functions; -public import gstreamer.c.types; +private import gio.FileIF; +private import gobject.ObjectG; +private import soup.Request; +private import soup.c.functions; +public import soup.c.types; -/** - * A fundamental type that describes a 32-bit flag bitfield, with 32-bit - * mask indicating which of the bits in the field are explicitly set. - */ -public class FlagSet +/** */ +public class RequestFile : Request { /** the main Gtk struct */ - protected GstFlagSet* gstFlagSet; - protected bool ownedRef; + protected SoupRequestFile* soupRequestFile; /** Get the main Gtk struct */ - public GstFlagSet* getFlagSetStruct(bool transferOwnership = false) + public SoupRequestFile* getRequestFileStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gstFlagSet; + return soupRequestFile; } /** the main Gtk struct as a void* */ - protected void* getStruct() + protected override void* getStruct() { - return cast(void*)gstFlagSet; + return cast(void*)soupRequestFile; } /** * Sets our main struct and passes it to the parent class. */ - public this (GstFlagSet* gstFlagSet, bool ownedRef = false) + public this (SoupRequestFile* soupRequestFile, bool ownedRef = false) { - this.gstFlagSet = gstFlagSet; - this.ownedRef = ownedRef; + this.soupRequestFile = soupRequestFile; + super(cast(SoupRequest*)soupRequestFile, ownedRef); } /** */ public static GType getType() { - return gst_flagset_get_type(); + return soup_request_file_get_type(); } /** - * Create a new sub-class of #GST_TYPE_FLAG_SET - * which will pretty-print the human-readable flags - * when serializing, for easier debugging. + * Gets a #GFile corresponding to @file's URI * - * Params: - * flagsType = a #GType of a #G_TYPE_FLAGS type. + * Returns: a #GFile corresponding to @file * - * Since: 1.6 + * Since: 2.40 */ - public static GType register(GType flagsType) + public FileIF getFile() { - return gst_flagset_register(flagsType); + auto __p = soup_request_file_get_file(soupRequestFile); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(FileIF)(cast(GFile*) __p, true); } } diff --git a/source/generated/soup/soup/RequestHTTP.d b/source/generated/soup/soup/RequestHTTP.d new file mode 100644 index 000000000..69281ff94 --- /dev/null +++ b/source/generated/soup/soup/RequestHTTP.d @@ -0,0 +1,88 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.RequestHTTP; + +private import gobject.ObjectG; +private import soup.Message; +private import soup.Request; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class RequestHTTP : Request +{ + /** the main Gtk struct */ + protected SoupRequestHTTP* soupRequestHTTP; + + /** Get the main Gtk struct */ + public SoupRequestHTTP* getRequestHTTPStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupRequestHTTP; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupRequestHTTP; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupRequestHTTP* soupRequestHTTP, bool ownedRef = false) + { + this.soupRequestHTTP = soupRequestHTTP; + super(cast(SoupRequest*)soupRequestHTTP, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_request_http_get_type(); + } + + /** + * Gets a new reference to the #SoupMessage associated to this SoupRequest + * + * Returns: a new reference to the #SoupMessage + * + * Since: 2.40 + */ + public Message getMessage() + { + auto __p = soup_request_http_get_message(soupRequestHTTP); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Message)(cast(SoupMessage*) __p, true); + } +} diff --git a/source/generated/soup/soup/Requester.d b/source/generated/soup/soup/Requester.d new file mode 100644 index 000000000..210d93b66 --- /dev/null +++ b/source/generated/soup/soup/Requester.d @@ -0,0 +1,131 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.Requester; + +private import glib.ConstructionException; +private import glib.ErrorG; +private import glib.GException; +private import glib.Str; +private import gobject.ObjectG; +private import soup.Request; +private import soup.SessionFeatureIF; +private import soup.SessionFeatureT; +private import soup.URI; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class Requester : ObjectG, SessionFeatureIF +{ + /** the main Gtk struct */ + protected SoupRequester* soupRequester; + + /** Get the main Gtk struct */ + public SoupRequester* getRequesterStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupRequester; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupRequester; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupRequester* soupRequester, bool ownedRef = false) + { + this.soupRequester = soupRequester; + super(cast(GObject*)soupRequester, ownedRef); + } + + // add the SessionFeature capabilities + mixin SessionFeatureT!(SoupRequester); + + + /** */ + public static GType getType() + { + return soup_requester_get_type(); + } + + /** */ + public this() + { + auto __p = soup_requester_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupRequester*) __p, true); + } + + /** */ + public Request request(string uriString) + { + GError* err = null; + + auto __p = soup_requester_request(soupRequester, Str.toStringz(uriString), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Request)(cast(SoupRequest*) __p, true); + } + + /** */ + public Request requestUri(URI uri) + { + GError* err = null; + + auto __p = soup_requester_request_uri(soupRequester, (uri is null) ? null : uri.getURIStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Request)(cast(SoupRequest*) __p, true); + } +} diff --git a/source/generated/soup/soup/SSocket.d b/source/generated/soup/soup/SSocket.d new file mode 100644 index 000000000..d446dc086 --- /dev/null +++ b/source/generated/soup/soup/SSocket.d @@ -0,0 +1,418 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.SSocket; + +private import gio.Cancellable; +private import gio.IOStream; +private import gio.InitableIF; +private import gio.InitableT; +private import glib.ConstructionException; +private import glib.ErrorG; +private import glib.GException; +private import glib.Str; +private import gobject.ObjectG; +private import gobject.Signals; +private import soup.Address; +private import soup.c.functions; +public import soup.c.types; +private import std.algorithm; + + +/** */ +public class SSocket : ObjectG, InitableIF +{ + /** the main Gtk struct */ + protected SoupSocket* soupSocket; + + /** Get the main Gtk struct */ + public SoupSocket* getSSocketStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupSocket; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupSocket; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupSocket* soupSocket, bool ownedRef = false) + { + this.soupSocket = soupSocket; + super(cast(GObject*)soupSocket, ownedRef); + } + + // add the Initable capabilities + mixin InitableT!(SoupSocket); + + /** + * Like soup_socket_read(), but reads no further than the first + * occurrence of @boundary. (If the boundary is found, it will be + * included in the returned data, and *@got_boundary will be set to + * %TRUE.) Any data after the boundary will returned in future reads. + * + * soup_socket_read_until() will almost always return fewer than @len + * bytes: if the boundary is found, then it will only return the bytes + * up until the end of the boundary, and if the boundary is not found, + * then it will leave the last (boundary_len - 1) + * bytes in its internal buffer, in case they form the start of the + * boundary string. Thus, @len normally needs to be at least 1 byte + * longer than @boundary_len if you want to make any progress at all. + * + * Params: + * buffer = buffer to read + * into + * boundary = boundary to read until + * boundaryLen = length of @boundary in bytes + * nread = on return, the number of bytes read into @buffer + * gotBoundary = on return, whether or not the data in @buffer + * ends with the boundary string + * cancellable = a #GCancellable, or %NULL + * + * Returns: as for soup_socket_read() + * + * Throws: GException on failure. + */ + public SoupSocketIOStatus readUntil(ubyte[] buffer, void* boundary, size_t boundaryLen, out size_t nread, bool* gotBoundary, Cancellable cancellable) { + GError* err = null; + + auto __p = soup_socket_read_until(soupSocket, buffer.ptr, cast(size_t)buffer.length, boundary, boundaryLen, &nread, cast(int *)gotBoundary, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err); + + if (err !is null) { + throw new GException( new ErrorG(err) ); + } + + return __p; +} + +/** + */ + +/** */ +public static GType getType() +{ + return soup_socket_get_type(); +} + +/** + * Begins asynchronously connecting to @sock's remote address. The + * socket will call @callback when it succeeds or fails (but not + * before returning from this function). + * + * If @cancellable is non-%NULL, it can be used to cancel the + * connection. @callback will still be invoked in this case, with a + * status of %SOUP_STATUS_CANCELLED. + * + * Params: + * cancellable = a #GCancellable, or %NULL + * callback = callback to call after connecting + * userData = data to pass to @callback + */ +public void connectAsync(Cancellable cancellable, SoupSocketCallback callback, void* userData) +{ + soup_socket_connect_async(soupSocket, (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); +} + +/** + * Attempt to synchronously connect @sock to its remote address. + * + * If @cancellable is non-%NULL, it can be used to cancel the + * connection, in which case soup_socket_connect_sync() will return + * %SOUP_STATUS_CANCELLED. + * + * Params: + * cancellable = a #GCancellable, or %NULL + * + * Returns: a success or failure code. + */ +public uint connectSync(Cancellable cancellable) +{ + return soup_socket_connect_sync(soupSocket, (cancellable is null) ? null : cancellable.getCancellableStruct()); +} + +/** + * Disconnects @sock. Any further read or write attempts on it will + * fail. + */ +public void disconnect() +{ + soup_socket_disconnect(soupSocket); +} + +/** + * Gets @sock's underlying file descriptor. + * + * Note that fiddling with the file descriptor may break the + * #SoupSocket. + * + * Returns: @sock's file descriptor. + */ +public int getFd() +{ + return soup_socket_get_fd(soupSocket); +} + +/** + * Returns the #SoupAddress corresponding to the local end of @sock. + * + * Calling this method on an unconnected socket is considered to be + * an error, and produces undefined results. + * + * Returns: the #SoupAddress + */ +public Address getLocalAddress() +{ + auto __p = soup_socket_get_local_address(soupSocket); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Address)(cast(SoupAddress*) __p); +} + +/** + * Returns the #SoupAddress corresponding to the remote end of @sock. + * + * Calling this method on an unconnected socket is considered to be + * an error, and produces undefined results. + * + * Returns: the #SoupAddress + */ +public Address getRemoteAddress() +{ + auto __p = soup_socket_get_remote_address(soupSocket); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Address)(cast(SoupAddress*) __p); +} + +/** + * Tests if @sock is connected to another host + * + * Returns: %TRUE or %FALSE. + */ +public bool isConnected() +{ + return soup_socket_is_connected(soupSocket) != 0; +} + +/** + * Tests if @sock is doing (or has attempted to do) SSL. + * + * Returns: %TRUE if @sock has SSL credentials set + */ +public bool isSsl() +{ + return soup_socket_is_ssl(soupSocket) != 0; +} + +/** + * Makes @sock start listening on its local address. When connections + * come in, @sock will emit #SoupSocket::new_connection. + * + * Returns: whether or not @sock is now listening. + */ +public bool listen() +{ + return soup_socket_listen(soupSocket) != 0; +} + +/** + * Attempts to read up to @len bytes from @sock into @buffer. If some + * data is successfully read, soup_socket_read() will return + * %SOUP_SOCKET_OK, and *@nread will contain the number of bytes + * actually read (which may be less than @len). + * + * If @sock is non-blocking, and no data is available, the return + * value will be %SOUP_SOCKET_WOULD_BLOCK. In this case, the caller + * can connect to the #SoupSocket::readable signal to know when there + * is more data to read. (NB: You MUST read all available data off the + * socket first. #SoupSocket::readable is only emitted after + * soup_socket_read() returns %SOUP_SOCKET_WOULD_BLOCK, and it is only + * emitted once. See the documentation for #SoupSocket:non-blocking.) + * + * Params: + * buffer = buffer to read + * into + * nread = on return, the number of bytes read into @buffer + * cancellable = a #GCancellable, or %NULL + * + * Returns: a #SoupSocketIOStatus, as described above (or + * %SOUP_SOCKET_EOF if the socket is no longer connected, or + * %SOUP_SOCKET_ERROR on any other error, in which case @error will + * also be set). + * + * Throws: GException on failure. + */ +public SoupSocketIOStatus read(ubyte[] buffer, out size_t nread, Cancellable cancellable) +{ + GError* err = null; + + auto __p = soup_socket_read(soupSocket, buffer.ptr, cast(size_t)buffer.length, &nread, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; +} + +/** + * Starts using SSL on @socket, expecting to find a host named + * @ssl_host. + * + * Params: + * sslHost = hostname of the SSL server + * cancellable = a #GCancellable + * + * Returns: success or failure + */ +public bool startProxySsl(string sslHost, Cancellable cancellable) +{ + return soup_socket_start_proxy_ssl(soupSocket, Str.toStringz(sslHost), (cancellable is null) ? null : cancellable.getCancellableStruct()) != 0; +} + +/** + * Starts using SSL on @socket. + * + * Params: + * cancellable = a #GCancellable + * + * Returns: success or failure + */ +public bool startSsl(Cancellable cancellable) +{ + return soup_socket_start_ssl(soupSocket, (cancellable is null) ? null : cancellable.getCancellableStruct()) != 0; +} + +/** + * Attempts to write @len bytes from @buffer to @sock. If some data is + * successfully written, the return status will be %SOUP_SOCKET_OK, + * and *@nwrote will contain the number of bytes actually written + * (which may be less than @len). + * + * If @sock is non-blocking, and no data could be written right away, + * the return value will be %SOUP_SOCKET_WOULD_BLOCK. In this case, + * the caller can connect to the #SoupSocket::writable signal to know + * when more data can be written. (NB: #SoupSocket::writable is only + * emitted after soup_socket_write() returns %SOUP_SOCKET_WOULD_BLOCK, + * and it is only emitted once. See the documentation for + * #SoupSocket:non-blocking.) + * + * Params: + * buffer = data to write + * nwrote = on return, number of bytes written + * cancellable = a #GCancellable, or %NULL + * + * Returns: a #SoupSocketIOStatus, as described above (or + * %SOUP_SOCKET_EOF or %SOUP_SOCKET_ERROR. @error will be set if the + * return value is %SOUP_SOCKET_ERROR.) + * + * Throws: GException on failure. + */ +public SoupSocketIOStatus write(ubyte[] buffer, out size_t nwrote, Cancellable cancellable) +{ + GError* err = null; + + auto __p = soup_socket_write(soupSocket, buffer.ptr, cast(size_t)buffer.length, &nwrote, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; +} + +/** + * Emitted when the socket is disconnected, for whatever + * reason. + */ +gulong addOnDisconnected(void delegate(SSocket) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) +{ + return Signals.connect(this, "disconnected", dlg, connectFlags ^ ConnectFlags.SWAPPED); +} + +/** + * Emitted when a network-related event occurs. See + * #GSocketClient::event for more details. + * + * Params: + * event = the event that occurred + * connection = the current connection state + * + * Since: 2.38 + */ +gulong addOnEvent(void delegate(GSocketClientEvent, IOStream, SSocket) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) +{ + return Signals.connect(this, "event", dlg, connectFlags ^ ConnectFlags.SWAPPED); +} + +/** + * Emitted when a listening socket (set up with + * soup_socket_listen()) receives a new connection. + * + * You must ref the @new if you want to keep it; otherwise it + * will be destroyed after the signal is emitted. + * + * Params: + * new_ = the new socket + */ +gulong addOnNewConnection(void delegate(SSocket, SSocket) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) +{ + return Signals.connect(this, "new-connection", dlg, connectFlags ^ ConnectFlags.SWAPPED); +} + +/** + * Emitted when an async socket is readable. See + * soup_socket_read(), soup_socket_read_until() and + * #SoupSocket:non-blocking. + */ +gulong addOnReadable(void delegate(SSocket) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) +{ + return Signals.connect(this, "readable", dlg, connectFlags ^ ConnectFlags.SWAPPED); +} + +/** + * Emitted when an async socket is writable. See + * soup_socket_write() and #SoupSocket:non-blocking. + */ +gulong addOnWritable(void delegate(SSocket) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) +{ + return Signals.connect(this, "writable", dlg, connectFlags ^ ConnectFlags.SWAPPED); +} +} diff --git a/source/generated/soup/soup/Server.d b/source/generated/soup/soup/Server.d new file mode 100644 index 000000000..34ef87c2d --- /dev/null +++ b/source/generated/soup/soup/Server.d @@ -0,0 +1,859 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.Server; + +private import gio.IOStream; +private import gio.Socket; +private import gio.SocketAddress; +private import glib.ConstructionException; +private import glib.ErrorG; +private import glib.GException; +private import glib.ListSG; +private import glib.MainContext; +private import glib.Str; +private import gobject.ObjectG; +private import gobject.Signals; +private import soup.AuthDomain; +private import soup.ClientContext; +private import soup.Message; +private import soup.SSocket; +private import soup.c.functions; +public import soup.c.types; +private import std.algorithm; + + +/** */ +public class Server : ObjectG +{ + /** the main Gtk struct */ + protected SoupServer* soupServer; + + /** Get the main Gtk struct */ + public SoupServer* getServerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupServer; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupServer; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupServer* soupServer, bool ownedRef = false) + { + this.soupServer = soupServer; + super(cast(GObject*)soupServer, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_server_get_type(); + } + + /** + * Add a new client stream to the @server. + * + * Params: + * stream = a #GIOStream + * localAddr = the local #GSocketAddress associated with the @stream + * remoteAddr = the remote #GSocketAddress associated with the @stream + * + * Returns: %TRUE on success, %FALSE if the stream could not be + * accepted or any other error occurred (in which case @error will be + * set). + * + * Since: 2.50 + * + * Throws: GException on failure. + */ + public bool acceptIostream(IOStream stream, SocketAddress localAddr, SocketAddress remoteAddr) + { + GError* err = null; + + auto __p = soup_server_accept_iostream(soupServer, (stream is null) ? null : stream.getIOStreamStruct(), (localAddr is null) ? null : localAddr.getSocketAddressStruct(), (remoteAddr is null) ? null : remoteAddr.getSocketAddressStruct(), &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Adds an authentication domain to @server. Each auth domain will + * have the chance to require authentication for each request that + * comes in; normally auth domains will require authentication for + * requests on certain paths that they have been set up to watch, or + * that meet other criteria set by the caller. If an auth domain + * determines that a request requires authentication (and the request + * doesn't contain authentication), @server will automatically reject + * the request with an appropriate status (401 Unauthorized or 407 + * Proxy Authentication Required). If the request used the + * "100-continue" Expectation, @server will reject it before the + * request body is sent. + * + * Params: + * authDomain = a #SoupAuthDomain + */ + public void addAuthDomain(AuthDomain authDomain) + { + soup_server_add_auth_domain(soupServer, (authDomain is null) ? null : authDomain.getAuthDomainStruct()); + } + + /** + * Adds an "early" handler to @server for requests under @path. Note + * that "normal" and "early" handlers are matched up together, so if + * you add a normal handler for "/foo" and an early handler for + * "/foo/bar", then a request to "/foo/bar" (or any path below it) + * will run only the early handler. (But if you add both handlers at + * the same path, then both will get run.) + * + * For requests under @path (that have not already been assigned a + * status code by a #SoupAuthDomain or a signal handler), @callback + * will be invoked after receiving the request headers, but before + * receiving the request body; the message's #SoupMessage:method and + * #SoupMessage:request-headers fields will be filled in. + * + * Early handlers are generally used for processing requests with + * request bodies in a streaming fashion. If you determine that the + * request will contain a message body, normally you would call + * soup_message_body_set_accumulate() on the message's + * #SoupMessage:request-body to turn off request-body accumulation, + * and connect to the message's #SoupMessage::got-chunk signal to + * process each chunk as it comes in. + * + * To complete the message processing after the full message body has + * been read, you can either also connect to #SoupMessage::got-body, + * or else you can register a non-early handler for @path as well. As + * long as you have not set the #SoupMessage:status-code by the time + * #SoupMessage::got-body is emitted, the non-early handler will be + * run as well. + * + * Params: + * path = the toplevel path for the handler + * callback = callback to invoke for requests under @path + * userData = data for @callback + * destroy = destroy notifier to free @user_data + * + * Since: 2.50 + */ + public void addEarlyHandler(string path, SoupServerCallback callback, void* userData, GDestroyNotify destroy) + { + soup_server_add_early_handler(soupServer, Str.toStringz(path), callback, userData, destroy); + } + + /** + * Adds a handler to @server for requests under @path. If @path is + * %NULL or "/", then this will be the default handler for all + * requests that don't have a more specific handler. (Note though that + * if you want to handle requests to the special "*" URI, you must + * explicitly register a handler for "*"; the default handler will not + * be used for that case.) + * + * For requests under @path (that have not already been assigned a + * status code by a #SoupAuthDomain, an early #SoupServerHandler, or a + * signal handler), @callback will be invoked after receiving the + * request body; the message's #SoupMessage:method, + * #SoupMessage:request-headers, and #SoupMessage:request-body fields + * will be filled in. + * + * After determining what to do with the request, the callback must at + * a minimum call soup_message_set_status() (or + * soup_message_set_status_full()) on the message to set the response + * status code. Additionally, it may set response headers and/or fill + * in the response body. + * + * If the callback cannot fully fill in the response before returning + * (eg, if it needs to wait for information from a database, or + * another network server), it should call soup_server_pause_message() + * to tell @server to not send the response right away. When the + * response is ready, call soup_server_unpause_message() to cause it + * to be sent. + * + * To send the response body a bit at a time using "chunked" encoding, + * first call soup_message_headers_set_encoding() to set + * %SOUP_ENCODING_CHUNKED on the #SoupMessage:response-headers. Then call + * soup_message_body_append() (or soup_message_body_append_buffer()) + * to append each chunk as it becomes ready, and + * soup_server_unpause_message() to make sure it's running. (The + * server will automatically pause the message if it is using chunked + * encoding but no more chunks are available.) When you are done, call + * soup_message_body_complete() to indicate that no more chunks are + * coming. + * + * Params: + * path = the toplevel path for the handler + * callback = callback to invoke for requests under @path + * userData = data for @callback + * destroy = destroy notifier to free @user_data + */ + public void addHandler(string path, SoupServerCallback callback, void* userData, GDestroyNotify destroy) + { + soup_server_add_handler(soupServer, Str.toStringz(path), callback, userData, destroy); + } + + /** + * Add support for a WebSocket extension of the given @extension_type. + * When a WebSocket client requests an extension of @extension_type, + * a new #SoupWebsocketExtension of type @extension_type will be created + * to handle the request. + * + * You can also add support for a WebSocket extension to the server at + * construct time by using the %SOUP_SERVER_ADD_WEBSOCKET_EXTENSION property. + * Note that #SoupWebsocketExtensionDeflate is supported by default, use + * soup_server_remove_websocket_extension() if you want to disable it. + * + * Params: + * extensionType = a #GType + * + * Since: 2.68 + */ + public void addWebsocketExtension(GType extensionType) + { + soup_server_add_websocket_extension(soupServer, extensionType); + } + + /** + * Adds a WebSocket handler to @server for requests under @path. (If + * @path is %NULL or "/", then this will be the default handler for + * all requests that don't have a more specific handler.) + * + * When a path has a WebSocket handler registered, @server will check + * incoming requests for WebSocket handshakes after all other handlers + * have run (unless some earlier handler has already set a status code + * on the message), and update the request's status, response headers, + * and response body accordingly. + * + * If @origin is non-%NULL, then only requests containing a matching + * "Origin" header will be accepted. If @protocols is non-%NULL, then + * only requests containing a compatible "Sec-WebSocket-Protocols" + * header will be accepted. More complicated requirements can be + * handled by adding a normal handler to @path, and having it perform + * whatever checks are needed (possibly calling + * soup_server_check_websocket_handshake() one or more times), and + * setting a failure status code if the handshake should be rejected. + * + * Params: + * path = the toplevel path for the handler + * origin = the origin of the connection + * protocols = the protocols + * supported by this handler + * callback = callback to invoke for successful WebSocket requests under @path + * userData = data for @callback + * destroy = destroy notifier to free @user_data + */ + public void addWebsocketHandler(string path, string origin, string[] protocols, SoupServerWebsocketCallback callback, void* userData, GDestroyNotify destroy) + { + soup_server_add_websocket_handler(soupServer, Str.toStringz(path), Str.toStringz(origin), Str.toStringzArray(protocols), callback, userData, destroy); + } + + /** + * Closes and frees @server's listening sockets. If you are using the + * old #SoupServer APIs, this also includes the effect of + * soup_server_quit(). + * + * Note that if there are currently requests in progress on @server, + * that they will continue to be processed if @server's #GMainContext + * is still running. + * + * You can call soup_server_listen(), etc, after calling this function + * if you want to start listening again. + */ + public void disconnect() + { + soup_server_disconnect(soupServer); + } + + /** + * Gets @server's async_context, if you are using the old API. (With + * the new API, the server runs in the thread's thread-default + * #GMainContext, regardless of what this method returns.) + * + * This does not add a ref to the context, so you will need to ref it + * yourself if you want it to outlive its server. + * + * Deprecated: If you are using soup_server_listen(), etc, then + * the server listens on the thread-default #GMainContext, and this + * property is ignored. + * + * Returns: @server's #GMainContext, + * which may be %NULL + */ + public MainContext getAsyncContext() + { + auto __p = soup_server_get_async_context(soupServer); + + if(__p is null) + { + return null; + } + + return new MainContext(cast(GMainContext*) __p); + } + + /** + * Gets @server's listening socket, if you are using the old API. + * + * You should treat this socket as read-only; writing to it or + * modifiying it may cause @server to malfunction. + * + * Deprecated: If you are using soup_server_listen(), etc, then use + * soup_server_get_listeners() to get a list of all listening sockets, + * but note that that function returns #GSockets, not #SoupSockets. + * + * Returns: the listening socket. + */ + public SSocket getListener() + { + auto __p = soup_server_get_listener(soupServer); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SSocket)(cast(SoupSocket*) __p); + } + + /** + * Gets @server's list of listening sockets. + * + * You should treat these sockets as read-only; writing to or + * modifiying any of these sockets may cause @server to malfunction. + * + * (Beware that in contrast to the old soup_server_get_listener(), this + * function returns #GSockets, not #SoupSockets.) + * + * Returns: a + * list of listening sockets. + */ + public ListSG getListeners() + { + auto __p = soup_server_get_listeners(soupServer); + + if(__p is null) + { + return null; + } + + return new ListSG(cast(GSList*) __p); + } + + /** + * Gets the TCP port that @server is listening on, if you are using + * the old API. + * + * Deprecated: If you are using soup_server_listen(), etc, then use + * soup_server_get_uris() to get a list of all listening addresses. + * + * Returns: the port @server is listening on. + */ + public uint getPort() + { + return soup_server_get_port(soupServer); + } + + /** + * Gets a list of URIs corresponding to the interfaces @server is + * listening on. These will contain IP addresses, not hostnames, and + * will also indicate whether the given listener is http or https. + * + * Note that if you used soup_server_listen_all(), the returned URIs + * will use the addresses 0.0.0.0 and + * ::, rather than actually returning separate URIs + * for each interface on the system. + * + * Returns: a list of + * #SoupURIs, which you must free when you are done with it. + * + * Since: 2.48 + */ + public ListSG getUris() + { + auto __p = soup_server_get_uris(soupServer); + + if(__p is null) + { + return null; + } + + return new ListSG(cast(GSList*) __p, true); + } + + /** + * Checks whether @server is capable of https. + * + * In order for a server to run https, you must call + * soup_server_set_ssl_cert_file(), or set the + * #SoupServer:tls-certificate property, to provide it with a + * certificate to use. + * + * If you are using the deprecated single-listener APIs, then a return + * value of %TRUE indicates that the #SoupServer serves https + * exclusively. If you are using soup_server_listen(), etc, then a + * %TRUE return value merely indicates that the server is + * able to do https, regardless of whether it + * actually currently is or not. Use soup_server_get_uris() to see if + * it currently has any https listeners. + * + * Returns: %TRUE if @server is configured to serve https. + */ + public bool isHttps() + { + return soup_server_is_https(soupServer) != 0; + } + + /** + * This attempts to set up @server to listen for connections on + * @address. + * + * If @options includes %SOUP_SERVER_LISTEN_HTTPS, and @server has + * been configured for TLS, then @server will listen for https + * connections on this port. Otherwise it will listen for plain http. + * + * You may call this method (along with the other "listen" methods) + * any number of times on a server, if you want to listen on multiple + * ports, or set up both http and https service. + * + * After calling this method, @server will begin accepting and + * processing connections as soon as the appropriate #GMainContext is + * run. + * + * Note that #SoupServer never makes use of dual IPv4/IPv6 sockets; if + * @address is an IPv6 address, it will only accept IPv6 connections. + * You must configure IPv4 listening separately. + * + * Params: + * address = the address of the interface to listen on + * options = listening options for this server + * + * Returns: %TRUE on success, %FALSE if @address could not be + * bound or any other error occurred (in which case @error will be + * set). + * + * Since: 2.48 + * + * Throws: GException on failure. + */ + public bool listen(SocketAddress address, SoupServerListenOptions options) + { + GError* err = null; + + auto __p = soup_server_listen(soupServer, (address is null) ? null : address.getSocketAddressStruct(), options, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * This attempts to set up @server to listen for connections on all + * interfaces on the system. (That is, it listens on the addresses + * 0.0.0.0 and/or ::, depending + * on whether @options includes %SOUP_SERVER_LISTEN_IPV4_ONLY, + * %SOUP_SERVER_LISTEN_IPV6_ONLY, or neither.) If @port is specified, + * @server will listen on that port. If it is 0, @server will find an + * unused port to listen on. (In that case, you can use + * soup_server_get_uris() to find out what port it ended up choosing.) + * + * See soup_server_listen() for more details. + * + * Params: + * port = the port to listen on, or 0 + * options = listening options for this server + * + * Returns: %TRUE on success, %FALSE if @port could not be bound + * or any other error occurred (in which case @error will be set). + * + * Since: 2.48 + * + * Throws: GException on failure. + */ + public bool listenAll(uint port, SoupServerListenOptions options) + { + GError* err = null; + + auto __p = soup_server_listen_all(soupServer, port, options, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * This attempts to set up @server to listen for connections on + * @fd. + * + * See soup_server_listen() for more details. + * + * Note that @server will close @fd when you free it or call + * soup_server_disconnect(). + * + * Params: + * fd = the file descriptor of a listening socket + * options = listening options for this server + * + * Returns: %TRUE on success, %FALSE if an error occurred (in + * which case @error will be set). + * + * Since: 2.48 + * + * Throws: GException on failure. + */ + public bool listenFd(int fd, SoupServerListenOptions options) + { + GError* err = null; + + auto __p = soup_server_listen_fd(soupServer, fd, options, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * This attempts to set up @server to listen for connections on + * "localhost" (that is, 127.0.0.1 and/or + * ::1, depending on whether @options includes + * %SOUP_SERVER_LISTEN_IPV4_ONLY, %SOUP_SERVER_LISTEN_IPV6_ONLY, or + * neither). If @port is specified, @server will listen on that port. + * If it is 0, @server will find an unused port to listen on. (In that + * case, you can use soup_server_get_uris() to find out what port it + * ended up choosing.) + * + * See soup_server_listen() for more details. + * + * Params: + * port = the port to listen on, or 0 + * options = listening options for this server + * + * Returns: %TRUE on success, %FALSE if @port could not be bound + * or any other error occurred (in which case @error will be set). + * + * Since: 2.48 + * + * Throws: GException on failure. + */ + public bool listenLocal(uint port, SoupServerListenOptions options) + { + GError* err = null; + + auto __p = soup_server_listen_local(soupServer, port, options, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * This attempts to set up @server to listen for connections on + * @socket. + * + * See soup_server_listen() for more details. + * + * Params: + * socket = a listening #GSocket + * options = listening options for this server + * + * Returns: %TRUE on success, %FALSE if an error occurred (in + * which case @error will be set). + * + * Since: 2.48 + * + * Throws: GException on failure. + */ + public bool listenSocket(Socket socket, SoupServerListenOptions options) + { + GError* err = null; + + auto __p = soup_server_listen_socket(soupServer, (socket is null) ? null : socket.getSocketStruct(), options, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Pauses I/O on @msg. This can be used when you need to return from + * the server handler without having the full response ready yet. Use + * soup_server_unpause_message() to resume I/O. + * + * This must only be called on #SoupMessages which were created by the + * #SoupServer and are currently doing I/O, such as those passed into a + * #SoupServerCallback or emitted in a #SoupServer::request-read signal. + * + * Params: + * msg = a #SoupMessage associated with @server. + */ + public void pauseMessage(Message msg) + { + soup_server_pause_message(soupServer, (msg is null) ? null : msg.getMessageStruct()); + } + + /** + * Stops processing for @server, if you are using the old API. Call + * this to clean up after soup_server_run_async(), or to terminate a + * call to soup_server_run(). + * + * Note that messages currently in progress will continue to be + * handled, if the main loop associated with the server is resumed or + * kept running. + * + * @server is still in a working state after this call; you can start + * and stop a server as many times as you want. + * + * Deprecated: When using soup_server_listen(), etc, the server will + * always listen for connections, and will process them whenever the + * thread-default #GMainContext is running. + */ + public void quit() + { + soup_server_quit(soupServer); + } + + /** + * Removes @auth_domain from @server. + * + * Params: + * authDomain = a #SoupAuthDomain + */ + public void removeAuthDomain(AuthDomain authDomain) + { + soup_server_remove_auth_domain(soupServer, (authDomain is null) ? null : authDomain.getAuthDomainStruct()); + } + + /** + * Removes all handlers (early and normal) registered at @path. + * + * Params: + * path = the toplevel path for the handler + */ + public void removeHandler(string path) + { + soup_server_remove_handler(soupServer, Str.toStringz(path)); + } + + /** + * Removes support for WebSocket extension of type @extension_type (or any subclass of + * @extension_type) from @server. You can also remove extensions enabled by default + * from the server at construct time by using the %SOUP_SERVER_REMOVE_WEBSOCKET_EXTENSION + * property. + * + * Params: + * extensionType = a #GType + * + * Since: 2.68 + */ + public void removeWebsocketExtension(GType extensionType) + { + soup_server_remove_websocket_extension(soupServer, extensionType); + } + + /** + * Starts @server, if you are using the old API, causing it to listen + * for and process incoming connections. Unlike + * soup_server_run_async(), this creates a #GMainLoop and runs it, and + * it will not return until someone calls soup_server_quit() to stop + * the server. + * + * Deprecated: When using soup_server_listen(), etc, the server will + * always listen for connections, and will process them whenever the + * thread-default #GMainContext is running. + */ + public void run() + { + soup_server_run(soupServer); + } + + /** + * Starts @server, if you are using the old API, causing it to listen + * for and process incoming connections. + * + * The server runs in @server's #GMainContext. It will not actually + * perform any processing unless the appropriate main loop is running. + * In the simple case where you did not set the server's + * %SOUP_SERVER_ASYNC_CONTEXT property, this means the server will run + * whenever the glib main loop is running. + * + * Deprecated: When using soup_server_listen(), etc, the server will + * always listen for connections, and will process them whenever the + * thread-default #GMainContext is running. + */ + public void runAsync() + { + soup_server_run_async(soupServer); + } + + /** + * Sets @server up to do https, using the SSL/TLS certificate + * specified by @ssl_cert_file and @ssl_key_file (which may point to + * the same file). + * + * Alternatively, you can set the #SoupServer:tls-certificate property + * at construction time, if you already have a #GTlsCertificate. + * + * Params: + * sslCertFile = path to a file containing a PEM-encoded SSL/TLS + * certificate. + * sslKeyFile = path to a file containing a PEM-encoded private key. + * + * Returns: success or failure. + * + * Since: 2.48 + * + * Throws: GException on failure. + */ + public bool setSslCertFile(string sslCertFile, string sslKeyFile) + { + GError* err = null; + + auto __p = soup_server_set_ssl_cert_file(soupServer, Str.toStringz(sslCertFile), Str.toStringz(sslKeyFile), &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Resumes I/O on @msg. Use this to resume after calling + * soup_server_pause_message(), or after adding a new chunk to a + * chunked response. + * + * I/O won't actually resume until you return to the main loop. + * + * This must only be called on #SoupMessages which were created by the + * #SoupServer and are currently doing I/O, such as those passed into a + * #SoupServerCallback or emitted in a #SoupServer::request-read signal. + * + * Params: + * msg = a #SoupMessage associated with @server. + */ + public void unpauseMessage(Message msg) + { + soup_server_unpause_message(soupServer, (msg is null) ? null : msg.getMessageStruct()); + } + + /** + * Emitted when processing has failed for a message; this + * could mean either that it could not be read (if + * #SoupServer::request_read has not been emitted for it yet), + * or that the response could not be written back (if + * #SoupServer::request_read has been emitted but + * #SoupServer::request_finished has not been). + * + * @message is in an undefined state when this signal is + * emitted; the signal exists primarily to allow the server to + * free any state that it may have allocated in + * #SoupServer::request_started. + * + * Params: + * message = the message + * client = the client context + */ + gulong addOnRequestAborted(void delegate(Message, ClientContext, Server) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "request-aborted", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when the server has finished writing a response to + * a request. + * + * Params: + * message = the message + * client = the client context + */ + gulong addOnRequestFinished(void delegate(Message, ClientContext, Server) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "request-finished", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when the server has successfully read a request. + * @message will have all of its request-side information + * filled in, and if the message was authenticated, @client + * will have information about that. This signal is emitted + * before any (non-early) handlers are called for the message, + * and if it sets the message's #status_code, then normal + * handler processing will be skipped. + * + * Params: + * message = the message + * client = the client context + */ + gulong addOnRequestRead(void delegate(Message, ClientContext, Server) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "request-read", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when the server has started reading a new request. + * @message will be completely blank; not even the + * Request-Line will have been read yet. About the only thing + * you can usefully do with it is connect to its signals. + * + * If the request is read successfully, this will eventually + * be followed by a #SoupServer::request_read signal. If a + * response is then sent, the request processing will end with + * a #SoupServer::request_finished signal. If a network error + * occurs, the processing will instead end with + * #SoupServer::request_aborted. + * + * Params: + * message = the new message + * client = the client context + */ + gulong addOnRequestStarted(void delegate(Message, ClientContext, Server) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "request-started", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/soup/soup/Session.d b/source/generated/soup/soup/Session.d new file mode 100644 index 000000000..93f775cc7 --- /dev/null +++ b/source/generated/soup/soup/Session.d @@ -0,0 +1,1092 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.Session; + +private import gio.AsyncResultIF; +private import gio.Cancellable; +private import gio.IOStream; +private import gio.InputStream; +private import glib.ConstructionException; +private import glib.ErrorG; +private import glib.GException; +private import glib.ListSG; +private import glib.MainContext; +private import glib.Str; +private import gobject.ObjectG; +private import gobject.Signals; +private import soup.Auth; +private import soup.Message; +private import soup.Request; +private import soup.RequestHTTP; +private import soup.SSocket; +private import soup.SessionFeatureIF; +private import soup.URI; +private import soup.WebsocketConnection; +private import soup.c.functions; +public import soup.c.types; +private import std.algorithm; + + +/** */ +public class Session : ObjectG +{ + /** the main Gtk struct */ + protected SoupSession* soupSession; + + /** Get the main Gtk struct */ + public SoupSession* getSessionStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupSession; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupSession; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupSession* soupSession, bool ownedRef = false) + { + this.soupSession = soupSession; + super(cast(GObject*)soupSession, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_session_get_type(); + } + + /** + * Creates a #SoupSession with the default options. + * + * Returns: the new session. + * + * Since: 2.42 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = soup_session_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupSession*) __p, true); + } + + /** + * Cancels all pending requests in @session and closes all idle + * persistent connections. + * + * The message cancellation has the same semantics as with + * soup_session_cancel_message(); asynchronous requests on a + * #SoupSessionAsync will have their callback called before + * soup_session_abort() returns. Requests on a plain #SoupSession will + * not. + */ + public void abort() + { + soup_session_abort(soupSession); + } + + /** + * Adds @feature's functionality to @session. You can also add a + * feature to the session at construct time by using the + * %SOUP_SESSION_ADD_FEATURE property. + * + * See the main #SoupSession documentation for information on what + * features are present in sessions by default. + * + * Params: + * feature = an object that implements #SoupSessionFeature + * + * Since: 2.24 + */ + public void addFeature(SessionFeatureIF feature) + { + soup_session_add_feature(soupSession, (feature is null) ? null : feature.getSessionFeatureStruct()); + } + + /** + * If @feature_type is the type of a class that implements + * #SoupSessionFeature, this creates a new feature of that type and + * adds it to @session as with soup_session_add_feature(). You can use + * this when you don't need to customize the new feature in any way. + * + * If @feature_type is not a #SoupSessionFeature type, this gives each + * existing feature on @session the chance to accept @feature_type as + * a "subfeature". This can be used to add new #SoupAuth or + * #SoupRequest types, for instance. + * + * You can also add a feature to the session at construct time by + * using the %SOUP_SESSION_ADD_FEATURE_BY_TYPE property. + * + * See the main #SoupSession documentation for information on what + * features are present in sessions by default. + * + * Params: + * featureType = a #GType + * + * Since: 2.24 + */ + public void addFeatureByType(GType featureType) + { + soup_session_add_feature_by_type(soupSession, featureType); + } + + /** + * Causes @session to immediately finish processing @msg (regardless + * of its current state) with a final status_code of @status_code. You + * may call this at any time after handing @msg off to @session; if + * @session has started sending the request but has not yet received + * the complete response, then it will close the request's connection. + * Note that with requests that have side effects (eg, + * POST, PUT, + * DELETE) it is possible that you might cancel the + * request after the server acts on it, but before it returns a + * response, leaving the remote resource in an unknown state. + * + * If the message is cancelled while its response body is being read, + * then the response body in @msg will be left partially-filled-in. + * The response headers, on the other hand, will always be either + * empty or complete. + * + * Beware that with the deprecated #SoupSessionAsync, messages queued + * with soup_session_queue_message() will have their callbacks invoked + * before soup_session_cancel_message() returns. The plain + * #SoupSession does not have this behavior; cancelling an + * asynchronous message will merely queue its callback to be run after + * returning to the main loop. + * + * Params: + * msg = the message to cancel + * statusCode = status code to set on @msg (generally + * %SOUP_STATUS_CANCELLED) + */ + public void cancelMessage(Message msg, uint statusCode) + { + soup_session_cancel_message(soupSession, (msg is null) ? null : msg.getMessageStruct(), statusCode); + } + + /** + * Start a connection to @uri. The operation can be monitored by providing a @progress_callback + * and finishes when the connection is done or an error ocurred. + * + * Call soup_session_connect_finish() to get the #GIOStream to communicate with the server. + * + * Params: + * uri = a #SoupURI to connect to + * cancellable = a #GCancellable + * progressCallback = a #SoupSessionConnectProgressCallback which + * will be called for every network event that occurs during the connection. + * callback = the callback to invoke when the operation finishes + * userData = data for @progress_callback and @callback + * + * Since: 2.62 + */ + public void connectAsync(URI uri, Cancellable cancellable, SoupSessionConnectProgressCallback progressCallback, GAsyncReadyCallback callback, void* userData) + { + soup_session_connect_async(soupSession, (uri is null) ? null : uri.getURIStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), progressCallback, callback, userData); + } + + /** + * Gets the #GIOStream created for the connection to communicate with the server. + * + * Params: + * result = the #GAsyncResult passed to your callback + * + * Returns: a new #GIOStream, or %NULL on error. + * + * Since: 2.62 + * + * Throws: GException on failure. + */ + public IOStream connectFinish(AsyncResultIF result) + { + GError* err = null; + + auto __p = soup_session_connect_finish(soupSession, (result is null) ? null : result.getAsyncResultStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(IOStream)(cast(GIOStream*) __p, true); + } + + /** + * Gets @session's #SoupSession:async-context. This does not add a ref + * to the context, so you will need to ref it yourself if you want it + * to outlive its session. + * + * For a modern #SoupSession, this will always just return the + * thread-default #GMainContext, and so is not especially useful. + * + * Returns: @session's #GMainContext, + * which may be %NULL + */ + public MainContext getAsyncContext() + { + auto __p = soup_session_get_async_context(soupSession); + + if(__p is null) + { + return null; + } + + return new MainContext(cast(GMainContext*) __p); + } + + /** + * Gets the first feature in @session of type @feature_type. For + * features where there may be more than one feature of a given type, + * use soup_session_get_features(). + * + * Params: + * featureType = the #GType of the feature to get + * + * Returns: a #SoupSessionFeature, or + * %NULL. The feature is owned by @session. + * + * Since: 2.26 + */ + public SessionFeatureIF getFeature(GType featureType) + { + auto __p = soup_session_get_feature(soupSession, featureType); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SessionFeatureIF)(cast(SoupSessionFeature*) __p); + } + + /** + * Gets the first feature in @session of type @feature_type, provided + * that it is not disabled for @msg. As with + * soup_session_get_feature(), this should only be used for features + * where @feature_type is only expected to match a single feature. In + * particular, if there are two matching features, and the first is + * disabled on @msg, and the second is not, then this will return + * %NULL, not the second feature. + * + * Params: + * featureType = the #GType of the feature to get + * msg = a #SoupMessage + * + * Returns: a #SoupSessionFeature, or %NULL. The + * feature is owned by @session. + * + * Since: 2.28 + */ + public SessionFeatureIF getFeatureForMessage(GType featureType, Message msg) + { + auto __p = soup_session_get_feature_for_message(soupSession, featureType, (msg is null) ? null : msg.getMessageStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SessionFeatureIF)(cast(SoupSessionFeature*) __p); + } + + /** + * Generates a list of @session's features of type @feature_type. (If + * you want to see all features, you can pass %SOUP_TYPE_SESSION_FEATURE + * for @feature_type.) + * + * Params: + * featureType = the #GType of the class of features to get + * + * Returns: a list of features. You must free the list, but not its contents + * + * Since: 2.26 + */ + public ListSG getFeatures(GType featureType) + { + auto __p = soup_session_get_features(soupSession, featureType); + + if(__p is null) + { + return null; + } + + return new ListSG(cast(GSList*) __p); + } + + /** + * Tests if @session has at a feature of type @feature_type (which can + * be the type of either a #SoupSessionFeature, or else a subtype of + * some class managed by another feature, such as #SoupAuth or + * #SoupRequest). + * + * Params: + * featureType = the #GType of the class of features to check for + * + * Returns: %TRUE or %FALSE + * + * Since: 2.42 + */ + public bool hasFeature(GType featureType) + { + return soup_session_has_feature(soupSession, featureType) != 0; + } + + /** + * Pauses HTTP I/O on @msg. Call soup_session_unpause_message() to + * resume I/O. + * + * This may only be called for asynchronous messages (those sent on a + * #SoupSessionAsync or using soup_session_queue_message()). + * + * Params: + * msg = a #SoupMessage currently running on @session + */ + public void pauseMessage(Message msg) + { + soup_session_pause_message(soupSession, (msg is null) ? null : msg.getMessageStruct()); + } + + /** + * Tells @session that an URI from the given @hostname may be requested + * shortly, and so the session can try to prepare by resolving the + * domain name in advance, in order to work more quickly once the URI + * is actually requested. + * + * If @cancellable is non-%NULL, it can be used to cancel the + * resolution. @callback will still be invoked in this case, with a + * status of %SOUP_STATUS_CANCELLED. + * + * Params: + * hostname = a hostname to be resolved + * cancellable = a #GCancellable object, or %NULL + * callback = callback to call with the + * result, or %NULL + * userData = data for @callback + * + * Since: 2.38 + */ + public void prefetchDns(string hostname, Cancellable cancellable, SoupAddressCallback callback, void* userData) + { + soup_session_prefetch_dns(soupSession, Str.toStringz(hostname), (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * Tells @session that @uri may be requested shortly, and so the + * session can try to prepare (resolving the domain name, obtaining + * proxy address, etc.) in order to work more quickly once the URI is + * actually requested. + * + * Deprecated: use soup_session_prefetch_dns() instead + * + * Params: + * uri = a #SoupURI which may be required + * + * Since: 2.30 + */ + public void prepareForUri(URI uri) + { + soup_session_prepare_for_uri(soupSession, (uri is null) ? null : uri.getURIStruct()); + } + + /** + * Queues the message @msg for asynchronously sending the request and + * receiving a response in the current thread-default #GMainContext. + * If @msg has been processed before, any resources related to the + * time it was last sent are freed. + * + * Upon message completion, the callback specified in @callback will + * be invoked. If after returning from this callback the message has not + * been requeued, @msg will be unreffed. + * + * (The behavior above applies to a plain #SoupSession; if you are + * using #SoupSessionAsync or #SoupSessionSync, then the #GMainContext + * that is used depends on the settings of #SoupSession:async-context + * and #SoupSession:use-thread-context, and for #SoupSessionSync, the + * message will actually be sent and processed in another thread, with + * only the final callback occurring in the indicated #GMainContext.) + * + * Contrast this method with soup_session_send_async(), which also + * asynchronously sends a message, but returns before reading the + * response body, and allows you to read the response via a + * #GInputStream. + * + * Params: + * msg = the message to queue + * callback = a #SoupSessionCallback which will + * be called after the message completes or when an unrecoverable error occurs. + * userData = a pointer passed to @callback. + */ + public void queueMessage(Message msg, SoupSessionCallback callback, void* userData) + { + soup_session_queue_message(soupSession, (msg is null) ? null : msg.getMessageStruct(), callback, userData); + } + + /** + * Updates @msg's URI according to its status code and "Location" + * header, and requeues it on @session. Use this when you have set + * %SOUP_MESSAGE_NO_REDIRECT on a message, but have decided to allow a + * particular redirection to occur, or if you want to allow a + * redirection that #SoupSession will not perform automatically (eg, + * redirecting a non-safe method such as DELETE). + * + * If @msg's status code indicates that it should be retried as a GET + * request, then @msg will be modified accordingly. + * + * If @msg has already been redirected too many times, this will + * cause it to fail with %SOUP_STATUS_TOO_MANY_REDIRECTS. + * + * Params: + * msg = a #SoupMessage that has received a 3xx response + * + * Returns: %TRUE if a redirection was applied, %FALSE if not + * (eg, because there was no Location header, or it could not be + * parsed). + * + * Since: 2.38 + */ + public bool redirectMessage(Message msg) + { + return soup_session_redirect_message(soupSession, (msg is null) ? null : msg.getMessageStruct()) != 0; + } + + /** + * Removes @feature's functionality from @session. + * + * Params: + * feature = a feature that has previously been added to @session + * + * Since: 2.24 + */ + public void removeFeature(SessionFeatureIF feature) + { + soup_session_remove_feature(soupSession, (feature is null) ? null : feature.getSessionFeatureStruct()); + } + + /** + * Removes all features of type @feature_type (or any subclass of + * @feature_type) from @session. You can also remove standard features + * from the session at construct time by using the + * %SOUP_SESSION_REMOVE_FEATURE_BY_TYPE property. + * + * Params: + * featureType = a #GType + * + * Since: 2.24 + */ + public void removeFeatureByType(GType featureType) + { + soup_session_remove_feature_by_type(soupSession, featureType); + } + + /** + * Creates a #SoupRequest for retrieving @uri_string. + * + * Params: + * uriString = a URI, in string form + * + * Returns: a new #SoupRequest, or + * %NULL on error. + * + * Since: 2.42 + * + * Throws: GException on failure. + */ + public Request request(string uriString) + { + GError* err = null; + + auto __p = soup_session_request(soupSession, Str.toStringz(uriString), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Request)(cast(SoupRequest*) __p, true); + } + + /** + * Creates a #SoupRequest for retrieving @uri_string, which must be an + * "http" or "https" URI (or another protocol listed in @session's + * #SoupSession:http-aliases or #SoupSession:https-aliases). + * + * Params: + * method = an HTTP method + * uriString = a URI, in string form + * + * Returns: a new #SoupRequestHTTP, or + * %NULL on error. + * + * Since: 2.42 + * + * Throws: GException on failure. + */ + public RequestHTTP requestHttp(string method, string uriString) + { + GError* err = null; + + auto __p = soup_session_request_http(soupSession, Str.toStringz(method), Str.toStringz(uriString), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(RequestHTTP)(cast(SoupRequestHTTP*) __p, true); + } + + /** + * Creates a #SoupRequest for retrieving @uri, which must be an + * "http" or "https" URI (or another protocol listed in @session's + * #SoupSession:http-aliases or #SoupSession:https-aliases). + * + * Params: + * method = an HTTP method + * uri = a #SoupURI representing the URI to retrieve + * + * Returns: a new #SoupRequestHTTP, or + * %NULL on error. + * + * Since: 2.42 + * + * Throws: GException on failure. + */ + public RequestHTTP requestHttpUri(string method, URI uri) + { + GError* err = null; + + auto __p = soup_session_request_http_uri(soupSession, Str.toStringz(method), (uri is null) ? null : uri.getURIStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(RequestHTTP)(cast(SoupRequestHTTP*) __p, true); + } + + /** + * Creates a #SoupRequest for retrieving @uri. + * + * Params: + * uri = a #SoupURI representing the URI to retrieve + * + * Returns: a new #SoupRequest, or + * %NULL on error. + * + * Since: 2.42 + * + * Throws: GException on failure. + */ + public Request requestUri(URI uri) + { + GError* err = null; + + auto __p = soup_session_request_uri(soupSession, (uri is null) ? null : uri.getURIStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Request)(cast(SoupRequest*) __p, true); + } + + /** + * This causes @msg to be placed back on the queue to be attempted + * again. + * + * Params: + * msg = the message to requeue + */ + public void requeueMessage(Message msg) + { + soup_session_requeue_message(soupSession, (msg is null) ? null : msg.getMessageStruct()); + } + + /** + * Synchronously sends @msg and waits for the beginning of a response. + * On success, a #GInputStream will be returned which you can use to + * read the response body. ("Success" here means only that an HTTP + * response was received and understood; it does not necessarily mean + * that a 2xx class status code was received.) + * + * If non-%NULL, @cancellable can be used to cancel the request; + * soup_session_send() will return a %G_IO_ERROR_CANCELLED error. Note + * that with requests that have side effects (eg, + * POST, PUT, + * DELETE) it is possible that you might cancel the + * request after the server acts on it, but before it returns a + * response, leaving the remote resource in an unknown state. + * + * If @msg is requeued due to a redirect or authentication, the + * initial (3xx/401/407) response body will be suppressed, and + * soup_session_send() will only return once a final response has been + * received. + * + * Contrast this method with soup_session_send_message(), which also + * synchronously sends a #SoupMessage, but doesn't return until the + * response has been completely read. + * + * (Note that this method cannot be called on the deprecated + * #SoupSessionAsync subclass.) + * + * Params: + * msg = a #SoupMessage + * cancellable = a #GCancellable + * + * Returns: a #GInputStream for reading the + * response body, or %NULL on error. + * + * Since: 2.42 + * + * Throws: GException on failure. + */ + public InputStream send(Message msg, Cancellable cancellable) + { + GError* err = null; + + auto __p = soup_session_send(soupSession, (msg is null) ? null : msg.getMessageStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(InputStream)(cast(GInputStream*) __p, true); + } + + /** + * Asynchronously sends @msg and waits for the beginning of a + * response. When @callback is called, then either @msg has been sent, + * and its response headers received, or else an error has occurred. + * Call soup_session_send_finish() to get a #GInputStream for reading + * the response body. + * + * See soup_session_send() for more details on the general semantics. + * + * Contrast this method with soup_session_queue_message(), which also + * asynchronously sends a #SoupMessage, but doesn't invoke its + * callback until the response has been completely read. + * + * (Note that this method cannot be called on the deprecated + * #SoupSessionSync subclass, and can only be called on + * #SoupSessionAsync if you have set the + * #SoupSession:use-thread-context property.) + * + * Params: + * msg = a #SoupMessage + * cancellable = a #GCancellable + * callback = the callback to invoke + * userData = data for @callback + * + * Since: 2.42 + */ + public void sendAsync(Message msg, Cancellable cancellable, GAsyncReadyCallback callback, void* userData) + { + soup_session_send_async(soupSession, (msg is null) ? null : msg.getMessageStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * Gets the response to a soup_session_send_async() call and (if + * successful), returns a #GInputStream that can be used to read the + * response body. + * + * Params: + * result = the #GAsyncResult passed to your callback + * + * Returns: a #GInputStream for reading the + * response body, or %NULL on error. + * + * Since: 2.42 + * + * Throws: GException on failure. + */ + public InputStream sendFinish(AsyncResultIF result) + { + GError* err = null; + + auto __p = soup_session_send_finish(soupSession, (result is null) ? null : result.getAsyncResultStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(InputStream)(cast(GInputStream*) __p, true); + } + + /** + * Synchronously send @msg. This call will not return until the + * transfer is finished successfully or there is an unrecoverable + * error. + * + * Unlike with soup_session_queue_message(), @msg is not freed upon + * return. + * + * (Note that if you call this method on a #SoupSessionAsync, it will + * still use asynchronous I/O internally, running the glib main loop + * to process the message, which may also cause other events to be + * processed.) + * + * Contrast this method with soup_session_send(), which also + * synchronously sends a message, but returns before reading the + * response body, and allows you to read the response via a + * #GInputStream. + * + * Params: + * msg = the message to send + * + * Returns: the HTTP status code of the response + */ + public uint sendMessage(Message msg) + { + return soup_session_send_message(soupSession, (msg is null) ? null : msg.getMessageStruct()); + } + + /** + * "Steals" the HTTP connection associated with @msg from @session. + * This happens immediately, regardless of the current state of the + * connection, and @msg's callback will not be called. You can steal + * the connection from a #SoupMessage signal handler if you need to + * wait for part or all of the response to be received first. + * + * Calling this function may cause @msg to be freed if you are not + * holding any other reference to it. + * + * Params: + * msg = the message whose connection is to be stolen + * + * Returns: the #GIOStream formerly associated + * with @msg (or %NULL if @msg was no longer associated with a + * connection). No guarantees are made about what kind of #GIOStream + * is returned. + * + * Since: 2.50 + */ + public IOStream stealConnection(Message msg) + { + auto __p = soup_session_steal_connection(soupSession, (msg is null) ? null : msg.getMessageStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(IOStream)(cast(GIOStream*) __p, true); + } + + /** + * Resumes HTTP I/O on @msg. Use this to resume after calling + * soup_session_pause_message(). + * + * If @msg is being sent via blocking I/O, this will resume reading or + * writing immediately. If @msg is using non-blocking I/O, then + * reading or writing won't resume until you return to the main loop. + * + * This may only be called for asynchronous messages (those sent on a + * #SoupSessionAsync or using soup_session_queue_message()). + * + * Params: + * msg = a #SoupMessage currently running on @session + */ + public void unpauseMessage(Message msg) + { + soup_session_unpause_message(soupSession, (msg is null) ? null : msg.getMessageStruct()); + } + + /** + * Asynchronously creates a #SoupWebsocketConnection to communicate + * with a remote server. + * + * All necessary WebSocket-related headers will be added to @msg, and + * it will then be sent and asynchronously processed normally + * (including handling of redirection and HTTP authentication). + * + * If the server returns "101 Switching Protocols", then @msg's status + * code and response headers will be updated, and then the WebSocket + * handshake will be completed. On success, + * soup_session_websocket_connect_finish() will return a new + * #SoupWebsocketConnection. On failure it will return a #GError. + * + * If the server returns a status other than "101 Switching + * Protocols", then @msg will contain the complete response headers + * and body from the server's response, and + * soup_session_websocket_connect_finish() will return + * %SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET. + * + * Params: + * msg = #SoupMessage indicating the WebSocket server to connect to + * origin = origin of the connection + * protocols = a + * %NULL-terminated array of protocols supported + * cancellable = a #GCancellable + * callback = the callback to invoke + * userData = data for @callback + * + * Since: 2.50 + */ + public void websocketConnectAsync(Message msg, string origin, string[] protocols, Cancellable cancellable, GAsyncReadyCallback callback, void* userData) + { + soup_session_websocket_connect_async(soupSession, (msg is null) ? null : msg.getMessageStruct(), Str.toStringz(origin), Str.toStringzArray(protocols), (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * Gets the #SoupWebsocketConnection response to a + * soup_session_websocket_connect_async() call and (if successful), + * returns a #SoupWebsocketConnection that can be used to communicate + * with the server. + * + * Params: + * result = the #GAsyncResult passed to your callback + * + * Returns: a new #SoupWebsocketConnection, or + * %NULL on error. + * + * Since: 2.50 + * + * Throws: GException on failure. + */ + public WebsocketConnection websocketConnectFinish(AsyncResultIF result) + { + GError* err = null; + + auto __p = soup_session_websocket_connect_finish(soupSession, (result is null) ? null : result.getAsyncResultStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(WebsocketConnection)(cast(SoupWebsocketConnection*) __p, true); + } + + /** + * Checks if @msg contains a response that would cause @session to + * redirect it to a new URL (ignoring @msg's %SOUP_MESSAGE_NO_REDIRECT + * flag, and the number of times it has already been redirected). + * + * Params: + * msg = a #SoupMessage that has response headers + * + * Returns: whether @msg would be redirected + * + * Since: 2.38 + */ + public bool wouldRedirect(Message msg) + { + return soup_session_would_redirect(soupSession, (msg is null) ? null : msg.getMessageStruct()) != 0; + } + + /** + * Emitted when the session requires authentication. If + * credentials are available call soup_auth_authenticate() on + * @auth. If these credentials fail, the signal will be + * emitted again, with @retrying set to %TRUE, which will + * continue until you return without calling + * soup_auth_authenticate() on @auth. + * + * Note that this may be emitted before @msg's body has been + * fully read. + * + * If you call soup_session_pause_message() on @msg before + * returning, then you can authenticate @auth asynchronously + * (as long as you g_object_ref() it to make sure it doesn't + * get destroyed), and then unpause @msg when you are ready + * for it to continue. + * + * Params: + * msg = the #SoupMessage being sent + * auth = the #SoupAuth to authenticate + * retrying = %TRUE if this is the second (or later) attempt + */ + gulong addOnAuthenticate(void delegate(Message, Auth, bool, Session) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "authenticate", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when a new connection is created. This is an + * internal signal intended only to be used for debugging + * purposes, and may go away in the future. + * + * Params: + * connection = the connection + * + * Since: 2.30 + */ + gulong addOnConnectionCreated(void delegate(ObjectG, Session) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "connection-created", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when a request is queued on @session. (Note that + * "queued" doesn't just mean soup_session_queue_message(); + * soup_session_send_message() implicitly queues the message + * as well.) + * + * When sending a request, first #SoupSession::request_queued + * is emitted, indicating that the session has become aware of + * the request. + * + * Once a connection is available to send the request on, the + * session emits #SoupSession::request_started. Then, various + * #SoupMessage signals are emitted as the message is + * processed. If the message is requeued, it will emit + * #SoupMessage::restarted, which will then be followed by + * another #SoupSession::request_started and another set of + * #SoupMessage signals when the message is re-sent. + * + * Eventually, the message will emit #SoupMessage::finished. + * Normally, this signals the completion of message + * processing. However, it is possible that the application + * will requeue the message from the "finished" handler (or + * equivalently, from the soup_session_queue_message() + * callback). In that case, the process will loop back to + * #SoupSession::request_started. + * + * Eventually, a message will reach "finished" and not be + * requeued. At that point, the session will emit + * #SoupSession::request_unqueued to indicate that it is done + * with the message. + * + * To sum up: #SoupSession::request_queued and + * #SoupSession::request_unqueued are guaranteed to be emitted + * exactly once, but #SoupSession::request_started and + * #SoupMessage::finished (and all of the other #SoupMessage + * signals) may be invoked multiple times for a given message. + * + * Params: + * msg = the request that was queued + * + * Since: 2.24 + */ + gulong addOnRequestQueued(void delegate(Message, Session) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "request-queued", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted just before a request is sent. See + * #SoupSession::request_queued for a detailed description of + * the message lifecycle within a session. + * + * Deprecated: Use #SoupMessage::starting instead. + * + * Params: + * msg = the request being sent + * socket = the socket the request is being sent on + */ + gulong addOnRequestStarted(void delegate(Message, SSocket, Session) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "request-started", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when a request is removed from @session's queue, + * indicating that @session is done with it. See + * #SoupSession::request_queued for a detailed description of the + * message lifecycle within a session. + * + * Params: + * msg = the request that was unqueued + * + * Since: 2.24 + */ + gulong addOnRequestUnqueued(void delegate(Message, Session) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "request-unqueued", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when an SSL tunnel is being created on a proxy + * connection. This is an internal signal intended only to be + * used for debugging purposes, and may go away in the future. + * + * Params: + * connection = the connection + * + * Since: 2.30 + */ + gulong addOnTunneling(void delegate(ObjectG, Session) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "tunneling", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/generated/gstreamer/gstreamer/StaticCaps.d b/source/generated/soup/soup/SessionAsync.d similarity index 51% rename from generated/gstreamer/gstreamer/StaticCaps.d rename to source/generated/soup/soup/SessionAsync.d index 6d92e583f..29e69773d 100644 --- a/generated/gstreamer/gstreamer/StaticCaps.d +++ b/source/generated/soup/soup/SessionAsync.d @@ -22,74 +22,72 @@ // implement new conversion functionalities on the wrap.utils pakage -module gstreamer.StaticCaps; +module soup.SessionAsync; +private import glib.ConstructionException; +private import glib.Str; private import gobject.ObjectG; -private import gstreamer.Caps; -private import gstreamer.c.functions; -public import gstreamer.c.types; +private import soup.Session; +private import soup.c.functions; +public import soup.c.types; -/** - * Datastructure to initialize #GstCaps from a string description usually - * used in conjunction with GST_STATIC_CAPS() and gst_static_caps_get() to - * instantiate a #GstCaps. - */ -public class StaticCaps +/** */ +public class SessionAsync : Session { /** the main Gtk struct */ - protected GstStaticCaps* gstStaticCaps; - protected bool ownedRef; + protected SoupSessionAsync* soupSessionAsync; /** Get the main Gtk struct */ - public GstStaticCaps* getStaticCapsStruct(bool transferOwnership = false) + public SoupSessionAsync* getSessionAsyncStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gstStaticCaps; + return soupSessionAsync; } /** the main Gtk struct as a void* */ - protected void* getStruct() + protected override void* getStruct() { - return cast(void*)gstStaticCaps; + return cast(void*)soupSessionAsync; } /** * Sets our main struct and passes it to the parent class. */ - public this (GstStaticCaps* gstStaticCaps, bool ownedRef = false) + public this (SoupSessionAsync* soupSessionAsync, bool ownedRef = false) { - this.gstStaticCaps = gstStaticCaps; - this.ownedRef = ownedRef; + this.soupSessionAsync = soupSessionAsync; + super(cast(SoupSession*)soupSessionAsync, ownedRef); } - /** - * Clean up the cached caps contained in @static_caps. - */ - public void cleanup() + /** */ + public static GType getType() { - gst_static_caps_cleanup(gstStaticCaps); + return soup_session_async_get_type(); } /** - * Converts a #GstStaticCaps to a #GstCaps. + * Creates an asynchronous #SoupSession with the default options. + * + * Deprecated: #SoupSessionAsync is deprecated; use a plain + * #SoupSession, created with soup_session_new(). See the porting guide. + * + * Returns: the new session. * - * Returns: a pointer to the #GstCaps. Unref - * after usage. Since the core holds an additional ref to the - * returned caps, use gst_caps_make_writable() on the returned caps - * to modify it. + * Throws: ConstructionException GTK+ fails to create the object. */ - public Caps get() + public this() { - auto __p = gst_static_caps_get(gstStaticCaps); + auto __p = soup_session_async_new(); if(__p is null) { - return null; + throw new ConstructionException("null returned by new"); } - return ObjectG.getDObject!(Caps)(cast(GstCaps*) __p, true); + this(cast(SoupSessionAsync*) __p, true); } } diff --git a/source/generated/soup/soup/SessionFeatureIF.d b/source/generated/soup/soup/SessionFeatureIF.d new file mode 100644 index 000000000..3c89e2eb9 --- /dev/null +++ b/source/generated/soup/soup/SessionFeatureIF.d @@ -0,0 +1,98 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.SessionFeatureIF; + +private import soup.Session; +private import soup.c.functions; +public import soup.c.types; + + +/** + * An object that implement some sort of optional feature for + * #SoupSession. + * + * Since: 2.24 + */ +public interface SessionFeatureIF{ + /** Get the main Gtk struct */ + public SoupSessionFeature* getSessionFeatureStruct(bool transferOwnership = false); + + /** the main Gtk struct as a void* */ + protected void* getStruct(); + + + /** */ + public static GType getType() + { + return soup_session_feature_get_type(); + } + + /** + * Adds a "sub-feature" of type @type to the base feature @feature. + * This is used for features that can be extended with multiple + * different types. Eg, the authentication manager can be extended + * with subtypes of #SoupAuth. + * + * Params: + * type = the #GType of a "sub-feature" + * + * Returns: %TRUE if @feature accepted @type as a subfeature. + * + * Since: 2.34 + */ + public bool addFeature(GType type); + + /** */ + public void attach(Session session); + + /** */ + public void detach(Session session); + + /** + * Tests if @feature has a "sub-feature" of type @type. See + * soup_session_feature_add_feature(). + * + * Params: + * type = the #GType of a "sub-feature" + * + * Returns: %TRUE if @feature has a subfeature of type @type + * + * Since: 2.34 + */ + public bool hasFeature(GType type); + + /** + * Removes the "sub-feature" of type @type from the base feature + * @feature. See soup_session_feature_add_feature(). + * + * Params: + * type = the #GType of a "sub-feature" + * + * Returns: %TRUE if @type was removed from @feature + * + * Since: 2.34 + */ + public bool removeFeature(GType type); +} diff --git a/source/generated/soup/soup/SessionFeatureT.d b/source/generated/soup/soup/SessionFeatureT.d new file mode 100644 index 000000000..cec79f5ff --- /dev/null +++ b/source/generated/soup/soup/SessionFeatureT.d @@ -0,0 +1,110 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.SessionFeatureT; + +public import soup.Session; +public import soup.c.functions; +public import soup.c.types; + + +/** + * An object that implement some sort of optional feature for + * #SoupSession. + * + * Since: 2.24 + */ +public template SessionFeatureT(TStruct) +{ + /** Get the main Gtk struct */ + public SoupSessionFeature* getSessionFeatureStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return cast(SoupSessionFeature*)getStruct(); + } + + + /** + * Adds a "sub-feature" of type @type to the base feature @feature. + * This is used for features that can be extended with multiple + * different types. Eg, the authentication manager can be extended + * with subtypes of #SoupAuth. + * + * Params: + * type = the #GType of a "sub-feature" + * + * Returns: %TRUE if @feature accepted @type as a subfeature. + * + * Since: 2.34 + */ + public bool addFeature(GType type) + { + return soup_session_feature_add_feature(getSessionFeatureStruct(), type) != 0; + } + + /** */ + public void attach(Session session) + { + soup_session_feature_attach(getSessionFeatureStruct(), (session is null) ? null : session.getSessionStruct()); + } + + /** */ + public void detach(Session session) + { + soup_session_feature_detach(getSessionFeatureStruct(), (session is null) ? null : session.getSessionStruct()); + } + + /** + * Tests if @feature has a "sub-feature" of type @type. See + * soup_session_feature_add_feature(). + * + * Params: + * type = the #GType of a "sub-feature" + * + * Returns: %TRUE if @feature has a subfeature of type @type + * + * Since: 2.34 + */ + public bool hasFeature(GType type) + { + return soup_session_feature_has_feature(getSessionFeatureStruct(), type) != 0; + } + + /** + * Removes the "sub-feature" of type @type from the base feature + * @feature. See soup_session_feature_add_feature(). + * + * Params: + * type = the #GType of a "sub-feature" + * + * Returns: %TRUE if @type was removed from @feature + * + * Since: 2.34 + */ + public bool removeFeature(GType type) + { + return soup_session_feature_remove_feature(getSessionFeatureStruct(), type) != 0; + } +} diff --git a/generated/gstreamer/gst/mpegts/TOT.d b/source/generated/soup/soup/SessionSync.d similarity index 53% rename from generated/gstreamer/gst/mpegts/TOT.d rename to source/generated/soup/soup/SessionSync.d index 6785e907e..0f788313c 100644 --- a/generated/gstreamer/gst/mpegts/TOT.d +++ b/source/generated/soup/soup/SessionSync.d @@ -22,85 +22,72 @@ // implement new conversion functionalities on the wrap.utils pakage -module gst.mpegts.TOT; +module soup.SessionSync; -private import glib.MemorySlice; -private import glib.PtrArray; +private import glib.ConstructionException; +private import glib.Str; private import gobject.ObjectG; -private import gst.mpegts.c.functions; -public import gst.mpegts.c.types; -private import gstreamer.DateTime; -private import gtkd.Loader; +private import soup.Session; +private import soup.c.functions; +public import soup.c.types; -/** - * Time Offset Table (EN 300 468) - */ -public final class TOT +/** */ +public class SessionSync : Session { /** the main Gtk struct */ - protected GstMpegtsTOT* gstMpegtsTOT; - protected bool ownedRef; + protected SoupSessionSync* soupSessionSync; /** Get the main Gtk struct */ - public GstMpegtsTOT* getTOTStruct(bool transferOwnership = false) + public SoupSessionSync* getSessionSyncStruct(bool transferOwnership = false) { if (transferOwnership) ownedRef = false; - return gstMpegtsTOT; + return soupSessionSync; } /** the main Gtk struct as a void* */ - protected void* getStruct() + protected override void* getStruct() { - return cast(void*)gstMpegtsTOT; + return cast(void*)soupSessionSync; } /** * Sets our main struct and passes it to the parent class. */ - public this (GstMpegtsTOT* gstMpegtsTOT, bool ownedRef = false) - { - this.gstMpegtsTOT = gstMpegtsTOT; - this.ownedRef = ownedRef; - } - - ~this () + public this (SoupSessionSync* soupSessionSync, bool ownedRef = false) { - if ( Linker.isLoaded(LIBRARY_GSTMPEGTS) && ownedRef ) - sliceFree(gstMpegtsTOT); + this.soupSessionSync = soupSessionSync; + super(cast(SoupSession*)soupSessionSync, ownedRef); } /** */ - public @property DateTime utcTime() - { - return ObjectG.getDObject!(DateTime)(gstMpegtsTOT.utcTime, false); - } - - /** Ditto */ - public @property void utcTime(DateTime value) + public static GType getType() { - gstMpegtsTOT.utcTime = value.getDateTimeStruct(); + return soup_session_sync_get_type(); } /** - * List of descriptors + * Creates an synchronous #SoupSession with the default options. + * + * Deprecated: #SoupSessionSync is deprecated; use a plain + * #SoupSession, created with soup_session_new(). See the porting guide. + * + * Returns: the new session. + * + * Throws: ConstructionException GTK+ fails to create the object. */ - public @property PtrArray descriptors() + public this() { - return new PtrArray(gstMpegtsTOT.descriptors, false); - } + auto __p = soup_session_sync_new(); - /** Ditto */ - public @property void descriptors(PtrArray value) - { - gstMpegtsTOT.descriptors = value.getPtrArrayStruct(); - } + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } - /** */ - public static GType getType() - { - return gst_mpegts_tot_get_type(); + this(cast(SoupSessionSync*) __p, true); } } diff --git a/source/generated/soup/soup/URI.d b/source/generated/soup/soup/URI.d new file mode 100644 index 000000000..0fc7537ee --- /dev/null +++ b/source/generated/soup/soup/URI.d @@ -0,0 +1,684 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.URI; + +private import glib.ConstructionException; +private import glib.HashTable; +private import glib.MemorySlice; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import linker.Loader; +private import soup.c.functions; +public import soup.c.types; + + +/** + * A #SoupURI represents a (parsed) URI. #SoupURI supports RFC 3986 + * (URI Generic Syntax), and can parse any valid URI. However, libsoup + * only uses "http" and "https" URIs internally; You can use + * SOUP_URI_VALID_FOR_HTTP() to test if a #SoupURI is a valid HTTP + * URI. + * + * @scheme will always be set in any URI. It is an interned string and + * is always all lowercase. (If you parse a URI with a non-lowercase + * scheme, it will be converted to lowercase.) The macros + * %SOUP_URI_SCHEME_HTTP and %SOUP_URI_SCHEME_HTTPS provide the + * interned values for "http" and "https" and can be compared against + * URI @scheme values. + * + * @user and @password are parsed as defined in the older URI specs + * (ie, separated by a colon; RFC 3986 only talks about a single + * "userinfo" field). Note that @password is not included in the + * output of soup_uri_to_string(). libsoup does not normally use these + * fields; authentication is handled via #SoupSession signals. + * + * @host contains the hostname, and @port the port specified in the + * URI. If the URI doesn't contain a hostname, @host will be %NULL, + * and if it doesn't specify a port, @port may be 0. However, for + * "http" and "https" URIs, @host is guaranteed to be non-%NULL + * (trying to parse an http URI with no @host will return %NULL), and + * @port will always be non-0 (because libsoup knows the default value + * to use when it is not specified in the URI). + * + * @path is always non-%NULL. For http/https URIs, @path will never be + * an empty string either; if the input URI has no path, the parsed + * #SoupURI will have a @path of "/". + * + * @query and @fragment are optional for all URI types. + * soup_form_decode() may be useful for parsing @query. + * + * Note that @path, @query, and @fragment may contain + * %-encoded characters. soup_uri_new() calls + * soup_uri_normalize() on them, but not soup_uri_decode(). This is + * necessary to ensure that soup_uri_to_string() will generate a URI + * that has exactly the same meaning as the original. (In theory, + * #SoupURI should leave @user, @password, and @host partially-encoded + * as well, but this would be more annoying than useful.) + */ +public final class URI +{ + /** the main Gtk struct */ + protected SoupURI* soupURI; + protected bool ownedRef; + + /** Get the main Gtk struct */ + public SoupURI* getURIStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupURI; + } + + /** the main Gtk struct as a void* */ + protected void* getStruct() + { + return cast(void*)soupURI; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupURI* soupURI, bool ownedRef = false) + { + this.soupURI = soupURI; + this.ownedRef = ownedRef; + } + + ~this () + { + if ( Linker.isLoaded(LIBRARY_SOUP[0]) && ownedRef ) + soup_uri_free(soupURI); + } + + + /** + * the URI scheme (eg, "http") + */ + public @property string scheme() + { + return Str.toString(soupURI.scheme); + } + + /** Ditto */ + public @property void scheme(string value) + { + soupURI.scheme = Str.toStringz(value); + } + + /** + * a username, or %NULL + */ + public @property string user() + { + return Str.toString(soupURI.user); + } + + /** Ditto */ + public @property void user(string value) + { + soupURI.user = Str.toStringz(value); + } + + /** + * a password, or %NULL + */ + public @property string password() + { + return Str.toString(soupURI.password); + } + + /** Ditto */ + public @property void password(string value) + { + soupURI.password = Str.toStringz(value); + } + + /** + * the hostname or IP address, or %NULL + */ + public @property string host() + { + return Str.toString(soupURI.host); + } + + /** Ditto */ + public @property void host(string value) + { + soupURI.host = Str.toStringz(value); + } + + /** + * the port number on @host + */ + public @property uint port() + { + return soupURI.port; + } + + /** Ditto */ + public @property void port(uint value) + { + soupURI.port = value; + } + + /** + * the path on @host + */ + public @property string path() + { + return Str.toString(soupURI.path); + } + + /** Ditto */ + public @property void path(string value) + { + soupURI.path = Str.toStringz(value); + } + + /** + * a query for @path, or %NULL + */ + public @property string query() + { + return Str.toString(soupURI.query); + } + + /** Ditto */ + public @property void query(string value) + { + soupURI.query = Str.toStringz(value); + } + + /** + * a fragment identifier within @path, or %NULL + */ + public @property string fragment() + { + return Str.toString(soupURI.fragment); + } + + /** Ditto */ + public @property void fragment(string value) + { + soupURI.fragment = Str.toStringz(value); + } + + /** */ + public static GType getType() + { + return soup_uri_get_type(); + } + + /** + * Parses an absolute URI. + * + * You can also pass %NULL for @uri_string if you want to get back an + * "empty" #SoupURI that you can fill in by hand. (You will need to + * call at least soup_uri_set_scheme() and soup_uri_set_path(), since + * those fields are required.) + * + * Params: + * uriString = a URI + * + * Returns: a #SoupURI, or %NULL if the given string + * was found to be invalid. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string uriString) + { + auto __p = soup_uri_new(Str.toStringz(uriString)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupURI*) __p); + } + + /** + * Parses @uri_string relative to @base. + * + * Params: + * base = a base URI + * uriString = the URI + * + * Returns: a parsed #SoupURI. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(URI base, string uriString) + { + auto __p = soup_uri_new_with_base((base is null) ? null : base.getURIStruct(), Str.toStringz(uriString)); + + if(__p is null) + { + throw new ConstructionException("null returned by new_with_base"); + } + + this(cast(SoupURI*) __p); + } + + /** + * Copies @uri + * + * Returns: a copy of @uri, which must be freed with soup_uri_free() + */ + public URI copy() + { + auto __p = soup_uri_copy(soupURI); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(URI)(cast(SoupURI*) __p, true); + } + + /** + * Makes a copy of @uri, considering only the protocol, host, and port + * + * Returns: the new #SoupURI + * + * Since: 2.28 + */ + public URI copyHost() + { + auto __p = soup_uri_copy_host(soupURI); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(URI)(cast(SoupURI*) __p, true); + } + + /** + * Tests whether or not @uri1 and @uri2 are equal in all parts + * + * Params: + * uri2 = another #SoupURI + * + * Returns: %TRUE or %FALSE + */ + public bool equal(URI uri2) + { + return soup_uri_equal(soupURI, (uri2 is null) ? null : uri2.getURIStruct()) != 0; + } + + /** + * Frees @uri. + */ + public void free() + { + soup_uri_free(soupURI); + ownedRef = false; + } + + /** + * Gets @uri's fragment. + * + * Returns: @uri's fragment. + * + * Since: 2.32 + */ + public string getFragment() + { + return Str.toString(soup_uri_get_fragment(soupURI)); + } + + /** + * Gets @uri's host. + * + * Returns: @uri's host. + * + * Since: 2.32 + */ + public string getHost() + { + return Str.toString(soup_uri_get_host(soupURI)); + } + + /** + * Gets @uri's password. + * + * Returns: @uri's password. + * + * Since: 2.32 + */ + public string getPassword() + { + return Str.toString(soup_uri_get_password(soupURI)); + } + + /** + * Gets @uri's path. + * + * Returns: @uri's path. + * + * Since: 2.32 + */ + public string getPath() + { + return Str.toString(soup_uri_get_path(soupURI)); + } + + /** + * Gets @uri's port. + * + * Returns: @uri's port. + * + * Since: 2.32 + */ + public uint getPort() + { + return soup_uri_get_port(soupURI); + } + + /** + * Gets @uri's query. + * + * Returns: @uri's query. + * + * Since: 2.32 + */ + public string getQuery() + { + return Str.toString(soup_uri_get_query(soupURI)); + } + + /** + * Gets @uri's scheme. + * + * Returns: @uri's scheme. + * + * Since: 2.32 + */ + public string getScheme() + { + return Str.toString(soup_uri_get_scheme(soupURI)); + } + + /** + * Gets @uri's user. + * + * Returns: @uri's user. + * + * Since: 2.32 + */ + public string getUser() + { + return Str.toString(soup_uri_get_user(soupURI)); + } + + /** + * Compares @v1 and @v2, considering only the scheme, host, and port. + * + * Params: + * v2 = a #SoupURI with a non-%NULL @host member + * + * Returns: whether or not the URIs are equal in scheme, host, + * and port. + * + * Since: 2.28 + */ + public bool hostEqual(URI v2) + { + return soup_uri_host_equal(soupURI, (v2 is null) ? null : v2.getURIStruct()) != 0; + } + + /** + * Hashes @key, considering only the scheme, host, and port. + * + * Returns: a hash + * + * Since: 2.28 + */ + public uint hostHash() + { + return soup_uri_host_hash(soupURI); + } + + /** + * Sets @uri's fragment to @fragment. + * + * Params: + * fragment = the fragment + */ + public void setFragment(string fragment) + { + soup_uri_set_fragment(soupURI, Str.toStringz(fragment)); + } + + /** + * Sets @uri's host to @host. + * + * If @host is an IPv6 IP address, it should not include the brackets + * required by the URI syntax; they will be added automatically when + * converting @uri to a string. + * + * http and https URIs should not have a %NULL @host. + * + * Params: + * host = the hostname or IP address, or %NULL + */ + public void setHost(string host) + { + soup_uri_set_host(soupURI, Str.toStringz(host)); + } + + /** + * Sets @uri's password to @password. + * + * Params: + * password = the password, or %NULL + */ + public void setPassword(string password) + { + soup_uri_set_password(soupURI, Str.toStringz(password)); + } + + /** + * Sets @uri's path to @path. + * + * Params: + * path = the non-%NULL path + */ + public void setPath(string path) + { + soup_uri_set_path(soupURI, Str.toStringz(path)); + } + + /** + * Sets @uri's port to @port. If @port is 0, @uri will not have an + * explicitly-specified port. + * + * Params: + * port = the port, or 0 + */ + public void setPort(uint port) + { + soup_uri_set_port(soupURI, port); + } + + /** + * Sets @uri's query to @query. + * + * Params: + * query = the query + */ + public void setQuery(string query) + { + soup_uri_set_query(soupURI, Str.toStringz(query)); + } + + /** + * Sets @uri's query to the result of encoding @form according to the + * HTML form rules. See soup_form_encode_hash() for more information. + * + * Params: + * form = a #GHashTable containing HTML form + * information + */ + public void setQueryFromForm(HashTable form) + { + soup_uri_set_query_from_form(soupURI, (form is null) ? null : form.getHashTableStruct()); + } + + /** + * Sets @uri's scheme to @scheme. This will also set @uri's port to + * the default port for @scheme, if known. + * + * Params: + * scheme = the URI scheme + */ + public void setScheme(string scheme) + { + soup_uri_set_scheme(soupURI, Str.toStringz(scheme)); + } + + /** + * Sets @uri's user to @user. + * + * Params: + * user = the username, or %NULL + */ + public void setUser(string user) + { + soup_uri_set_user(soupURI, Str.toStringz(user)); + } + + /** + * Returns a string representing @uri. + * + * If @just_path_and_query is %TRUE, this concatenates the path and query + * together. That is, it constructs the string that would be needed in + * the Request-Line of an HTTP request for @uri. + * + * Note that the output will never contain a password, even if @uri + * does. + * + * Params: + * justPathAndQuery = if %TRUE, output just the path and query portions + * + * Returns: a string representing @uri, which the caller must free. + */ + public string toString(bool justPathAndQuery) + { + auto retStr = soup_uri_to_string(soupURI, justPathAndQuery); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Tests if @uri uses the default port for its scheme. (Eg, 80 for + * http.) (This only works for http, https and ftp; libsoup does not know + * the default ports of other protocols.) + * + * Returns: %TRUE or %FALSE + */ + public bool usesDefaultPort() + { + return soup_uri_uses_default_port(soupURI) != 0; + } + + /** + * Fully %-decodes @part. + * + * In the past, this would return %NULL if @part contained invalid + * percent-encoding, but now it just ignores the problem (as + * soup_uri_new() already did). + * + * Params: + * part = a URI part + * + * Returns: the decoded URI part. + */ + public static string decode(string part) + { + auto retStr = soup_uri_decode(Str.toStringz(part)); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * This %-encodes the given URI part and returns the escaped + * version in allocated memory, which the caller must free when it is + * done. + * + * Params: + * part = a URI part + * escapeExtra = additional reserved characters to + * escape (or %NULL) + * + * Returns: the encoded URI part + */ + public static string encode(string part, string escapeExtra) + { + auto retStr = soup_uri_encode(Str.toStringz(part), Str.toStringz(escapeExtra)); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * %-decodes any "unreserved" characters (or characters in + * @unescape_extra) in @part, and %-encodes any non-ASCII + * characters, spaces, and non-printing characters in @part. + * + * "Unreserved" characters are those that are not allowed to be used + * for punctuation according to the URI spec. For example, letters are + * unreserved, so soup_uri_normalize() will turn + * http://example.com/foo/b%61r into + * http://example.com/foo/bar, which is guaranteed + * to mean the same thing. However, "/" is "reserved", so + * http://example.com/foo%2Fbar would not + * be changed, because it might mean something different to the + * server. + * + * In the past, this would return %NULL if @part contained invalid + * percent-encoding, but now it just ignores the problem (as + * soup_uri_new() already did). + * + * Params: + * part = a URI part + * unescapeExtra = reserved characters to unescape (or %NULL) + * + * Returns: the normalized URI part + */ + public static string normalize(string part, string unescapeExtra) + { + auto retStr = soup_uri_normalize(Str.toStringz(part), Str.toStringz(unescapeExtra)); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } +} diff --git a/source/generated/soup/soup/WebsocketConnection.d b/source/generated/soup/soup/WebsocketConnection.d new file mode 100644 index 000000000..755de4301 --- /dev/null +++ b/source/generated/soup/soup/WebsocketConnection.d @@ -0,0 +1,487 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.WebsocketConnection; + +private import gio.IOStream; +private import glib.Bytes; +private import glib.ConstructionException; +private import glib.ErrorG; +private import glib.ListG; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gobject.Signals; +private import soup.URI; +private import soup.WebsocketExtension; +private import soup.c.functions; +public import soup.c.types; +private import std.algorithm; + + +/** + * A class representing a WebSocket connection. + * + * Since: 2.50 + */ +public class WebsocketConnection : ObjectG +{ + /** the main Gtk struct */ + protected SoupWebsocketConnection* soupWebsocketConnection; + + /** Get the main Gtk struct */ + public SoupWebsocketConnection* getWebsocketConnectionStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupWebsocketConnection; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupWebsocketConnection; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupWebsocketConnection* soupWebsocketConnection, bool ownedRef = false) + { + this.soupWebsocketConnection = soupWebsocketConnection; + super(cast(GObject*)soupWebsocketConnection, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_websocket_connection_get_type(); + } + + /** + * Creates a #SoupWebsocketConnection on @stream. This should be + * called after completing the handshake to begin using the WebSocket + * protocol. + * + * Params: + * stream = a #GIOStream connected to the WebSocket server + * uri = the URI of the connection + * type = the type of connection (client/side) + * origin = the Origin of the client + * protocol = the subprotocol in use + * + * Returns: a new #SoupWebsocketConnection + * + * Since: 2.50 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(IOStream stream, URI uri, SoupWebsocketConnectionType type, string origin, string protocol) + { + auto __p = soup_websocket_connection_new((stream is null) ? null : stream.getIOStreamStruct(), (uri is null) ? null : uri.getURIStruct(), type, Str.toStringz(origin), Str.toStringz(protocol)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(SoupWebsocketConnection*) __p, true); + } + + /** + * Creates a #SoupWebsocketConnection on @stream with the given active @extensions. + * This should be called after completing the handshake to begin using the WebSocket + * protocol. + * + * Params: + * stream = a #GIOStream connected to the WebSocket server + * uri = the URI of the connection + * type = the type of connection (client/side) + * origin = the Origin of the client + * protocol = the subprotocol in use + * extensions = a #GList of #SoupWebsocketExtension objects + * + * Returns: a new #SoupWebsocketConnection + * + * Since: 2.68 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(IOStream stream, URI uri, SoupWebsocketConnectionType type, string origin, string protocol, ListG extensions) + { + auto __p = soup_websocket_connection_new_with_extensions((stream is null) ? null : stream.getIOStreamStruct(), (uri is null) ? null : uri.getURIStruct(), type, Str.toStringz(origin), Str.toStringz(protocol), (extensions is null) ? null : extensions.getListGStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new_with_extensions"); + } + + this(cast(SoupWebsocketConnection*) __p, true); + } + + /** + * Close the connection in an orderly fashion. + * + * Note that until the #SoupWebsocketConnection::closed signal fires, the connection + * is not yet completely closed. The close message is not even sent until the + * main loop runs. + * + * The @code and @data are sent to the peer along with the close request. + * If @code is %SOUP_WEBSOCKET_CLOSE_NO_STATUS a close message with no body + * (without code and data) is sent. + * Note that the @data must be UTF-8 valid. + * + * Params: + * code = close code + * data = close data + * + * Since: 2.50 + */ + public void close(ushort code, string data) + { + soup_websocket_connection_close(soupWebsocketConnection, code, Str.toStringz(data)); + } + + /** + * Get the close code received from the WebSocket peer. + * + * This only becomes valid once the WebSocket is in the + * %SOUP_WEBSOCKET_STATE_CLOSED state. The value will often be in the + * #SoupWebsocketCloseCode enumeration, but may also be an application + * defined close code. + * + * Returns: the close code or zero. + * + * Since: 2.50 + */ + public ushort getCloseCode() + { + return soup_websocket_connection_get_close_code(soupWebsocketConnection); + } + + /** + * Get the close data received from the WebSocket peer. + * + * This only becomes valid once the WebSocket is in the + * %SOUP_WEBSOCKET_STATE_CLOSED state. The data may be freed once + * the main loop is run, so copy it if you need to keep it around. + * + * Returns: the close data or %NULL + * + * Since: 2.50 + */ + public string getCloseData() + { + return Str.toString(soup_websocket_connection_get_close_data(soupWebsocketConnection)); + } + + /** + * Get the connection type (client/server) of the connection. + * + * Returns: the connection type + * + * Since: 2.50 + */ + public SoupWebsocketConnectionType getConnectionType() + { + return soup_websocket_connection_get_connection_type(soupWebsocketConnection); + } + + /** + * Get the extensions chosen via negotiation with the peer. + * + * Returns: a #GList of #SoupWebsocketExtension objects + * + * Since: 2.68 + */ + public ListG getExtensions() + { + auto __p = soup_websocket_connection_get_extensions(soupWebsocketConnection); + + if(__p is null) + { + return null; + } + + return new ListG(cast(GList*) __p); + } + + /** + * Get the I/O stream the WebSocket is communicating over. + * + * Returns: the WebSocket's I/O stream. + * + * Since: 2.50 + */ + public IOStream getIoStream() + { + auto __p = soup_websocket_connection_get_io_stream(soupWebsocketConnection); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(IOStream)(cast(GIOStream*) __p); + } + + /** + * Gets the keepalive interval in seconds or 0 if disabled. + * + * Returns: the keepalive interval. + * + * Since: 2.58 + */ + public uint getKeepaliveInterval() + { + return soup_websocket_connection_get_keepalive_interval(soupWebsocketConnection); + } + + /** + * Gets the maximum payload size allowed for incoming packets. + * + * Returns: the maximum payload size. + * + * Since: 2.56 + */ + public ulong getMaxIncomingPayloadSize() + { + return soup_websocket_connection_get_max_incoming_payload_size(soupWebsocketConnection); + } + + /** + * Get the origin of the WebSocket. + * + * Returns: the origin, or %NULL + * + * Since: 2.50 + */ + public string getOrigin() + { + return Str.toString(soup_websocket_connection_get_origin(soupWebsocketConnection)); + } + + /** + * Get the protocol chosen via negotiation with the peer. + * + * Returns: the chosen protocol, or %NULL + * + * Since: 2.50 + */ + public string getProtocol() + { + return Str.toString(soup_websocket_connection_get_protocol(soupWebsocketConnection)); + } + + /** + * Get the current state of the WebSocket. + * + * Returns: the state + * + * Since: 2.50 + */ + public SoupWebsocketState getState() + { + return soup_websocket_connection_get_state(soupWebsocketConnection); + } + + /** + * Get the URI of the WebSocket. + * + * For servers this represents the address of the WebSocket, and + * for clients it is the address connected to. + * + * Returns: the URI + * + * Since: 2.50 + */ + public URI getUri() + { + auto __p = soup_websocket_connection_get_uri(soupWebsocketConnection); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(URI)(cast(SoupURI*) __p); + } + + /** + * Send a binary message to the peer. If @length is 0, @data may be %NULL. + * + * The message is queued to be sent and will be sent when the main loop + * is run. + * + * Params: + * data = the message contents + * + * Since: 2.50 + */ + public void sendBinary(ubyte[] data) + { + soup_websocket_connection_send_binary(soupWebsocketConnection, data.ptr, cast(size_t)data.length); + } + + /** + * Send a message of the given @type to the peer. Note that this method, + * allows to send text messages containing %NULL characters. + * + * The message is queued to be sent and will be sent when the main loop + * is run. + * + * Params: + * type = the type of message contents + * message = the message data as #GBytes + * + * Since: 2.68 + */ + public void sendMessage(SoupWebsocketDataType type, Bytes message) + { + soup_websocket_connection_send_message(soupWebsocketConnection, type, (message is null) ? null : message.getBytesStruct()); + } + + /** + * Send a %NULL-terminated text (UTF-8) message to the peer. If you need + * to send text messages containing %NULL characters use + * soup_websocket_connection_send_message() instead. + * + * The message is queued to be sent and will be sent when the main loop + * is run. + * + * Params: + * text = the message contents + * + * Since: 2.50 + */ + public void sendText(string text) + { + soup_websocket_connection_send_text(soupWebsocketConnection, Str.toStringz(text)); + } + + /** + * Sets the interval in seconds on when to send a ping message which will serve + * as a keepalive message. If set to 0 the keepalive message is disabled. + * + * Params: + * interval = the interval to send a ping message or 0 to disable it + * + * Since: 2.58 + */ + public void setKeepaliveInterval(uint interval) + { + soup_websocket_connection_set_keepalive_interval(soupWebsocketConnection, interval); + } + + /** + * Sets the maximum payload size allowed for incoming packets. It + * does not limit the outgoing packet size. + * + * Params: + * maxIncomingPayloadSize = the maximum payload size + * + * Since: 2.56 + */ + public void setMaxIncomingPayloadSize(ulong maxIncomingPayloadSize) + { + soup_websocket_connection_set_max_incoming_payload_size(soupWebsocketConnection, maxIncomingPayloadSize); + } + + /** + * Emitted when the connection has completely closed, either + * due to an orderly close from the peer, one initiated via + * soup_websocket_connection_close() or a fatal error + * condition that caused a close. + * + * This signal will be emitted once. + * + * Since: 2.50 + */ + gulong addOnClosed(void delegate(WebsocketConnection) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "closed", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * This signal will be emitted during an orderly close. + * + * Since: 2.50 + */ + gulong addOnClosing(void delegate(WebsocketConnection) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "closing", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when an error occurred on the WebSocket. This may + * be fired multiple times. Fatal errors will be followed by + * the #SoupWebsocketConnection::closed signal being emitted. + * + * Params: + * error = the error that occured + * + * Since: 2.50 + */ + gulong addOnError(void delegate(ErrorG, WebsocketConnection) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "error", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when we receive a message from the peer. + * + * As a convenience, the @message data will always be + * NUL-terminated, but the NUL byte will not be included in + * the length count. + * + * Params: + * type = the type of message contents + * message = the message data + * + * Since: 2.50 + */ + gulong addOnMessage(void delegate(int, Bytes, WebsocketConnection) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "message", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when we receive a Pong frame (solicited or + * unsolicited) from the peer. + * + * As a convenience, the @message data will always be + * NUL-terminated, but the NUL byte will not be included in + * the length count. + * + * Params: + * message = the application data (if any) + * + * Since: 2.60 + */ + gulong addOnPong(void delegate(Bytes, WebsocketConnection) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "pong", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/soup/soup/WebsocketExtension.d b/source/generated/soup/soup/WebsocketExtension.d new file mode 100644 index 000000000..0aa3e05e6 --- /dev/null +++ b/source/generated/soup/soup/WebsocketExtension.d @@ -0,0 +1,202 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.WebsocketExtension; + +private import glib.Bytes; +private import glib.ErrorG; +private import glib.GException; +private import glib.HashTable; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class WebsocketExtension : ObjectG +{ + /** the main Gtk struct */ + protected SoupWebsocketExtension* soupWebsocketExtension; + + /** Get the main Gtk struct */ + public SoupWebsocketExtension* getWebsocketExtensionStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupWebsocketExtension; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupWebsocketExtension; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupWebsocketExtension* soupWebsocketExtension, bool ownedRef = false) + { + this.soupWebsocketExtension = soupWebsocketExtension; + super(cast(GObject*)soupWebsocketExtension, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_websocket_extension_get_type(); + } + + /** + * Configures @extension with the given @params + * + * Params: + * connectionType = either %SOUP_WEBSOCKET_CONNECTION_CLIENT or %SOUP_WEBSOCKET_CONNECTION_SERVER + * params = the parameters, or %NULL + * + * Returns: %TRUE if extension could be configured with the given parameters, or %FALSE otherwise + * + * Throws: GException on failure. + */ + public bool configure(SoupWebsocketConnectionType connectionType, HashTable params) + { + GError* err = null; + + auto __p = soup_websocket_extension_configure(soupWebsocketExtension, connectionType, (params is null) ? null : params.getHashTableStruct(), &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Get the parameters strings to be included in the request header. If the extension + * doesn't include any parameter in the request, this function returns %NULL. + * + * Returns: a new allocated string with the parameters + * + * Since: 2.68 + */ + public string getRequestParams() + { + auto retStr = soup_websocket_extension_get_request_params(soupWebsocketExtension); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Get the parameters strings to be included in the response header. If the extension + * doesn't include any parameter in the response, this function returns %NULL. + * + * Returns: a new allocated string with the parameters + * + * Since: 2.68 + */ + public string getResponseParams() + { + auto retStr = soup_websocket_extension_get_response_params(soupWebsocketExtension); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Process a message after it's received. If the payload isn't changed the given + * @payload is just returned, otherwise g_bytes_unref() is called on the given + * @payload and a new #GBytes is returned with the new data. + * + * Extensions using reserved bits of the header will reset them in @header. + * + * Params: + * header = the message header + * payload = the payload data + * + * Returns: the message payload data, or %NULL in case of error + * + * Since: 2.68 + * + * Throws: GException on failure. + */ + public Bytes processIncomingMessage(ref ubyte header, Bytes payload) + { + GError* err = null; + + auto __p = soup_websocket_extension_process_incoming_message(soupWebsocketExtension, &header, (payload is null) ? null : payload.getBytesStruct(true), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return new Bytes(cast(GBytes*) __p, true); + } + + /** + * Process a message before it's sent. If the payload isn't changed the given + * @payload is just returned, otherwise g_bytes_unref() is called on the given + * @payload and a new #GBytes is returned with the new data. + * + * Extensions using reserved bits of the header will change them in @header. + * + * Params: + * header = the message header + * payload = the payload data + * + * Returns: the message payload data, or %NULL in case of error + * + * Since: 2.68 + * + * Throws: GException on failure. + */ + public Bytes processOutgoingMessage(ref ubyte header, Bytes payload) + { + GError* err = null; + + auto __p = soup_websocket_extension_process_outgoing_message(soupWebsocketExtension, &header, (payload is null) ? null : payload.getBytesStruct(true), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return new Bytes(cast(GBytes*) __p, true); + } +} diff --git a/source/generated/soup/soup/WebsocketExtensionDeflate.d b/source/generated/soup/soup/WebsocketExtensionDeflate.d new file mode 100644 index 000000000..17426787c --- /dev/null +++ b/source/generated/soup/soup/WebsocketExtensionDeflate.d @@ -0,0 +1,67 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.WebsocketExtensionDeflate; + +private import soup.WebsocketExtension; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class WebsocketExtensionDeflate : WebsocketExtension +{ + /** the main Gtk struct */ + protected SoupWebsocketExtensionDeflate* soupWebsocketExtensionDeflate; + + /** Get the main Gtk struct */ + public SoupWebsocketExtensionDeflate* getWebsocketExtensionDeflateStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupWebsocketExtensionDeflate; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupWebsocketExtensionDeflate; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupWebsocketExtensionDeflate* soupWebsocketExtensionDeflate, bool ownedRef = false) + { + this.soupWebsocketExtensionDeflate = soupWebsocketExtensionDeflate; + super(cast(SoupWebsocketExtension*)soupWebsocketExtensionDeflate, ownedRef); + } + + + /** */ + public static GType getType() + { + return soup_websocket_extension_deflate_get_type(); + } +} diff --git a/source/generated/soup/soup/WebsocketExtensionManager.d b/source/generated/soup/soup/WebsocketExtensionManager.d new file mode 100644 index 000000000..3fd333cad --- /dev/null +++ b/source/generated/soup/soup/WebsocketExtensionManager.d @@ -0,0 +1,72 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.WebsocketExtensionManager; + +private import gobject.ObjectG; +private import soup.SessionFeatureIF; +private import soup.SessionFeatureT; +private import soup.c.functions; +public import soup.c.types; + + +/** */ +public class WebsocketExtensionManager : ObjectG, SessionFeatureIF +{ + /** the main Gtk struct */ + protected SoupWebsocketExtensionManager* soupWebsocketExtensionManager; + + /** Get the main Gtk struct */ + public SoupWebsocketExtensionManager* getWebsocketExtensionManagerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupWebsocketExtensionManager; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)soupWebsocketExtensionManager; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupWebsocketExtensionManager* soupWebsocketExtensionManager, bool ownedRef = false) + { + this.soupWebsocketExtensionManager = soupWebsocketExtensionManager; + super(cast(GObject*)soupWebsocketExtensionManager, ownedRef); + } + + // add the SessionFeature capabilities + mixin SessionFeatureT!(SoupWebsocketExtensionManager); + + + /** */ + public static GType getType() + { + return soup_websocket_extension_manager_get_type(); + } +} diff --git a/source/generated/soup/soup/XMLRPCParams.d b/source/generated/soup/soup/XMLRPCParams.d new file mode 100644 index 000000000..377945031 --- /dev/null +++ b/source/generated/soup/soup/XMLRPCParams.d @@ -0,0 +1,139 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.XMLRPCParams; + +private import glib.ErrorG; +private import glib.GException; +private import glib.Str; +private import glib.Variant; +private import linker.Loader; +private import soup.c.functions; +public import soup.c.types; + + +/** + * Opaque structure containing XML-RPC methodCall parameter values. + * Can be parsed using soup_xmlrpc_params_parse() and freed with + * soup_xmlrpc_params_free(). + * + * Since: 2.52 + */ +public class XMLRPCParams +{ + /** the main Gtk struct */ + protected SoupXMLRPCParams* soupXMLRPCParams; + protected bool ownedRef; + + /** Get the main Gtk struct */ + public SoupXMLRPCParams* getXMLRPCParamsStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return soupXMLRPCParams; + } + + /** the main Gtk struct as a void* */ + protected void* getStruct() + { + return cast(void*)soupXMLRPCParams; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (SoupXMLRPCParams* soupXMLRPCParams, bool ownedRef = false) + { + this.soupXMLRPCParams = soupXMLRPCParams; + this.ownedRef = ownedRef; + } + + ~this () + { + if ( Linker.isLoaded(LIBRARY_SOUP[0]) && ownedRef ) + soup_xmlrpc_params_free(soupXMLRPCParams); + } + + + /** + * Free a #SoupXMLRPCParams returned by soup_xmlrpc_parse_request(). + * + * Since: 2.52 + */ + public void free() + { + soup_xmlrpc_params_free(soupXMLRPCParams); + ownedRef = false; + } + + /** + * Parse method parameters returned by soup_xmlrpc_parse_request(). + * + * Deserialization details: + * - If @signature is provided, <int> and <i4> can be deserialized + * to byte, int16, uint16, int32, uint32, int64 or uint64. Otherwise + * it will be deserialized to int32. If the value is out of range + * for the target type it will return an error. + * - <struct> will be deserialized to "a{sv}". @signature could define + * another value type (e.g. "a{ss}"). + * - <array> will be deserialized to "av". @signature could define + * another element type (e.g. "as") or could be a tuple (e.g. "(ss)"). + * - <base64> will be deserialized to "ay". + * - <string> will be deserialized to "s". + * - <dateTime.iso8601> will be deserialized to an unspecified variant + * type. If @signature is provided it must have the generic "v" type, which + * means there is no guarantee that it's actually a datetime that has been + * received. soup_xmlrpc_variant_get_datetime() must be used to parse and + * type check this special variant. + * - @signature must not have maybes, otherwise an error is returned. + * - Dictionaries must have string keys, otherwise an error is returned. + * + * Params: + * signature = A valid #GVariant type string, or %NULL + * + * Returns: a new (non-floating) #GVariant, or %NULL + * + * Since: 2.52 + * + * Throws: GException on failure. + */ + public Variant parse(string signature) + { + GError* err = null; + + auto __p = soup_xmlrpc_params_parse(soupXMLRPCParams, Str.toStringz(signature), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return new Variant(cast(GVariant*) __p, true); + } +} diff --git a/source/generated/soup/soup/c/functions.d b/source/generated/soup/soup/c/functions.d new file mode 100644 index 000000000..d06d5f538 --- /dev/null +++ b/source/generated/soup/soup/c/functions.d @@ -0,0 +1,1934 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.c.functions; + +import std.stdio; +import soup.c.types; +import linker.Loader; + +version (Windows) + static immutable LIBRARY_SOUP = ["libsoup-2.4-1.dll;soup-2.4-1.dll;soup-2.dll"]; +else version (OSX) + static immutable LIBRARY_SOUP = ["libsoup-2.4.1.dylib"]; +else + static immutable LIBRARY_SOUP = ["libsoup-2.4.so.1"]; + +shared static this() +{ + // soup.Address + + Linker.link(soup_address_get_type, "soup_address_get_type", LIBRARY_SOUP); + Linker.link(soup_address_new, "soup_address_new", LIBRARY_SOUP); + Linker.link(soup_address_new_any, "soup_address_new_any", LIBRARY_SOUP); + Linker.link(soup_address_new_from_sockaddr, "soup_address_new_from_sockaddr", LIBRARY_SOUP); + Linker.link(soup_address_equal_by_ip, "soup_address_equal_by_ip", LIBRARY_SOUP); + Linker.link(soup_address_equal_by_name, "soup_address_equal_by_name", LIBRARY_SOUP); + Linker.link(soup_address_get_gsockaddr, "soup_address_get_gsockaddr", LIBRARY_SOUP); + Linker.link(soup_address_get_name, "soup_address_get_name", LIBRARY_SOUP); + Linker.link(soup_address_get_physical, "soup_address_get_physical", LIBRARY_SOUP); + Linker.link(soup_address_get_port, "soup_address_get_port", LIBRARY_SOUP); + Linker.link(soup_address_get_sockaddr, "soup_address_get_sockaddr", LIBRARY_SOUP); + Linker.link(soup_address_hash_by_ip, "soup_address_hash_by_ip", LIBRARY_SOUP); + Linker.link(soup_address_hash_by_name, "soup_address_hash_by_name", LIBRARY_SOUP); + Linker.link(soup_address_is_resolved, "soup_address_is_resolved", LIBRARY_SOUP); + Linker.link(soup_address_resolve_async, "soup_address_resolve_async", LIBRARY_SOUP); + Linker.link(soup_address_resolve_sync, "soup_address_resolve_sync", LIBRARY_SOUP); + + // soup.Auth + + Linker.link(soup_auth_get_type, "soup_auth_get_type", LIBRARY_SOUP); + Linker.link(soup_auth_new, "soup_auth_new", LIBRARY_SOUP); + Linker.link(soup_auth_authenticate, "soup_auth_authenticate", LIBRARY_SOUP); + Linker.link(soup_auth_can_authenticate, "soup_auth_can_authenticate", LIBRARY_SOUP); + Linker.link(soup_auth_free_protection_space, "soup_auth_free_protection_space", LIBRARY_SOUP); + Linker.link(soup_auth_get_authorization, "soup_auth_get_authorization", LIBRARY_SOUP); + Linker.link(soup_auth_get_host, "soup_auth_get_host", LIBRARY_SOUP); + Linker.link(soup_auth_get_info, "soup_auth_get_info", LIBRARY_SOUP); + Linker.link(soup_auth_get_protection_space, "soup_auth_get_protection_space", LIBRARY_SOUP); + Linker.link(soup_auth_get_realm, "soup_auth_get_realm", LIBRARY_SOUP); + Linker.link(soup_auth_get_saved_password, "soup_auth_get_saved_password", LIBRARY_SOUP); + Linker.link(soup_auth_get_saved_users, "soup_auth_get_saved_users", LIBRARY_SOUP); + Linker.link(soup_auth_get_scheme_name, "soup_auth_get_scheme_name", LIBRARY_SOUP); + Linker.link(soup_auth_has_saved_password, "soup_auth_has_saved_password", LIBRARY_SOUP); + Linker.link(soup_auth_is_authenticated, "soup_auth_is_authenticated", LIBRARY_SOUP); + Linker.link(soup_auth_is_for_proxy, "soup_auth_is_for_proxy", LIBRARY_SOUP); + Linker.link(soup_auth_is_ready, "soup_auth_is_ready", LIBRARY_SOUP); + Linker.link(soup_auth_save_password, "soup_auth_save_password", LIBRARY_SOUP); + Linker.link(soup_auth_update, "soup_auth_update", LIBRARY_SOUP); + + // soup.AuthBasic + + Linker.link(soup_auth_basic_get_type, "soup_auth_basic_get_type", LIBRARY_SOUP); + + // soup.AuthDigest + + Linker.link(soup_auth_digest_get_type, "soup_auth_digest_get_type", LIBRARY_SOUP); + + // soup.AuthDomain + + Linker.link(soup_auth_domain_get_type, "soup_auth_domain_get_type", LIBRARY_SOUP); + Linker.link(soup_auth_domain_accepts, "soup_auth_domain_accepts", LIBRARY_SOUP); + Linker.link(soup_auth_domain_add_path, "soup_auth_domain_add_path", LIBRARY_SOUP); + Linker.link(soup_auth_domain_challenge, "soup_auth_domain_challenge", LIBRARY_SOUP); + Linker.link(soup_auth_domain_check_password, "soup_auth_domain_check_password", LIBRARY_SOUP); + Linker.link(soup_auth_domain_covers, "soup_auth_domain_covers", LIBRARY_SOUP); + Linker.link(soup_auth_domain_get_realm, "soup_auth_domain_get_realm", LIBRARY_SOUP); + Linker.link(soup_auth_domain_remove_path, "soup_auth_domain_remove_path", LIBRARY_SOUP); + Linker.link(soup_auth_domain_set_filter, "soup_auth_domain_set_filter", LIBRARY_SOUP); + Linker.link(soup_auth_domain_set_generic_auth_callback, "soup_auth_domain_set_generic_auth_callback", LIBRARY_SOUP); + Linker.link(soup_auth_domain_try_generic_auth_callback, "soup_auth_domain_try_generic_auth_callback", LIBRARY_SOUP); + + // soup.AuthDomainBasic + + Linker.link(soup_auth_domain_basic_get_type, "soup_auth_domain_basic_get_type", LIBRARY_SOUP); + Linker.link(soup_auth_domain_basic_new, "soup_auth_domain_basic_new", LIBRARY_SOUP); + Linker.link(soup_auth_domain_basic_set_auth_callback, "soup_auth_domain_basic_set_auth_callback", LIBRARY_SOUP); + + // soup.AuthDomainDigest + + Linker.link(soup_auth_domain_digest_get_type, "soup_auth_domain_digest_get_type", LIBRARY_SOUP); + Linker.link(soup_auth_domain_digest_new, "soup_auth_domain_digest_new", LIBRARY_SOUP); + Linker.link(soup_auth_domain_digest_encode_password, "soup_auth_domain_digest_encode_password", LIBRARY_SOUP); + Linker.link(soup_auth_domain_digest_set_auth_callback, "soup_auth_domain_digest_set_auth_callback", LIBRARY_SOUP); + + // soup.AuthManager + + Linker.link(soup_auth_manager_get_type, "soup_auth_manager_get_type", LIBRARY_SOUP); + Linker.link(soup_auth_manager_clear_cached_credentials, "soup_auth_manager_clear_cached_credentials", LIBRARY_SOUP); + Linker.link(soup_auth_manager_use_auth, "soup_auth_manager_use_auth", LIBRARY_SOUP); + + // soup.AuthNTLM + + Linker.link(soup_auth_ntlm_get_type, "soup_auth_ntlm_get_type", LIBRARY_SOUP); + + // soup.AuthNegotiate + + Linker.link(soup_auth_negotiate_get_type, "soup_auth_negotiate_get_type", LIBRARY_SOUP); + Linker.link(soup_auth_negotiate_supported, "soup_auth_negotiate_supported", LIBRARY_SOUP); + + // soup.Buffer + + Linker.link(soup_buffer_get_type, "soup_buffer_get_type", LIBRARY_SOUP); + Linker.link(soup_buffer_new, "soup_buffer_new", LIBRARY_SOUP); + Linker.link(soup_buffer_new_take, "soup_buffer_new_take", LIBRARY_SOUP); + Linker.link(soup_buffer_new_with_owner, "soup_buffer_new_with_owner", LIBRARY_SOUP); + Linker.link(soup_buffer_copy, "soup_buffer_copy", LIBRARY_SOUP); + Linker.link(soup_buffer_free, "soup_buffer_free", LIBRARY_SOUP); + Linker.link(soup_buffer_get_as_bytes, "soup_buffer_get_as_bytes", LIBRARY_SOUP); + Linker.link(soup_buffer_get_data, "soup_buffer_get_data", LIBRARY_SOUP); + Linker.link(soup_buffer_get_owner, "soup_buffer_get_owner", LIBRARY_SOUP); + Linker.link(soup_buffer_new_subbuffer, "soup_buffer_new_subbuffer", LIBRARY_SOUP); + + // soup.Cache + + Linker.link(soup_cache_get_type, "soup_cache_get_type", LIBRARY_SOUP); + Linker.link(soup_cache_new, "soup_cache_new", LIBRARY_SOUP); + Linker.link(soup_cache_clear, "soup_cache_clear", LIBRARY_SOUP); + Linker.link(soup_cache_dump, "soup_cache_dump", LIBRARY_SOUP); + Linker.link(soup_cache_flush, "soup_cache_flush", LIBRARY_SOUP); + Linker.link(soup_cache_get_max_size, "soup_cache_get_max_size", LIBRARY_SOUP); + Linker.link(soup_cache_load, "soup_cache_load", LIBRARY_SOUP); + Linker.link(soup_cache_set_max_size, "soup_cache_set_max_size", LIBRARY_SOUP); + + // soup.ClientContext + + Linker.link(soup_client_context_get_type, "soup_client_context_get_type", LIBRARY_SOUP); + Linker.link(soup_client_context_get_address, "soup_client_context_get_address", LIBRARY_SOUP); + Linker.link(soup_client_context_get_auth_domain, "soup_client_context_get_auth_domain", LIBRARY_SOUP); + Linker.link(soup_client_context_get_auth_user, "soup_client_context_get_auth_user", LIBRARY_SOUP); + Linker.link(soup_client_context_get_gsocket, "soup_client_context_get_gsocket", LIBRARY_SOUP); + Linker.link(soup_client_context_get_host, "soup_client_context_get_host", LIBRARY_SOUP); + Linker.link(soup_client_context_get_local_address, "soup_client_context_get_local_address", LIBRARY_SOUP); + Linker.link(soup_client_context_get_remote_address, "soup_client_context_get_remote_address", LIBRARY_SOUP); + Linker.link(soup_client_context_get_socket, "soup_client_context_get_socket", LIBRARY_SOUP); + Linker.link(soup_client_context_steal_connection, "soup_client_context_steal_connection", LIBRARY_SOUP); + + // soup.ContentDecoder + + Linker.link(soup_content_decoder_get_type, "soup_content_decoder_get_type", LIBRARY_SOUP); + + // soup.ContentSniffer + + Linker.link(soup_content_sniffer_get_type, "soup_content_sniffer_get_type", LIBRARY_SOUP); + Linker.link(soup_content_sniffer_new, "soup_content_sniffer_new", LIBRARY_SOUP); + Linker.link(soup_content_sniffer_get_buffer_size, "soup_content_sniffer_get_buffer_size", LIBRARY_SOUP); + Linker.link(soup_content_sniffer_sniff, "soup_content_sniffer_sniff", LIBRARY_SOUP); + + // soup.Cookie + + Linker.link(soup_cookie_get_type, "soup_cookie_get_type", LIBRARY_SOUP); + Linker.link(soup_cookie_new, "soup_cookie_new", LIBRARY_SOUP); + Linker.link(soup_cookie_applies_to_uri, "soup_cookie_applies_to_uri", LIBRARY_SOUP); + Linker.link(soup_cookie_copy, "soup_cookie_copy", LIBRARY_SOUP); + Linker.link(soup_cookie_domain_matches, "soup_cookie_domain_matches", LIBRARY_SOUP); + Linker.link(soup_cookie_equal, "soup_cookie_equal", LIBRARY_SOUP); + Linker.link(soup_cookie_free, "soup_cookie_free", LIBRARY_SOUP); + Linker.link(soup_cookie_get_domain, "soup_cookie_get_domain", LIBRARY_SOUP); + Linker.link(soup_cookie_get_expires, "soup_cookie_get_expires", LIBRARY_SOUP); + Linker.link(soup_cookie_get_http_only, "soup_cookie_get_http_only", LIBRARY_SOUP); + Linker.link(soup_cookie_get_name, "soup_cookie_get_name", LIBRARY_SOUP); + Linker.link(soup_cookie_get_path, "soup_cookie_get_path", LIBRARY_SOUP); + Linker.link(soup_cookie_get_same_site_policy, "soup_cookie_get_same_site_policy", LIBRARY_SOUP); + Linker.link(soup_cookie_get_secure, "soup_cookie_get_secure", LIBRARY_SOUP); + Linker.link(soup_cookie_get_value, "soup_cookie_get_value", LIBRARY_SOUP); + Linker.link(soup_cookie_set_domain, "soup_cookie_set_domain", LIBRARY_SOUP); + Linker.link(soup_cookie_set_expires, "soup_cookie_set_expires", LIBRARY_SOUP); + Linker.link(soup_cookie_set_http_only, "soup_cookie_set_http_only", LIBRARY_SOUP); + Linker.link(soup_cookie_set_max_age, "soup_cookie_set_max_age", LIBRARY_SOUP); + Linker.link(soup_cookie_set_name, "soup_cookie_set_name", LIBRARY_SOUP); + Linker.link(soup_cookie_set_path, "soup_cookie_set_path", LIBRARY_SOUP); + Linker.link(soup_cookie_set_same_site_policy, "soup_cookie_set_same_site_policy", LIBRARY_SOUP); + Linker.link(soup_cookie_set_secure, "soup_cookie_set_secure", LIBRARY_SOUP); + Linker.link(soup_cookie_set_value, "soup_cookie_set_value", LIBRARY_SOUP); + Linker.link(soup_cookie_to_cookie_header, "soup_cookie_to_cookie_header", LIBRARY_SOUP); + Linker.link(soup_cookie_to_set_cookie_header, "soup_cookie_to_set_cookie_header", LIBRARY_SOUP); + Linker.link(soup_cookie_parse, "soup_cookie_parse", LIBRARY_SOUP); + + // soup.CookieJar + + Linker.link(soup_cookie_jar_get_type, "soup_cookie_jar_get_type", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_new, "soup_cookie_jar_new", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_add_cookie, "soup_cookie_jar_add_cookie", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_add_cookie_full, "soup_cookie_jar_add_cookie_full", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_add_cookie_with_first_party, "soup_cookie_jar_add_cookie_with_first_party", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_all_cookies, "soup_cookie_jar_all_cookies", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_delete_cookie, "soup_cookie_jar_delete_cookie", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_get_accept_policy, "soup_cookie_jar_get_accept_policy", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_get_cookie_list, "soup_cookie_jar_get_cookie_list", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_get_cookie_list_with_same_site_info, "soup_cookie_jar_get_cookie_list_with_same_site_info", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_get_cookies, "soup_cookie_jar_get_cookies", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_is_persistent, "soup_cookie_jar_is_persistent", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_save, "soup_cookie_jar_save", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_set_accept_policy, "soup_cookie_jar_set_accept_policy", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_set_cookie, "soup_cookie_jar_set_cookie", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_set_cookie_with_first_party, "soup_cookie_jar_set_cookie_with_first_party", LIBRARY_SOUP); + + // soup.CookieJarDB + + Linker.link(soup_cookie_jar_db_get_type, "soup_cookie_jar_db_get_type", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_db_new, "soup_cookie_jar_db_new", LIBRARY_SOUP); + + // soup.CookieJarText + + Linker.link(soup_cookie_jar_text_get_type, "soup_cookie_jar_text_get_type", LIBRARY_SOUP); + Linker.link(soup_cookie_jar_text_new, "soup_cookie_jar_text_new", LIBRARY_SOUP); + + // soup.Date + + Linker.link(soup_date_get_type, "soup_date_get_type", LIBRARY_SOUP); + Linker.link(soup_date_new, "soup_date_new", LIBRARY_SOUP); + Linker.link(soup_date_new_from_now, "soup_date_new_from_now", LIBRARY_SOUP); + Linker.link(soup_date_new_from_string, "soup_date_new_from_string", LIBRARY_SOUP); + Linker.link(soup_date_new_from_time_t, "soup_date_new_from_time_t", LIBRARY_SOUP); + Linker.link(soup_date_copy, "soup_date_copy", LIBRARY_SOUP); + Linker.link(soup_date_free, "soup_date_free", LIBRARY_SOUP); + Linker.link(soup_date_get_day, "soup_date_get_day", LIBRARY_SOUP); + Linker.link(soup_date_get_hour, "soup_date_get_hour", LIBRARY_SOUP); + Linker.link(soup_date_get_minute, "soup_date_get_minute", LIBRARY_SOUP); + Linker.link(soup_date_get_month, "soup_date_get_month", LIBRARY_SOUP); + Linker.link(soup_date_get_offset, "soup_date_get_offset", LIBRARY_SOUP); + Linker.link(soup_date_get_second, "soup_date_get_second", LIBRARY_SOUP); + Linker.link(soup_date_get_utc, "soup_date_get_utc", LIBRARY_SOUP); + Linker.link(soup_date_get_year, "soup_date_get_year", LIBRARY_SOUP); + Linker.link(soup_date_is_past, "soup_date_is_past", LIBRARY_SOUP); + Linker.link(soup_date_to_string, "soup_date_to_string", LIBRARY_SOUP); + Linker.link(soup_date_to_time_t, "soup_date_to_time_t", LIBRARY_SOUP); + Linker.link(soup_date_to_timeval, "soup_date_to_timeval", LIBRARY_SOUP); + + // soup.HSTSEnforcer + + Linker.link(soup_hsts_enforcer_get_type, "soup_hsts_enforcer_get_type", LIBRARY_SOUP); + Linker.link(soup_hsts_enforcer_new, "soup_hsts_enforcer_new", LIBRARY_SOUP); + Linker.link(soup_hsts_enforcer_get_domains, "soup_hsts_enforcer_get_domains", LIBRARY_SOUP); + Linker.link(soup_hsts_enforcer_get_policies, "soup_hsts_enforcer_get_policies", LIBRARY_SOUP); + Linker.link(soup_hsts_enforcer_has_valid_policy, "soup_hsts_enforcer_has_valid_policy", LIBRARY_SOUP); + Linker.link(soup_hsts_enforcer_is_persistent, "soup_hsts_enforcer_is_persistent", LIBRARY_SOUP); + Linker.link(soup_hsts_enforcer_set_policy, "soup_hsts_enforcer_set_policy", LIBRARY_SOUP); + Linker.link(soup_hsts_enforcer_set_session_policy, "soup_hsts_enforcer_set_session_policy", LIBRARY_SOUP); + + // soup.HSTSEnforcerDB + + Linker.link(soup_hsts_enforcer_db_get_type, "soup_hsts_enforcer_db_get_type", LIBRARY_SOUP); + Linker.link(soup_hsts_enforcer_db_new, "soup_hsts_enforcer_db_new", LIBRARY_SOUP); + + // soup.HSTSPolicy + + Linker.link(soup_hsts_policy_get_type, "soup_hsts_policy_get_type", LIBRARY_SOUP); + Linker.link(soup_hsts_policy_new, "soup_hsts_policy_new", LIBRARY_SOUP); + Linker.link(soup_hsts_policy_new_from_response, "soup_hsts_policy_new_from_response", LIBRARY_SOUP); + Linker.link(soup_hsts_policy_new_full, "soup_hsts_policy_new_full", LIBRARY_SOUP); + Linker.link(soup_hsts_policy_new_session_policy, "soup_hsts_policy_new_session_policy", LIBRARY_SOUP); + Linker.link(soup_hsts_policy_copy, "soup_hsts_policy_copy", LIBRARY_SOUP); + Linker.link(soup_hsts_policy_equal, "soup_hsts_policy_equal", LIBRARY_SOUP); + Linker.link(soup_hsts_policy_free, "soup_hsts_policy_free", LIBRARY_SOUP); + Linker.link(soup_hsts_policy_get_domain, "soup_hsts_policy_get_domain", LIBRARY_SOUP); + Linker.link(soup_hsts_policy_includes_subdomains, "soup_hsts_policy_includes_subdomains", LIBRARY_SOUP); + Linker.link(soup_hsts_policy_is_expired, "soup_hsts_policy_is_expired", LIBRARY_SOUP); + Linker.link(soup_hsts_policy_is_session_policy, "soup_hsts_policy_is_session_policy", LIBRARY_SOUP); + + // soup.Logger + + Linker.link(soup_logger_get_type, "soup_logger_get_type", LIBRARY_SOUP); + Linker.link(soup_logger_new, "soup_logger_new", LIBRARY_SOUP); + Linker.link(soup_logger_attach, "soup_logger_attach", LIBRARY_SOUP); + Linker.link(soup_logger_detach, "soup_logger_detach", LIBRARY_SOUP); + Linker.link(soup_logger_set_printer, "soup_logger_set_printer", LIBRARY_SOUP); + Linker.link(soup_logger_set_request_filter, "soup_logger_set_request_filter", LIBRARY_SOUP); + Linker.link(soup_logger_set_response_filter, "soup_logger_set_response_filter", LIBRARY_SOUP); + + // soup.Message + + Linker.link(soup_message_get_type, "soup_message_get_type", LIBRARY_SOUP); + Linker.link(soup_message_new, "soup_message_new", LIBRARY_SOUP); + Linker.link(soup_message_new_from_uri, "soup_message_new_from_uri", LIBRARY_SOUP); + Linker.link(soup_message_add_header_handler, "soup_message_add_header_handler", LIBRARY_SOUP); + Linker.link(soup_message_add_status_code_handler, "soup_message_add_status_code_handler", LIBRARY_SOUP); + Linker.link(soup_message_content_sniffed, "soup_message_content_sniffed", LIBRARY_SOUP); + Linker.link(soup_message_disable_feature, "soup_message_disable_feature", LIBRARY_SOUP); + Linker.link(soup_message_finished, "soup_message_finished", LIBRARY_SOUP); + Linker.link(soup_message_get_address, "soup_message_get_address", LIBRARY_SOUP); + Linker.link(soup_message_get_first_party, "soup_message_get_first_party", LIBRARY_SOUP); + Linker.link(soup_message_get_flags, "soup_message_get_flags", LIBRARY_SOUP); + Linker.link(soup_message_get_http_version, "soup_message_get_http_version", LIBRARY_SOUP); + Linker.link(soup_message_get_https_status, "soup_message_get_https_status", LIBRARY_SOUP); + Linker.link(soup_message_get_is_top_level_navigation, "soup_message_get_is_top_level_navigation", LIBRARY_SOUP); + Linker.link(soup_message_get_priority, "soup_message_get_priority", LIBRARY_SOUP); + Linker.link(soup_message_get_site_for_cookies, "soup_message_get_site_for_cookies", LIBRARY_SOUP); + Linker.link(soup_message_get_soup_request, "soup_message_get_soup_request", LIBRARY_SOUP); + Linker.link(soup_message_get_uri, "soup_message_get_uri", LIBRARY_SOUP); + Linker.link(soup_message_got_body, "soup_message_got_body", LIBRARY_SOUP); + Linker.link(soup_message_got_chunk, "soup_message_got_chunk", LIBRARY_SOUP); + Linker.link(soup_message_got_headers, "soup_message_got_headers", LIBRARY_SOUP); + Linker.link(soup_message_got_informational, "soup_message_got_informational", LIBRARY_SOUP); + Linker.link(soup_message_is_feature_disabled, "soup_message_is_feature_disabled", LIBRARY_SOUP); + Linker.link(soup_message_is_keepalive, "soup_message_is_keepalive", LIBRARY_SOUP); + Linker.link(soup_message_restarted, "soup_message_restarted", LIBRARY_SOUP); + Linker.link(soup_message_set_chunk_allocator, "soup_message_set_chunk_allocator", LIBRARY_SOUP); + Linker.link(soup_message_set_first_party, "soup_message_set_first_party", LIBRARY_SOUP); + Linker.link(soup_message_set_flags, "soup_message_set_flags", LIBRARY_SOUP); + Linker.link(soup_message_set_http_version, "soup_message_set_http_version", LIBRARY_SOUP); + Linker.link(soup_message_set_is_top_level_navigation, "soup_message_set_is_top_level_navigation", LIBRARY_SOUP); + Linker.link(soup_message_set_priority, "soup_message_set_priority", LIBRARY_SOUP); + Linker.link(soup_message_set_redirect, "soup_message_set_redirect", LIBRARY_SOUP); + Linker.link(soup_message_set_request, "soup_message_set_request", LIBRARY_SOUP); + Linker.link(soup_message_set_response, "soup_message_set_response", LIBRARY_SOUP); + Linker.link(soup_message_set_site_for_cookies, "soup_message_set_site_for_cookies", LIBRARY_SOUP); + Linker.link(soup_message_set_status, "soup_message_set_status", LIBRARY_SOUP); + Linker.link(soup_message_set_status_full, "soup_message_set_status_full", LIBRARY_SOUP); + Linker.link(soup_message_set_uri, "soup_message_set_uri", LIBRARY_SOUP); + Linker.link(soup_message_starting, "soup_message_starting", LIBRARY_SOUP); + Linker.link(soup_message_wrote_body, "soup_message_wrote_body", LIBRARY_SOUP); + Linker.link(soup_message_wrote_body_data, "soup_message_wrote_body_data", LIBRARY_SOUP); + Linker.link(soup_message_wrote_chunk, "soup_message_wrote_chunk", LIBRARY_SOUP); + Linker.link(soup_message_wrote_headers, "soup_message_wrote_headers", LIBRARY_SOUP); + Linker.link(soup_message_wrote_informational, "soup_message_wrote_informational", LIBRARY_SOUP); + + // soup.MessageBody + + Linker.link(soup_message_body_get_type, "soup_message_body_get_type", LIBRARY_SOUP); + Linker.link(soup_message_body_new, "soup_message_body_new", LIBRARY_SOUP); + Linker.link(soup_message_body_append, "soup_message_body_append", LIBRARY_SOUP); + Linker.link(soup_message_body_append_buffer, "soup_message_body_append_buffer", LIBRARY_SOUP); + Linker.link(soup_message_body_append_take, "soup_message_body_append_take", LIBRARY_SOUP); + Linker.link(soup_message_body_complete, "soup_message_body_complete", LIBRARY_SOUP); + Linker.link(soup_message_body_flatten, "soup_message_body_flatten", LIBRARY_SOUP); + Linker.link(soup_message_body_free, "soup_message_body_free", LIBRARY_SOUP); + Linker.link(soup_message_body_get_accumulate, "soup_message_body_get_accumulate", LIBRARY_SOUP); + Linker.link(soup_message_body_get_chunk, "soup_message_body_get_chunk", LIBRARY_SOUP); + Linker.link(soup_message_body_got_chunk, "soup_message_body_got_chunk", LIBRARY_SOUP); + Linker.link(soup_message_body_set_accumulate, "soup_message_body_set_accumulate", LIBRARY_SOUP); + Linker.link(soup_message_body_truncate, "soup_message_body_truncate", LIBRARY_SOUP); + Linker.link(soup_message_body_wrote_chunk, "soup_message_body_wrote_chunk", LIBRARY_SOUP); + + // soup.MessageHeaders + + Linker.link(soup_message_headers_get_type, "soup_message_headers_get_type", LIBRARY_SOUP); + Linker.link(soup_message_headers_new, "soup_message_headers_new", LIBRARY_SOUP); + Linker.link(soup_message_headers_append, "soup_message_headers_append", LIBRARY_SOUP); + Linker.link(soup_message_headers_clean_connection_headers, "soup_message_headers_clean_connection_headers", LIBRARY_SOUP); + Linker.link(soup_message_headers_clear, "soup_message_headers_clear", LIBRARY_SOUP); + Linker.link(soup_message_headers_foreach, "soup_message_headers_foreach", LIBRARY_SOUP); + Linker.link(soup_message_headers_free, "soup_message_headers_free", LIBRARY_SOUP); + Linker.link(soup_message_headers_free_ranges, "soup_message_headers_free_ranges", LIBRARY_SOUP); + Linker.link(soup_message_headers_get, "soup_message_headers_get", LIBRARY_SOUP); + Linker.link(soup_message_headers_get_content_disposition, "soup_message_headers_get_content_disposition", LIBRARY_SOUP); + Linker.link(soup_message_headers_get_content_length, "soup_message_headers_get_content_length", LIBRARY_SOUP); + Linker.link(soup_message_headers_get_content_range, "soup_message_headers_get_content_range", LIBRARY_SOUP); + Linker.link(soup_message_headers_get_content_type, "soup_message_headers_get_content_type", LIBRARY_SOUP); + Linker.link(soup_message_headers_get_encoding, "soup_message_headers_get_encoding", LIBRARY_SOUP); + Linker.link(soup_message_headers_get_expectations, "soup_message_headers_get_expectations", LIBRARY_SOUP); + Linker.link(soup_message_headers_get_headers_type, "soup_message_headers_get_headers_type", LIBRARY_SOUP); + Linker.link(soup_message_headers_get_list, "soup_message_headers_get_list", LIBRARY_SOUP); + Linker.link(soup_message_headers_get_one, "soup_message_headers_get_one", LIBRARY_SOUP); + Linker.link(soup_message_headers_get_ranges, "soup_message_headers_get_ranges", LIBRARY_SOUP); + Linker.link(soup_message_headers_header_contains, "soup_message_headers_header_contains", LIBRARY_SOUP); + Linker.link(soup_message_headers_header_equals, "soup_message_headers_header_equals", LIBRARY_SOUP); + Linker.link(soup_message_headers_remove, "soup_message_headers_remove", LIBRARY_SOUP); + Linker.link(soup_message_headers_replace, "soup_message_headers_replace", LIBRARY_SOUP); + Linker.link(soup_message_headers_set_content_disposition, "soup_message_headers_set_content_disposition", LIBRARY_SOUP); + Linker.link(soup_message_headers_set_content_length, "soup_message_headers_set_content_length", LIBRARY_SOUP); + Linker.link(soup_message_headers_set_content_range, "soup_message_headers_set_content_range", LIBRARY_SOUP); + Linker.link(soup_message_headers_set_content_type, "soup_message_headers_set_content_type", LIBRARY_SOUP); + Linker.link(soup_message_headers_set_encoding, "soup_message_headers_set_encoding", LIBRARY_SOUP); + Linker.link(soup_message_headers_set_expectations, "soup_message_headers_set_expectations", LIBRARY_SOUP); + Linker.link(soup_message_headers_set_range, "soup_message_headers_set_range", LIBRARY_SOUP); + Linker.link(soup_message_headers_set_ranges, "soup_message_headers_set_ranges", LIBRARY_SOUP); + + // soup.MessageHeadersIter + + Linker.link(soup_message_headers_iter_next, "soup_message_headers_iter_next", LIBRARY_SOUP); + Linker.link(soup_message_headers_iter_init, "soup_message_headers_iter_init", LIBRARY_SOUP); + + // soup.Multipart + + Linker.link(soup_multipart_get_type, "soup_multipart_get_type", LIBRARY_SOUP); + Linker.link(soup_multipart_new, "soup_multipart_new", LIBRARY_SOUP); + Linker.link(soup_multipart_new_from_message, "soup_multipart_new_from_message", LIBRARY_SOUP); + Linker.link(soup_multipart_append_form_file, "soup_multipart_append_form_file", LIBRARY_SOUP); + Linker.link(soup_multipart_append_form_string, "soup_multipart_append_form_string", LIBRARY_SOUP); + Linker.link(soup_multipart_append_part, "soup_multipart_append_part", LIBRARY_SOUP); + Linker.link(soup_multipart_free, "soup_multipart_free", LIBRARY_SOUP); + Linker.link(soup_multipart_get_length, "soup_multipart_get_length", LIBRARY_SOUP); + Linker.link(soup_multipart_get_part, "soup_multipart_get_part", LIBRARY_SOUP); + Linker.link(soup_multipart_to_message, "soup_multipart_to_message", LIBRARY_SOUP); + + // soup.MultipartInputStream + + Linker.link(soup_multipart_input_stream_get_type, "soup_multipart_input_stream_get_type", LIBRARY_SOUP); + Linker.link(soup_multipart_input_stream_new, "soup_multipart_input_stream_new", LIBRARY_SOUP); + Linker.link(soup_multipart_input_stream_get_headers, "soup_multipart_input_stream_get_headers", LIBRARY_SOUP); + Linker.link(soup_multipart_input_stream_next_part, "soup_multipart_input_stream_next_part", LIBRARY_SOUP); + Linker.link(soup_multipart_input_stream_next_part_async, "soup_multipart_input_stream_next_part_async", LIBRARY_SOUP); + Linker.link(soup_multipart_input_stream_next_part_finish, "soup_multipart_input_stream_next_part_finish", LIBRARY_SOUP); + + // soup.PasswordManager + + Linker.link(soup_password_manager_get_type, "soup_password_manager_get_type", LIBRARY_SOUP); + Linker.link(soup_password_manager_get_passwords_async, "soup_password_manager_get_passwords_async", LIBRARY_SOUP); + Linker.link(soup_password_manager_get_passwords_sync, "soup_password_manager_get_passwords_sync", LIBRARY_SOUP); + + // soup.ProxyResolver + + Linker.link(soup_proxy_resolver_get_type, "soup_proxy_resolver_get_type", LIBRARY_SOUP); + Linker.link(soup_proxy_resolver_get_proxy_async, "soup_proxy_resolver_get_proxy_async", LIBRARY_SOUP); + Linker.link(soup_proxy_resolver_get_proxy_sync, "soup_proxy_resolver_get_proxy_sync", LIBRARY_SOUP); + + // soup.ProxyResolverDefault + + Linker.link(soup_proxy_resolver_default_get_type, "soup_proxy_resolver_default_get_type", LIBRARY_SOUP); + + // soup.ProxyURIResolver + + Linker.link(soup_proxy_uri_resolver_get_type, "soup_proxy_uri_resolver_get_type", LIBRARY_SOUP); + Linker.link(soup_proxy_uri_resolver_get_proxy_uri_async, "soup_proxy_uri_resolver_get_proxy_uri_async", LIBRARY_SOUP); + Linker.link(soup_proxy_uri_resolver_get_proxy_uri_sync, "soup_proxy_uri_resolver_get_proxy_uri_sync", LIBRARY_SOUP); + + // soup.Request + + Linker.link(soup_request_get_type, "soup_request_get_type", LIBRARY_SOUP); + Linker.link(soup_request_get_content_length, "soup_request_get_content_length", LIBRARY_SOUP); + Linker.link(soup_request_get_content_type, "soup_request_get_content_type", LIBRARY_SOUP); + Linker.link(soup_request_get_session, "soup_request_get_session", LIBRARY_SOUP); + Linker.link(soup_request_get_uri, "soup_request_get_uri", LIBRARY_SOUP); + Linker.link(soup_request_send, "soup_request_send", LIBRARY_SOUP); + Linker.link(soup_request_send_async, "soup_request_send_async", LIBRARY_SOUP); + Linker.link(soup_request_send_finish, "soup_request_send_finish", LIBRARY_SOUP); + + // soup.RequestData + + Linker.link(soup_request_data_get_type, "soup_request_data_get_type", LIBRARY_SOUP); + + // soup.RequestFile + + Linker.link(soup_request_file_get_type, "soup_request_file_get_type", LIBRARY_SOUP); + Linker.link(soup_request_file_get_file, "soup_request_file_get_file", LIBRARY_SOUP); + + // soup.RequestHTTP + + Linker.link(soup_request_http_get_type, "soup_request_http_get_type", LIBRARY_SOUP); + Linker.link(soup_request_http_get_message, "soup_request_http_get_message", LIBRARY_SOUP); + + // soup.Requester + + Linker.link(soup_requester_get_type, "soup_requester_get_type", LIBRARY_SOUP); + Linker.link(soup_requester_new, "soup_requester_new", LIBRARY_SOUP); + Linker.link(soup_requester_request, "soup_requester_request", LIBRARY_SOUP); + Linker.link(soup_requester_request_uri, "soup_requester_request_uri", LIBRARY_SOUP); + + // soup.Server + + Linker.link(soup_server_get_type, "soup_server_get_type", LIBRARY_SOUP); + Linker.link(soup_server_new, "soup_server_new", LIBRARY_SOUP); + Linker.link(soup_server_accept_iostream, "soup_server_accept_iostream", LIBRARY_SOUP); + Linker.link(soup_server_add_auth_domain, "soup_server_add_auth_domain", LIBRARY_SOUP); + Linker.link(soup_server_add_early_handler, "soup_server_add_early_handler", LIBRARY_SOUP); + Linker.link(soup_server_add_handler, "soup_server_add_handler", LIBRARY_SOUP); + Linker.link(soup_server_add_websocket_extension, "soup_server_add_websocket_extension", LIBRARY_SOUP); + Linker.link(soup_server_add_websocket_handler, "soup_server_add_websocket_handler", LIBRARY_SOUP); + Linker.link(soup_server_disconnect, "soup_server_disconnect", LIBRARY_SOUP); + Linker.link(soup_server_get_async_context, "soup_server_get_async_context", LIBRARY_SOUP); + Linker.link(soup_server_get_listener, "soup_server_get_listener", LIBRARY_SOUP); + Linker.link(soup_server_get_listeners, "soup_server_get_listeners", LIBRARY_SOUP); + Linker.link(soup_server_get_port, "soup_server_get_port", LIBRARY_SOUP); + Linker.link(soup_server_get_uris, "soup_server_get_uris", LIBRARY_SOUP); + Linker.link(soup_server_is_https, "soup_server_is_https", LIBRARY_SOUP); + Linker.link(soup_server_listen, "soup_server_listen", LIBRARY_SOUP); + Linker.link(soup_server_listen_all, "soup_server_listen_all", LIBRARY_SOUP); + Linker.link(soup_server_listen_fd, "soup_server_listen_fd", LIBRARY_SOUP); + Linker.link(soup_server_listen_local, "soup_server_listen_local", LIBRARY_SOUP); + Linker.link(soup_server_listen_socket, "soup_server_listen_socket", LIBRARY_SOUP); + Linker.link(soup_server_pause_message, "soup_server_pause_message", LIBRARY_SOUP); + Linker.link(soup_server_quit, "soup_server_quit", LIBRARY_SOUP); + Linker.link(soup_server_remove_auth_domain, "soup_server_remove_auth_domain", LIBRARY_SOUP); + Linker.link(soup_server_remove_handler, "soup_server_remove_handler", LIBRARY_SOUP); + Linker.link(soup_server_remove_websocket_extension, "soup_server_remove_websocket_extension", LIBRARY_SOUP); + Linker.link(soup_server_run, "soup_server_run", LIBRARY_SOUP); + Linker.link(soup_server_run_async, "soup_server_run_async", LIBRARY_SOUP); + Linker.link(soup_server_set_ssl_cert_file, "soup_server_set_ssl_cert_file", LIBRARY_SOUP); + Linker.link(soup_server_unpause_message, "soup_server_unpause_message", LIBRARY_SOUP); + + // soup.Session + + Linker.link(soup_session_get_type, "soup_session_get_type", LIBRARY_SOUP); + Linker.link(soup_session_new, "soup_session_new", LIBRARY_SOUP); + Linker.link(soup_session_new_with_options, "soup_session_new_with_options", LIBRARY_SOUP); + Linker.link(soup_session_abort, "soup_session_abort", LIBRARY_SOUP); + Linker.link(soup_session_add_feature, "soup_session_add_feature", LIBRARY_SOUP); + Linker.link(soup_session_add_feature_by_type, "soup_session_add_feature_by_type", LIBRARY_SOUP); + Linker.link(soup_session_cancel_message, "soup_session_cancel_message", LIBRARY_SOUP); + Linker.link(soup_session_connect_async, "soup_session_connect_async", LIBRARY_SOUP); + Linker.link(soup_session_connect_finish, "soup_session_connect_finish", LIBRARY_SOUP); + Linker.link(soup_session_get_async_context, "soup_session_get_async_context", LIBRARY_SOUP); + Linker.link(soup_session_get_feature, "soup_session_get_feature", LIBRARY_SOUP); + Linker.link(soup_session_get_feature_for_message, "soup_session_get_feature_for_message", LIBRARY_SOUP); + Linker.link(soup_session_get_features, "soup_session_get_features", LIBRARY_SOUP); + Linker.link(soup_session_has_feature, "soup_session_has_feature", LIBRARY_SOUP); + Linker.link(soup_session_pause_message, "soup_session_pause_message", LIBRARY_SOUP); + Linker.link(soup_session_prefetch_dns, "soup_session_prefetch_dns", LIBRARY_SOUP); + Linker.link(soup_session_prepare_for_uri, "soup_session_prepare_for_uri", LIBRARY_SOUP); + Linker.link(soup_session_queue_message, "soup_session_queue_message", LIBRARY_SOUP); + Linker.link(soup_session_redirect_message, "soup_session_redirect_message", LIBRARY_SOUP); + Linker.link(soup_session_remove_feature, "soup_session_remove_feature", LIBRARY_SOUP); + Linker.link(soup_session_remove_feature_by_type, "soup_session_remove_feature_by_type", LIBRARY_SOUP); + Linker.link(soup_session_request, "soup_session_request", LIBRARY_SOUP); + Linker.link(soup_session_request_http, "soup_session_request_http", LIBRARY_SOUP); + Linker.link(soup_session_request_http_uri, "soup_session_request_http_uri", LIBRARY_SOUP); + Linker.link(soup_session_request_uri, "soup_session_request_uri", LIBRARY_SOUP); + Linker.link(soup_session_requeue_message, "soup_session_requeue_message", LIBRARY_SOUP); + Linker.link(soup_session_send, "soup_session_send", LIBRARY_SOUP); + Linker.link(soup_session_send_async, "soup_session_send_async", LIBRARY_SOUP); + Linker.link(soup_session_send_finish, "soup_session_send_finish", LIBRARY_SOUP); + Linker.link(soup_session_send_message, "soup_session_send_message", LIBRARY_SOUP); + Linker.link(soup_session_steal_connection, "soup_session_steal_connection", LIBRARY_SOUP); + Linker.link(soup_session_unpause_message, "soup_session_unpause_message", LIBRARY_SOUP); + Linker.link(soup_session_websocket_connect_async, "soup_session_websocket_connect_async", LIBRARY_SOUP); + Linker.link(soup_session_websocket_connect_finish, "soup_session_websocket_connect_finish", LIBRARY_SOUP); + Linker.link(soup_session_would_redirect, "soup_session_would_redirect", LIBRARY_SOUP); + + // soup.SessionAsync + + Linker.link(soup_session_async_get_type, "soup_session_async_get_type", LIBRARY_SOUP); + Linker.link(soup_session_async_new, "soup_session_async_new", LIBRARY_SOUP); + Linker.link(soup_session_async_new_with_options, "soup_session_async_new_with_options", LIBRARY_SOUP); + + // soup.SessionFeature + + Linker.link(soup_session_feature_get_type, "soup_session_feature_get_type", LIBRARY_SOUP); + Linker.link(soup_session_feature_add_feature, "soup_session_feature_add_feature", LIBRARY_SOUP); + Linker.link(soup_session_feature_attach, "soup_session_feature_attach", LIBRARY_SOUP); + Linker.link(soup_session_feature_detach, "soup_session_feature_detach", LIBRARY_SOUP); + Linker.link(soup_session_feature_has_feature, "soup_session_feature_has_feature", LIBRARY_SOUP); + Linker.link(soup_session_feature_remove_feature, "soup_session_feature_remove_feature", LIBRARY_SOUP); + + // soup.SessionSync + + Linker.link(soup_session_sync_get_type, "soup_session_sync_get_type", LIBRARY_SOUP); + Linker.link(soup_session_sync_new, "soup_session_sync_new", LIBRARY_SOUP); + Linker.link(soup_session_sync_new_with_options, "soup_session_sync_new_with_options", LIBRARY_SOUP); + + // soup.SSocket + + Linker.link(soup_socket_get_type, "soup_socket_get_type", LIBRARY_SOUP); + Linker.link(soup_socket_new, "soup_socket_new", LIBRARY_SOUP); + Linker.link(soup_socket_connect_async, "soup_socket_connect_async", LIBRARY_SOUP); + Linker.link(soup_socket_connect_sync, "soup_socket_connect_sync", LIBRARY_SOUP); + Linker.link(soup_socket_disconnect, "soup_socket_disconnect", LIBRARY_SOUP); + Linker.link(soup_socket_get_fd, "soup_socket_get_fd", LIBRARY_SOUP); + Linker.link(soup_socket_get_local_address, "soup_socket_get_local_address", LIBRARY_SOUP); + Linker.link(soup_socket_get_remote_address, "soup_socket_get_remote_address", LIBRARY_SOUP); + Linker.link(soup_socket_is_connected, "soup_socket_is_connected", LIBRARY_SOUP); + Linker.link(soup_socket_is_ssl, "soup_socket_is_ssl", LIBRARY_SOUP); + Linker.link(soup_socket_listen, "soup_socket_listen", LIBRARY_SOUP); + Linker.link(soup_socket_read, "soup_socket_read", LIBRARY_SOUP); + Linker.link(soup_socket_read_until, "soup_socket_read_until", LIBRARY_SOUP); + Linker.link(soup_socket_start_proxy_ssl, "soup_socket_start_proxy_ssl", LIBRARY_SOUP); + Linker.link(soup_socket_start_ssl, "soup_socket_start_ssl", LIBRARY_SOUP); + Linker.link(soup_socket_write, "soup_socket_write", LIBRARY_SOUP); + + // soup.URI + + Linker.link(soup_uri_get_type, "soup_uri_get_type", LIBRARY_SOUP); + Linker.link(soup_uri_new, "soup_uri_new", LIBRARY_SOUP); + Linker.link(soup_uri_new_with_base, "soup_uri_new_with_base", LIBRARY_SOUP); + Linker.link(soup_uri_copy, "soup_uri_copy", LIBRARY_SOUP); + Linker.link(soup_uri_copy_host, "soup_uri_copy_host", LIBRARY_SOUP); + Linker.link(soup_uri_equal, "soup_uri_equal", LIBRARY_SOUP); + Linker.link(soup_uri_free, "soup_uri_free", LIBRARY_SOUP); + Linker.link(soup_uri_get_fragment, "soup_uri_get_fragment", LIBRARY_SOUP); + Linker.link(soup_uri_get_host, "soup_uri_get_host", LIBRARY_SOUP); + Linker.link(soup_uri_get_password, "soup_uri_get_password", LIBRARY_SOUP); + Linker.link(soup_uri_get_path, "soup_uri_get_path", LIBRARY_SOUP); + Linker.link(soup_uri_get_port, "soup_uri_get_port", LIBRARY_SOUP); + Linker.link(soup_uri_get_query, "soup_uri_get_query", LIBRARY_SOUP); + Linker.link(soup_uri_get_scheme, "soup_uri_get_scheme", LIBRARY_SOUP); + Linker.link(soup_uri_get_user, "soup_uri_get_user", LIBRARY_SOUP); + Linker.link(soup_uri_host_equal, "soup_uri_host_equal", LIBRARY_SOUP); + Linker.link(soup_uri_host_hash, "soup_uri_host_hash", LIBRARY_SOUP); + Linker.link(soup_uri_set_fragment, "soup_uri_set_fragment", LIBRARY_SOUP); + Linker.link(soup_uri_set_host, "soup_uri_set_host", LIBRARY_SOUP); + Linker.link(soup_uri_set_password, "soup_uri_set_password", LIBRARY_SOUP); + Linker.link(soup_uri_set_path, "soup_uri_set_path", LIBRARY_SOUP); + Linker.link(soup_uri_set_port, "soup_uri_set_port", LIBRARY_SOUP); + Linker.link(soup_uri_set_query, "soup_uri_set_query", LIBRARY_SOUP); + Linker.link(soup_uri_set_query_from_fields, "soup_uri_set_query_from_fields", LIBRARY_SOUP); + Linker.link(soup_uri_set_query_from_form, "soup_uri_set_query_from_form", LIBRARY_SOUP); + Linker.link(soup_uri_set_scheme, "soup_uri_set_scheme", LIBRARY_SOUP); + Linker.link(soup_uri_set_user, "soup_uri_set_user", LIBRARY_SOUP); + Linker.link(soup_uri_to_string, "soup_uri_to_string", LIBRARY_SOUP); + Linker.link(soup_uri_uses_default_port, "soup_uri_uses_default_port", LIBRARY_SOUP); + Linker.link(soup_uri_decode, "soup_uri_decode", LIBRARY_SOUP); + Linker.link(soup_uri_encode, "soup_uri_encode", LIBRARY_SOUP); + Linker.link(soup_uri_normalize, "soup_uri_normalize", LIBRARY_SOUP); + + // soup.WebsocketConnection + + Linker.link(soup_websocket_connection_get_type, "soup_websocket_connection_get_type", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_new, "soup_websocket_connection_new", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_new_with_extensions, "soup_websocket_connection_new_with_extensions", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_close, "soup_websocket_connection_close", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_get_close_code, "soup_websocket_connection_get_close_code", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_get_close_data, "soup_websocket_connection_get_close_data", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_get_connection_type, "soup_websocket_connection_get_connection_type", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_get_extensions, "soup_websocket_connection_get_extensions", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_get_io_stream, "soup_websocket_connection_get_io_stream", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_get_keepalive_interval, "soup_websocket_connection_get_keepalive_interval", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_get_max_incoming_payload_size, "soup_websocket_connection_get_max_incoming_payload_size", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_get_origin, "soup_websocket_connection_get_origin", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_get_protocol, "soup_websocket_connection_get_protocol", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_get_state, "soup_websocket_connection_get_state", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_get_uri, "soup_websocket_connection_get_uri", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_send_binary, "soup_websocket_connection_send_binary", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_send_message, "soup_websocket_connection_send_message", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_send_text, "soup_websocket_connection_send_text", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_set_keepalive_interval, "soup_websocket_connection_set_keepalive_interval", LIBRARY_SOUP); + Linker.link(soup_websocket_connection_set_max_incoming_payload_size, "soup_websocket_connection_set_max_incoming_payload_size", LIBRARY_SOUP); + + // soup.WebsocketExtension + + Linker.link(soup_websocket_extension_get_type, "soup_websocket_extension_get_type", LIBRARY_SOUP); + Linker.link(soup_websocket_extension_configure, "soup_websocket_extension_configure", LIBRARY_SOUP); + Linker.link(soup_websocket_extension_get_request_params, "soup_websocket_extension_get_request_params", LIBRARY_SOUP); + Linker.link(soup_websocket_extension_get_response_params, "soup_websocket_extension_get_response_params", LIBRARY_SOUP); + Linker.link(soup_websocket_extension_process_incoming_message, "soup_websocket_extension_process_incoming_message", LIBRARY_SOUP); + Linker.link(soup_websocket_extension_process_outgoing_message, "soup_websocket_extension_process_outgoing_message", LIBRARY_SOUP); + + // soup.WebsocketExtensionDeflate + + Linker.link(soup_websocket_extension_deflate_get_type, "soup_websocket_extension_deflate_get_type", LIBRARY_SOUP); + + // soup.WebsocketExtensionManager + + Linker.link(soup_websocket_extension_manager_get_type, "soup_websocket_extension_manager_get_type", LIBRARY_SOUP); + + // soup.XMLRPCParams + + Linker.link(soup_xmlrpc_params_free, "soup_xmlrpc_params_free", LIBRARY_SOUP); + Linker.link(soup_xmlrpc_params_parse, "soup_xmlrpc_params_parse", LIBRARY_SOUP); +} + +__gshared extern(C) +{ + + // soup.Address + + GType function() c_soup_address_get_type; + SoupAddress* function(const(char)* name, uint port) c_soup_address_new; + SoupAddress* function(SoupAddressFamily family, uint port) c_soup_address_new_any; + SoupAddress* function(sockaddr* sa, int len) c_soup_address_new_from_sockaddr; + int function(void* addr1, void* addr2) c_soup_address_equal_by_ip; + int function(void* addr1, void* addr2) c_soup_address_equal_by_name; + GSocketAddress* function(SoupAddress* addr) c_soup_address_get_gsockaddr; + const(char)* function(SoupAddress* addr) c_soup_address_get_name; + const(char)* function(SoupAddress* addr) c_soup_address_get_physical; + uint function(SoupAddress* addr) c_soup_address_get_port; + sockaddr* function(SoupAddress* addr, int* len) c_soup_address_get_sockaddr; + uint function(void* addr) c_soup_address_hash_by_ip; + uint function(void* addr) c_soup_address_hash_by_name; + int function(SoupAddress* addr) c_soup_address_is_resolved; + void function(SoupAddress* addr, GMainContext* asyncContext, GCancellable* cancellable, SoupAddressCallback callback, void* userData) c_soup_address_resolve_async; + uint function(SoupAddress* addr, GCancellable* cancellable) c_soup_address_resolve_sync; + + // soup.Auth + + GType function() c_soup_auth_get_type; + SoupAuth* function(GType type, SoupMessage* msg, const(char)* authHeader) c_soup_auth_new; + void function(SoupAuth* auth, const(char)* username, const(char)* password) c_soup_auth_authenticate; + int function(SoupAuth* auth) c_soup_auth_can_authenticate; + void function(SoupAuth* auth, GSList* space) c_soup_auth_free_protection_space; + char* function(SoupAuth* auth, SoupMessage* msg) c_soup_auth_get_authorization; + const(char)* function(SoupAuth* auth) c_soup_auth_get_host; + char* function(SoupAuth* auth) c_soup_auth_get_info; + GSList* function(SoupAuth* auth, SoupURI* sourceUri) c_soup_auth_get_protection_space; + const(char)* function(SoupAuth* auth) c_soup_auth_get_realm; + const(char)* function(SoupAuth* auth, const(char)* user) c_soup_auth_get_saved_password; + GSList* function(SoupAuth* auth) c_soup_auth_get_saved_users; + const(char)* function(SoupAuth* auth) c_soup_auth_get_scheme_name; + void function(SoupAuth* auth, const(char)* username, const(char)* password) c_soup_auth_has_saved_password; + int function(SoupAuth* auth) c_soup_auth_is_authenticated; + int function(SoupAuth* auth) c_soup_auth_is_for_proxy; + int function(SoupAuth* auth, SoupMessage* msg) c_soup_auth_is_ready; + void function(SoupAuth* auth, const(char)* username, const(char)* password) c_soup_auth_save_password; + int function(SoupAuth* auth, SoupMessage* msg, const(char)* authHeader) c_soup_auth_update; + + // soup.AuthBasic + + GType function() c_soup_auth_basic_get_type; + + // soup.AuthDigest + + GType function() c_soup_auth_digest_get_type; + + // soup.AuthDomain + + GType function() c_soup_auth_domain_get_type; + char* function(SoupAuthDomain* domain, SoupMessage* msg) c_soup_auth_domain_accepts; + void function(SoupAuthDomain* domain, const(char)* path) c_soup_auth_domain_add_path; + void function(SoupAuthDomain* domain, SoupMessage* msg) c_soup_auth_domain_challenge; + int function(SoupAuthDomain* domain, SoupMessage* msg, const(char)* username, const(char)* password) c_soup_auth_domain_check_password; + int function(SoupAuthDomain* domain, SoupMessage* msg) c_soup_auth_domain_covers; + const(char)* function(SoupAuthDomain* domain) c_soup_auth_domain_get_realm; + void function(SoupAuthDomain* domain, const(char)* path) c_soup_auth_domain_remove_path; + void function(SoupAuthDomain* domain, SoupAuthDomainFilter filter, void* filterData, GDestroyNotify dnotify) c_soup_auth_domain_set_filter; + void function(SoupAuthDomain* domain, SoupAuthDomainGenericAuthCallback authCallback, void* authData, GDestroyNotify dnotify) c_soup_auth_domain_set_generic_auth_callback; + int function(SoupAuthDomain* domain, SoupMessage* msg, const(char)* username) c_soup_auth_domain_try_generic_auth_callback; + + // soup.AuthDomainBasic + + GType function() c_soup_auth_domain_basic_get_type; + SoupAuthDomain* function(const(char)* optname1, ... ) c_soup_auth_domain_basic_new; + void function(SoupAuthDomain* domain, SoupAuthDomainBasicAuthCallback callback, void* userData, GDestroyNotify dnotify) c_soup_auth_domain_basic_set_auth_callback; + + // soup.AuthDomainDigest + + GType function() c_soup_auth_domain_digest_get_type; + SoupAuthDomain* function(const(char)* optname1, ... ) c_soup_auth_domain_digest_new; + char* function(const(char)* username, const(char)* realm, const(char)* password) c_soup_auth_domain_digest_encode_password; + void function(SoupAuthDomain* domain, SoupAuthDomainDigestAuthCallback callback, void* userData, GDestroyNotify dnotify) c_soup_auth_domain_digest_set_auth_callback; + + // soup.AuthManager + + GType function() c_soup_auth_manager_get_type; + void function(SoupAuthManager* manager) c_soup_auth_manager_clear_cached_credentials; + void function(SoupAuthManager* manager, SoupURI* uri, SoupAuth* auth) c_soup_auth_manager_use_auth; + + // soup.AuthNTLM + + GType function() c_soup_auth_ntlm_get_type; + + // soup.AuthNegotiate + + GType function() c_soup_auth_negotiate_get_type; + int function() c_soup_auth_negotiate_supported; + + // soup.Buffer + + GType function() c_soup_buffer_get_type; + SoupBuffer* function(SoupMemoryUse use, void* data, size_t length) c_soup_buffer_new; + SoupBuffer* function(char* data, size_t length) c_soup_buffer_new_take; + SoupBuffer* function(void* data, size_t length, void* owner, GDestroyNotify ownerDnotify) c_soup_buffer_new_with_owner; + SoupBuffer* function(SoupBuffer* buffer) c_soup_buffer_copy; + void function(SoupBuffer* buffer) c_soup_buffer_free; + GBytes* function(SoupBuffer* buffer) c_soup_buffer_get_as_bytes; + void function(SoupBuffer* buffer, ubyte** data, size_t* length) c_soup_buffer_get_data; + void* function(SoupBuffer* buffer) c_soup_buffer_get_owner; + SoupBuffer* function(SoupBuffer* parent, size_t offset, size_t length) c_soup_buffer_new_subbuffer; + + // soup.Cache + + GType function() c_soup_cache_get_type; + SoupCache* function(const(char)* cacheDir, SoupCacheType cacheType) c_soup_cache_new; + void function(SoupCache* cache) c_soup_cache_clear; + void function(SoupCache* cache) c_soup_cache_dump; + void function(SoupCache* cache) c_soup_cache_flush; + uint function(SoupCache* cache) c_soup_cache_get_max_size; + void function(SoupCache* cache) c_soup_cache_load; + void function(SoupCache* cache, uint maxSize) c_soup_cache_set_max_size; + + // soup.ClientContext + + GType function() c_soup_client_context_get_type; + SoupAddress* function(SoupClientContext* client) c_soup_client_context_get_address; + SoupAuthDomain* function(SoupClientContext* client) c_soup_client_context_get_auth_domain; + const(char)* function(SoupClientContext* client) c_soup_client_context_get_auth_user; + GSocket* function(SoupClientContext* client) c_soup_client_context_get_gsocket; + const(char)* function(SoupClientContext* client) c_soup_client_context_get_host; + GSocketAddress* function(SoupClientContext* client) c_soup_client_context_get_local_address; + GSocketAddress* function(SoupClientContext* client) c_soup_client_context_get_remote_address; + SoupSocket* function(SoupClientContext* client) c_soup_client_context_get_socket; + GIOStream* function(SoupClientContext* client) c_soup_client_context_steal_connection; + + // soup.ContentDecoder + + GType function() c_soup_content_decoder_get_type; + + // soup.ContentSniffer + + GType function() c_soup_content_sniffer_get_type; + SoupContentSniffer* function() c_soup_content_sniffer_new; + size_t function(SoupContentSniffer* sniffer) c_soup_content_sniffer_get_buffer_size; + char* function(SoupContentSniffer* sniffer, SoupMessage* msg, SoupBuffer* buffer, GHashTable** params) c_soup_content_sniffer_sniff; + + // soup.Cookie + + GType function() c_soup_cookie_get_type; + SoupCookie* function(const(char)* name, const(char)* value, const(char)* domain, const(char)* path, int maxAge) c_soup_cookie_new; + int function(SoupCookie* cookie, SoupURI* uri) c_soup_cookie_applies_to_uri; + SoupCookie* function(SoupCookie* cookie) c_soup_cookie_copy; + int function(SoupCookie* cookie, const(char)* host) c_soup_cookie_domain_matches; + int function(SoupCookie* cookie1, SoupCookie* cookie2) c_soup_cookie_equal; + void function(SoupCookie* cookie) c_soup_cookie_free; + const(char)* function(SoupCookie* cookie) c_soup_cookie_get_domain; + SoupDate* function(SoupCookie* cookie) c_soup_cookie_get_expires; + int function(SoupCookie* cookie) c_soup_cookie_get_http_only; + const(char)* function(SoupCookie* cookie) c_soup_cookie_get_name; + const(char)* function(SoupCookie* cookie) c_soup_cookie_get_path; + SoupSameSitePolicy function(SoupCookie* cookie) c_soup_cookie_get_same_site_policy; + int function(SoupCookie* cookie) c_soup_cookie_get_secure; + const(char)* function(SoupCookie* cookie) c_soup_cookie_get_value; + void function(SoupCookie* cookie, const(char)* domain) c_soup_cookie_set_domain; + void function(SoupCookie* cookie, SoupDate* expires) c_soup_cookie_set_expires; + void function(SoupCookie* cookie, int httpOnly) c_soup_cookie_set_http_only; + void function(SoupCookie* cookie, int maxAge) c_soup_cookie_set_max_age; + void function(SoupCookie* cookie, const(char)* name) c_soup_cookie_set_name; + void function(SoupCookie* cookie, const(char)* path) c_soup_cookie_set_path; + void function(SoupCookie* cookie, SoupSameSitePolicy policy) c_soup_cookie_set_same_site_policy; + void function(SoupCookie* cookie, int secure) c_soup_cookie_set_secure; + void function(SoupCookie* cookie, const(char)* value) c_soup_cookie_set_value; + char* function(SoupCookie* cookie) c_soup_cookie_to_cookie_header; + char* function(SoupCookie* cookie) c_soup_cookie_to_set_cookie_header; + SoupCookie* function(const(char)* header, SoupURI* origin) c_soup_cookie_parse; + + // soup.CookieJar + + GType function() c_soup_cookie_jar_get_type; + SoupCookieJar* function() c_soup_cookie_jar_new; + void function(SoupCookieJar* jar, SoupCookie* cookie) c_soup_cookie_jar_add_cookie; + void function(SoupCookieJar* jar, SoupCookie* cookie, SoupURI* uri, SoupURI* firstParty) c_soup_cookie_jar_add_cookie_full; + void function(SoupCookieJar* jar, SoupURI* firstParty, SoupCookie* cookie) c_soup_cookie_jar_add_cookie_with_first_party; + GSList* function(SoupCookieJar* jar) c_soup_cookie_jar_all_cookies; + void function(SoupCookieJar* jar, SoupCookie* cookie) c_soup_cookie_jar_delete_cookie; + SoupCookieJarAcceptPolicy function(SoupCookieJar* jar) c_soup_cookie_jar_get_accept_policy; + GSList* function(SoupCookieJar* jar, SoupURI* uri, int forHttp) c_soup_cookie_jar_get_cookie_list; + GSList* function(SoupCookieJar* jar, SoupURI* uri, SoupURI* topLevel, SoupURI* siteForCookies, int forHttp, int isSafeMethod, int isTopLevelNavigation) c_soup_cookie_jar_get_cookie_list_with_same_site_info; + char* function(SoupCookieJar* jar, SoupURI* uri, int forHttp) c_soup_cookie_jar_get_cookies; + int function(SoupCookieJar* jar) c_soup_cookie_jar_is_persistent; + void function(SoupCookieJar* jar) c_soup_cookie_jar_save; + void function(SoupCookieJar* jar, SoupCookieJarAcceptPolicy policy) c_soup_cookie_jar_set_accept_policy; + void function(SoupCookieJar* jar, SoupURI* uri, const(char)* cookie) c_soup_cookie_jar_set_cookie; + void function(SoupCookieJar* jar, SoupURI* uri, SoupURI* firstParty, const(char)* cookie) c_soup_cookie_jar_set_cookie_with_first_party; + + // soup.CookieJarDB + + GType function() c_soup_cookie_jar_db_get_type; + SoupCookieJar* function(const(char)* filename, int readOnly) c_soup_cookie_jar_db_new; + + // soup.CookieJarText + + GType function() c_soup_cookie_jar_text_get_type; + SoupCookieJar* function(const(char)* filename, int readOnly) c_soup_cookie_jar_text_new; + + // soup.Date + + GType function() c_soup_date_get_type; + SoupDate* function(int year, int month, int day, int hour, int minute, int second) c_soup_date_new; + SoupDate* function(int offsetSeconds) c_soup_date_new_from_now; + SoupDate* function(const(char)* dateString) c_soup_date_new_from_string; + SoupDate* function(uint when) c_soup_date_new_from_time_t; + SoupDate* function(SoupDate* date) c_soup_date_copy; + void function(SoupDate* date) c_soup_date_free; + int function(SoupDate* date) c_soup_date_get_day; + int function(SoupDate* date) c_soup_date_get_hour; + int function(SoupDate* date) c_soup_date_get_minute; + int function(SoupDate* date) c_soup_date_get_month; + int function(SoupDate* date) c_soup_date_get_offset; + int function(SoupDate* date) c_soup_date_get_second; + int function(SoupDate* date) c_soup_date_get_utc; + int function(SoupDate* date) c_soup_date_get_year; + int function(SoupDate* date) c_soup_date_is_past; + char* function(SoupDate* date, SoupDateFormat format) c_soup_date_to_string; + uint function(SoupDate* date) c_soup_date_to_time_t; + void function(SoupDate* date, GTimeVal* time) c_soup_date_to_timeval; + + // soup.HSTSEnforcer + + GType function() c_soup_hsts_enforcer_get_type; + SoupHSTSEnforcer* function() c_soup_hsts_enforcer_new; + GList* function(SoupHSTSEnforcer* hstsEnforcer, int sessionPolicies) c_soup_hsts_enforcer_get_domains; + GList* function(SoupHSTSEnforcer* hstsEnforcer, int sessionPolicies) c_soup_hsts_enforcer_get_policies; + int function(SoupHSTSEnforcer* hstsEnforcer, const(char)* domain) c_soup_hsts_enforcer_has_valid_policy; + int function(SoupHSTSEnforcer* hstsEnforcer) c_soup_hsts_enforcer_is_persistent; + void function(SoupHSTSEnforcer* hstsEnforcer, SoupHSTSPolicy* policy) c_soup_hsts_enforcer_set_policy; + void function(SoupHSTSEnforcer* hstsEnforcer, const(char)* domain, int includeSubdomains) c_soup_hsts_enforcer_set_session_policy; + + // soup.HSTSEnforcerDB + + GType function() c_soup_hsts_enforcer_db_get_type; + SoupHSTSEnforcer* function(const(char)* filename) c_soup_hsts_enforcer_db_new; + + // soup.HSTSPolicy + + GType function() c_soup_hsts_policy_get_type; + SoupHSTSPolicy* function(const(char)* domain, ulong maxAge, int includeSubdomains) c_soup_hsts_policy_new; + SoupHSTSPolicy* function(SoupMessage* msg) c_soup_hsts_policy_new_from_response; + SoupHSTSPolicy* function(const(char)* domain, ulong maxAge, SoupDate* expires, int includeSubdomains) c_soup_hsts_policy_new_full; + SoupHSTSPolicy* function(const(char)* domain, int includeSubdomains) c_soup_hsts_policy_new_session_policy; + SoupHSTSPolicy* function(SoupHSTSPolicy* policy) c_soup_hsts_policy_copy; + int function(SoupHSTSPolicy* policy1, SoupHSTSPolicy* policy2) c_soup_hsts_policy_equal; + void function(SoupHSTSPolicy* policy) c_soup_hsts_policy_free; + const(char)* function(SoupHSTSPolicy* policy) c_soup_hsts_policy_get_domain; + int function(SoupHSTSPolicy* policy) c_soup_hsts_policy_includes_subdomains; + int function(SoupHSTSPolicy* policy) c_soup_hsts_policy_is_expired; + int function(SoupHSTSPolicy* policy) c_soup_hsts_policy_is_session_policy; + + // soup.Logger + + GType function() c_soup_logger_get_type; + SoupLogger* function(SoupLoggerLogLevel level, int maxBodySize) c_soup_logger_new; + void function(SoupLogger* logger, SoupSession* session) c_soup_logger_attach; + void function(SoupLogger* logger, SoupSession* session) c_soup_logger_detach; + void function(SoupLogger* logger, SoupLoggerPrinter printer, void* printerData, GDestroyNotify destroy) c_soup_logger_set_printer; + void function(SoupLogger* logger, SoupLoggerFilter requestFilter, void* filterData, GDestroyNotify destroy) c_soup_logger_set_request_filter; + void function(SoupLogger* logger, SoupLoggerFilter responseFilter, void* filterData, GDestroyNotify destroy) c_soup_logger_set_response_filter; + + // soup.Message + + GType function() c_soup_message_get_type; + SoupMessage* function(const(char)* method, const(char)* uriString) c_soup_message_new; + SoupMessage* function(const(char)* method, SoupURI* uri) c_soup_message_new_from_uri; + uint function(SoupMessage* msg, const(char)* signal, const(char)* header, GCallback callback, void* userData) c_soup_message_add_header_handler; + uint function(SoupMessage* msg, const(char)* signal, uint statusCode, GCallback callback, void* userData) c_soup_message_add_status_code_handler; + void function(SoupMessage* msg, const(char)* contentType, GHashTable* params) c_soup_message_content_sniffed; + void function(SoupMessage* msg, GType featureType) c_soup_message_disable_feature; + void function(SoupMessage* msg) c_soup_message_finished; + SoupAddress* function(SoupMessage* msg) c_soup_message_get_address; + SoupURI* function(SoupMessage* msg) c_soup_message_get_first_party; + SoupMessageFlags function(SoupMessage* msg) c_soup_message_get_flags; + SoupHTTPVersion function(SoupMessage* msg) c_soup_message_get_http_version; + int function(SoupMessage* msg, GTlsCertificate** certificate, GTlsCertificateFlags* errors) c_soup_message_get_https_status; + int function(SoupMessage* msg) c_soup_message_get_is_top_level_navigation; + SoupMessagePriority function(SoupMessage* msg) c_soup_message_get_priority; + SoupURI* function(SoupMessage* msg) c_soup_message_get_site_for_cookies; + SoupRequest* function(SoupMessage* msg) c_soup_message_get_soup_request; + SoupURI* function(SoupMessage* msg) c_soup_message_get_uri; + void function(SoupMessage* msg) c_soup_message_got_body; + void function(SoupMessage* msg, SoupBuffer* chunk) c_soup_message_got_chunk; + void function(SoupMessage* msg) c_soup_message_got_headers; + void function(SoupMessage* msg) c_soup_message_got_informational; + int function(SoupMessage* msg, GType featureType) c_soup_message_is_feature_disabled; + int function(SoupMessage* msg) c_soup_message_is_keepalive; + void function(SoupMessage* msg) c_soup_message_restarted; + void function(SoupMessage* msg, SoupChunkAllocator allocator, void* userData, GDestroyNotify destroyNotify) c_soup_message_set_chunk_allocator; + void function(SoupMessage* msg, SoupURI* firstParty) c_soup_message_set_first_party; + void function(SoupMessage* msg, SoupMessageFlags flags) c_soup_message_set_flags; + void function(SoupMessage* msg, SoupHTTPVersion version_) c_soup_message_set_http_version; + void function(SoupMessage* msg, int isTopLevelNavigation) c_soup_message_set_is_top_level_navigation; + void function(SoupMessage* msg, SoupMessagePriority priority) c_soup_message_set_priority; + void function(SoupMessage* msg, uint statusCode, const(char)* redirectUri) c_soup_message_set_redirect; + void function(SoupMessage* msg, const(char)* contentType, SoupMemoryUse reqUse, char* reqBody, size_t reqLength) c_soup_message_set_request; + void function(SoupMessage* msg, const(char)* contentType, SoupMemoryUse respUse, char* respBody, size_t respLength) c_soup_message_set_response; + void function(SoupMessage* msg, SoupURI* siteForCookies) c_soup_message_set_site_for_cookies; + void function(SoupMessage* msg, uint statusCode) c_soup_message_set_status; + void function(SoupMessage* msg, uint statusCode, const(char)* reasonPhrase) c_soup_message_set_status_full; + void function(SoupMessage* msg, SoupURI* uri) c_soup_message_set_uri; + void function(SoupMessage* msg) c_soup_message_starting; + void function(SoupMessage* msg) c_soup_message_wrote_body; + void function(SoupMessage* msg, SoupBuffer* chunk) c_soup_message_wrote_body_data; + void function(SoupMessage* msg) c_soup_message_wrote_chunk; + void function(SoupMessage* msg) c_soup_message_wrote_headers; + void function(SoupMessage* msg) c_soup_message_wrote_informational; + + // soup.MessageBody + + GType function() c_soup_message_body_get_type; + SoupMessageBody* function() c_soup_message_body_new; + void function(SoupMessageBody* body_, SoupMemoryUse use, void* data, size_t length) c_soup_message_body_append; + void function(SoupMessageBody* body_, SoupBuffer* buffer) c_soup_message_body_append_buffer; + void function(SoupMessageBody* body_, char* data, size_t length) c_soup_message_body_append_take; + void function(SoupMessageBody* body_) c_soup_message_body_complete; + SoupBuffer* function(SoupMessageBody* body_) c_soup_message_body_flatten; + void function(SoupMessageBody* body_) c_soup_message_body_free; + int function(SoupMessageBody* body_) c_soup_message_body_get_accumulate; + SoupBuffer* function(SoupMessageBody* body_, long offset) c_soup_message_body_get_chunk; + void function(SoupMessageBody* body_, SoupBuffer* chunk) c_soup_message_body_got_chunk; + void function(SoupMessageBody* body_, int accumulate) c_soup_message_body_set_accumulate; + void function(SoupMessageBody* body_) c_soup_message_body_truncate; + void function(SoupMessageBody* body_, SoupBuffer* chunk) c_soup_message_body_wrote_chunk; + + // soup.MessageHeaders + + GType function() c_soup_message_headers_get_type; + SoupMessageHeaders* function(SoupMessageHeadersType type) c_soup_message_headers_new; + void function(SoupMessageHeaders* hdrs, const(char)* name, const(char)* value) c_soup_message_headers_append; + void function(SoupMessageHeaders* hdrs) c_soup_message_headers_clean_connection_headers; + void function(SoupMessageHeaders* hdrs) c_soup_message_headers_clear; + void function(SoupMessageHeaders* hdrs, SoupMessageHeadersForeachFunc func, void* userData) c_soup_message_headers_foreach; + void function(SoupMessageHeaders* hdrs) c_soup_message_headers_free; + void function(SoupMessageHeaders* hdrs, SoupRange* ranges) c_soup_message_headers_free_ranges; + const(char)* function(SoupMessageHeaders* hdrs, const(char)* name) c_soup_message_headers_get; + int function(SoupMessageHeaders* hdrs, char** disposition, GHashTable** params) c_soup_message_headers_get_content_disposition; + long function(SoupMessageHeaders* hdrs) c_soup_message_headers_get_content_length; + int function(SoupMessageHeaders* hdrs, long* start, long* end, long* totalLength) c_soup_message_headers_get_content_range; + const(char)* function(SoupMessageHeaders* hdrs, GHashTable** params) c_soup_message_headers_get_content_type; + SoupEncoding function(SoupMessageHeaders* hdrs) c_soup_message_headers_get_encoding; + SoupExpectation function(SoupMessageHeaders* hdrs) c_soup_message_headers_get_expectations; + SoupMessageHeadersType function(SoupMessageHeaders* hdrs) c_soup_message_headers_get_headers_type; + const(char)* function(SoupMessageHeaders* hdrs, const(char)* name) c_soup_message_headers_get_list; + const(char)* function(SoupMessageHeaders* hdrs, const(char)* name) c_soup_message_headers_get_one; + int function(SoupMessageHeaders* hdrs, long totalLength, SoupRange** ranges, int* length) c_soup_message_headers_get_ranges; + int function(SoupMessageHeaders* hdrs, const(char)* name, const(char)* token) c_soup_message_headers_header_contains; + int function(SoupMessageHeaders* hdrs, const(char)* name, const(char)* value) c_soup_message_headers_header_equals; + void function(SoupMessageHeaders* hdrs, const(char)* name) c_soup_message_headers_remove; + void function(SoupMessageHeaders* hdrs, const(char)* name, const(char)* value) c_soup_message_headers_replace; + void function(SoupMessageHeaders* hdrs, const(char)* disposition, GHashTable* params) c_soup_message_headers_set_content_disposition; + void function(SoupMessageHeaders* hdrs, long contentLength) c_soup_message_headers_set_content_length; + void function(SoupMessageHeaders* hdrs, long start, long end, long totalLength) c_soup_message_headers_set_content_range; + void function(SoupMessageHeaders* hdrs, const(char)* contentType, GHashTable* params) c_soup_message_headers_set_content_type; + void function(SoupMessageHeaders* hdrs, SoupEncoding encoding) c_soup_message_headers_set_encoding; + void function(SoupMessageHeaders* hdrs, SoupExpectation expectations) c_soup_message_headers_set_expectations; + void function(SoupMessageHeaders* hdrs, long start, long end) c_soup_message_headers_set_range; + void function(SoupMessageHeaders* hdrs, SoupRange* ranges, int length) c_soup_message_headers_set_ranges; + + // soup.MessageHeadersIter + + int function(SoupMessageHeadersIter* iter, char** name, char** value) c_soup_message_headers_iter_next; + void function(SoupMessageHeadersIter* iter, SoupMessageHeaders* hdrs) c_soup_message_headers_iter_init; + + // soup.Multipart + + GType function() c_soup_multipart_get_type; + SoupMultipart* function(const(char)* mimeType) c_soup_multipart_new; + SoupMultipart* function(SoupMessageHeaders* headers, SoupMessageBody* body_) c_soup_multipart_new_from_message; + void function(SoupMultipart* multipart, const(char)* controlName, const(char)* filename, const(char)* contentType, SoupBuffer* body_) c_soup_multipart_append_form_file; + void function(SoupMultipart* multipart, const(char)* controlName, const(char)* data) c_soup_multipart_append_form_string; + void function(SoupMultipart* multipart, SoupMessageHeaders* headers, SoupBuffer* body_) c_soup_multipart_append_part; + void function(SoupMultipart* multipart) c_soup_multipart_free; + int function(SoupMultipart* multipart) c_soup_multipart_get_length; + int function(SoupMultipart* multipart, int part, SoupMessageHeaders** headers, SoupBuffer** body_) c_soup_multipart_get_part; + void function(SoupMultipart* multipart, SoupMessageHeaders* destHeaders, SoupMessageBody* destBody) c_soup_multipart_to_message; + + // soup.MultipartInputStream + + GType function() c_soup_multipart_input_stream_get_type; + SoupMultipartInputStream* function(SoupMessage* msg, GInputStream* baseStream) c_soup_multipart_input_stream_new; + SoupMessageHeaders* function(SoupMultipartInputStream* multipart) c_soup_multipart_input_stream_get_headers; + GInputStream* function(SoupMultipartInputStream* multipart, GCancellable* cancellable, GError** err) c_soup_multipart_input_stream_next_part; + void function(SoupMultipartInputStream* multipart, int ioPriority, GCancellable* cancellable, GAsyncReadyCallback callback, void* data) c_soup_multipart_input_stream_next_part_async; + GInputStream* function(SoupMultipartInputStream* multipart, GAsyncResult* result, GError** err) c_soup_multipart_input_stream_next_part_finish; + + // soup.PasswordManager + + GType function() c_soup_password_manager_get_type; + void function(SoupPasswordManager* passwordManager, SoupMessage* msg, SoupAuth* auth, int retrying, GMainContext* asyncContext, GCancellable* cancellable, SoupPasswordManagerCallback callback, void* userData) c_soup_password_manager_get_passwords_async; + void function(SoupPasswordManager* passwordManager, SoupMessage* msg, SoupAuth* auth, GCancellable* cancellable) c_soup_password_manager_get_passwords_sync; + + // soup.ProxyResolver + + GType function() c_soup_proxy_resolver_get_type; + void function(SoupProxyResolver* proxyResolver, SoupMessage* msg, GMainContext* asyncContext, GCancellable* cancellable, SoupProxyResolverCallback callback, void* userData) c_soup_proxy_resolver_get_proxy_async; + uint function(SoupProxyResolver* proxyResolver, SoupMessage* msg, GCancellable* cancellable, SoupAddress** addr) c_soup_proxy_resolver_get_proxy_sync; + + // soup.ProxyResolverDefault + + GType function() c_soup_proxy_resolver_default_get_type; + + // soup.ProxyURIResolver + + GType function() c_soup_proxy_uri_resolver_get_type; + void function(SoupProxyURIResolver* proxyUriResolver, SoupURI* uri, GMainContext* asyncContext, GCancellable* cancellable, SoupProxyURIResolverCallback callback, void* userData) c_soup_proxy_uri_resolver_get_proxy_uri_async; + uint function(SoupProxyURIResolver* proxyUriResolver, SoupURI* uri, GCancellable* cancellable, SoupURI** proxyUri) c_soup_proxy_uri_resolver_get_proxy_uri_sync; + + // soup.Request + + GType function() c_soup_request_get_type; + long function(SoupRequest* request) c_soup_request_get_content_length; + const(char)* function(SoupRequest* request) c_soup_request_get_content_type; + SoupSession* function(SoupRequest* request) c_soup_request_get_session; + SoupURI* function(SoupRequest* request) c_soup_request_get_uri; + GInputStream* function(SoupRequest* request, GCancellable* cancellable, GError** err) c_soup_request_send; + void function(SoupRequest* request, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) c_soup_request_send_async; + GInputStream* function(SoupRequest* request, GAsyncResult* result, GError** err) c_soup_request_send_finish; + + // soup.RequestData + + GType function() c_soup_request_data_get_type; + + // soup.RequestFile + + GType function() c_soup_request_file_get_type; + GFile* function(SoupRequestFile* file) c_soup_request_file_get_file; + + // soup.RequestHTTP + + GType function() c_soup_request_http_get_type; + SoupMessage* function(SoupRequestHTTP* http) c_soup_request_http_get_message; + + // soup.Requester + + GType function() c_soup_requester_get_type; + SoupRequester* function() c_soup_requester_new; + SoupRequest* function(SoupRequester* requester, const(char)* uriString, GError** err) c_soup_requester_request; + SoupRequest* function(SoupRequester* requester, SoupURI* uri, GError** err) c_soup_requester_request_uri; + + // soup.Server + + GType function() c_soup_server_get_type; + SoupServer* function(const(char)* optname1, ... ) c_soup_server_new; + int function(SoupServer* server, GIOStream* stream, GSocketAddress* localAddr, GSocketAddress* remoteAddr, GError** err) c_soup_server_accept_iostream; + void function(SoupServer* server, SoupAuthDomain* authDomain) c_soup_server_add_auth_domain; + void function(SoupServer* server, const(char)* path, SoupServerCallback callback, void* userData, GDestroyNotify destroy) c_soup_server_add_early_handler; + void function(SoupServer* server, const(char)* path, SoupServerCallback callback, void* userData, GDestroyNotify destroy) c_soup_server_add_handler; + void function(SoupServer* server, GType extensionType) c_soup_server_add_websocket_extension; + void function(SoupServer* server, const(char)* path, const(char)* origin, char** protocols, SoupServerWebsocketCallback callback, void* userData, GDestroyNotify destroy) c_soup_server_add_websocket_handler; + void function(SoupServer* server) c_soup_server_disconnect; + GMainContext* function(SoupServer* server) c_soup_server_get_async_context; + SoupSocket* function(SoupServer* server) c_soup_server_get_listener; + GSList* function(SoupServer* server) c_soup_server_get_listeners; + uint function(SoupServer* server) c_soup_server_get_port; + GSList* function(SoupServer* server) c_soup_server_get_uris; + int function(SoupServer* server) c_soup_server_is_https; + int function(SoupServer* server, GSocketAddress* address, SoupServerListenOptions options, GError** err) c_soup_server_listen; + int function(SoupServer* server, uint port, SoupServerListenOptions options, GError** err) c_soup_server_listen_all; + int function(SoupServer* server, int fd, SoupServerListenOptions options, GError** err) c_soup_server_listen_fd; + int function(SoupServer* server, uint port, SoupServerListenOptions options, GError** err) c_soup_server_listen_local; + int function(SoupServer* server, GSocket* socket, SoupServerListenOptions options, GError** err) c_soup_server_listen_socket; + void function(SoupServer* server, SoupMessage* msg) c_soup_server_pause_message; + void function(SoupServer* server) c_soup_server_quit; + void function(SoupServer* server, SoupAuthDomain* authDomain) c_soup_server_remove_auth_domain; + void function(SoupServer* server, const(char)* path) c_soup_server_remove_handler; + void function(SoupServer* server, GType extensionType) c_soup_server_remove_websocket_extension; + void function(SoupServer* server) c_soup_server_run; + void function(SoupServer* server) c_soup_server_run_async; + int function(SoupServer* server, const(char)* sslCertFile, const(char)* sslKeyFile, GError** err) c_soup_server_set_ssl_cert_file; + void function(SoupServer* server, SoupMessage* msg) c_soup_server_unpause_message; + + // soup.Session + + GType function() c_soup_session_get_type; + SoupSession* function() c_soup_session_new; + SoupSession* function(const(char)* optname1, ... ) c_soup_session_new_with_options; + void function(SoupSession* session) c_soup_session_abort; + void function(SoupSession* session, SoupSessionFeature* feature) c_soup_session_add_feature; + void function(SoupSession* session, GType featureType) c_soup_session_add_feature_by_type; + void function(SoupSession* session, SoupMessage* msg, uint statusCode) c_soup_session_cancel_message; + void function(SoupSession* session, SoupURI* uri, GCancellable* cancellable, SoupSessionConnectProgressCallback progressCallback, GAsyncReadyCallback callback, void* userData) c_soup_session_connect_async; + GIOStream* function(SoupSession* session, GAsyncResult* result, GError** err) c_soup_session_connect_finish; + GMainContext* function(SoupSession* session) c_soup_session_get_async_context; + SoupSessionFeature* function(SoupSession* session, GType featureType) c_soup_session_get_feature; + SoupSessionFeature* function(SoupSession* session, GType featureType, SoupMessage* msg) c_soup_session_get_feature_for_message; + GSList* function(SoupSession* session, GType featureType) c_soup_session_get_features; + int function(SoupSession* session, GType featureType) c_soup_session_has_feature; + void function(SoupSession* session, SoupMessage* msg) c_soup_session_pause_message; + void function(SoupSession* session, const(char)* hostname, GCancellable* cancellable, SoupAddressCallback callback, void* userData) c_soup_session_prefetch_dns; + void function(SoupSession* session, SoupURI* uri) c_soup_session_prepare_for_uri; + void function(SoupSession* session, SoupMessage* msg, SoupSessionCallback callback, void* userData) c_soup_session_queue_message; + int function(SoupSession* session, SoupMessage* msg) c_soup_session_redirect_message; + void function(SoupSession* session, SoupSessionFeature* feature) c_soup_session_remove_feature; + void function(SoupSession* session, GType featureType) c_soup_session_remove_feature_by_type; + SoupRequest* function(SoupSession* session, const(char)* uriString, GError** err) c_soup_session_request; + SoupRequestHTTP* function(SoupSession* session, const(char)* method, const(char)* uriString, GError** err) c_soup_session_request_http; + SoupRequestHTTP* function(SoupSession* session, const(char)* method, SoupURI* uri, GError** err) c_soup_session_request_http_uri; + SoupRequest* function(SoupSession* session, SoupURI* uri, GError** err) c_soup_session_request_uri; + void function(SoupSession* session, SoupMessage* msg) c_soup_session_requeue_message; + GInputStream* function(SoupSession* session, SoupMessage* msg, GCancellable* cancellable, GError** err) c_soup_session_send; + void function(SoupSession* session, SoupMessage* msg, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) c_soup_session_send_async; + GInputStream* function(SoupSession* session, GAsyncResult* result, GError** err) c_soup_session_send_finish; + uint function(SoupSession* session, SoupMessage* msg) c_soup_session_send_message; + GIOStream* function(SoupSession* session, SoupMessage* msg) c_soup_session_steal_connection; + void function(SoupSession* session, SoupMessage* msg) c_soup_session_unpause_message; + void function(SoupSession* session, SoupMessage* msg, const(char)* origin, char** protocols, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) c_soup_session_websocket_connect_async; + SoupWebsocketConnection* function(SoupSession* session, GAsyncResult* result, GError** err) c_soup_session_websocket_connect_finish; + int function(SoupSession* session, SoupMessage* msg) c_soup_session_would_redirect; + + // soup.SessionAsync + + GType function() c_soup_session_async_get_type; + SoupSession* function() c_soup_session_async_new; + SoupSession* function(const(char)* optname1, ... ) c_soup_session_async_new_with_options; + + // soup.SessionFeature + + GType function() c_soup_session_feature_get_type; + int function(SoupSessionFeature* feature, GType type) c_soup_session_feature_add_feature; + void function(SoupSessionFeature* feature, SoupSession* session) c_soup_session_feature_attach; + void function(SoupSessionFeature* feature, SoupSession* session) c_soup_session_feature_detach; + int function(SoupSessionFeature* feature, GType type) c_soup_session_feature_has_feature; + int function(SoupSessionFeature* feature, GType type) c_soup_session_feature_remove_feature; + + // soup.SessionSync + + GType function() c_soup_session_sync_get_type; + SoupSession* function() c_soup_session_sync_new; + SoupSession* function(const(char)* optname1, ... ) c_soup_session_sync_new_with_options; + + // soup.SSocket + + GType function() c_soup_socket_get_type; + SoupSocket* function(const(char)* optname1, ... ) c_soup_socket_new; + void function(SoupSocket* sock, GCancellable* cancellable, SoupSocketCallback callback, void* userData) c_soup_socket_connect_async; + uint function(SoupSocket* sock, GCancellable* cancellable) c_soup_socket_connect_sync; + void function(SoupSocket* sock) c_soup_socket_disconnect; + int function(SoupSocket* sock) c_soup_socket_get_fd; + SoupAddress* function(SoupSocket* sock) c_soup_socket_get_local_address; + SoupAddress* function(SoupSocket* sock) c_soup_socket_get_remote_address; + int function(SoupSocket* sock) c_soup_socket_is_connected; + int function(SoupSocket* sock) c_soup_socket_is_ssl; + int function(SoupSocket* sock) c_soup_socket_listen; + SoupSocketIOStatus function(SoupSocket* sock, void* buffer, size_t len, size_t* nread, GCancellable* cancellable, GError** err) c_soup_socket_read; + SoupSocketIOStatus function(SoupSocket* sock, void* buffer, size_t len, void* boundary, size_t boundaryLen, size_t* nread, int* gotBoundary, GCancellable* cancellable, GError** err) c_soup_socket_read_until; + int function(SoupSocket* sock, const(char)* sslHost, GCancellable* cancellable) c_soup_socket_start_proxy_ssl; + int function(SoupSocket* sock, GCancellable* cancellable) c_soup_socket_start_ssl; + SoupSocketIOStatus function(SoupSocket* sock, void* buffer, size_t len, size_t* nwrote, GCancellable* cancellable, GError** err) c_soup_socket_write; + + // soup.URI + + GType function() c_soup_uri_get_type; + SoupURI* function(const(char)* uriString) c_soup_uri_new; + SoupURI* function(SoupURI* base, const(char)* uriString) c_soup_uri_new_with_base; + SoupURI* function(SoupURI* uri) c_soup_uri_copy; + SoupURI* function(SoupURI* uri) c_soup_uri_copy_host; + int function(SoupURI* uri1, SoupURI* uri2) c_soup_uri_equal; + void function(SoupURI* uri) c_soup_uri_free; + const(char)* function(SoupURI* uri) c_soup_uri_get_fragment; + const(char)* function(SoupURI* uri) c_soup_uri_get_host; + const(char)* function(SoupURI* uri) c_soup_uri_get_password; + const(char)* function(SoupURI* uri) c_soup_uri_get_path; + uint function(SoupURI* uri) c_soup_uri_get_port; + const(char)* function(SoupURI* uri) c_soup_uri_get_query; + const(char)* function(SoupURI* uri) c_soup_uri_get_scheme; + const(char)* function(SoupURI* uri) c_soup_uri_get_user; + int function(void* v1, void* v2) c_soup_uri_host_equal; + uint function(void* key) c_soup_uri_host_hash; + void function(SoupURI* uri, const(char)* fragment) c_soup_uri_set_fragment; + void function(SoupURI* uri, const(char)* host) c_soup_uri_set_host; + void function(SoupURI* uri, const(char)* password) c_soup_uri_set_password; + void function(SoupURI* uri, const(char)* path) c_soup_uri_set_path; + void function(SoupURI* uri, uint port) c_soup_uri_set_port; + void function(SoupURI* uri, const(char)* query) c_soup_uri_set_query; + void function(SoupURI* uri, const(char)* firstField, ... ) c_soup_uri_set_query_from_fields; + void function(SoupURI* uri, GHashTable* form) c_soup_uri_set_query_from_form; + void function(SoupURI* uri, const(char)* scheme) c_soup_uri_set_scheme; + void function(SoupURI* uri, const(char)* user) c_soup_uri_set_user; + char* function(SoupURI* uri, int justPathAndQuery) c_soup_uri_to_string; + int function(SoupURI* uri) c_soup_uri_uses_default_port; + char* function(const(char)* part) c_soup_uri_decode; + char* function(const(char)* part, const(char)* escapeExtra) c_soup_uri_encode; + char* function(const(char)* part, const(char)* unescapeExtra) c_soup_uri_normalize; + + // soup.WebsocketConnection + + GType function() c_soup_websocket_connection_get_type; + SoupWebsocketConnection* function(GIOStream* stream, SoupURI* uri, SoupWebsocketConnectionType type, const(char)* origin, const(char)* protocol) c_soup_websocket_connection_new; + SoupWebsocketConnection* function(GIOStream* stream, SoupURI* uri, SoupWebsocketConnectionType type, const(char)* origin, const(char)* protocol, GList* extensions) c_soup_websocket_connection_new_with_extensions; + void function(SoupWebsocketConnection* self, ushort code, const(char)* data) c_soup_websocket_connection_close; + ushort function(SoupWebsocketConnection* self) c_soup_websocket_connection_get_close_code; + const(char)* function(SoupWebsocketConnection* self) c_soup_websocket_connection_get_close_data; + SoupWebsocketConnectionType function(SoupWebsocketConnection* self) c_soup_websocket_connection_get_connection_type; + GList* function(SoupWebsocketConnection* self) c_soup_websocket_connection_get_extensions; + GIOStream* function(SoupWebsocketConnection* self) c_soup_websocket_connection_get_io_stream; + uint function(SoupWebsocketConnection* self) c_soup_websocket_connection_get_keepalive_interval; + ulong function(SoupWebsocketConnection* self) c_soup_websocket_connection_get_max_incoming_payload_size; + const(char)* function(SoupWebsocketConnection* self) c_soup_websocket_connection_get_origin; + const(char)* function(SoupWebsocketConnection* self) c_soup_websocket_connection_get_protocol; + SoupWebsocketState function(SoupWebsocketConnection* self) c_soup_websocket_connection_get_state; + SoupURI* function(SoupWebsocketConnection* self) c_soup_websocket_connection_get_uri; + void function(SoupWebsocketConnection* self, void* data, size_t length) c_soup_websocket_connection_send_binary; + void function(SoupWebsocketConnection* self, SoupWebsocketDataType type, GBytes* message) c_soup_websocket_connection_send_message; + void function(SoupWebsocketConnection* self, const(char)* text) c_soup_websocket_connection_send_text; + void function(SoupWebsocketConnection* self, uint interval) c_soup_websocket_connection_set_keepalive_interval; + void function(SoupWebsocketConnection* self, ulong maxIncomingPayloadSize) c_soup_websocket_connection_set_max_incoming_payload_size; + + // soup.WebsocketExtension + + GType function() c_soup_websocket_extension_get_type; + int function(SoupWebsocketExtension* extension, SoupWebsocketConnectionType connectionType, GHashTable* params, GError** err) c_soup_websocket_extension_configure; + char* function(SoupWebsocketExtension* extension) c_soup_websocket_extension_get_request_params; + char* function(SoupWebsocketExtension* extension) c_soup_websocket_extension_get_response_params; + GBytes* function(SoupWebsocketExtension* extension, ubyte* header, GBytes* payload, GError** err) c_soup_websocket_extension_process_incoming_message; + GBytes* function(SoupWebsocketExtension* extension, ubyte* header, GBytes* payload, GError** err) c_soup_websocket_extension_process_outgoing_message; + + // soup.WebsocketExtensionDeflate + + GType function() c_soup_websocket_extension_deflate_get_type; + + // soup.WebsocketExtensionManager + + GType function() c_soup_websocket_extension_manager_get_type; + + // soup.XMLRPCParams + + void function(SoupXMLRPCParams* self) c_soup_xmlrpc_params_free; + GVariant* function(SoupXMLRPCParams* self, const(char)* signature, GError** err) c_soup_xmlrpc_params_parse; +} + + +// soup.Address + +alias c_soup_address_get_type soup_address_get_type; +alias c_soup_address_new soup_address_new; +alias c_soup_address_new_any soup_address_new_any; +alias c_soup_address_new_from_sockaddr soup_address_new_from_sockaddr; +alias c_soup_address_equal_by_ip soup_address_equal_by_ip; +alias c_soup_address_equal_by_name soup_address_equal_by_name; +alias c_soup_address_get_gsockaddr soup_address_get_gsockaddr; +alias c_soup_address_get_name soup_address_get_name; +alias c_soup_address_get_physical soup_address_get_physical; +alias c_soup_address_get_port soup_address_get_port; +alias c_soup_address_get_sockaddr soup_address_get_sockaddr; +alias c_soup_address_hash_by_ip soup_address_hash_by_ip; +alias c_soup_address_hash_by_name soup_address_hash_by_name; +alias c_soup_address_is_resolved soup_address_is_resolved; +alias c_soup_address_resolve_async soup_address_resolve_async; +alias c_soup_address_resolve_sync soup_address_resolve_sync; + +// soup.Auth + +alias c_soup_auth_get_type soup_auth_get_type; +alias c_soup_auth_new soup_auth_new; +alias c_soup_auth_authenticate soup_auth_authenticate; +alias c_soup_auth_can_authenticate soup_auth_can_authenticate; +alias c_soup_auth_free_protection_space soup_auth_free_protection_space; +alias c_soup_auth_get_authorization soup_auth_get_authorization; +alias c_soup_auth_get_host soup_auth_get_host; +alias c_soup_auth_get_info soup_auth_get_info; +alias c_soup_auth_get_protection_space soup_auth_get_protection_space; +alias c_soup_auth_get_realm soup_auth_get_realm; +alias c_soup_auth_get_saved_password soup_auth_get_saved_password; +alias c_soup_auth_get_saved_users soup_auth_get_saved_users; +alias c_soup_auth_get_scheme_name soup_auth_get_scheme_name; +alias c_soup_auth_has_saved_password soup_auth_has_saved_password; +alias c_soup_auth_is_authenticated soup_auth_is_authenticated; +alias c_soup_auth_is_for_proxy soup_auth_is_for_proxy; +alias c_soup_auth_is_ready soup_auth_is_ready; +alias c_soup_auth_save_password soup_auth_save_password; +alias c_soup_auth_update soup_auth_update; + +// soup.AuthBasic + +alias c_soup_auth_basic_get_type soup_auth_basic_get_type; + +// soup.AuthDigest + +alias c_soup_auth_digest_get_type soup_auth_digest_get_type; + +// soup.AuthDomain + +alias c_soup_auth_domain_get_type soup_auth_domain_get_type; +alias c_soup_auth_domain_accepts soup_auth_domain_accepts; +alias c_soup_auth_domain_add_path soup_auth_domain_add_path; +alias c_soup_auth_domain_challenge soup_auth_domain_challenge; +alias c_soup_auth_domain_check_password soup_auth_domain_check_password; +alias c_soup_auth_domain_covers soup_auth_domain_covers; +alias c_soup_auth_domain_get_realm soup_auth_domain_get_realm; +alias c_soup_auth_domain_remove_path soup_auth_domain_remove_path; +alias c_soup_auth_domain_set_filter soup_auth_domain_set_filter; +alias c_soup_auth_domain_set_generic_auth_callback soup_auth_domain_set_generic_auth_callback; +alias c_soup_auth_domain_try_generic_auth_callback soup_auth_domain_try_generic_auth_callback; + +// soup.AuthDomainBasic + +alias c_soup_auth_domain_basic_get_type soup_auth_domain_basic_get_type; +alias c_soup_auth_domain_basic_new soup_auth_domain_basic_new; +alias c_soup_auth_domain_basic_set_auth_callback soup_auth_domain_basic_set_auth_callback; + +// soup.AuthDomainDigest + +alias c_soup_auth_domain_digest_get_type soup_auth_domain_digest_get_type; +alias c_soup_auth_domain_digest_new soup_auth_domain_digest_new; +alias c_soup_auth_domain_digest_encode_password soup_auth_domain_digest_encode_password; +alias c_soup_auth_domain_digest_set_auth_callback soup_auth_domain_digest_set_auth_callback; + +// soup.AuthManager + +alias c_soup_auth_manager_get_type soup_auth_manager_get_type; +alias c_soup_auth_manager_clear_cached_credentials soup_auth_manager_clear_cached_credentials; +alias c_soup_auth_manager_use_auth soup_auth_manager_use_auth; + +// soup.AuthNTLM + +alias c_soup_auth_ntlm_get_type soup_auth_ntlm_get_type; + +// soup.AuthNegotiate + +alias c_soup_auth_negotiate_get_type soup_auth_negotiate_get_type; +alias c_soup_auth_negotiate_supported soup_auth_negotiate_supported; + +// soup.Buffer + +alias c_soup_buffer_get_type soup_buffer_get_type; +alias c_soup_buffer_new soup_buffer_new; +alias c_soup_buffer_new_take soup_buffer_new_take; +alias c_soup_buffer_new_with_owner soup_buffer_new_with_owner; +alias c_soup_buffer_copy soup_buffer_copy; +alias c_soup_buffer_free soup_buffer_free; +alias c_soup_buffer_get_as_bytes soup_buffer_get_as_bytes; +alias c_soup_buffer_get_data soup_buffer_get_data; +alias c_soup_buffer_get_owner soup_buffer_get_owner; +alias c_soup_buffer_new_subbuffer soup_buffer_new_subbuffer; + +// soup.Cache + +alias c_soup_cache_get_type soup_cache_get_type; +alias c_soup_cache_new soup_cache_new; +alias c_soup_cache_clear soup_cache_clear; +alias c_soup_cache_dump soup_cache_dump; +alias c_soup_cache_flush soup_cache_flush; +alias c_soup_cache_get_max_size soup_cache_get_max_size; +alias c_soup_cache_load soup_cache_load; +alias c_soup_cache_set_max_size soup_cache_set_max_size; + +// soup.ClientContext + +alias c_soup_client_context_get_type soup_client_context_get_type; +alias c_soup_client_context_get_address soup_client_context_get_address; +alias c_soup_client_context_get_auth_domain soup_client_context_get_auth_domain; +alias c_soup_client_context_get_auth_user soup_client_context_get_auth_user; +alias c_soup_client_context_get_gsocket soup_client_context_get_gsocket; +alias c_soup_client_context_get_host soup_client_context_get_host; +alias c_soup_client_context_get_local_address soup_client_context_get_local_address; +alias c_soup_client_context_get_remote_address soup_client_context_get_remote_address; +alias c_soup_client_context_get_socket soup_client_context_get_socket; +alias c_soup_client_context_steal_connection soup_client_context_steal_connection; + +// soup.ContentDecoder + +alias c_soup_content_decoder_get_type soup_content_decoder_get_type; + +// soup.ContentSniffer + +alias c_soup_content_sniffer_get_type soup_content_sniffer_get_type; +alias c_soup_content_sniffer_new soup_content_sniffer_new; +alias c_soup_content_sniffer_get_buffer_size soup_content_sniffer_get_buffer_size; +alias c_soup_content_sniffer_sniff soup_content_sniffer_sniff; + +// soup.Cookie + +alias c_soup_cookie_get_type soup_cookie_get_type; +alias c_soup_cookie_new soup_cookie_new; +alias c_soup_cookie_applies_to_uri soup_cookie_applies_to_uri; +alias c_soup_cookie_copy soup_cookie_copy; +alias c_soup_cookie_domain_matches soup_cookie_domain_matches; +alias c_soup_cookie_equal soup_cookie_equal; +alias c_soup_cookie_free soup_cookie_free; +alias c_soup_cookie_get_domain soup_cookie_get_domain; +alias c_soup_cookie_get_expires soup_cookie_get_expires; +alias c_soup_cookie_get_http_only soup_cookie_get_http_only; +alias c_soup_cookie_get_name soup_cookie_get_name; +alias c_soup_cookie_get_path soup_cookie_get_path; +alias c_soup_cookie_get_same_site_policy soup_cookie_get_same_site_policy; +alias c_soup_cookie_get_secure soup_cookie_get_secure; +alias c_soup_cookie_get_value soup_cookie_get_value; +alias c_soup_cookie_set_domain soup_cookie_set_domain; +alias c_soup_cookie_set_expires soup_cookie_set_expires; +alias c_soup_cookie_set_http_only soup_cookie_set_http_only; +alias c_soup_cookie_set_max_age soup_cookie_set_max_age; +alias c_soup_cookie_set_name soup_cookie_set_name; +alias c_soup_cookie_set_path soup_cookie_set_path; +alias c_soup_cookie_set_same_site_policy soup_cookie_set_same_site_policy; +alias c_soup_cookie_set_secure soup_cookie_set_secure; +alias c_soup_cookie_set_value soup_cookie_set_value; +alias c_soup_cookie_to_cookie_header soup_cookie_to_cookie_header; +alias c_soup_cookie_to_set_cookie_header soup_cookie_to_set_cookie_header; +alias c_soup_cookie_parse soup_cookie_parse; + +// soup.CookieJar + +alias c_soup_cookie_jar_get_type soup_cookie_jar_get_type; +alias c_soup_cookie_jar_new soup_cookie_jar_new; +alias c_soup_cookie_jar_add_cookie soup_cookie_jar_add_cookie; +alias c_soup_cookie_jar_add_cookie_full soup_cookie_jar_add_cookie_full; +alias c_soup_cookie_jar_add_cookie_with_first_party soup_cookie_jar_add_cookie_with_first_party; +alias c_soup_cookie_jar_all_cookies soup_cookie_jar_all_cookies; +alias c_soup_cookie_jar_delete_cookie soup_cookie_jar_delete_cookie; +alias c_soup_cookie_jar_get_accept_policy soup_cookie_jar_get_accept_policy; +alias c_soup_cookie_jar_get_cookie_list soup_cookie_jar_get_cookie_list; +alias c_soup_cookie_jar_get_cookie_list_with_same_site_info soup_cookie_jar_get_cookie_list_with_same_site_info; +alias c_soup_cookie_jar_get_cookies soup_cookie_jar_get_cookies; +alias c_soup_cookie_jar_is_persistent soup_cookie_jar_is_persistent; +alias c_soup_cookie_jar_save soup_cookie_jar_save; +alias c_soup_cookie_jar_set_accept_policy soup_cookie_jar_set_accept_policy; +alias c_soup_cookie_jar_set_cookie soup_cookie_jar_set_cookie; +alias c_soup_cookie_jar_set_cookie_with_first_party soup_cookie_jar_set_cookie_with_first_party; + +// soup.CookieJarDB + +alias c_soup_cookie_jar_db_get_type soup_cookie_jar_db_get_type; +alias c_soup_cookie_jar_db_new soup_cookie_jar_db_new; + +// soup.CookieJarText + +alias c_soup_cookie_jar_text_get_type soup_cookie_jar_text_get_type; +alias c_soup_cookie_jar_text_new soup_cookie_jar_text_new; + +// soup.Date + +alias c_soup_date_get_type soup_date_get_type; +alias c_soup_date_new soup_date_new; +alias c_soup_date_new_from_now soup_date_new_from_now; +alias c_soup_date_new_from_string soup_date_new_from_string; +alias c_soup_date_new_from_time_t soup_date_new_from_time_t; +alias c_soup_date_copy soup_date_copy; +alias c_soup_date_free soup_date_free; +alias c_soup_date_get_day soup_date_get_day; +alias c_soup_date_get_hour soup_date_get_hour; +alias c_soup_date_get_minute soup_date_get_minute; +alias c_soup_date_get_month soup_date_get_month; +alias c_soup_date_get_offset soup_date_get_offset; +alias c_soup_date_get_second soup_date_get_second; +alias c_soup_date_get_utc soup_date_get_utc; +alias c_soup_date_get_year soup_date_get_year; +alias c_soup_date_is_past soup_date_is_past; +alias c_soup_date_to_string soup_date_to_string; +alias c_soup_date_to_time_t soup_date_to_time_t; +alias c_soup_date_to_timeval soup_date_to_timeval; + +// soup.HSTSEnforcer + +alias c_soup_hsts_enforcer_get_type soup_hsts_enforcer_get_type; +alias c_soup_hsts_enforcer_new soup_hsts_enforcer_new; +alias c_soup_hsts_enforcer_get_domains soup_hsts_enforcer_get_domains; +alias c_soup_hsts_enforcer_get_policies soup_hsts_enforcer_get_policies; +alias c_soup_hsts_enforcer_has_valid_policy soup_hsts_enforcer_has_valid_policy; +alias c_soup_hsts_enforcer_is_persistent soup_hsts_enforcer_is_persistent; +alias c_soup_hsts_enforcer_set_policy soup_hsts_enforcer_set_policy; +alias c_soup_hsts_enforcer_set_session_policy soup_hsts_enforcer_set_session_policy; + +// soup.HSTSEnforcerDB + +alias c_soup_hsts_enforcer_db_get_type soup_hsts_enforcer_db_get_type; +alias c_soup_hsts_enforcer_db_new soup_hsts_enforcer_db_new; + +// soup.HSTSPolicy + +alias c_soup_hsts_policy_get_type soup_hsts_policy_get_type; +alias c_soup_hsts_policy_new soup_hsts_policy_new; +alias c_soup_hsts_policy_new_from_response soup_hsts_policy_new_from_response; +alias c_soup_hsts_policy_new_full soup_hsts_policy_new_full; +alias c_soup_hsts_policy_new_session_policy soup_hsts_policy_new_session_policy; +alias c_soup_hsts_policy_copy soup_hsts_policy_copy; +alias c_soup_hsts_policy_equal soup_hsts_policy_equal; +alias c_soup_hsts_policy_free soup_hsts_policy_free; +alias c_soup_hsts_policy_get_domain soup_hsts_policy_get_domain; +alias c_soup_hsts_policy_includes_subdomains soup_hsts_policy_includes_subdomains; +alias c_soup_hsts_policy_is_expired soup_hsts_policy_is_expired; +alias c_soup_hsts_policy_is_session_policy soup_hsts_policy_is_session_policy; + +// soup.Logger + +alias c_soup_logger_get_type soup_logger_get_type; +alias c_soup_logger_new soup_logger_new; +alias c_soup_logger_attach soup_logger_attach; +alias c_soup_logger_detach soup_logger_detach; +alias c_soup_logger_set_printer soup_logger_set_printer; +alias c_soup_logger_set_request_filter soup_logger_set_request_filter; +alias c_soup_logger_set_response_filter soup_logger_set_response_filter; + +// soup.Message + +alias c_soup_message_get_type soup_message_get_type; +alias c_soup_message_new soup_message_new; +alias c_soup_message_new_from_uri soup_message_new_from_uri; +alias c_soup_message_add_header_handler soup_message_add_header_handler; +alias c_soup_message_add_status_code_handler soup_message_add_status_code_handler; +alias c_soup_message_content_sniffed soup_message_content_sniffed; +alias c_soup_message_disable_feature soup_message_disable_feature; +alias c_soup_message_finished soup_message_finished; +alias c_soup_message_get_address soup_message_get_address; +alias c_soup_message_get_first_party soup_message_get_first_party; +alias c_soup_message_get_flags soup_message_get_flags; +alias c_soup_message_get_http_version soup_message_get_http_version; +alias c_soup_message_get_https_status soup_message_get_https_status; +alias c_soup_message_get_is_top_level_navigation soup_message_get_is_top_level_navigation; +alias c_soup_message_get_priority soup_message_get_priority; +alias c_soup_message_get_site_for_cookies soup_message_get_site_for_cookies; +alias c_soup_message_get_soup_request soup_message_get_soup_request; +alias c_soup_message_get_uri soup_message_get_uri; +alias c_soup_message_got_body soup_message_got_body; +alias c_soup_message_got_chunk soup_message_got_chunk; +alias c_soup_message_got_headers soup_message_got_headers; +alias c_soup_message_got_informational soup_message_got_informational; +alias c_soup_message_is_feature_disabled soup_message_is_feature_disabled; +alias c_soup_message_is_keepalive soup_message_is_keepalive; +alias c_soup_message_restarted soup_message_restarted; +alias c_soup_message_set_chunk_allocator soup_message_set_chunk_allocator; +alias c_soup_message_set_first_party soup_message_set_first_party; +alias c_soup_message_set_flags soup_message_set_flags; +alias c_soup_message_set_http_version soup_message_set_http_version; +alias c_soup_message_set_is_top_level_navigation soup_message_set_is_top_level_navigation; +alias c_soup_message_set_priority soup_message_set_priority; +alias c_soup_message_set_redirect soup_message_set_redirect; +alias c_soup_message_set_request soup_message_set_request; +alias c_soup_message_set_response soup_message_set_response; +alias c_soup_message_set_site_for_cookies soup_message_set_site_for_cookies; +alias c_soup_message_set_status soup_message_set_status; +alias c_soup_message_set_status_full soup_message_set_status_full; +alias c_soup_message_set_uri soup_message_set_uri; +alias c_soup_message_starting soup_message_starting; +alias c_soup_message_wrote_body soup_message_wrote_body; +alias c_soup_message_wrote_body_data soup_message_wrote_body_data; +alias c_soup_message_wrote_chunk soup_message_wrote_chunk; +alias c_soup_message_wrote_headers soup_message_wrote_headers; +alias c_soup_message_wrote_informational soup_message_wrote_informational; + +// soup.MessageBody + +alias c_soup_message_body_get_type soup_message_body_get_type; +alias c_soup_message_body_new soup_message_body_new; +alias c_soup_message_body_append soup_message_body_append; +alias c_soup_message_body_append_buffer soup_message_body_append_buffer; +alias c_soup_message_body_append_take soup_message_body_append_take; +alias c_soup_message_body_complete soup_message_body_complete; +alias c_soup_message_body_flatten soup_message_body_flatten; +alias c_soup_message_body_free soup_message_body_free; +alias c_soup_message_body_get_accumulate soup_message_body_get_accumulate; +alias c_soup_message_body_get_chunk soup_message_body_get_chunk; +alias c_soup_message_body_got_chunk soup_message_body_got_chunk; +alias c_soup_message_body_set_accumulate soup_message_body_set_accumulate; +alias c_soup_message_body_truncate soup_message_body_truncate; +alias c_soup_message_body_wrote_chunk soup_message_body_wrote_chunk; + +// soup.MessageHeaders + +alias c_soup_message_headers_get_type soup_message_headers_get_type; +alias c_soup_message_headers_new soup_message_headers_new; +alias c_soup_message_headers_append soup_message_headers_append; +alias c_soup_message_headers_clean_connection_headers soup_message_headers_clean_connection_headers; +alias c_soup_message_headers_clear soup_message_headers_clear; +alias c_soup_message_headers_foreach soup_message_headers_foreach; +alias c_soup_message_headers_free soup_message_headers_free; +alias c_soup_message_headers_free_ranges soup_message_headers_free_ranges; +alias c_soup_message_headers_get soup_message_headers_get; +alias c_soup_message_headers_get_content_disposition soup_message_headers_get_content_disposition; +alias c_soup_message_headers_get_content_length soup_message_headers_get_content_length; +alias c_soup_message_headers_get_content_range soup_message_headers_get_content_range; +alias c_soup_message_headers_get_content_type soup_message_headers_get_content_type; +alias c_soup_message_headers_get_encoding soup_message_headers_get_encoding; +alias c_soup_message_headers_get_expectations soup_message_headers_get_expectations; +alias c_soup_message_headers_get_headers_type soup_message_headers_get_headers_type; +alias c_soup_message_headers_get_list soup_message_headers_get_list; +alias c_soup_message_headers_get_one soup_message_headers_get_one; +alias c_soup_message_headers_get_ranges soup_message_headers_get_ranges; +alias c_soup_message_headers_header_contains soup_message_headers_header_contains; +alias c_soup_message_headers_header_equals soup_message_headers_header_equals; +alias c_soup_message_headers_remove soup_message_headers_remove; +alias c_soup_message_headers_replace soup_message_headers_replace; +alias c_soup_message_headers_set_content_disposition soup_message_headers_set_content_disposition; +alias c_soup_message_headers_set_content_length soup_message_headers_set_content_length; +alias c_soup_message_headers_set_content_range soup_message_headers_set_content_range; +alias c_soup_message_headers_set_content_type soup_message_headers_set_content_type; +alias c_soup_message_headers_set_encoding soup_message_headers_set_encoding; +alias c_soup_message_headers_set_expectations soup_message_headers_set_expectations; +alias c_soup_message_headers_set_range soup_message_headers_set_range; +alias c_soup_message_headers_set_ranges soup_message_headers_set_ranges; + +// soup.MessageHeadersIter + +alias c_soup_message_headers_iter_next soup_message_headers_iter_next; +alias c_soup_message_headers_iter_init soup_message_headers_iter_init; + +// soup.Multipart + +alias c_soup_multipart_get_type soup_multipart_get_type; +alias c_soup_multipart_new soup_multipart_new; +alias c_soup_multipart_new_from_message soup_multipart_new_from_message; +alias c_soup_multipart_append_form_file soup_multipart_append_form_file; +alias c_soup_multipart_append_form_string soup_multipart_append_form_string; +alias c_soup_multipart_append_part soup_multipart_append_part; +alias c_soup_multipart_free soup_multipart_free; +alias c_soup_multipart_get_length soup_multipart_get_length; +alias c_soup_multipart_get_part soup_multipart_get_part; +alias c_soup_multipart_to_message soup_multipart_to_message; + +// soup.MultipartInputStream + +alias c_soup_multipart_input_stream_get_type soup_multipart_input_stream_get_type; +alias c_soup_multipart_input_stream_new soup_multipart_input_stream_new; +alias c_soup_multipart_input_stream_get_headers soup_multipart_input_stream_get_headers; +alias c_soup_multipart_input_stream_next_part soup_multipart_input_stream_next_part; +alias c_soup_multipart_input_stream_next_part_async soup_multipart_input_stream_next_part_async; +alias c_soup_multipart_input_stream_next_part_finish soup_multipart_input_stream_next_part_finish; + +// soup.PasswordManager + +alias c_soup_password_manager_get_type soup_password_manager_get_type; +alias c_soup_password_manager_get_passwords_async soup_password_manager_get_passwords_async; +alias c_soup_password_manager_get_passwords_sync soup_password_manager_get_passwords_sync; + +// soup.ProxyResolver + +alias c_soup_proxy_resolver_get_type soup_proxy_resolver_get_type; +alias c_soup_proxy_resolver_get_proxy_async soup_proxy_resolver_get_proxy_async; +alias c_soup_proxy_resolver_get_proxy_sync soup_proxy_resolver_get_proxy_sync; + +// soup.ProxyResolverDefault + +alias c_soup_proxy_resolver_default_get_type soup_proxy_resolver_default_get_type; + +// soup.ProxyURIResolver + +alias c_soup_proxy_uri_resolver_get_type soup_proxy_uri_resolver_get_type; +alias c_soup_proxy_uri_resolver_get_proxy_uri_async soup_proxy_uri_resolver_get_proxy_uri_async; +alias c_soup_proxy_uri_resolver_get_proxy_uri_sync soup_proxy_uri_resolver_get_proxy_uri_sync; + +// soup.Request + +alias c_soup_request_get_type soup_request_get_type; +alias c_soup_request_get_content_length soup_request_get_content_length; +alias c_soup_request_get_content_type soup_request_get_content_type; +alias c_soup_request_get_session soup_request_get_session; +alias c_soup_request_get_uri soup_request_get_uri; +alias c_soup_request_send soup_request_send; +alias c_soup_request_send_async soup_request_send_async; +alias c_soup_request_send_finish soup_request_send_finish; + +// soup.RequestData + +alias c_soup_request_data_get_type soup_request_data_get_type; + +// soup.RequestFile + +alias c_soup_request_file_get_type soup_request_file_get_type; +alias c_soup_request_file_get_file soup_request_file_get_file; + +// soup.RequestHTTP + +alias c_soup_request_http_get_type soup_request_http_get_type; +alias c_soup_request_http_get_message soup_request_http_get_message; + +// soup.Requester + +alias c_soup_requester_get_type soup_requester_get_type; +alias c_soup_requester_new soup_requester_new; +alias c_soup_requester_request soup_requester_request; +alias c_soup_requester_request_uri soup_requester_request_uri; + +// soup.Server + +alias c_soup_server_get_type soup_server_get_type; +alias c_soup_server_new soup_server_new; +alias c_soup_server_accept_iostream soup_server_accept_iostream; +alias c_soup_server_add_auth_domain soup_server_add_auth_domain; +alias c_soup_server_add_early_handler soup_server_add_early_handler; +alias c_soup_server_add_handler soup_server_add_handler; +alias c_soup_server_add_websocket_extension soup_server_add_websocket_extension; +alias c_soup_server_add_websocket_handler soup_server_add_websocket_handler; +alias c_soup_server_disconnect soup_server_disconnect; +alias c_soup_server_get_async_context soup_server_get_async_context; +alias c_soup_server_get_listener soup_server_get_listener; +alias c_soup_server_get_listeners soup_server_get_listeners; +alias c_soup_server_get_port soup_server_get_port; +alias c_soup_server_get_uris soup_server_get_uris; +alias c_soup_server_is_https soup_server_is_https; +alias c_soup_server_listen soup_server_listen; +alias c_soup_server_listen_all soup_server_listen_all; +alias c_soup_server_listen_fd soup_server_listen_fd; +alias c_soup_server_listen_local soup_server_listen_local; +alias c_soup_server_listen_socket soup_server_listen_socket; +alias c_soup_server_pause_message soup_server_pause_message; +alias c_soup_server_quit soup_server_quit; +alias c_soup_server_remove_auth_domain soup_server_remove_auth_domain; +alias c_soup_server_remove_handler soup_server_remove_handler; +alias c_soup_server_remove_websocket_extension soup_server_remove_websocket_extension; +alias c_soup_server_run soup_server_run; +alias c_soup_server_run_async soup_server_run_async; +alias c_soup_server_set_ssl_cert_file soup_server_set_ssl_cert_file; +alias c_soup_server_unpause_message soup_server_unpause_message; + +// soup.Session + +alias c_soup_session_get_type soup_session_get_type; +alias c_soup_session_new soup_session_new; +alias c_soup_session_new_with_options soup_session_new_with_options; +alias c_soup_session_abort soup_session_abort; +alias c_soup_session_add_feature soup_session_add_feature; +alias c_soup_session_add_feature_by_type soup_session_add_feature_by_type; +alias c_soup_session_cancel_message soup_session_cancel_message; +alias c_soup_session_connect_async soup_session_connect_async; +alias c_soup_session_connect_finish soup_session_connect_finish; +alias c_soup_session_get_async_context soup_session_get_async_context; +alias c_soup_session_get_feature soup_session_get_feature; +alias c_soup_session_get_feature_for_message soup_session_get_feature_for_message; +alias c_soup_session_get_features soup_session_get_features; +alias c_soup_session_has_feature soup_session_has_feature; +alias c_soup_session_pause_message soup_session_pause_message; +alias c_soup_session_prefetch_dns soup_session_prefetch_dns; +alias c_soup_session_prepare_for_uri soup_session_prepare_for_uri; +alias c_soup_session_queue_message soup_session_queue_message; +alias c_soup_session_redirect_message soup_session_redirect_message; +alias c_soup_session_remove_feature soup_session_remove_feature; +alias c_soup_session_remove_feature_by_type soup_session_remove_feature_by_type; +alias c_soup_session_request soup_session_request; +alias c_soup_session_request_http soup_session_request_http; +alias c_soup_session_request_http_uri soup_session_request_http_uri; +alias c_soup_session_request_uri soup_session_request_uri; +alias c_soup_session_requeue_message soup_session_requeue_message; +alias c_soup_session_send soup_session_send; +alias c_soup_session_send_async soup_session_send_async; +alias c_soup_session_send_finish soup_session_send_finish; +alias c_soup_session_send_message soup_session_send_message; +alias c_soup_session_steal_connection soup_session_steal_connection; +alias c_soup_session_unpause_message soup_session_unpause_message; +alias c_soup_session_websocket_connect_async soup_session_websocket_connect_async; +alias c_soup_session_websocket_connect_finish soup_session_websocket_connect_finish; +alias c_soup_session_would_redirect soup_session_would_redirect; + +// soup.SessionAsync + +alias c_soup_session_async_get_type soup_session_async_get_type; +alias c_soup_session_async_new soup_session_async_new; +alias c_soup_session_async_new_with_options soup_session_async_new_with_options; + +// soup.SessionFeature + +alias c_soup_session_feature_get_type soup_session_feature_get_type; +alias c_soup_session_feature_add_feature soup_session_feature_add_feature; +alias c_soup_session_feature_attach soup_session_feature_attach; +alias c_soup_session_feature_detach soup_session_feature_detach; +alias c_soup_session_feature_has_feature soup_session_feature_has_feature; +alias c_soup_session_feature_remove_feature soup_session_feature_remove_feature; + +// soup.SessionSync + +alias c_soup_session_sync_get_type soup_session_sync_get_type; +alias c_soup_session_sync_new soup_session_sync_new; +alias c_soup_session_sync_new_with_options soup_session_sync_new_with_options; + +// soup.SSocket + +alias c_soup_socket_get_type soup_socket_get_type; +alias c_soup_socket_new soup_socket_new; +alias c_soup_socket_connect_async soup_socket_connect_async; +alias c_soup_socket_connect_sync soup_socket_connect_sync; +alias c_soup_socket_disconnect soup_socket_disconnect; +alias c_soup_socket_get_fd soup_socket_get_fd; +alias c_soup_socket_get_local_address soup_socket_get_local_address; +alias c_soup_socket_get_remote_address soup_socket_get_remote_address; +alias c_soup_socket_is_connected soup_socket_is_connected; +alias c_soup_socket_is_ssl soup_socket_is_ssl; +alias c_soup_socket_listen soup_socket_listen; +alias c_soup_socket_read soup_socket_read; +alias c_soup_socket_read_until soup_socket_read_until; +alias c_soup_socket_start_proxy_ssl soup_socket_start_proxy_ssl; +alias c_soup_socket_start_ssl soup_socket_start_ssl; +alias c_soup_socket_write soup_socket_write; + +// soup.URI + +alias c_soup_uri_get_type soup_uri_get_type; +alias c_soup_uri_new soup_uri_new; +alias c_soup_uri_new_with_base soup_uri_new_with_base; +alias c_soup_uri_copy soup_uri_copy; +alias c_soup_uri_copy_host soup_uri_copy_host; +alias c_soup_uri_equal soup_uri_equal; +alias c_soup_uri_free soup_uri_free; +alias c_soup_uri_get_fragment soup_uri_get_fragment; +alias c_soup_uri_get_host soup_uri_get_host; +alias c_soup_uri_get_password soup_uri_get_password; +alias c_soup_uri_get_path soup_uri_get_path; +alias c_soup_uri_get_port soup_uri_get_port; +alias c_soup_uri_get_query soup_uri_get_query; +alias c_soup_uri_get_scheme soup_uri_get_scheme; +alias c_soup_uri_get_user soup_uri_get_user; +alias c_soup_uri_host_equal soup_uri_host_equal; +alias c_soup_uri_host_hash soup_uri_host_hash; +alias c_soup_uri_set_fragment soup_uri_set_fragment; +alias c_soup_uri_set_host soup_uri_set_host; +alias c_soup_uri_set_password soup_uri_set_password; +alias c_soup_uri_set_path soup_uri_set_path; +alias c_soup_uri_set_port soup_uri_set_port; +alias c_soup_uri_set_query soup_uri_set_query; +alias c_soup_uri_set_query_from_fields soup_uri_set_query_from_fields; +alias c_soup_uri_set_query_from_form soup_uri_set_query_from_form; +alias c_soup_uri_set_scheme soup_uri_set_scheme; +alias c_soup_uri_set_user soup_uri_set_user; +alias c_soup_uri_to_string soup_uri_to_string; +alias c_soup_uri_uses_default_port soup_uri_uses_default_port; +alias c_soup_uri_decode soup_uri_decode; +alias c_soup_uri_encode soup_uri_encode; +alias c_soup_uri_normalize soup_uri_normalize; + +// soup.WebsocketConnection + +alias c_soup_websocket_connection_get_type soup_websocket_connection_get_type; +alias c_soup_websocket_connection_new soup_websocket_connection_new; +alias c_soup_websocket_connection_new_with_extensions soup_websocket_connection_new_with_extensions; +alias c_soup_websocket_connection_close soup_websocket_connection_close; +alias c_soup_websocket_connection_get_close_code soup_websocket_connection_get_close_code; +alias c_soup_websocket_connection_get_close_data soup_websocket_connection_get_close_data; +alias c_soup_websocket_connection_get_connection_type soup_websocket_connection_get_connection_type; +alias c_soup_websocket_connection_get_extensions soup_websocket_connection_get_extensions; +alias c_soup_websocket_connection_get_io_stream soup_websocket_connection_get_io_stream; +alias c_soup_websocket_connection_get_keepalive_interval soup_websocket_connection_get_keepalive_interval; +alias c_soup_websocket_connection_get_max_incoming_payload_size soup_websocket_connection_get_max_incoming_payload_size; +alias c_soup_websocket_connection_get_origin soup_websocket_connection_get_origin; +alias c_soup_websocket_connection_get_protocol soup_websocket_connection_get_protocol; +alias c_soup_websocket_connection_get_state soup_websocket_connection_get_state; +alias c_soup_websocket_connection_get_uri soup_websocket_connection_get_uri; +alias c_soup_websocket_connection_send_binary soup_websocket_connection_send_binary; +alias c_soup_websocket_connection_send_message soup_websocket_connection_send_message; +alias c_soup_websocket_connection_send_text soup_websocket_connection_send_text; +alias c_soup_websocket_connection_set_keepalive_interval soup_websocket_connection_set_keepalive_interval; +alias c_soup_websocket_connection_set_max_incoming_payload_size soup_websocket_connection_set_max_incoming_payload_size; + +// soup.WebsocketExtension + +alias c_soup_websocket_extension_get_type soup_websocket_extension_get_type; +alias c_soup_websocket_extension_configure soup_websocket_extension_configure; +alias c_soup_websocket_extension_get_request_params soup_websocket_extension_get_request_params; +alias c_soup_websocket_extension_get_response_params soup_websocket_extension_get_response_params; +alias c_soup_websocket_extension_process_incoming_message soup_websocket_extension_process_incoming_message; +alias c_soup_websocket_extension_process_outgoing_message soup_websocket_extension_process_outgoing_message; + +// soup.WebsocketExtensionDeflate + +alias c_soup_websocket_extension_deflate_get_type soup_websocket_extension_deflate_get_type; + +// soup.WebsocketExtensionManager + +alias c_soup_websocket_extension_manager_get_type soup_websocket_extension_manager_get_type; + +// soup.XMLRPCParams + +alias c_soup_xmlrpc_params_free soup_xmlrpc_params_free; +alias c_soup_xmlrpc_params_parse soup_xmlrpc_params_parse; diff --git a/source/generated/soup/soup/c/types.d b/source/generated/soup/soup/c/types.d new file mode 100644 index 000000000..be222e5ac --- /dev/null +++ b/source/generated/soup/soup/c/types.d @@ -0,0 +1,3400 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module soup.c.types; + +public import gio.c.types; +public import glib.c.types; +public import gobject.c.types; + + +/** + * The supported address families. + */ +public enum SoupAddressFamily +{ + /** + * an invalid %SoupAddress + */ + INVALID = -1, + /** + * an IPv4 address + */ + IPV4 = 2, + /** + * an IPv6 address + */ + IPV6 = 10, +} +alias SoupAddressFamily AddressFamily; + +public enum SoupCacheResponse +{ + FRESH = 0, + NEEDS_VALIDATION = 1, + STALE = 2, +} +alias SoupCacheResponse CacheResponse; + +/** + * The type of cache; this affects what kinds of responses will be + * saved. + * + * Since: 2.34 + */ +public enum SoupCacheType +{ + /** + * a single-user cache + */ + SINGLE_USER = 0, + /** + * a shared cache + */ + SHARED = 1, +} +alias SoupCacheType CacheType; + +public enum SoupCacheability +{ + CACHEABLE = 1, + UNCACHEABLE = 2, + INVALIDATES = 4, + VALIDATES = 8, +} +alias SoupCacheability Cacheability; + +public enum SoupConnectionState +{ + NEW = 0, + CONNECTING = 1, + IDLE = 2, + IN_USE = 3, + REMOTE_DISCONNECTED = 4, + DISCONNECTED = 5, +} +alias SoupConnectionState ConnectionState; + +/** + * The policy for accepting or rejecting cookies returned in + * responses. + * + * Since: 2.30 + */ +public enum SoupCookieJarAcceptPolicy +{ + /** + * accept all cookies unconditionally. + */ + ALWAYS = 0, + /** + * reject all cookies unconditionally. + */ + NEVER = 1, + /** + * accept all cookies set by + * the main document loaded in the application using libsoup. An + * example of the most common case, web browsers, would be: If + * http://www.example.com is the page loaded, accept all cookies set + * by example.com, but if a resource from http://www.third-party.com + * is loaded from that page reject any cookie that it could try to + * set. For libsoup to be able to tell apart first party cookies from + * the rest, the application must call soup_message_set_first_party() + * on each outgoing #SoupMessage, setting the #SoupURI of the main + * document. If no first party is set in a message when this policy is + * in effect, cookies will be assumed to be third party by default. + */ + NO_THIRD_PARTY = 2, + /** + * accept all cookies + * set by the main document loaded in the application using libsoup, and + * from domains that have previously set at least one cookie when loaded + * as the main document. An example of the most common case, web browsers, + * would be: if http://www.example.com is the page loaded, accept all + * cookies set by example.com, but if a resource from http://www.third-party.com + * is loaded from that page, reject any cookie that it could try to + * set unless it already has a cookie in the cookie jar. For libsoup to + * be able to tell apart first party cookies from the rest, the + * application must call soup_message_set_first_party() on each outgoing + * #SoupMessage, setting the #SoupURI of the main document. If no first + * party is set in a message when this policy is in effect, cookies will + * be assumed to be third party by default. Since 2.72. + */ + GRANDFATHERED_THIRD_PARTY = 3, +} +alias SoupCookieJarAcceptPolicy CookieJarAcceptPolicy; + +/** + * Date formats that soup_date_to_string() can use. + * + * @SOUP_DATE_HTTP and @SOUP_DATE_COOKIE always coerce the time to + * UTC. @SOUP_DATE_ISO8601_XMLRPC uses the time as given, ignoring the + * offset completely. @SOUP_DATE_RFC2822 and the other ISO 8601 + * variants use the local time, appending the offset information if + * available. + * + * This enum may be extended with more values in future releases. + */ +public enum SoupDateFormat +{ + /** + * RFC 1123 format, used by the HTTP "Date" header. Eg + * "Sun, 06 Nov 1994 08:49:37 GMT" + */ + HTTP = 1, + /** + * The format for the "Expires" timestamp in the + * Netscape cookie specification. Eg, "Sun, 06-Nov-1994 08:49:37 GMT". + */ + COOKIE = 2, + /** + * RFC 2822 format, eg "Sun, 6 Nov 1994 09:49:37 -0100" + */ + RFC2822 = 3, + /** + * ISO 8601 date/time with no optional + * punctuation. Eg, "19941106T094937-0100". + */ + ISO8601_COMPACT = 4, + /** + * ISO 8601 date/time with all optional + * punctuation. Eg, "1994-11-06T09:49:37-01:00". + */ + ISO8601_FULL = 5, + /** + * An alias for @SOUP_DATE_ISO8601_FULL. + */ + ISO8601 = 5, + /** + * ISO 8601 date/time as used by XML-RPC. + * Eg, "19941106T09:49:37". + */ + ISO8601_XMLRPC = 6, +} +alias SoupDateFormat DateFormat; + +/** + * How a message body is encoded for transport + */ +public enum SoupEncoding +{ + /** + * unknown / error + */ + UNRECOGNIZED = 0, + /** + * no body is present (which is not the same as a + * 0-length body, and only occurs in certain places) + */ + NONE = 1, + /** + * Content-Length encoding + */ + CONTENT_LENGTH = 2, + /** + * Response body ends when the connection is closed + */ + EOF = 3, + /** + * chunked encoding (currently only supported + * for response) + */ + CHUNKED = 4, + /** + * multipart/byteranges (Reserved for future + * use: NOT CURRENTLY IMPLEMENTED) + */ + BYTERANGES = 5, +} +alias SoupEncoding Encoding; + +/** + * Represents the parsed value of the "Expect" header. + */ +public enum SoupExpectation +{ + /** + * any unrecognized expectation + */ + UNRECOGNIZED = 1, + /** + * "100-continue" + */ + CONTINUE = 2, +} +alias SoupExpectation Expectation; + +/** + * Indicates the HTTP protocol version being used. + */ +public enum SoupHTTPVersion +{ + /** + * HTTP 1.0 (RFC 1945) + */ + HTTP_1_0 = 0, + /** + * HTTP 1.1 (RFC 2616) + */ + HTTP_1_1 = 1, +} +alias SoupHTTPVersion HTTPVersion; + +public enum SoupKnownStatusCode +{ + NONE = 0, + CANCELLED = 1, + CANT_RESOLVE = 2, + CANT_RESOLVE_PROXY = 3, + CANT_CONNECT = 4, + CANT_CONNECT_PROXY = 5, + SSL_FAILED = 6, + IO_ERROR = 7, + MALFORMED = 8, + TRY_AGAIN = 9, + TOO_MANY_REDIRECTS = 10, + TLS_FAILED = 11, + CONTINUE = 100, + SWITCHING_PROTOCOLS = 101, + PROCESSING = 102, + OK = 200, + CREATED = 201, + ACCEPTED = 202, + NON_AUTHORITATIVE = 203, + NO_CONTENT = 204, + RESET_CONTENT = 205, + PARTIAL_CONTENT = 206, + MULTI_STATUS = 207, + MULTIPLE_CHOICES = 300, + MOVED_PERMANENTLY = 301, + FOUND = 302, + MOVED_TEMPORARILY = 302, + SEE_OTHER = 303, + NOT_MODIFIED = 304, + USE_PROXY = 305, + NOT_APPEARING_IN_THIS_PROTOCOL = 306, + TEMPORARY_REDIRECT = 307, + BAD_REQUEST = 400, + UNAUTHORIZED = 401, + PAYMENT_REQUIRED = 402, + FORBIDDEN = 403, + NOT_FOUND = 404, + METHOD_NOT_ALLOWED = 405, + NOT_ACCEPTABLE = 406, + PROXY_AUTHENTICATION_REQUIRED = 407, + PROXY_UNAUTHORIZED = 407, + REQUEST_TIMEOUT = 408, + CONFLICT = 409, + GONE = 410, + LENGTH_REQUIRED = 411, + PRECONDITION_FAILED = 412, + REQUEST_ENTITY_TOO_LARGE = 413, + REQUEST_URI_TOO_LONG = 414, + UNSUPPORTED_MEDIA_TYPE = 415, + REQUESTED_RANGE_NOT_SATISFIABLE = 416, + INVALID_RANGE = 416, + EXPECTATION_FAILED = 417, + UNPROCESSABLE_ENTITY = 422, + LOCKED = 423, + FAILED_DEPENDENCY = 424, + INTERNAL_SERVER_ERROR = 500, + NOT_IMPLEMENTED = 501, + BAD_GATEWAY = 502, + SERVICE_UNAVAILABLE = 503, + GATEWAY_TIMEOUT = 504, + HTTP_VERSION_NOT_SUPPORTED = 505, + INSUFFICIENT_STORAGE = 507, + NOT_EXTENDED = 510, +} +alias SoupKnownStatusCode KnownStatusCode; + +/** + * Describes the level of logging output to provide. + */ +public enum SoupLoggerLogLevel +{ + /** + * No logging + */ + NONE = 0, + /** + * Log the Request-Line or Status-Line and + * the Soup-Debug pseudo-headers + */ + MINIMAL = 1, + /** + * Log the full request/response headers + */ + HEADERS = 2, + /** + * Log the full headers and request/response + * bodies. + */ + BODY = 3, +} +alias SoupLoggerLogLevel LoggerLogLevel; + +/** + * Describes how #SoupBuffer should use the data passed in by the + * caller. + * + * See also soup_buffer_new_with_owner(), which allows to you create a + * buffer containing data which is owned by another object. + */ +public enum SoupMemoryUse +{ + /** + * The memory is statically allocated and + * constant; libsoup can use the passed-in buffer directly and not + * need to worry about it being modified or freed. + */ + STATIC = 0, + /** + * The caller has allocated the memory for the + * #SoupBuffer's use; libsoup will assume ownership of it and free it + * (with g_free()) when it is done with it. + */ + TAKE = 1, + /** + * The passed-in data belongs to the caller; the + * #SoupBuffer will copy it into new memory, leaving the caller free + * to reuse the original memory. + */ + COPY = 2, + /** + * The passed-in data belongs to the caller, + * but will remain valid for the lifetime of the #SoupBuffer. The + * difference between this and @SOUP_MEMORY_STATIC is that if you copy + * a @SOUP_MEMORY_TEMPORARY buffer, it will make a copy of the memory + * as well, rather than reusing the original memory. + */ + TEMPORARY = 3, +} +alias SoupMemoryUse MemoryUse; + +/** + * Various flags that can be set on a #SoupMessage to alter its + * behavior. + */ +public enum SoupMessageFlags +{ + /** + * The session should not follow redirect + * (3xx) responses received by this message. + */ + NO_REDIRECT = 2, + /** + * The caller will rebuild the request + * body if the message is restarted; see + * soup_message_body_set_accumulate() for more details. + */ + CAN_REBUILD = 4, + /** + * Deprecated: equivalent to calling + * soup_message_body_set_accumulate() on the incoming message body + * (ie, #SoupMessage:response_body for a client-side request), + * passing %FALSE. + */ + OVERWRITE_CHUNKS = 8, + /** + * Set by #SoupContentDecoder to + * indicate that it has removed the Content-Encoding on a message (and + * so headers such as Content-Length may no longer accurately describe + * the body). + */ + CONTENT_DECODED = 16, + /** + * if set after an https response + * has been received, indicates that the server's SSL certificate is + * trusted according to the session's CA. + */ + CERTIFICATE_TRUSTED = 32, + /** + * Requests that the message should be + * sent on a newly-created connection, not reusing an existing + * persistent connection. Note that messages with non-idempotent + * #SoupMessage:methods behave this way by default, unless + * #SOUP_MESSAGE_IDEMPOTENT is set. + */ + NEW_CONNECTION = 64, + /** + * The message is considered idempotent, + * regardless its #SoupMessage:method, and allows reuse of existing + * idle connections, instead of always requiring a new one, unless + * #SOUP_MESSAGE_NEW_CONNECTION is set. + */ + IDEMPOTENT = 128, + /** + * Request that a new connection is + * created for the message if there aren't idle connections available + * and it's not possible to create new connections due to any of the + * connection limits has been reached. If a dedicated connection is + * eventually created for this message, it will be dropped when the + * message finishes. Since 2.50 + */ + IGNORE_CONNECTION_LIMITS = 256, + /** + * The #SoupAuthManager should not use + * the credentials cache for this message, neither to use cached credentials + * to automatically authenticate this message nor to cache the credentials + * after the message is successfully authenticated. This applies to both server + * and proxy authentication. Note that #SoupSession::authenticate signal will + * be emitted, if you want to disable authentication for a message use + * soup_message_disable_feature() passing #SOUP_TYPE_AUTH_MANAGER instead. Since 2.58 + */ + DO_NOT_USE_AUTH_CACHE = 512, +} +alias SoupMessageFlags MessageFlags; + +/** + * Value passed to soup_message_headers_new() to set certain default + * behaviors. + */ +public enum SoupMessageHeadersType +{ + /** + * request headers + */ + REQUEST = 0, + /** + * response headers + */ + RESPONSE = 1, + /** + * multipart body part headers + */ + MULTIPART = 2, +} +alias SoupMessageHeadersType MessageHeadersType; + +/** + * Priorities that can be set on a #SoupMessage to instruct the + * message queue to process it before any other message with lower + * priority. + */ +public enum SoupMessagePriority +{ + /** + * The lowest priority, the messages + * with this priority will be the last ones to be attended. + */ + VERY_LOW = 0, + /** + * Use this for low priority messages, a + * #SoupMessage with the default priority will be processed first. + */ + LOW = 1, + /** + * The default priotity, this is the + * priority assigned to the #SoupMessage by default. + */ + NORMAL = 2, + /** + * High priority, a #SoupMessage with + * this priority will be processed before the ones with the default + * priority. + */ + HIGH = 3, + /** + * The highest priority, use this + * for very urgent #SoupMessage as they will be the first ones to be + * attended. + */ + VERY_HIGH = 4, +} +alias SoupMessagePriority MessagePriority; + +/** + * A #SoupRequest error. + * + * Since: 2.42 + */ +public enum SoupRequestError +{ + /** + * the URI could not be parsed + */ + BAD_URI = 0, + /** + * the URI scheme is not + * supported by this #SoupSession + */ + UNSUPPORTED_URI_SCHEME = 1, + /** + * the server's response could not + * be parsed + */ + PARSING = 2, + /** + * the server's response was in an + * unsupported format + */ + ENCODING = 3, +} +alias SoupRequestError RequestError; + +public enum SoupRequesterError +{ + BAD_URI = 0, + UNSUPPORTED_URI_SCHEME = 1, +} +alias SoupRequesterError RequesterError; + +public enum SoupSameSitePolicy +{ + /** + * The cookie is exposed with both cross-site and same-site requests + */ + NONE = 0, + /** + * The cookie is withheld on cross-site requests but exposed on cross-site navigations + */ + LAX = 1, + /** + * The cookie is only exposed for same-site requests + */ + STRICT = 2, +} +alias SoupSameSitePolicy SameSitePolicy; + +/** + * Options to pass to soup_server_listen(), etc. + * + * %SOUP_SERVER_LISTEN_IPV4_ONLY and %SOUP_SERVER_LISTEN_IPV6_ONLY + * only make sense with soup_server_listen_all() and + * soup_server_listen_local(), not plain soup_server_listen() (which + * simply listens on whatever kind of socket you give it). And you + * cannot specify both of them in a single call. + * + * Since: 2.48 + */ +public enum SoupServerListenOptions +{ + /** + * Listen for https connections rather + * than plain http. + */ + HTTPS = 1, + /** + * Only listen on IPv4 interfaces. + */ + IPV4_ONLY = 2, + /** + * Only listen on IPv6 interfaces. + */ + IPV6_ONLY = 4, +} +alias SoupServerListenOptions ServerListenOptions; + +/** + * Return value from the #SoupSocket IO methods. + */ +public enum SoupSocketIOStatus +{ + /** + * Success + */ + OK = 0, + /** + * Cannot read/write any more at this time + */ + WOULD_BLOCK = 1, + /** + * End of file + */ + EOF = 2, + /** + * Other error + */ + ERROR = 3, +} +alias SoupSocketIOStatus SocketIOStatus; + +/** + * These represent the known HTTP status code values, plus various + * network and internal errors. + * + * Note that no libsoup functions take or return this type directly; + * any function that works with status codes will accept unrecognized + * status codes as well. + * + * Prior to 2.44 this type was called + * SoupKnownStatusCode, but the individual values + * have always had the names they have now. + */ +public enum SoupStatus +{ + /** + * No status available. (Eg, the message has not + * been sent yet) + */ + NONE = 0, + /** + * Message was cancelled locally + */ + CANCELLED = 1, + /** + * Unable to resolve destination host name + */ + CANT_RESOLVE = 2, + /** + * Unable to resolve proxy host name + */ + CANT_RESOLVE_PROXY = 3, + /** + * Unable to connect to remote host + */ + CANT_CONNECT = 4, + /** + * Unable to connect to proxy + */ + CANT_CONNECT_PROXY = 5, + /** + * SSL/TLS negotiation failed + */ + SSL_FAILED = 6, + /** + * A network error occurred, or the other end + * closed the connection unexpectedly + */ + IO_ERROR = 7, + /** + * Malformed data (usually a programmer error) + */ + MALFORMED = 8, + /** + * Used internally + */ + TRY_AGAIN = 9, + /** + * There were too many redirections + */ + TOO_MANY_REDIRECTS = 10, + /** + * Used internally + */ + TLS_FAILED = 11, + /** + * 100 Continue (HTTP) + */ + CONTINUE = 100, + /** + * 101 Switching Protocols (HTTP) + */ + SWITCHING_PROTOCOLS = 101, + /** + * 102 Processing (WebDAV) + */ + PROCESSING = 102, + /** + * 200 Success (HTTP). Also used by many lower-level + * soup routines to indicate success. + */ + OK = 200, + /** + * 201 Created (HTTP) + */ + CREATED = 201, + /** + * 202 Accepted (HTTP) + */ + ACCEPTED = 202, + /** + * 203 Non-Authoritative Information + * (HTTP) + */ + NON_AUTHORITATIVE = 203, + /** + * 204 No Content (HTTP) + */ + NO_CONTENT = 204, + /** + * 205 Reset Content (HTTP) + */ + RESET_CONTENT = 205, + /** + * 206 Partial Content (HTTP) + */ + PARTIAL_CONTENT = 206, + /** + * 207 Multi-Status (WebDAV) + */ + MULTI_STATUS = 207, + /** + * 300 Multiple Choices (HTTP) + */ + MULTIPLE_CHOICES = 300, + /** + * 301 Moved Permanently (HTTP) + */ + MOVED_PERMANENTLY = 301, + /** + * 302 Found (HTTP) + */ + FOUND = 302, + /** + * 302 Moved Temporarily (old name, + * RFC 2068) + */ + MOVED_TEMPORARILY = 302, + /** + * 303 See Other (HTTP) + */ + SEE_OTHER = 303, + /** + * 304 Not Modified (HTTP) + */ + NOT_MODIFIED = 304, + /** + * 305 Use Proxy (HTTP) + */ + USE_PROXY = 305, + /** + * 306 [Unused] (HTTP) + */ + NOT_APPEARING_IN_THIS_PROTOCOL = 306, + /** + * 307 Temporary Redirect (HTTP) + */ + TEMPORARY_REDIRECT = 307, + PERMANENT_REDIRECT = 308, + /** + * 400 Bad Request (HTTP) + */ + BAD_REQUEST = 400, + /** + * 401 Unauthorized (HTTP) + */ + UNAUTHORIZED = 401, + /** + * 402 Payment Required (HTTP) + */ + PAYMENT_REQUIRED = 402, + /** + * 403 Forbidden (HTTP) + */ + FORBIDDEN = 403, + /** + * 404 Not Found (HTTP) + */ + NOT_FOUND = 404, + /** + * 405 Method Not Allowed (HTTP) + */ + METHOD_NOT_ALLOWED = 405, + /** + * 406 Not Acceptable (HTTP) + */ + NOT_ACCEPTABLE = 406, + /** + * 407 Proxy Authentication + * Required (HTTP) + */ + PROXY_AUTHENTICATION_REQUIRED = 407, + /** + * shorter alias for + * %SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED + */ + PROXY_UNAUTHORIZED = 407, + /** + * 408 Request Timeout (HTTP) + */ + REQUEST_TIMEOUT = 408, + /** + * 409 Conflict (HTTP) + */ + CONFLICT = 409, + /** + * 410 Gone (HTTP) + */ + GONE = 410, + /** + * 411 Length Required (HTTP) + */ + LENGTH_REQUIRED = 411, + /** + * 412 Precondition Failed (HTTP) + */ + PRECONDITION_FAILED = 412, + /** + * 413 Request Entity Too Large + * (HTTP) + */ + REQUEST_ENTITY_TOO_LARGE = 413, + /** + * 414 Request-URI Too Long (HTTP) + */ + REQUEST_URI_TOO_LONG = 414, + /** + * 415 Unsupported Media Type + * (HTTP) + */ + UNSUPPORTED_MEDIA_TYPE = 415, + /** + * 416 Requested Range + * Not Satisfiable (HTTP) + */ + REQUESTED_RANGE_NOT_SATISFIABLE = 416, + /** + * shorter alias for + * %SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE + */ + INVALID_RANGE = 416, + /** + * 417 Expectation Failed (HTTP) + */ + EXPECTATION_FAILED = 417, + /** + * 422 Unprocessable Entity + * (WebDAV) + */ + UNPROCESSABLE_ENTITY = 422, + /** + * 423 Locked (WebDAV) + */ + LOCKED = 423, + /** + * 424 Failed Dependency (WebDAV) + */ + FAILED_DEPENDENCY = 424, + /** + * 500 Internal Server Error + * (HTTP) + */ + INTERNAL_SERVER_ERROR = 500, + /** + * 501 Not Implemented (HTTP) + */ + NOT_IMPLEMENTED = 501, + /** + * 502 Bad Gateway (HTTP) + */ + BAD_GATEWAY = 502, + /** + * 503 Service Unavailable (HTTP) + */ + SERVICE_UNAVAILABLE = 503, + /** + * 504 Gateway Timeout (HTTP) + */ + GATEWAY_TIMEOUT = 504, + /** + * 505 HTTP Version Not + * Supported (HTTP) + */ + HTTP_VERSION_NOT_SUPPORTED = 505, + /** + * 507 Insufficient Storage + * (WebDAV) + */ + INSUFFICIENT_STORAGE = 507, + /** + * 510 Not Extended (RFC 2774) + */ + NOT_EXTENDED = 510, +} +alias SoupStatus Status; + +/** + * Error codes for %SOUP_TLD_ERROR. + * + * Since: 2.40 + */ +public enum SoupTLDError +{ + /** + * A hostname was syntactically + * invalid. + */ + INVALID_HOSTNAME = 0, + /** + * The passed-in "hostname" was + * actually an IP address (and thus has no base domain or + * public suffix). + */ + IS_IP_ADDRESS = 1, + /** + * The passed-in hostname + * did not have enough components. Eg, calling + * soup_tld_get_base_domain() on "co.uk". + */ + NOT_ENOUGH_DOMAINS = 2, + /** + * The passed-in hostname has + * no recognized public suffix. + */ + NO_BASE_DOMAIN = 3, + NO_PSL_DATA = 4, +} +alias SoupTLDError TLDError; + +/** + * Pre-defined close codes that can be passed to + * soup_websocket_connection_close() or received from + * soup_websocket_connection_get_close_code(). (However, other codes + * are also allowed.) + * + * Since: 2.50 + */ +public enum SoupWebsocketCloseCode +{ + /** + * a normal, non-error close + */ + NORMAL = 1000, + /** + * the client/server is going away + */ + GOING_AWAY = 1001, + /** + * a protocol error occurred + */ + PROTOCOL_ERROR = 1002, + /** + * the endpoint received data + * of a type that it does not support. + */ + UNSUPPORTED_DATA = 1003, + /** + * reserved value indicating that + * no close code was present; must not be sent. + */ + NO_STATUS = 1005, + /** + * reserved value indicating that + * the connection was closed abnormally; must not be sent. + */ + ABNORMAL = 1006, + /** + * the endpoint received data that + * was invalid (eg, non-UTF-8 data in a text message). + */ + BAD_DATA = 1007, + /** + * generic error code + * indicating some sort of policy violation. + */ + POLICY_VIOLATION = 1008, + /** + * the endpoint received a message + * that is too big to process. + */ + TOO_BIG = 1009, + /** + * the client is closing the + * connection because the server failed to negotiate a required + * extension. + */ + NO_EXTENSION = 1010, + /** + * the server is closing the + * connection because it was unable to fulfill the request. + */ + SERVER_ERROR = 1011, + /** + * reserved value indicating that + * the TLS handshake failed; must not be sent. + */ + TLS_HANDSHAKE = 1015, +} +alias SoupWebsocketCloseCode WebsocketCloseCode; + +/** + * The type of a #SoupWebsocketConnection. + * + * Since: 2.50 + */ +public enum SoupWebsocketConnectionType +{ + /** + * unknown/invalid connection + */ + UNKNOWN = 0, + /** + * a client-side connection + */ + CLIENT = 1, + /** + * a server-side connection + */ + SERVER = 2, +} +alias SoupWebsocketConnectionType WebsocketConnectionType; + +/** + * The type of data contained in a #SoupWebsocketConnection::message + * signal. + * + * Since: 2.50 + */ +public enum SoupWebsocketDataType +{ + /** + * UTF-8 text + */ + TEXT = 1, + /** + * binary data + */ + BINARY = 2, +} +alias SoupWebsocketDataType WebsocketDataType; + +/** + * WebSocket-related errors. + * + * Since: 2.50 + */ +public enum SoupWebsocketError +{ + /** + * a generic error + */ + FAILED = 0, + /** + * attempted to handshake with a + * server that does not appear to understand WebSockets. + */ + NOT_WEBSOCKET = 1, + /** + * the WebSocket handshake failed + * because some detail was invalid (eg, incorrect accept key). + */ + BAD_HANDSHAKE = 2, + /** + * the WebSocket handshake failed + * because the "Origin" header was not an allowed value. + */ + BAD_ORIGIN = 3, +} +alias SoupWebsocketError WebsocketError; + +/** + * The state of the WebSocket connection. + * + * Since: 2.50 + */ +public enum SoupWebsocketState +{ + /** + * the connection is ready to send messages + */ + OPEN = 1, + /** + * the connection is in the process of + * closing down; messages may be received, but not sent + */ + CLOSING = 2, + /** + * the connection is completely closed down + */ + CLOSED = 3, +} +alias SoupWebsocketState WebsocketState; + +public enum SoupXMLRPCError +{ + ARGUMENTS = 0, + RETVAL = 1, +} +alias SoupXMLRPCError XMLRPCError; + +/** + * Pre-defined XML-RPC fault codes from http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php. + * These are an extension, not part of the XML-RPC spec; you can't + * assume servers will use them. + */ +public enum SoupXMLRPCFault +{ + /** + * request was not + * well-formed + */ + PARSE_ERROR_NOT_WELL_FORMED = -32700, + /** + * request was in + * an unsupported encoding + */ + PARSE_ERROR_UNSUPPORTED_ENCODING = -32701, + /** + * request contained an invalid character + */ + PARSE_ERROR_INVALID_CHARACTER_FOR_ENCODING = -32702, + /** + * request was not + * valid XML-RPC + */ + SERVER_ERROR_INVALID_XML_RPC = -32600, + /** + * method + * not found + */ + SERVER_ERROR_REQUESTED_METHOD_NOT_FOUND = -32601, + /** + * invalid + * parameters + */ + SERVER_ERROR_INVALID_METHOD_PARAMETERS = -32602, + /** + * internal + * error + */ + SERVER_ERROR_INTERNAL_XML_RPC_ERROR = -32603, + /** + * start of reserved range for + * application error codes + */ + APPLICATION_ERROR = -32500, + /** + * start of reserved range for + * system error codes + */ + SYSTEM_ERROR = -32400, + /** + * start of reserved range for + * transport error codes + */ + TRANSPORT_ERROR = -32300, +} +alias SoupXMLRPCFault XMLRPCFault; + +struct SoupAddress +{ + GObject parent; +} + +struct SoupAddressClass +{ + GObjectClass parentClass; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupAuth +{ + GObject parent; + char* realm; +} + +struct SoupAuthBasic; + +struct SoupAuthClass +{ + GObjectClass parentClass; + const(char)* schemeName; + uint strength; + /** + * + * Params: + * auth = a #SoupAuth + * msg = the #SoupMessage @auth is being updated for + * authHeader = the WWW-Authenticate/Proxy-Authenticate header + * Returns: %TRUE if @auth is still a valid (but potentially + * unauthenticated) #SoupAuth. %FALSE if something about @auth_params + * could not be parsed or incorporated into @auth at all. + */ + extern(C) int function(SoupAuth* auth, SoupMessage* msg, GHashTable* authHeader) update; + /** + * + * Params: + * auth = a #SoupAuth + * sourceUri = the URI of the request that @auth was generated in + * response to. + * Returns: the list of + * paths, which can be freed with soup_auth_free_protection_space(). + */ + extern(C) GSList* function(SoupAuth* auth, SoupURI* sourceUri) getProtectionSpace; + /** */ + extern(C) void function(SoupAuth* auth, const(char)* username, const(char)* password) authenticate; + /** + * + * Params: + * auth = a #SoupAuth + * Returns: %TRUE if @auth has been given a username and password + */ + extern(C) int function(SoupAuth* auth) isAuthenticated; + /** + * + * Params: + * auth = a #SoupAuth + * msg = the #SoupMessage to be authorized + * Returns: the "Authorization" header, which must be freed. + */ + extern(C) char* function(SoupAuth* auth, SoupMessage* msg) getAuthorization; + /** + * + * Params: + * auth = a #SoupAuth + * msg = a #SoupMessage + * Returns: %TRUE if @auth is ready to make a request with. + */ + extern(C) int function(SoupAuth* auth, SoupMessage* msg) isReady; + /** + * + * Params: + * auth = a #SoupAuth + * Returns: %TRUE if @auth is able to accept credentials. + */ + extern(C) int function(SoupAuth* auth) canAuthenticate; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupAuthDigest; + +struct SoupAuthDomain +{ + GObject parent; +} + +struct SoupAuthDomainBasic +{ + SoupAuthDomain parent; +} + +struct SoupAuthDomainBasicClass +{ + SoupAuthDomainClass parentClass; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupAuthDomainClass +{ + GObjectClass parentClass; + /** */ + extern(C) char* function(SoupAuthDomain* domain, SoupMessage* msg, const(char)* header) accepts; + /** */ + extern(C) char* function(SoupAuthDomain* domain, SoupMessage* msg) challenge; + /** + * + * Params: + * domain = a #SoupAuthDomain + * msg = a #SoupMessage + * username = a username + * password = a password + * Returns: whether or not the message is authenticated + */ + extern(C) int function(SoupAuthDomain* domain, SoupMessage* msg, const(char)* username, const(char)* password) checkPassword; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupAuthDomainDigest +{ + SoupAuthDomain parent; +} + +struct SoupAuthDomainDigestClass +{ + SoupAuthDomainClass parentClass; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupAuthManager +{ + GObject parent; + SoupAuthManagerPrivate* priv; +} + +struct SoupAuthManagerClass +{ + GObjectClass parentClass; + /** */ + extern(C) void function(SoupAuthManager* manager, SoupMessage* msg, SoupAuth* auth, int retrying) authenticate; +} + +struct SoupAuthManagerPrivate; + +struct SoupAuthNTLM; + +struct SoupAuthNegotiate; + +struct SoupBuffer +{ + /** + * the data + */ + void* data; + /** + * length of @data + */ + size_t length; +} + +struct SoupCache +{ + GObject parentInstance; + SoupCachePrivate* priv; +} + +struct SoupCacheClass +{ + GObjectClass parentClass; + /** */ + extern(C) SoupCacheability function(SoupCache* cache, SoupMessage* msg) getCacheability; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; +} + +struct SoupCachePrivate; + +struct SoupClientContext; + +struct SoupConnection; + +struct SoupContentDecoder +{ + GObject parent; + SoupContentDecoderPrivate* priv; +} + +struct SoupContentDecoderClass +{ + GObjectClass parentClass; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; + /** */ + extern(C) void function() LibsoupReserved5; +} + +struct SoupContentDecoderPrivate; + +struct SoupContentSniffer +{ + GObject parent; + SoupContentSnifferPrivate* priv; +} + +struct SoupContentSnifferClass +{ + GObjectClass parentClass; + /** + * + * Params: + * sniffer = a #SoupContentSniffer + * msg = the message to sniff + * buffer = a buffer containing the start of @msg's response body + * params = return + * location for Content-Type parameters (eg, "charset"), or %NULL + * Returns: the sniffed Content-Type of @buffer; this will never be %NULL, + * but may be "application/octet-stream". + */ + extern(C) char* function(SoupContentSniffer* sniffer, SoupMessage* msg, SoupBuffer* buffer, GHashTable** params) sniff; + /** + * + * Params: + * sniffer = a #SoupContentSniffer + * Returns: the number of bytes to sniff + */ + extern(C) size_t function(SoupContentSniffer* sniffer) getBufferSize; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; + /** */ + extern(C) void function() LibsoupReserved5; +} + +struct SoupContentSnifferPrivate; + +struct SoupCookie +{ + /** + * the cookie name + */ + char* name; + /** + * the cookie value + */ + char* value; + /** + * the "domain" attribute, or else the hostname that the + * cookie came from. + */ + char* domain; + /** + * the "path" attribute, or %NULL + */ + char* path; + /** + * the cookie expiration time, or %NULL for a session cookie + */ + SoupDate* expires; + /** + * %TRUE if the cookie should only be tranferred over SSL + */ + bool secure; + /** + * %TRUE if the cookie should not be exposed to scripts + */ + bool httpOnly; +} + +struct SoupCookieJar +{ + GObject parent; +} + +struct SoupCookieJarClass +{ + GObjectClass parentClass; + /** */ + extern(C) void function(SoupCookieJar* jar) save; + /** + * + * Params: + * jar = a #SoupCookieJar + * Returns: %TRUE if @jar storage is persistent or %FALSE otherwise. + */ + extern(C) int function(SoupCookieJar* jar) isPersistent; + /** */ + extern(C) void function(SoupCookieJar* jar, SoupCookie* oldCookie, SoupCookie* newCookie) changed; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; +} + +struct SoupCookieJarDB +{ + SoupCookieJar parent; +} + +struct SoupCookieJarDBClass +{ + SoupCookieJarClass parentClass; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupCookieJarText +{ + SoupCookieJar parent; +} + +struct SoupCookieJarTextClass +{ + SoupCookieJarClass parentClass; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupDate +{ + /** + * the year, 1 to 9999 + */ + int year; + /** + * the month, 1 to 12 + */ + int month; + /** + * day of the month, 1 to 31 + */ + int day; + /** + * hour of the day, 0 to 23 + */ + int hour; + /** + * minute, 0 to 59 + */ + int minute; + /** + * second, 0 to 59 (or up to 61 in the case of leap seconds) + */ + int second; + /** + * %TRUE if the date is in UTC + */ + bool utc; + /** + * offset from UTC + */ + int offset; +} + +struct SoupHSTSEnforcer +{ + GObject parent; + SoupHSTSEnforcerPrivate* priv; +} + +struct SoupHSTSEnforcerClass +{ + /** + * The parent class. + */ + GObjectClass parentClass; + /** + * + * Params: + * hstsEnforcer = a #SoupHSTSEnforcer + * Returns: %TRUE if @hsts_enforcer storage is persistent or %FALSE otherwise. + */ + extern(C) int function(SoupHSTSEnforcer* hstsEnforcer) isPersistent; + /** + * + * Params: + * hstsEnforcer = a #SoupHSTSEnforcer + * domain = a domain. + * Returns: %TRUE if access to @domain should happen over HTTPS, false + * otherwise. + */ + extern(C) int function(SoupHSTSEnforcer* hstsEnforcer, const(char)* domain) hasValidPolicy; + /** */ + extern(C) void function(SoupHSTSEnforcer* enforcer, SoupHSTSPolicy* oldPolicy, SoupHSTSPolicy* newPolicy) changed; + /** */ + extern(C) void function(SoupHSTSEnforcer* enforcer, SoupMessage* message) hstsEnforced; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupHSTSEnforcerDB +{ + SoupHSTSEnforcer parent; + SoupHSTSEnforcerDBPrivate* priv; +} + +struct SoupHSTSEnforcerDBClass +{ + SoupHSTSEnforcerClass parentClass; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupHSTSEnforcerDBPrivate; + +struct SoupHSTSEnforcerPrivate; + +struct SoupHSTSPolicy +{ + /** + * The domain or hostname that the policy applies to + */ + char* domain; + /** + * The maximum age, in seconds, that the policy is valid + */ + ulong maxAge; + /** + * the policy expiration time, or %NULL for a permanent session policy + */ + SoupDate* expires; + /** + * %TRUE if the policy applies on subdomains + */ + bool includeSubdomains; +} + +struct SoupLogger +{ + GObject parent; +} + +struct SoupLoggerClass +{ + GObjectClass parentClass; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupMessage +{ + GObject parent; + /** + * the HTTP method + */ + const(char)* method; + /** + * the HTTP status code + */ + uint statusCode; + /** + * the status phrase associated with @status_code + */ + char* reasonPhrase; + /** + * the request body + */ + SoupMessageBody* requestBody; + /** + * the request headers + */ + SoupMessageHeaders* requestHeaders; + /** + * the response body + */ + SoupMessageBody* responseBody; + /** + * the response headers + */ + SoupMessageHeaders* responseHeaders; +} + +struct SoupMessageBody +{ + /** + * the data + */ + const(char)* data; + /** + * length of @data + */ + long length; +} + +struct SoupMessageClass +{ + GObjectClass parentClass; + /** */ + extern(C) void function(SoupMessage* msg) wroteInformational; + /** */ + extern(C) void function(SoupMessage* msg) wroteHeaders; + /** */ + extern(C) void function(SoupMessage* msg) wroteChunk; + /** */ + extern(C) void function(SoupMessage* msg) wroteBody; + /** */ + extern(C) void function(SoupMessage* msg) gotInformational; + /** */ + extern(C) void function(SoupMessage* msg) gotHeaders; + /** */ + extern(C) void function(SoupMessage* msg, SoupBuffer* chunk) gotChunk; + /** */ + extern(C) void function(SoupMessage* msg) gotBody; + /** */ + extern(C) void function(SoupMessage* msg) restarted; + /** */ + extern(C) void function(SoupMessage* msg) finished; + /** */ + extern(C) void function(SoupMessage* msg) starting; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; +} + +struct SoupMessageHeaders; + +struct SoupMessageHeadersIter +{ + void*[3] dummy; +} + +struct SoupMessageQueue; + +struct SoupMessageQueueItem; + +struct SoupMultipart; + +struct SoupMultipartInputStream +{ + GFilterInputStream parentInstance; + SoupMultipartInputStreamPrivate* priv; +} + +struct SoupMultipartInputStreamClass +{ + GFilterInputStreamClass parentClass; +} + +struct SoupMultipartInputStreamPrivate; + +struct SoupPasswordManager; + +struct SoupPasswordManagerInterface +{ + GTypeInterface base; + /** */ + extern(C) void function(SoupPasswordManager* passwordManager, SoupMessage* msg, SoupAuth* auth, int retrying, GMainContext* asyncContext, GCancellable* cancellable, SoupPasswordManagerCallback callback, void* userData) getPasswordsAsync; + /** */ + extern(C) void function(SoupPasswordManager* passwordManager, SoupMessage* msg, SoupAuth* auth, GCancellable* cancellable) getPasswordsSync; +} + +struct SoupProxyResolver; + +struct SoupProxyResolverDefault +{ + GObject parent; +} + +struct SoupProxyResolverDefaultClass +{ + GObjectClass parentClass; +} + +struct SoupProxyResolverInterface +{ + GTypeInterface base; + /** */ + extern(C) void function(SoupProxyResolver* proxyResolver, SoupMessage* msg, GMainContext* asyncContext, GCancellable* cancellable, SoupProxyResolverCallback callback, void* userData) getProxyAsync; + /** */ + extern(C) uint function(SoupProxyResolver* proxyResolver, SoupMessage* msg, GCancellable* cancellable, SoupAddress** addr) getProxySync; +} + +struct SoupProxyURIResolver; + +struct SoupProxyURIResolverInterface +{ + GTypeInterface base; + /** */ + extern(C) void function(SoupProxyURIResolver* proxyUriResolver, SoupURI* uri, GMainContext* asyncContext, GCancellable* cancellable, SoupProxyURIResolverCallback callback, void* userData) getProxyUriAsync; + /** + * + * Params: + * proxyUriResolver = the #SoupProxyURIResolver + * uri = the #SoupURI you want a proxy for + * cancellable = a #GCancellable, or %NULL + * proxyUri = on return, will contain the proxy URI + * Returns: %SOUP_STATUS_OK if successful, or a transport-level + * error. + */ + extern(C) uint function(SoupProxyURIResolver* proxyUriResolver, SoupURI* uri, GCancellable* cancellable, SoupURI** proxyUri) getProxyUriSync; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +/** + * Represents a byte range as used in the Range header. + * + * If @end is non-negative, then @start and @end represent the bounds + * of of the range, counting from 0. (Eg, the first 500 bytes would be + * represented as @start = 0 and @end = 499.) + * + * If @end is -1 and @start is non-negative, then this represents a + * range starting at @start and ending with the last byte of the + * requested resource body. (Eg, all but the first 500 bytes would be + * @start = 500, and @end = -1.) + * + * If @end is -1 and @start is negative, then it represents a "suffix + * range", referring to the last -@start bytes of the resource body. + * (Eg, the last 500 bytes would be @start = -500 and @end = -1.) + * + * Since: 2.26 + */ +struct SoupRange +{ + /** + * the start of the range + */ + long start; + /** + * the end of the range + */ + long end; +} + +struct SoupRequest +{ + GObject parent; + SoupRequestPrivate* priv; +} + +struct SoupRequestClass +{ + GObjectClass parent; + char** schemes; + /** */ + extern(C) int function(SoupRequest* reqBase, SoupURI* uri, GError** err) checkUri; + /** + * + * Params: + * request = a #SoupRequest + * cancellable = a #GCancellable or %NULL + * Returns: a #GInputStream that can be used to + * read from the URI pointed to by @request. + * + * Throws: GException on failure. + */ + extern(C) GInputStream* function(SoupRequest* request, GCancellable* cancellable, GError** err) send; + /** */ + extern(C) void function(SoupRequest* request, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) sendAsync; + /** + * + * Params: + * request = a #SoupRequest + * result = the #GAsyncResult + * Returns: a #GInputStream that can be used to + * read from the URI pointed to by @request. + * + * Throws: GException on failure. + */ + extern(C) GInputStream* function(SoupRequest* request, GAsyncResult* result, GError** err) sendFinish; + /** + * + * Params: + * request = a #SoupRequest + * Returns: the length of the data represented by @request, + * or -1 if not known. + */ + extern(C) long function(SoupRequest* request) getContentLength; + /** + * + * Params: + * request = a #SoupRequest + * Returns: the type of the data represented by + * @request, or %NULL if not known. + */ + extern(C) const(char)* function(SoupRequest* request) getContentType; +} + +struct SoupRequestData +{ + SoupRequest parent; + SoupRequestDataPrivate* priv; +} + +struct SoupRequestDataClass +{ + SoupRequestClass parent; +} + +struct SoupRequestDataPrivate; + +struct SoupRequestFile +{ + SoupRequest parent; + SoupRequestFilePrivate* priv; +} + +struct SoupRequestFileClass +{ + SoupRequestClass parent; +} + +struct SoupRequestFilePrivate; + +struct SoupRequestHTTP +{ + SoupRequest parent; + SoupRequestHTTPPrivate* priv; +} + +struct SoupRequestHTTPClass +{ + SoupRequestClass parent; +} + +struct SoupRequestHTTPPrivate; + +struct SoupRequestPrivate; + +struct SoupRequester +{ + GObject parent; + SoupRequesterPrivate* priv; +} + +struct SoupRequesterClass +{ + GObjectClass parentClass; +} + +struct SoupRequesterPrivate; + +struct SoupServer +{ + GObject parent; +} + +struct SoupServerClass +{ + GObjectClass parentClass; + /** */ + extern(C) void function(SoupServer* server, SoupMessage* msg, SoupClientContext* client) requestStarted; + /** */ + extern(C) void function(SoupServer* server, SoupMessage* msg, SoupClientContext* client) requestRead; + /** */ + extern(C) void function(SoupServer* server, SoupMessage* msg, SoupClientContext* client) requestFinished; + /** */ + extern(C) void function(SoupServer* server, SoupMessage* msg, SoupClientContext* client) requestAborted; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupSession +{ + GObject parent; +} + +struct SoupSessionAsync +{ + SoupSession parent; +} + +struct SoupSessionAsyncClass +{ + SoupSessionClass parentClass; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupSessionClass +{ + GObjectClass parentClass; + /** */ + extern(C) void function(SoupSession* session, SoupMessage* msg, SoupSocket* socket) requestStarted; + /** */ + extern(C) void function(SoupSession* session, SoupMessage* msg, SoupAuth* auth, int retrying) authenticate; + /** */ + extern(C) void function(SoupSession* session, SoupMessage* msg, SoupSessionCallback callback, void* userData) queueMessage; + /** */ + extern(C) void function(SoupSession* session, SoupMessage* msg) requeueMessage; + /** + * + * Params: + * session = a #SoupSession + * msg = the message to send + * Returns: the HTTP status code of the response + */ + extern(C) uint function(SoupSession* session, SoupMessage* msg) sendMessage; + /** */ + extern(C) void function(SoupSession* session, SoupMessage* msg, uint statusCode) cancelMessage; + /** */ + extern(C) void function(SoupSession* session, SoupMessage* msg, SoupAuth* auth, int retrying) authRequired; + /** */ + extern(C) void function(SoupSession* session) flushQueue; + /** */ + extern(C) void function(SoupSession* session) kick; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupSessionFeature; + +/** + * The interface implemented by #SoupSessionFeatures. + * + * Since: 2.24 + */ +struct SoupSessionFeatureInterface +{ + /** + * The parent interface. + */ + GTypeInterface parent; + /** */ + extern(C) void function(SoupSessionFeature* feature, SoupSession* session) attach; + /** */ + extern(C) void function(SoupSessionFeature* feature, SoupSession* session) detach; + /** */ + extern(C) void function(SoupSessionFeature* feature, SoupSession* session, SoupMessage* msg) requestQueued; + /** */ + extern(C) void function(SoupSessionFeature* feature, SoupSession* session, SoupMessage* msg, SoupSocket* socket) requestStarted; + /** */ + extern(C) void function(SoupSessionFeature* feature, SoupSession* session, SoupMessage* msg) requestUnqueued; + /** + * + * Params: + * feature = the "base" feature + * type = the #GType of a "sub-feature" + * Returns: %TRUE if @feature accepted @type as a subfeature. + */ + extern(C) int function(SoupSessionFeature* feature, GType type) addFeature; + /** + * + * Params: + * feature = the "base" feature + * type = the #GType of a "sub-feature" + * Returns: %TRUE if @type was removed from @feature + */ + extern(C) int function(SoupSessionFeature* feature, GType type) removeFeature; + /** + * + * Params: + * feature = the "base" feature + * type = the #GType of a "sub-feature" + * Returns: %TRUE if @feature has a subfeature of type @type + */ + extern(C) int function(SoupSessionFeature* feature, GType type) hasFeature; +} + +struct SoupSessionSync +{ + SoupSession parent; +} + +struct SoupSessionSyncClass +{ + SoupSessionClass parentClass; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupSocket +{ + GObject parent; +} + +struct SoupSocketClass +{ + GObjectClass parentClass; + /** */ + extern(C) void function(SoupSocket* sock) readable; + /** */ + extern(C) void function(SoupSocket* sock) writable; + /** */ + extern(C) void function(SoupSocket* sock) disconnected; + /** */ + extern(C) void function(SoupSocket* listener, SoupSocket* newSock) newConnection; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupURI +{ + /** + * the URI scheme (eg, "http") + */ + const(char)* scheme; + /** + * a username, or %NULL + */ + char* user; + /** + * a password, or %NULL + */ + char* password; + /** + * the hostname or IP address, or %NULL + */ + char* host; + /** + * the port number on @host + */ + uint port; + /** + * the path on @host + */ + char* path; + /** + * a query for @path, or %NULL + */ + char* query; + /** + * a fragment identifier within @path, or %NULL + */ + char* fragment; +} + +struct SoupWebsocketConnection +{ + GObject parent; + SoupWebsocketConnectionPrivate* pv; +} + +/** + * The abstract base class for #SoupWebsocketConnection + * + * Since: 2.50 + */ +struct SoupWebsocketConnectionClass +{ + GObjectClass parent; + /** */ + extern(C) void function(SoupWebsocketConnection* self, SoupWebsocketDataType type, GBytes* message) message; + /** */ + extern(C) void function(SoupWebsocketConnection* self, GError* error) error; + /** */ + extern(C) void function(SoupWebsocketConnection* self) closing; + /** */ + extern(C) void function(SoupWebsocketConnection* self) closed; + /** */ + extern(C) void function(SoupWebsocketConnection* self, GBytes* message) pong; +} + +struct SoupWebsocketConnectionPrivate; + +struct SoupWebsocketExtension +{ + GObject parent; +} + +/** + * The class structure for the SoupWebsocketExtension. + * + * Since: 2.68 + */ +struct SoupWebsocketExtensionClass +{ + /** + * the parent class + */ + GObjectClass parentClass; + const(char)* name; + /** + * + * Params: + * extension = a #SoupWebsocketExtension + * connectionType = either %SOUP_WEBSOCKET_CONNECTION_CLIENT or %SOUP_WEBSOCKET_CONNECTION_SERVER + * params = the parameters, or %NULL + * Returns: %TRUE if extension could be configured with the given parameters, or %FALSE otherwise + * + * Throws: GException on failure. + */ + extern(C) int function(SoupWebsocketExtension* extension, SoupWebsocketConnectionType connectionType, GHashTable* params, GError** err) configure; + /** + * + * Params: + * extension = a #SoupWebsocketExtension + * Returns: a new allocated string with the parameters + */ + extern(C) char* function(SoupWebsocketExtension* extension) getRequestParams; + /** + * + * Params: + * extension = a #SoupWebsocketExtension + * Returns: a new allocated string with the parameters + */ + extern(C) char* function(SoupWebsocketExtension* extension) getResponseParams; + /** + * + * Params: + * extension = a #SoupWebsocketExtension + * header = the message header + * payload = the payload data + * Returns: the message payload data, or %NULL in case of error + * + * Throws: GException on failure. + */ + extern(C) GBytes* function(SoupWebsocketExtension* extension, ubyte* header, GBytes* payload, GError** err) processOutgoingMessage; + /** + * + * Params: + * extension = a #SoupWebsocketExtension + * header = the message header + * payload = the payload data + * Returns: the message payload data, or %NULL in case of error + * + * Throws: GException on failure. + */ + extern(C) GBytes* function(SoupWebsocketExtension* extension, ubyte* header, GBytes* payload, GError** err) processIncomingMessage; + /** */ + extern(C) void function() LibsoupReserved1; + /** */ + extern(C) void function() LibsoupReserved2; + /** */ + extern(C) void function() LibsoupReserved3; + /** */ + extern(C) void function() LibsoupReserved4; +} + +struct SoupWebsocketExtensionDeflate +{ + SoupWebsocketExtension parent; +} + +struct SoupWebsocketExtensionDeflateClass +{ + SoupWebsocketExtensionClass parentClass; +} + +struct SoupWebsocketExtensionManager +{ + GObject parent; +} + +struct SoupWebsocketExtensionManagerClass +{ + GObjectClass parentClass; +} + +struct SoupXMLRPCParams; + +/** + * The callback function passed to soup_address_resolve_async(). + * + * Params: + * addr = the #SoupAddress that was resolved + * status = %SOUP_STATUS_OK, %SOUP_STATUS_CANT_RESOLVE, or + * %SOUP_STATUS_CANCELLED + * userData = the user data that was passed to + * soup_address_resolve_async() + */ +public alias extern(C) void function(SoupAddress* addr, uint status, void* userData) SoupAddressCallback; + +/** + * Callback used by #SoupAuthDomainBasic for authentication purposes. + * The application should verify that @username and @password and valid + * and return %TRUE or %FALSE. + * + * If you are maintaining your own password database (rather than + * using the password to authenticate against some other system like + * PAM or a remote server), you should make sure you know what you are + * doing. In particular, don't store cleartext passwords, or + * easily-computed hashes of cleartext passwords, even if you don't + * care that much about the security of your server, because users + * will frequently use the same password for multiple sites, and so + * compromising any site with a cleartext (or easily-cracked) password + * database may give attackers access to other more-interesting sites + * as well. + * + * Params: + * domain = the domain + * msg = the message being authenticated + * username = the username provided by the client + * password = the password provided by the client + * userData = the data passed to soup_auth_domain_basic_set_auth_callback() + * + * Returns: %TRUE if @username and @password are valid + */ +public alias extern(C) int function(SoupAuthDomain* domain, SoupMessage* msg, const(char)* username, const(char)* password, void* userData) SoupAuthDomainBasicAuthCallback; + +/** + * Callback used by #SoupAuthDomainDigest for authentication purposes. + * The application should look up @username in its password database, + * and return the corresponding encoded password (see + * soup_auth_domain_digest_encode_password()). + * + * Params: + * domain = the domain + * msg = the message being authenticated + * username = the username provided by the client + * userData = the data passed to soup_auth_domain_digest_set_auth_callback() + * + * Returns: the encoded password, or %NULL if + * @username is not a valid user. @domain will free the password when + * it is done with it. + */ +public alias extern(C) char* function(SoupAuthDomain* domain, SoupMessage* msg, const(char)* username, void* userData) SoupAuthDomainDigestAuthCallback; + +/** + * The prototype for a #SoupAuthDomain filter; see + * soup_auth_domain_set_filter() for details. + * + * Params: + * domain = a #SoupAuthDomain + * msg = a #SoupMessage + * userData = the data passed to soup_auth_domain_set_filter() + * + * Returns: %TRUE if @msg requires authentication, %FALSE if not. + */ +public alias extern(C) int function(SoupAuthDomain* domain, SoupMessage* msg, void* userData) SoupAuthDomainFilter; + +/** + * The prototype for a #SoupAuthDomain generic authentication callback. + * + * The callback should look up the user's password, call + * soup_auth_domain_check_password(), and use the return value from + * that method as its own return value. + * + * In general, for security reasons, it is preferable to use the + * auth-domain-specific auth callbacks (eg, + * #SoupAuthDomainBasicAuthCallback and + * #SoupAuthDomainDigestAuthCallback), because they don't require + * keeping a cleartext password database. Most users will use the same + * password for many different sites, meaning if any site with a + * cleartext password database is compromised, accounts on other + * servers might be compromised as well. For many of the cases where + * #SoupServer is used, this is not really relevant, but it may still + * be worth considering. + * + * Params: + * domain = a #SoupAuthDomain + * msg = the #SoupMessage being authenticated + * username = the username from @msg + * userData = the data passed to + * soup_auth_domain_set_generic_auth_callback() + * + * Returns: %TRUE if @msg is authenticated, %FALSE if not. + */ +public alias extern(C) int function(SoupAuthDomain* domain, SoupMessage* msg, const(char)* username, void* userData) SoupAuthDomainGenericAuthCallback; + +/** + * The prototype for a chunk allocation callback. This should allocate + * a new #SoupBuffer and return it for the I/O layer to read message + * body data off the network into. + * + * If @max_len is non-0, it indicates the maximum number of bytes that + * could be read, based on what is known about the message size. Note + * that this might be a very large number, and you should not simply + * try to allocate that many bytes blindly. If @max_len is 0, that + * means that libsoup does not know how many bytes remain to be read, + * and the allocator should return a buffer of a size that it finds + * convenient. + * + * If the allocator returns %NULL, the message will be paused. It is + * up to the application to make sure that it gets unpaused when it + * becomes possible to allocate a new buffer. + * + * Deprecated: Use #SoupRequest if you want to read into your + * own buffers. + * + * Params: + * msg = the #SoupMessage the chunk is being allocated for + * maxLen = the maximum length that will be read, or 0. + * userData = the data passed to soup_message_set_chunk_allocator() + * + * Returns: the new buffer (or %NULL) + */ +public alias extern(C) SoupBuffer* function(SoupMessage* msg, size_t maxLen, void* userData) SoupChunkAllocator; + +/** + * The prototype for a logging filter. The filter callback will be + * invoked for each request or response, and should analyze it and + * return a #SoupLoggerLogLevel value indicating how much of the + * message to log. Eg, it might choose between %SOUP_LOGGER_LOG_BODY + * and %SOUP_LOGGER_LOG_HEADERS depending on the Content-Type. + * + * Params: + * logger = the #SoupLogger + * msg = the message being logged + * userData = the data passed to soup_logger_set_request_filter() + * or soup_logger_set_response_filter() + * + * Returns: a #SoupLoggerLogLevel value indicating how much of + * the message to log + */ +public alias extern(C) SoupLoggerLogLevel function(SoupLogger* logger, SoupMessage* msg, void* userData) SoupLoggerFilter; + +/** + * The prototype for a custom printing callback. + * + * @level indicates what kind of information is being printed. Eg, it + * will be %SOUP_LOGGER_LOG_HEADERS if @data is header data. + * + * @direction is either '<', '>', or ' ', and @data is the single line + * to print; the printer is expected to add a terminating newline. + * + * To get the effect of the default printer, you would do: + * + * + * printf ("%c %s\n", direction, data); + * + * + * Params: + * logger = the #SoupLogger + * level = the level of the information being printed. + * direction = a single-character prefix to @data + * data = data to print + * userData = the data passed to soup_logger_set_printer() + */ +public alias extern(C) void function(SoupLogger* logger, SoupLoggerLogLevel level, char direction, const(char)* data, void* userData) SoupLoggerPrinter; + +/** + * The callback passed to soup_message_headers_foreach(). + * + * Params: + * name = the header name + * value = the header value + * userData = the data passed to soup_message_headers_foreach() + */ +public alias extern(C) void function(const(char)* name, const(char)* value, void* userData) SoupMessageHeadersForeachFunc; + +/** */ +public alias extern(C) void function(SoupPasswordManager* passwordManager, SoupMessage* msg, SoupAuth* auth, int retrying, void* userData) SoupPasswordManagerCallback; + +/** + * + * + * Deprecated: Use SoupProxyURIResolver instead + */ +public alias extern(C) void function(SoupProxyResolver* proxyResolver, SoupMessage* msg, uint arg, SoupAddress* addr, void* userData) SoupProxyResolverCallback; + +/** + * Callback for soup_proxy_uri_resolver_get_proxy_uri_async() + * + * Params: + * resolver = the #SoupProxyURIResolver + * status = a #SoupStatus + * proxyUri = the resolved proxy URI, or %NULL + * userData = data passed to soup_proxy_uri_resolver_get_proxy_uri_async() + */ +public alias extern(C) void function(SoupProxyURIResolver* resolver, uint status, SoupURI* proxyUri, void* userData) SoupProxyURIResolverCallback; + +/** + * A callback used to handle requests to a #SoupServer. + * + * @path and @query contain the likewise-named components of the + * Request-URI, subject to certain assumptions. By default, + * #SoupServer decodes all percent-encoding in the URI path, such that + * "/foo%2Fbar" is treated the same as "/foo/bar". If your + * server is serving resources in some non-POSIX-filesystem namespace, + * you may want to distinguish those as two distinct paths. In that + * case, you can set the %SOUP_SERVER_RAW_PATHS property when creating + * the #SoupServer, and it will leave those characters undecoded. (You + * may want to call soup_uri_normalize() to decode any percent-encoded + * characters that you aren't handling specially.) + * + * @query contains the query component of the Request-URI parsed + * according to the rules for HTML form handling. Although this is the + * only commonly-used query string format in HTTP, there is nothing + * that actually requires that HTTP URIs use that format; if your + * server needs to use some other format, you can just ignore @query, + * and call soup_message_get_uri() and parse the URI's query field + * yourself. + * + * See soup_server_add_handler() and soup_server_add_early_handler() + * for details of what handlers can/should do. + * + * Params: + * server = the #SoupServer + * msg = the message being processed + * path = the path component of @msg's Request-URI + * query = the parsed query + * component of @msg's Request-URI + * client = additional contextual information about the client + * userData = the data passed to soup_server_add_handler() or + * soup_server_add_early_handler(). + */ +public alias extern(C) void function(SoupServer* server, SoupMessage* msg, const(char)* path, GHashTable* query, SoupClientContext* client, void* userData) SoupServerCallback; + +/** + * A callback used to handle WebSocket requests to a #SoupServer. The + * callback will be invoked after sending the handshake response back + * to the client (and is only invoked if the handshake was + * successful). + * + * @path contains the path of the Request-URI, subject to the same + * rules as #SoupServerCallback (qv). + * + * Params: + * server = the #SoupServer + * connection = the newly created WebSocket connection + * path = the path component of @msg's Request-URI + * client = additional contextual information about the client + * userData = the data passed to @soup_server_add_handler + */ +public alias extern(C) void function(SoupServer* server, SoupWebsocketConnection* connection, const(char)* path, SoupClientContext* client, void* userData) SoupServerWebsocketCallback; + +/** + * Prototype for the callback passed to soup_session_queue_message(), + * qv. + * + * Params: + * session = the session + * msg = the message that has finished + * userData = the data passed to soup_session_queue_message + */ +public alias extern(C) void function(SoupSession* session, SoupMessage* msg, void* userData) SoupSessionCallback; + +/** + * Prototype for the progress callback passed to soup_session_connect_async(). + * + * Params: + * session = the #SoupSession + * event = a #GSocketClientEvent + * connection = the current state of the network connection + * userData = the data passed to soup_session_connect_async(). + * + * Since: 2.62 + */ +public alias extern(C) void function(SoupSession* session, GSocketClientEvent event, GIOStream* connection, void* userData) SoupSessionConnectProgressCallback; + +/** + * The callback function passed to soup_socket_connect_async(). + * + * Params: + * sock = the #SoupSocket + * status = an HTTP status code indicating success or failure + * userData = the data passed to soup_socket_connect_async() + */ +public alias extern(C) void function(SoupSocket* sock, uint status, void* userData) SoupSocketCallback; +version ( Windows ) { + public import core.sys.windows.winsock2 : sockaddr; +} +else { + public import core.sys.posix.sys.socket : sockaddr; +} + +/** + * This can be passed to any #SoupAddress method that expects a port, + * to indicate that you don't care what port is used. + */ +enum ADDRESS_ANY_PORT = 0; +alias SOUP_ADDRESS_ANY_PORT = ADDRESS_ANY_PORT; + +/** + * Alias for the #SoupAddress:family property. (The + * #SoupAddressFamily for this address.) + */ +enum ADDRESS_FAMILY = "family"; +alias SOUP_ADDRESS_FAMILY = ADDRESS_FAMILY; + +/** + * Alias for the #SoupAddress:name property. (The hostname for + * this address.) + */ +enum ADDRESS_NAME = "name"; +alias SOUP_ADDRESS_NAME = ADDRESS_NAME; + +/** + * An alias for the #SoupAddress:physical property. (The + * stringified IP address for this address.) + */ +enum ADDRESS_PHYSICAL = "physical"; +alias SOUP_ADDRESS_PHYSICAL = ADDRESS_PHYSICAL; + +/** + * An alias for the #SoupAddress:port property. (The port for + * this address.) + */ +enum ADDRESS_PORT = "port"; +alias SOUP_ADDRESS_PORT = ADDRESS_PORT; + +/** + * Alias for the #SoupAddress:protocol property. (The URI scheme + * used with this address.) + */ +enum ADDRESS_PROTOCOL = "protocol"; +alias SOUP_ADDRESS_PROTOCOL = ADDRESS_PROTOCOL; + +/** + * An alias for the #SoupAddress:sockaddr property. (A pointer + * to the struct sockaddr for this address.) + */ +enum ADDRESS_SOCKADDR = "sockaddr"; +alias SOUP_ADDRESS_SOCKADDR = ADDRESS_SOCKADDR; + +/** + * Alias for the #SoupAuthDomain:add-path property. (Shortcut + * for calling soup_auth_domain_add_path().) + */ +enum AUTH_DOMAIN_ADD_PATH = "add-path"; +alias SOUP_AUTH_DOMAIN_ADD_PATH = AUTH_DOMAIN_ADD_PATH; + +/** + * Alias for the #SoupAuthDomainBasic:auth-callback property. + * (The #SoupAuthDomainBasicAuthCallback.) + */ +enum AUTH_DOMAIN_BASIC_AUTH_CALLBACK = "auth-callback"; +alias SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK = AUTH_DOMAIN_BASIC_AUTH_CALLBACK; + +/** + * Alias for the #SoupAuthDomainBasic:auth-data property. + * (The data to pass to the #SoupAuthDomainBasicAuthCallback.) + */ +enum AUTH_DOMAIN_BASIC_AUTH_DATA = "auth-data"; +alias SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA = AUTH_DOMAIN_BASIC_AUTH_DATA; + +/** + * Alias for the #SoupAuthDomainDigest:auth-callback property. + * (The #SoupAuthDomainDigestAuthCallback.) + */ +enum AUTH_DOMAIN_DIGEST_AUTH_CALLBACK = "auth-callback"; +alias SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK = AUTH_DOMAIN_DIGEST_AUTH_CALLBACK; + +/** + * Alias for the #SoupAuthDomainDigest:auth-callback property. + * (The #SoupAuthDomainDigestAuthCallback.) + */ +enum AUTH_DOMAIN_DIGEST_AUTH_DATA = "auth-data"; +alias SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA = AUTH_DOMAIN_DIGEST_AUTH_DATA; + +/** + * Alias for the #SoupAuthDomain:filter property. (The + * #SoupAuthDomainFilter for the domain.) + */ +enum AUTH_DOMAIN_FILTER = "filter"; +alias SOUP_AUTH_DOMAIN_FILTER = AUTH_DOMAIN_FILTER; + +/** + * Alias for the #SoupAuthDomain:filter-data property. (Data + * to pass to the #SoupAuthDomainFilter.) + */ +enum AUTH_DOMAIN_FILTER_DATA = "filter-data"; +alias SOUP_AUTH_DOMAIN_FILTER_DATA = AUTH_DOMAIN_FILTER_DATA; + +/** + * Alias for the #SoupAuthDomain:generic-auth-callback property. + * (The #SoupAuthDomainGenericAuthCallback.) + */ +enum AUTH_DOMAIN_GENERIC_AUTH_CALLBACK = "generic-auth-callback"; +alias SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK = AUTH_DOMAIN_GENERIC_AUTH_CALLBACK; + +/** + * Alias for the #SoupAuthDomain:generic-auth-data property. + * (The data to pass to the #SoupAuthDomainGenericAuthCallback.) + */ +enum AUTH_DOMAIN_GENERIC_AUTH_DATA = "generic-auth-data"; +alias SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA = AUTH_DOMAIN_GENERIC_AUTH_DATA; + +/** + * Alias for the #SoupAuthDomain:proxy property. (Whether or + * not this is a proxy auth domain.) + */ +enum AUTH_DOMAIN_PROXY = "proxy"; +alias SOUP_AUTH_DOMAIN_PROXY = AUTH_DOMAIN_PROXY; + +/** + * Alias for the #SoupAuthDomain:realm property. (The realm of + * this auth domain.) + */ +enum AUTH_DOMAIN_REALM = "realm"; +alias SOUP_AUTH_DOMAIN_REALM = AUTH_DOMAIN_REALM; + +/** + * Alias for the #SoupAuthDomain:remove-path property. + * (Shortcut for calling soup_auth_domain_remove_path().) + */ +enum AUTH_DOMAIN_REMOVE_PATH = "remove-path"; +alias SOUP_AUTH_DOMAIN_REMOVE_PATH = AUTH_DOMAIN_REMOVE_PATH; + +/** + * An alias for the #SoupAuth:host property. (The + * host being authenticated to.) + */ +enum AUTH_HOST = "host"; +alias SOUP_AUTH_HOST = AUTH_HOST; + +/** + * An alias for the #SoupAuth:is-authenticated property. + * (Whether or not the auth has been authenticated.) + */ +enum AUTH_IS_AUTHENTICATED = "is-authenticated"; +alias SOUP_AUTH_IS_AUTHENTICATED = AUTH_IS_AUTHENTICATED; + +/** + * An alias for the #SoupAuth:is-for-proxy property. (Whether + * or not the auth is for a proxy server.) + */ +enum AUTH_IS_FOR_PROXY = "is-for-proxy"; +alias SOUP_AUTH_IS_FOR_PROXY = AUTH_IS_FOR_PROXY; + +/** + * An alias for the #SoupAuth:realm property. (The + * authentication realm.) + */ +enum AUTH_REALM = "realm"; +alias SOUP_AUTH_REALM = AUTH_REALM; + +/** + * An alias for the #SoupAuth:scheme-name property. (The + * authentication scheme name.) + */ +enum AUTH_SCHEME_NAME = "scheme-name"; +alias SOUP_AUTH_SCHEME_NAME = AUTH_SCHEME_NAME; + +enum CHAR_HTTP_CTL = 16; +alias SOUP_CHAR_HTTP_CTL = CHAR_HTTP_CTL; + +enum CHAR_HTTP_SEPARATOR = 8; +alias SOUP_CHAR_HTTP_SEPARATOR = CHAR_HTTP_SEPARATOR; + +enum CHAR_URI_GEN_DELIMS = 2; +alias SOUP_CHAR_URI_GEN_DELIMS = CHAR_URI_GEN_DELIMS; + +enum CHAR_URI_PERCENT_ENCODED = 1; +alias SOUP_CHAR_URI_PERCENT_ENCODED = CHAR_URI_PERCENT_ENCODED; + +enum CHAR_URI_SUB_DELIMS = 4; +alias SOUP_CHAR_URI_SUB_DELIMS = CHAR_URI_SUB_DELIMS; + +/** + * Alias for the #SoupCookieJar:accept-policy property. + */ +enum COOKIE_JAR_ACCEPT_POLICY = "accept-policy"; +alias SOUP_COOKIE_JAR_ACCEPT_POLICY = COOKIE_JAR_ACCEPT_POLICY; + +/** + * Alias for the #SoupCookieJarDB:filename property. (The + * cookie-storage filename.) + */ +enum COOKIE_JAR_DB_FILENAME = "filename"; +alias SOUP_COOKIE_JAR_DB_FILENAME = COOKIE_JAR_DB_FILENAME; + +/** + * Alias for the #SoupCookieJar:read-only property. (Whether + * or not the cookie jar is read-only.) + */ +enum COOKIE_JAR_READ_ONLY = "read-only"; +alias SOUP_COOKIE_JAR_READ_ONLY = COOKIE_JAR_READ_ONLY; + +/** + * Alias for the #SoupCookieJarText:filename property. (The + * cookie-storage filename.) + */ +enum COOKIE_JAR_TEXT_FILENAME = "filename"; +alias SOUP_COOKIE_JAR_TEXT_FILENAME = COOKIE_JAR_TEXT_FILENAME; + +/** + * A constant corresponding to 1 day, for use with soup_cookie_new() + * and soup_cookie_set_max_age(). + */ +enum COOKIE_MAX_AGE_ONE_DAY = 0; +alias SOUP_COOKIE_MAX_AGE_ONE_DAY = COOKIE_MAX_AGE_ONE_DAY; + +/** + * A constant corresponding to 1 hour, for use with soup_cookie_new() + * and soup_cookie_set_max_age(). + */ +enum COOKIE_MAX_AGE_ONE_HOUR = 3600; +alias SOUP_COOKIE_MAX_AGE_ONE_HOUR = COOKIE_MAX_AGE_ONE_HOUR; + +/** + * A constant corresponding to 1 week, for use with soup_cookie_new() + * and soup_cookie_set_max_age(). + */ +enum COOKIE_MAX_AGE_ONE_WEEK = 0; +alias SOUP_COOKIE_MAX_AGE_ONE_WEEK = COOKIE_MAX_AGE_ONE_WEEK; + +/** + * A constant corresponding to 1 year, for use with soup_cookie_new() + * and soup_cookie_set_max_age(). + */ +enum COOKIE_MAX_AGE_ONE_YEAR = 0; +alias SOUP_COOKIE_MAX_AGE_ONE_YEAR = COOKIE_MAX_AGE_ONE_YEAR; + +/** + * A macro containing the value + * "multipart/form-data"; the MIME type used for + * posting form data that contains files to be uploaded. + */ +enum FORM_MIME_TYPE_MULTIPART = "multipart/form-data"; +alias SOUP_FORM_MIME_TYPE_MULTIPART = FORM_MIME_TYPE_MULTIPART; + +/** + * A macro containing the value + * "application/x-www-form-urlencoded"; the default + * MIME type for POSTing HTML form data. + */ +enum FORM_MIME_TYPE_URLENCODED = "application/x-www-form-urlencoded"; +alias SOUP_FORM_MIME_TYPE_URLENCODED = FORM_MIME_TYPE_URLENCODED; + +enum HSTS_ENFORCER_DB_FILENAME = "filename"; +alias SOUP_HSTS_ENFORCER_DB_FILENAME = HSTS_ENFORCER_DB_FILENAME; + +enum HSTS_POLICY_MAX_AGE_PAST = 0; +alias SOUP_HSTS_POLICY_MAX_AGE_PAST = HSTS_POLICY_MAX_AGE_PAST; + +/** + * Alias for the #SoupLogger:level property, qv. + */ +enum LOGGER_LEVEL = "level"; +alias SOUP_LOGGER_LEVEL = LOGGER_LEVEL; + +/** + * Alias for the #SoupLogger:max-body-size property, qv. + */ +enum LOGGER_MAX_BODY_SIZE = "max-body-size"; +alias SOUP_LOGGER_MAX_BODY_SIZE = LOGGER_MAX_BODY_SIZE; + +/** + * Like soup_get_major_version(), but from the headers used at + * application compile time, rather than from the library linked + * against at application run time. + */ +enum MAJOR_VERSION = 2; +alias SOUP_MAJOR_VERSION = MAJOR_VERSION; + +/** + * Alias for the #SoupMessage:first-party property. (The + * #SoupURI loaded in the application when the message was + * queued.) + */ +enum MESSAGE_FIRST_PARTY = "first-party"; +alias SOUP_MESSAGE_FIRST_PARTY = MESSAGE_FIRST_PARTY; + +/** + * Alias for the #SoupMessage:flags property. (The message's + * #SoupMessageFlags.) + */ +enum MESSAGE_FLAGS = "flags"; +alias SOUP_MESSAGE_FLAGS = MESSAGE_FLAGS; + +/** + * Alias for the #SoupMessage:http-version property. (The + * message's #SoupHTTPVersion.) + */ +enum MESSAGE_HTTP_VERSION = "http-version"; +alias SOUP_MESSAGE_HTTP_VERSION = MESSAGE_HTTP_VERSION; + +enum MESSAGE_IS_TOP_LEVEL_NAVIGATION = "is-top-level-navigation"; +alias SOUP_MESSAGE_IS_TOP_LEVEL_NAVIGATION = MESSAGE_IS_TOP_LEVEL_NAVIGATION; + +/** + * Alias for the #SoupMessage:method property. (The message's + * HTTP method.) + */ +enum MESSAGE_METHOD = "method"; +alias SOUP_MESSAGE_METHOD = MESSAGE_METHOD; + +/** + * Sets the priority of the #SoupMessage. See + * soup_message_set_priority() for further details. + */ +enum MESSAGE_PRIORITY = "priority"; +alias SOUP_MESSAGE_PRIORITY = MESSAGE_PRIORITY; + +/** + * Alias for the #SoupMessage:reason-phrase property. (The + * message's HTTP response reason phrase.) + */ +enum MESSAGE_REASON_PHRASE = "reason-phrase"; +alias SOUP_MESSAGE_REASON_PHRASE = MESSAGE_REASON_PHRASE; + +/** + * Alias for the #SoupMessage:request-body property. (The + * message's HTTP request body.) + */ +enum MESSAGE_REQUEST_BODY = "request-body"; +alias SOUP_MESSAGE_REQUEST_BODY = MESSAGE_REQUEST_BODY; + +/** + * Alias for the #SoupMessage:request-body-data property. (The + * message's HTTP request body, as a #GBytes.) + */ +enum MESSAGE_REQUEST_BODY_DATA = "request-body-data"; +alias SOUP_MESSAGE_REQUEST_BODY_DATA = MESSAGE_REQUEST_BODY_DATA; + +/** + * Alias for the #SoupMessage:request-headers property. (The + * message's HTTP request headers.) + */ +enum MESSAGE_REQUEST_HEADERS = "request-headers"; +alias SOUP_MESSAGE_REQUEST_HEADERS = MESSAGE_REQUEST_HEADERS; + +/** + * Alias for the #SoupMessage:response-body property. (The + * message's HTTP response body.) + */ +enum MESSAGE_RESPONSE_BODY = "response-body"; +alias SOUP_MESSAGE_RESPONSE_BODY = MESSAGE_RESPONSE_BODY; + +/** + * Alias for the #SoupMessage:response-body-data property. (The + * message's HTTP response body, as a #GBytes.) + */ +enum MESSAGE_RESPONSE_BODY_DATA = "response-body-data"; +alias SOUP_MESSAGE_RESPONSE_BODY_DATA = MESSAGE_RESPONSE_BODY_DATA; + +/** + * Alias for the #SoupMessage:response-headers property. (The + * message's HTTP response headers.) + */ +enum MESSAGE_RESPONSE_HEADERS = "response-headers"; +alias SOUP_MESSAGE_RESPONSE_HEADERS = MESSAGE_RESPONSE_HEADERS; + +/** + * Alias for the #SoupMessage:server-side property. (%TRUE if + * the message was created by #SoupServer.) + */ +enum MESSAGE_SERVER_SIDE = "server-side"; +alias SOUP_MESSAGE_SERVER_SIDE = MESSAGE_SERVER_SIDE; + +enum MESSAGE_SITE_FOR_COOKIES = "site-for-cookies"; +alias SOUP_MESSAGE_SITE_FOR_COOKIES = MESSAGE_SITE_FOR_COOKIES; + +/** + * Alias for the #SoupMessage:status-code property. (The + * message's HTTP response status code.) + */ +enum MESSAGE_STATUS_CODE = "status-code"; +alias SOUP_MESSAGE_STATUS_CODE = MESSAGE_STATUS_CODE; + +/** + * Alias for the #SoupMessage:tls-certificate property. (The + * TLS certificate associated with the message, if any.) + */ +enum MESSAGE_TLS_CERTIFICATE = "tls-certificate"; +alias SOUP_MESSAGE_TLS_CERTIFICATE = MESSAGE_TLS_CERTIFICATE; + +/** + * Alias for the #SoupMessage:tls-errors property. (The + * verification errors on #SoupMessage:tls-certificate.) + */ +enum MESSAGE_TLS_ERRORS = "tls-errors"; +alias SOUP_MESSAGE_TLS_ERRORS = MESSAGE_TLS_ERRORS; + +/** + * Alias for the #SoupMessage:uri property. (The message's + * #SoupURI.) + */ +enum MESSAGE_URI = "uri"; +alias SOUP_MESSAGE_URI = MESSAGE_URI; + +/** + * Like soup_get_micro_version(), but from the headers used at + * application compile time, rather than from the library linked + * against at application run time. + */ +enum MICRO_VERSION = 2; +alias SOUP_MICRO_VERSION = MICRO_VERSION; + +/** + * Like soup_get_minor_version(), but from the headers used at + * application compile time, rather than from the library linked + * against at application run time. + */ +enum MINOR_VERSION = 74; +alias SOUP_MINOR_VERSION = MINOR_VERSION; + +/** + * Alias for the #SoupRequest:session property, qv. + */ +enum REQUEST_SESSION = "session"; +alias SOUP_REQUEST_SESSION = REQUEST_SESSION; + +/** + * Alias for the #SoupRequest:uri property, qv. + */ +enum REQUEST_URI = "uri"; +alias SOUP_REQUEST_URI = REQUEST_URI; + +/** + * Alias for the #SoupServer:add-websocket-extension property, qv. + */ +enum SERVER_ADD_WEBSOCKET_EXTENSION = "add-websocket-extension"; +alias SOUP_SERVER_ADD_WEBSOCKET_EXTENSION = SERVER_ADD_WEBSOCKET_EXTENSION; + +/** + * Alias for the deprecated #SoupServer:async-context + * property, qv. + * + * Deprecated: The new API uses the thread-default #GMainContext + * rather than having an explicitly-specified one. + */ +enum SERVER_ASYNC_CONTEXT = "async-context"; +alias SOUP_SERVER_ASYNC_CONTEXT = SERVER_ASYNC_CONTEXT; + +/** + * Alias for the #SoupServer:https-aliases property, qv. + */ +enum SERVER_HTTPS_ALIASES = "https-aliases"; +alias SOUP_SERVER_HTTPS_ALIASES = SERVER_HTTPS_ALIASES; + +/** + * Alias for the #SoupServer:http-aliases property, qv. + */ +enum SERVER_HTTP_ALIASES = "http-aliases"; +alias SOUP_SERVER_HTTP_ALIASES = SERVER_HTTP_ALIASES; + +/** + * Alias for the #SoupServer:interface property, qv. + * + * Deprecated: #SoupServers can listen on multiple interfaces + * at once now. Use soup_server_listen(), etc, to listen on an + * interface, and soup_server_get_uris() to see what addresses + * are being listened on. + */ +enum SERVER_INTERFACE = "interface"; +alias SOUP_SERVER_INTERFACE = SERVER_INTERFACE; + +/** + * Alias for the deprecated #SoupServer:port property, qv. + * + * Deprecated: #SoupServers can listen on multiple interfaces + * at once now. Use soup_server_listen(), etc, to listen on a + * port, and soup_server_get_uris() to see what ports are + * being listened on. + */ +enum SERVER_PORT = "port"; +alias SOUP_SERVER_PORT = SERVER_PORT; + +/** + * Alias for the #SoupServer:raw-paths property. (If %TRUE, + * percent-encoding in the Request-URI path will not be + * automatically decoded.) + */ +enum SERVER_RAW_PATHS = "raw-paths"; +alias SOUP_SERVER_RAW_PATHS = SERVER_RAW_PATHS; + +/** + * Alias for the #SoupServer:remove-websocket-extension property, qv. + */ +enum SERVER_REMOVE_WEBSOCKET_EXTENSION = "remove-websocket-extension"; +alias SOUP_SERVER_REMOVE_WEBSOCKET_EXTENSION = SERVER_REMOVE_WEBSOCKET_EXTENSION; + +/** + * Alias for the #SoupServer:server-header property, qv. + */ +enum SERVER_SERVER_HEADER = "server-header"; +alias SOUP_SERVER_SERVER_HEADER = SERVER_SERVER_HEADER; + +/** + * Alias for the #SoupServer:ssl-cert-file property, qv. + * + * Deprecated: use #SoupServer:tls-certificate or + * soup_server_set_ssl_certificate(). + */ +enum SERVER_SSL_CERT_FILE = "ssl-cert-file"; +alias SOUP_SERVER_SSL_CERT_FILE = SERVER_SSL_CERT_FILE; + +/** + * Alias for the #SoupServer:ssl-key-file property, qv. + * + * Deprecated: use #SoupServer:tls-certificate or + * soup_server_set_ssl_certificate(). + */ +enum SERVER_SSL_KEY_FILE = "ssl-key-file"; +alias SOUP_SERVER_SSL_KEY_FILE = SERVER_SSL_KEY_FILE; + +/** + * Alias for the #SoupServer:tls-certificate property, qv. + */ +enum SERVER_TLS_CERTIFICATE = "tls-certificate"; +alias SOUP_SERVER_TLS_CERTIFICATE = SERVER_TLS_CERTIFICATE; + +/** + * Alias for the #SoupSession:accept-language property, qv. + */ +enum SESSION_ACCEPT_LANGUAGE = "accept-language"; +alias SOUP_SESSION_ACCEPT_LANGUAGE = SESSION_ACCEPT_LANGUAGE; + +/** + * Alias for the #SoupSession:accept-language-auto property, qv. + */ +enum SESSION_ACCEPT_LANGUAGE_AUTO = "accept-language-auto"; +alias SOUP_SESSION_ACCEPT_LANGUAGE_AUTO = SESSION_ACCEPT_LANGUAGE_AUTO; + +/** + * Alias for the #SoupSession:add-feature property, qv. + */ +enum SESSION_ADD_FEATURE = "add-feature"; +alias SOUP_SESSION_ADD_FEATURE = SESSION_ADD_FEATURE; + +/** + * Alias for the #SoupSession:add-feature-by-type property, qv. + */ +enum SESSION_ADD_FEATURE_BY_TYPE = "add-feature-by-type"; +alias SOUP_SESSION_ADD_FEATURE_BY_TYPE = SESSION_ADD_FEATURE_BY_TYPE; + +/** + * Alias for the #SoupSession:async-context property, qv. + */ +enum SESSION_ASYNC_CONTEXT = "async-context"; +alias SOUP_SESSION_ASYNC_CONTEXT = SESSION_ASYNC_CONTEXT; + +/** + * Alias for the #SoupSession:https-aliases property, qv. + */ +enum SESSION_HTTPS_ALIASES = "https-aliases"; +alias SOUP_SESSION_HTTPS_ALIASES = SESSION_HTTPS_ALIASES; + +/** + * Alias for the #SoupSession:http-aliases property, qv. + */ +enum SESSION_HTTP_ALIASES = "http-aliases"; +alias SOUP_SESSION_HTTP_ALIASES = SESSION_HTTP_ALIASES; + +/** + * Alias for the #SoupSession:idle-timeout property, qv. + */ +enum SESSION_IDLE_TIMEOUT = "idle-timeout"; +alias SOUP_SESSION_IDLE_TIMEOUT = SESSION_IDLE_TIMEOUT; + +/** + * Alias for the #SoupSession:local-address property, qv. + */ +enum SESSION_LOCAL_ADDRESS = "local-address"; +alias SOUP_SESSION_LOCAL_ADDRESS = SESSION_LOCAL_ADDRESS; + +/** + * Alias for the #SoupSession:max-conns property, qv. + */ +enum SESSION_MAX_CONNS = "max-conns"; +alias SOUP_SESSION_MAX_CONNS = SESSION_MAX_CONNS; + +/** + * Alias for the #SoupSession:max-conns-per-host property, qv. + */ +enum SESSION_MAX_CONNS_PER_HOST = "max-conns-per-host"; +alias SOUP_SESSION_MAX_CONNS_PER_HOST = SESSION_MAX_CONNS_PER_HOST; + +/** + * Alias for the #SoupSession:proxy-resolver property, qv. + */ +enum SESSION_PROXY_RESOLVER = "proxy-resolver"; +alias SOUP_SESSION_PROXY_RESOLVER = SESSION_PROXY_RESOLVER; + +/** + * Alias for the #SoupSession:proxy-uri property, qv. + */ +enum SESSION_PROXY_URI = "proxy-uri"; +alias SOUP_SESSION_PROXY_URI = SESSION_PROXY_URI; + +/** + * Alias for the #SoupSession:remove-feature-by-type property, + * qv. + */ +enum SESSION_REMOVE_FEATURE_BY_TYPE = "remove-feature-by-type"; +alias SOUP_SESSION_REMOVE_FEATURE_BY_TYPE = SESSION_REMOVE_FEATURE_BY_TYPE; + +/** + * Alias for the #SoupSession:ssl-ca-file property, qv. + */ +enum SESSION_SSL_CA_FILE = "ssl-ca-file"; +alias SOUP_SESSION_SSL_CA_FILE = SESSION_SSL_CA_FILE; + +/** + * Alias for the #SoupSession:ssl-strict property, qv. + */ +enum SESSION_SSL_STRICT = "ssl-strict"; +alias SOUP_SESSION_SSL_STRICT = SESSION_SSL_STRICT; + +/** + * Alias for the #SoupSession:ssl-use-system-ca-file property, + * qv. + */ +enum SESSION_SSL_USE_SYSTEM_CA_FILE = "ssl-use-system-ca-file"; +alias SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE = SESSION_SSL_USE_SYSTEM_CA_FILE; + +/** + * Alias for the #SoupSession:timeout property, qv. + */ +enum SESSION_TIMEOUT = "timeout"; +alias SOUP_SESSION_TIMEOUT = SESSION_TIMEOUT; + +/** + * Alias for the #SoupSession:tls-database property, qv. + */ +enum SESSION_TLS_DATABASE = "tls-database"; +alias SOUP_SESSION_TLS_DATABASE = SESSION_TLS_DATABASE; + +/** + * Alias for the #SoupSession:tls-interaction property, qv. + */ +enum SESSION_TLS_INTERACTION = "tls-interaction"; +alias SOUP_SESSION_TLS_INTERACTION = SESSION_TLS_INTERACTION; + +/** + * Alias for the #SoupSession:user-agent property, qv. + */ +enum SESSION_USER_AGENT = "user-agent"; +alias SOUP_SESSION_USER_AGENT = SESSION_USER_AGENT; + +/** + * Alias for the #SoupSession:use-ntlm property, qv. + */ +enum SESSION_USE_NTLM = "use-ntlm"; +alias SOUP_SESSION_USE_NTLM = SESSION_USE_NTLM; + +/** + * Alias for the #SoupSession:use-thread-context property, qv. + */ +enum SESSION_USE_THREAD_CONTEXT = "use-thread-context"; +alias SOUP_SESSION_USE_THREAD_CONTEXT = SESSION_USE_THREAD_CONTEXT; + +/** + * Alias for the #SoupSocket:async-context property. (The + * socket's #GMainContext.) + */ +enum SOCKET_ASYNC_CONTEXT = "async-context"; +alias SOUP_SOCKET_ASYNC_CONTEXT = SOCKET_ASYNC_CONTEXT; + +/** + * Alias for the #SoupSocket:non-blocking property. (Whether + * or not the socket uses non-blocking I/O.) + */ +enum SOCKET_FLAG_NONBLOCKING = "non-blocking"; +alias SOUP_SOCKET_FLAG_NONBLOCKING = SOCKET_FLAG_NONBLOCKING; + +/** + * Alias for the #SoupSocket:is-server property, qv. + */ +enum SOCKET_IS_SERVER = "is-server"; +alias SOUP_SOCKET_IS_SERVER = SOCKET_IS_SERVER; + +/** + * Alias for the #SoupSocket:local-address property. (Address + * of local end of socket.) + */ +enum SOCKET_LOCAL_ADDRESS = "local-address"; +alias SOUP_SOCKET_LOCAL_ADDRESS = SOCKET_LOCAL_ADDRESS; + +/** + * Alias for the #SoupSocket:remote-address property. (Address + * of remote end of socket.) + */ +enum SOCKET_REMOTE_ADDRESS = "remote-address"; +alias SOUP_SOCKET_REMOTE_ADDRESS = SOCKET_REMOTE_ADDRESS; + +/** + * Alias for the #SoupSocket:ssl-creds property. + * (SSL credential information.) + */ +enum SOCKET_SSL_CREDENTIALS = "ssl-creds"; +alias SOUP_SOCKET_SSL_CREDENTIALS = SOCKET_SSL_CREDENTIALS; + +/** + * Alias for the #SoupSocket:ssl-fallback property. + */ +enum SOCKET_SSL_FALLBACK = "ssl-fallback"; +alias SOUP_SOCKET_SSL_FALLBACK = SOCKET_SSL_FALLBACK; + +/** + * Alias for the #SoupSocket:ssl-strict property. + */ +enum SOCKET_SSL_STRICT = "ssl-strict"; +alias SOUP_SOCKET_SSL_STRICT = SOCKET_SSL_STRICT; + +/** + * Alias for the #SoupSocket:timeout property. (The timeout + * in seconds for blocking socket I/O operations.) + */ +enum SOCKET_TIMEOUT = "timeout"; +alias SOUP_SOCKET_TIMEOUT = SOCKET_TIMEOUT; + +/** + * Alias for the #SoupSocket:tls-certificate + * property. Note that this property's value is only useful + * if the socket is for a TLS connection, and only reliable + * after some data has been transferred to or from it. + */ +enum SOCKET_TLS_CERTIFICATE = "tls-certificate"; +alias SOUP_SOCKET_TLS_CERTIFICATE = SOCKET_TLS_CERTIFICATE; + +/** + * Alias for the #SoupSocket:tls-errors + * property. Note that this property's value is only useful + * if the socket is for a TLS connection, and only reliable + * after some data has been transferred to or from it. + */ +enum SOCKET_TLS_ERRORS = "tls-errors"; +alias SOUP_SOCKET_TLS_ERRORS = SOCKET_TLS_ERRORS; + +/** + * Alias for the #SoupSocket:trusted-certificate + * property. + */ +enum SOCKET_TRUSTED_CERTIFICATE = "trusted-certificate"; +alias SOUP_SOCKET_TRUSTED_CERTIFICATE = SOCKET_TRUSTED_CERTIFICATE; + +/** + * Alias for the #SoupSocket:use-thread-context property. (Use + * g_main_context_get_thread_default()) + */ +enum SOCKET_USE_THREAD_CONTEXT = "use-thread-context"; +alias SOUP_SOCKET_USE_THREAD_CONTEXT = SOCKET_USE_THREAD_CONTEXT; + +/** + * A macro that should be defined by the user prior to including + * libsoup.h. The definition should be one of the predefined libsoup + * version macros: %SOUP_VERSION_2_24, %SOUP_VERSION_2_26, ... + * + * This macro defines the earliest version of libsoup that the package + * is required to be able to compile against. + * + * If the compiler is configured to warn about the use of deprecated + * functions, then using functions that were deprecated in version + * %SOUP_VERSION_MIN_REQUIRED or earlier will cause warnings (but + * using functions deprecated in later releases will not). + */ +enum VERSION_MIN_REQUIRED = 2; +alias SOUP_VERSION_MIN_REQUIRED = VERSION_MIN_REQUIRED; diff --git a/source/generated/sourceview/sourceview/Buffer.d b/source/generated/sourceview/sourceview/Buffer.d new file mode 100644 index 000000000..7c9027419 --- /dev/null +++ b/source/generated/sourceview/sourceview/Buffer.d @@ -0,0 +1,689 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.Buffer; + +private import glib.ConstructionException; +private import glib.ListSG; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gobject.Signals; +private import gtk.TextBuffer; +private import gtk.TextIter; +private import gtk.TextMark; +private import gtk.TextTag; +private import gtk.TextTagTable; +private import sourceview.Language; +private import sourceview.Mark; +private import sourceview.StyleScheme; +private import sourceview.c.functions; +public import sourceview.c.types; +private import std.algorithm; + + +/** + * Subclass of [class@Gtk.TextBuffer]. + * + * A `GtkSourceBuffer` object is the model for [class@View] widgets. + * It extends the [class@Gtk.TextBuffer] class by adding features useful to display + * and edit source code such as syntax highlighting and bracket matching. + * + * To create a `GtkSourceBuffer` use [ctor@GtkSource.Buffer.new] or + * [ctor@GtkSource.Buffer.new_with_language]. The second form is just a convenience + * function which allows you to initially set a [class@Language]. You can also + * directly create a [class@View] and get its [class@Buffer] with + * [method@Gtk.TextView.get_buffer]. + * + * The highlighting is enabled by default, but you can disable it with + * [method@Buffer.set_highlight_syntax]. + * + * # Context Classes: + * + * It is possible to retrieve some information from the syntax highlighting + * engine. The default context classes that are applied to regions of a + * `GtkSourceBuffer`: + * + * - **comment**: the region delimits a comment; + * - **no-spell-check**: the region should not be spell checked; + * - **path**: the region delimits a path to a file; + * - **string**: the region delimits a string. + * + * Custom language definition files can create their own context classes, + * since the functions like [method@Buffer.iter_has_context_class] take + * a string parameter as the context class. + * + * `GtkSourceBuffer` provides an API to access the context classes: + * [method@Buffer.iter_has_context_class], + * [method@Buffer.get_context_classes_at_iter], + * [method@Buffer.iter_forward_to_context_class_toggle] and + * [method@Buffer.iter_backward_to_context_class_toggle]. + * + * And the [signal@GtkSource.Buffer::highlight-updated] signal permits to be notified + * when a context class region changes. + * + * Each context class has also an associated [class@Gtk.TextTag] with the name + * `gtksourceview:context-classes:`. For example to + * retrieve the [class@Gtk.TextTag] for the string context class, one can write: + * ```c + * GtkTextTagTable *tag_table; + * GtkTextTag *tag; + * + * tag_table = gtk_text_buffer_get_tag_table (buffer); + * tag = gtk_text_tag_table_lookup (tag_table, "gtksourceview:context-classes:string"); + * ``` + * + * The tag must be used for read-only purposes. + * + * Accessing a context class via the associated [class@Gtk.TextTag] is less + * convenient than the `GtkSourceBuffer` API, because: + * + * - The tag doesn't always exist, you need to listen to the + * [signal@Gtk.TextTagTable::tag-added] and [signal@Gtk.TextTagTable::tag-removed] signals. + * - Instead of the [signal@GtkSource.Buffer::highlight-updated] signal, you can listen + * to the [signal@Gtk.TextBuffer::apply-tag] and [signal@Gtk.TextBuffer::remove-tag] signals. + * + * A possible use-case for accessing a context class via the associated + * [class@Gtk.TextTag] is to read the region but without adding a hard dependency on the + * GtkSourceView library (for example for a spell-checking library that wants to + * read the no-spell-check region). + */ +public class Buffer : TextBuffer +{ + /** the main Gtk struct */ + protected GtkSourceBuffer* gtkSourceBuffer; + + /** Get the main Gtk struct */ + public GtkSourceBuffer* getBufferStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceBuffer; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceBuffer; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceBuffer* gtkSourceBuffer, bool ownedRef = false) + { + this.gtkSourceBuffer = gtkSourceBuffer; + super(cast(GtkTextBuffer*)gtkSourceBuffer, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_buffer_get_type(); + } + + /** + * Creates a new source buffer. + * + * Params: + * table = a #GtkTextTagTable, or %NULL to create a new one. + * + * Returns: a new source buffer. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(TextTagTable table) + { + auto __p = gtk_source_buffer_new((table is null) ? null : table.getTextTagTableStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceBuffer*) __p, true); + } + + /** + * Creates a new source buffer using the highlighting patterns in `language`. + * + * This is equivalent to creating a new source buffer with + * a new tag table and then calling [method@Buffer.set_language]. + * + * Params: + * language = a #GtkSourceLanguage. + * + * Returns: a new source buffer which will highlight text + * according to the highlighting patterns in `language`. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Language language) + { + auto __p = gtk_source_buffer_new_with_language((language is null) ? null : language.getLanguageStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new_with_language"); + } + + this(cast(GtkSourceBuffer*) __p, true); + } + + /** + * Moves `iter` to the position of the previous [class@Mark] of the given + * category. + * + * Returns %TRUE if `iter` was moved. If `category` is NULL, the + * previous source mark can be of any category. + * + * Params: + * iter = an iterator. + * category = category to search for, or %NULL + * + * Returns: whether `iter` was moved. + */ + public bool backwardIterToSourceMark(ref TextIter iter, string category) + { + return gtk_source_buffer_backward_iter_to_source_mark(gtkSourceBuffer, (iter is null) ? null : iter.getTextIterStruct(true), Str.toStringz(category)) != 0; + } + + /** + * Changes the case of the text between the specified iterators. + * + * Since 5.4, this function will update the position of `start` and + * `end` to surround the modified text. + * + * Params: + * caseType = how to change the case. + * start = a #GtkTextIter. + * end = a #GtkTextIter. + */ + public void changeCase(GtkSourceChangeCaseType caseType, TextIter start, TextIter end) + { + gtk_source_buffer_change_case(gtkSourceBuffer, caseType, (start is null) ? null : start.getTextIterStruct(), (end is null) ? null : end.getTextIterStruct()); + } + + /** + * Creates a source mark in the `buffer` of category `category`. + * + * A source mark is a [class@Gtk.TextMark] but organized into categories. + * Depending on the category a pixbuf can be specified that will be displayed + * along the line of the mark. + * + * Like a [class@Gtk.TextMark], a [class@Mark] can be anonymous if the + * passed `name` is %NULL. Also, the buffer owns the marks so you + * shouldn't unreference it. + * + * Marks always have left gravity and are moved to the beginning of + * the line when the user deletes the line they were in. + * + * Typical uses for a source mark are bookmarks, breakpoints, current + * executing instruction indication in a source file, etc.. + * + * Params: + * name = the name of the mark, or %NULL. + * category = a string defining the mark category. + * where = location to place the mark. + * + * Returns: a new [class@Mark], owned by the buffer. + */ + public Mark createSourceMark(string name, string category, TextIter where) + { + auto __p = gtk_source_buffer_create_source_mark(gtkSourceBuffer, Str.toStringz(name), Str.toStringz(category), (where is null) ? null : where.getTextIterStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Mark)(cast(GtkSourceMark*) __p); + } + + /** + * Forces buffer to analyze and highlight the given area synchronously. + * + * **Note**: + * + * This is a potentially slow operation and should be used only + * when you need to make sure that some text not currently + * visible is highlighted, for instance before printing. + * + * Params: + * start = start of the area to highlight. + * end = end of the area to highlight. + */ + public void ensureHighlight(TextIter start, TextIter end) + { + gtk_source_buffer_ensure_highlight(gtkSourceBuffer, (start is null) ? null : start.getTextIterStruct(), (end is null) ? null : end.getTextIterStruct()); + } + + /** + * Moves `iter` to the position of the next [class@Mark] of the given + * `category`. + * + * Returns %TRUE if `iter` was moved. If `category` is NULL, the + * next source mark can be of any category. + * + * Params: + * iter = an iterator. + * category = category to search for, or %NULL + * + * Returns: whether `iter` was moved. + */ + public bool forwardIterToSourceMark(ref TextIter iter, string category) + { + return gtk_source_buffer_forward_iter_to_source_mark(gtkSourceBuffer, (iter is null) ? null : iter.getTextIterStruct(true), Str.toStringz(category)) != 0; + } + + /** + * Get all defined context classes at @iter. + * + * See the [class@Buffer] description for the list of default context classes. + * + * Params: + * iter = a #GtkTextIter. + * + * Returns: a new %NULL + * terminated array of context class names. + * Use g_strfreev() to free the array if it is no longer needed. + */ + public string[] getContextClassesAtIter(TextIter iter) + { + auto retStr = gtk_source_buffer_get_context_classes_at_iter(gtkSourceBuffer, (iter is null) ? null : iter.getTextIterStruct()); + + scope(exit) Str.freeStringArray(retStr); + return Str.toStringArray(retStr); + } + + /** + * Determines whether bracket match highlighting is activated for the + * source buffer. + * + * Returns: %TRUE if the source buffer will highlight matching + * brackets. + */ + public bool getHighlightMatchingBrackets() + { + return gtk_source_buffer_get_highlight_matching_brackets(gtkSourceBuffer) != 0; + } + + /** + * Determines whether syntax highlighting is activated in the source + * buffer. + * + * Returns: %TRUE if syntax highlighting is enabled, %FALSE otherwise. + */ + public bool getHighlightSyntax() + { + return gtk_source_buffer_get_highlight_syntax(gtkSourceBuffer) != 0; + } + + /** + * Returns: whether the @buffer has an implicit trailing newline. + */ + public bool getImplicitTrailingNewline() + { + return gtk_source_buffer_get_implicit_trailing_newline(gtkSourceBuffer) != 0; + } + + /** + * Returns the [class@Language] associated with the buffer, + * see [method@Buffer.set_language]. + * + * The returned object should not be unreferenced by the user. + * + * Returns: the [class@Language] associated + * with the buffer, or %NULL. + */ + public Language getLanguage() + { + auto __p = gtk_source_buffer_get_language(gtkSourceBuffer); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Language)(cast(GtkSourceLanguage*) __p); + } + + /** + * Returns the list of marks of the given category at @iter. + * + * If @category is %NULL it returns all marks at @iter. + * + * Params: + * iter = an iterator. + * category = category to search for, or %NULL + * + * Returns: a newly allocated #GSList. + */ + public ListSG getSourceMarksAtIter(TextIter iter, string category) + { + auto __p = gtk_source_buffer_get_source_marks_at_iter(gtkSourceBuffer, (iter is null) ? null : iter.getTextIterStruct(), Str.toStringz(category)); + + if(__p is null) + { + return null; + } + + return new ListSG(cast(GSList*) __p); + } + + /** + * Returns the list of marks of the given category at @line. + * + * If @category is %NULL, all marks at @line are returned. + * + * Params: + * line = a line number. + * category = category to search for, or %NULL + * + * Returns: a newly allocated #GSList. + */ + public ListSG getSourceMarksAtLine(int line, string category) + { + auto __p = gtk_source_buffer_get_source_marks_at_line(gtkSourceBuffer, line, Str.toStringz(category)); + + if(__p is null) + { + return null; + } + + return new ListSG(cast(GSList*) __p); + } + + /** + * Returns the [class@StyleScheme] associated with the buffer, + * see [method@Buffer.set_style_scheme]. + * + * The returned object should not be unreferenced by the user. + * + * Returns: the [class@StyleScheme] + * associated with the buffer, or %NULL. + */ + public StyleScheme getStyleScheme() + { + auto __p = gtk_source_buffer_get_style_scheme(gtkSourceBuffer); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(StyleScheme)(cast(GtkSourceStyleScheme*) __p); + } + + /** + * Moves backward to the next toggle (on or off) of the context class. + * + * If no matching context class toggles are found, returns %FALSE, otherwise %TRUE. + * Does not return toggles located at @iter, only toggles after @iter. Sets + * @iter to the location of the toggle, or to the end of the buffer if no + * toggle is found. + * + * See the [class@Buffer] description for the list of default context classes. + * + * Params: + * iter = a #GtkTextIter. + * contextClass = the context class. + * + * Returns: whether we found a context class toggle before @iter + */ + public bool iterBackwardToContextClassToggle(ref TextIter iter, string contextClass) + { + return gtk_source_buffer_iter_backward_to_context_class_toggle(gtkSourceBuffer, (iter is null) ? null : iter.getTextIterStruct(true), Str.toStringz(contextClass)) != 0; + } + + /** + * Moves forward to the next toggle (on or off) of the context class. + * + * If no matching context class toggles are found, returns %FALSE, otherwise %TRUE. + * Does not return toggles located at @iter, only toggles after @iter. Sets + * @iter to the location of the toggle, or to the end of the buffer if no + * toggle is found. + * + * See the [class@Buffer] description for the list of default context classes. + * + * Params: + * iter = a #GtkTextIter. + * contextClass = the context class. + * + * Returns: whether we found a context class toggle after @iter + */ + public bool iterForwardToContextClassToggle(ref TextIter iter, string contextClass) + { + return gtk_source_buffer_iter_forward_to_context_class_toggle(gtkSourceBuffer, (iter is null) ? null : iter.getTextIterStruct(true), Str.toStringz(contextClass)) != 0; + } + + /** + * Check if the class @context_class is set on @iter. + * + * See the [class@Buffer] description for the list of default context classes. + * + * Params: + * iter = a #GtkTextIter. + * contextClass = class to search for. + * + * Returns: whether @iter has the context class. + */ + public bool iterHasContextClass(TextIter iter, string contextClass) + { + return gtk_source_buffer_iter_has_context_class(gtkSourceBuffer, (iter is null) ? null : iter.getTextIterStruct(), Str.toStringz(contextClass)) != 0; + } + + /** + * Joins the lines of text between the specified iterators. + * + * Params: + * start = a #GtkTextIter. + * end = a #GtkTextIter. + */ + public void joinLines(TextIter start, TextIter end) + { + gtk_source_buffer_join_lines(gtkSourceBuffer, (start is null) ? null : start.getTextIterStruct(), (end is null) ? null : end.getTextIterStruct()); + } + + /** + * Remove all marks of @category between @start and @end from the buffer. + * + * If @category is NULL, all marks in the range will be removed. + * + * Params: + * start = a #GtkTextIter. + * end = a #GtkTextIter. + * category = category to search for, or %NULL. + */ + public void removeSourceMarks(TextIter start, TextIter end, string category) + { + gtk_source_buffer_remove_source_marks(gtkSourceBuffer, (start is null) ? null : start.getTextIterStruct(), (end is null) ? null : end.getTextIterStruct(), Str.toStringz(category)); + } + + /** + * Controls the bracket match highlighting function in the buffer. + * + * If activated, when you position your cursor over a bracket character + * (a parenthesis, a square bracket, etc.) the matching opening or + * closing bracket character will be highlighted. + * + * Params: + * highlight = %TRUE if you want matching brackets highlighted. + */ + public void setHighlightMatchingBrackets(bool highlight) + { + gtk_source_buffer_set_highlight_matching_brackets(gtkSourceBuffer, highlight); + } + + /** + * Controls whether syntax is highlighted in the buffer. + * + * If @highlight is %TRUE, the text will be highlighted according to the syntax + * patterns specified in the [class@Language] set with [method@Buffer.set_language]. + * + * If @highlight is %FALSE, syntax highlighting is disabled and all the + * [class@Gtk.TextTag] objects that have been added by the syntax highlighting engine + * are removed from the buffer. + * + * Params: + * highlight = %TRUE to enable syntax highlighting, %FALSE to disable it. + */ + public void setHighlightSyntax(bool highlight) + { + gtk_source_buffer_set_highlight_syntax(gtkSourceBuffer, highlight); + } + + /** + * Sets whether the @buffer has an implicit trailing newline. + * + * If an explicit trailing newline is present in a [class@Gtk.TextBuffer], [class@Gtk.TextView] + * shows it as an empty line. This is generally not what the user expects. + * + * If @implicit_trailing_newline is %TRUE (the default value): + * - when a [class@FileLoader] loads the content of a file into the @buffer, + * the trailing newline (if present in the file) is not inserted into the + * @buffer. + * - when a [class@FileSaver] saves the content of the @buffer into a file, a + * trailing newline is added to the file. + * + * On the other hand, if @implicit_trailing_newline is %FALSE, the file's + * content is not modified when loaded into the @buffer, and the @buffer's + * content is not modified when saved into a file. + * + * Params: + * implicitTrailingNewline = the new value. + */ + public void setImplicitTrailingNewline(bool implicitTrailingNewline) + { + gtk_source_buffer_set_implicit_trailing_newline(gtkSourceBuffer, implicitTrailingNewline); + } + + /** + * Associates a [class@Language] with the buffer. + * + * Note that a [class@Language] affects not only the syntax highlighting, but + * also the [context classes](./class.Buffer.html#context-classes). If you want to disable just the + * syntax highlighting, see [method@Buffer.set_highlight_syntax]. + * + * The buffer holds a reference to @language. + * + * Params: + * language = a #GtkSourceLanguage to set, or %NULL. + */ + public void setLanguage(Language language) + { + gtk_source_buffer_set_language(gtkSourceBuffer, (language is null) ? null : language.getLanguageStruct()); + } + + /** + * Sets a [class@StyleScheme] to be used by the buffer and the view. + * + * Note that a [class@StyleScheme] affects not only the syntax highlighting, + * but also other [class@View] features such as highlighting the current line, + * matching brackets, the line numbers, etc. + * + * Instead of setting a %NULL @scheme, it is better to disable syntax + * highlighting with [method@Buffer.set_highlight_syntax], and setting the + * [class@StyleScheme] with the "classic" or "tango" ID, because those two + * style schemes follow more closely the GTK theme (for example for the + * background color). + * + * The buffer holds a reference to @scheme. + * + * Params: + * scheme = a #GtkSourceStyleScheme or %NULL. + */ + public void setStyleScheme(StyleScheme scheme) + { + gtk_source_buffer_set_style_scheme(gtkSourceBuffer, (scheme is null) ? null : scheme.getStyleSchemeStruct()); + } + + /** + * Sort the lines of text between the specified iterators. + * + * Params: + * start = a #GtkTextIter. + * end = a #GtkTextIter. + * flags = #GtkSourceSortFlags specifying how the sort should behave + * column = sort considering the text starting at the given column + */ + public void sortLines(TextIter start, TextIter end, GtkSourceSortFlags flags, int column) + { + gtk_source_buffer_sort_lines(gtkSourceBuffer, (start is null) ? null : start.getTextIterStruct(), (end is null) ? null : end.getTextIterStruct(), flags, column); + } + + /** + * @iter is set to a valid iterator pointing to the matching bracket + * if @state is %GTK_SOURCE_BRACKET_MATCH_FOUND. Otherwise @iter is + * meaningless. + * + * The signal is emitted only when the @state changes, typically when + * the cursor moves. + * + * A use-case for this signal is to show messages in a [class@Gtk.Statusbar]. + * + * Params: + * iter = if found, the location of the matching bracket. + * state = state of bracket matching. + */ + gulong addOnBracketMatched(void delegate(TextIter, GtkSourceBracketMatchType, Buffer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "bracket-matched", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * The "cursor-moved" signal is emitted when then insertion mark has moved. + */ + gulong addOnCursorMoved(void delegate(Buffer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "cursor-moved", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * The ::highlight-updated signal is emitted when the syntax + * highlighting and [context classes](./class.Buffer.html#context-classes) are updated in a + * certain region of the @buffer. + * + * Params: + * start = the start of the updated region + * end = the end of the updated region + */ + gulong addOnHighlightUpdated(void delegate(TextIter, TextIter, Buffer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "highlight-updated", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * The ::source-mark-updated signal is emitted each time + * a mark is added to, moved or removed from the @buffer. + * + * Params: + * mark = the [class@Mark] + */ + gulong addOnSourceMarkUpdated(void delegate(TextMark, Buffer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "source-mark-updated", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/sourceview/sourceview/Completion.d b/source/generated/sourceview/sourceview/Completion.d new file mode 100644 index 000000000..70e356899 --- /dev/null +++ b/source/generated/sourceview/sourceview/Completion.d @@ -0,0 +1,300 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.Completion; + +private import glib.Str; +private import gobject.ObjectG; +private import gobject.Signals; +private import pango.PgAttributeList; +private import sourceview.Buffer; +private import sourceview.CompletionProviderIF; +private import sourceview.View; +private import sourceview.c.functions; +public import sourceview.c.types; +private import std.algorithm; + + +/** + * Main Completion Object. + * + * The completion system helps the user when they writes some text, + * such as words, command names, functions, and suchlike. Proposals can + * be shown, to complete the text the user is writing. Each proposal can + * contain an additional piece of information (for example + * documentation), that is displayed when the "Details" button is + * clicked. + * + * Proposals are created via a [iface@CompletionProvider]. There can + * be for example a provider to complete words (see [class@CompletionWords]), + * another provider for the completion of + * function names, etc. To add a provider, call + * [method@Completion.add_provider]. + * + * When several providers match, they are all shown in the completion + * window, but one can switch between providers: see the + * #GtkSourceCompletion::move-page signal. It is also possible to + * activate the first proposals with key bindings, see the + * #GtkSourceCompletion:accelerators property. + * + * The [iface@CompletionProposal] interface represents a proposal. + * + * If a proposal contains extra information (see + * %GTK_SOURCE_COMPLETION_COLUMN_DETAILS), it will be + * displayed in a supplemental details window, which appears when + * the "Details" button is clicked. + * + * Each [class@View] object is associated with a [class@Completion] + * instance. This instance can be obtained with + * [method@View.get_completion]. The [class@View] class contains also the + * [signal@View::show-completion] signal. + * + * A same [iface@CompletionProvider] object can be used for several + * `GtkSourceCompletion`'s. + */ +public class Completion : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceCompletion* gtkSourceCompletion; + + /** Get the main Gtk struct */ + public GtkSourceCompletion* getCompletionStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceCompletion; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceCompletion; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceCompletion* gtkSourceCompletion, bool ownedRef = false) + { + this.gtkSourceCompletion = gtkSourceCompletion; + super(cast(GObject*)gtkSourceCompletion, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_completion_get_type(); + } + + /** + * This will add `` tags around matched characters in @haystack + * based on @casefold_query. + * + * Params: + * haystack = the string to be highlighted + * casefoldQuery = the typed-text used to highlight @haystack + * + * Returns: a #PangoAttrList or %NULL + */ + public static PgAttributeList fuzzyHighlight(string haystack, string casefoldQuery) + { + auto __p = gtk_source_completion_fuzzy_highlight(Str.toStringz(haystack), Str.toStringz(casefoldQuery)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PgAttributeList)(cast(PangoAttrList*) __p, true); + } + + /** + * This helper function can do a fuzzy match for you giving a haystack and + * casefolded needle. + * + * Casefold your needle using [func@GLib.utf8_casefold] before + * running the query. + * + * Score will be set with the score of the match upon success. Otherwise, + * it will be set to zero. + * + * Params: + * haystack = the string to be searched. + * casefoldNeedle = A g_utf8_casefold() version of the needle. + * priority = An optional location for the score of the match + * + * Returns: %TRUE if @haystack matched @casefold_needle, otherwise %FALSE. + */ + public static bool fuzzyMatch(string haystack, string casefoldNeedle, out uint priority) + { + return gtk_source_completion_fuzzy_match(Str.toStringz(haystack), Str.toStringz(casefoldNeedle), &priority) != 0; + } + + /** + * Adds a [iface@CompletionProvider] to the list of providers to be queried + * for completion results. + * + * Params: + * provider = a #GtkSourceCompletionProvider + */ + public void addProvider(CompletionProviderIF provider) + { + gtk_source_completion_add_provider(gtkSourceCompletion, (provider is null) ? null : provider.getCompletionProviderStruct()); + } + + /** */ + public void blockInteractive() + { + gtk_source_completion_block_interactive(gtkSourceCompletion); + } + + /** + * Gets the connected [class@View]'s [class@Buffer] + * + * Returns: A #GtkSourceBuffer + */ + public Buffer getBuffer() + { + auto __p = gtk_source_completion_get_buffer(gtkSourceCompletion); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Buffer)(cast(GtkSourceBuffer*) __p); + } + + /** */ + public uint getPageSize() + { + return gtk_source_completion_get_page_size(gtkSourceCompletion); + } + + /** + * Gets the [class@View] that owns the [class@Completion]. + * + * Returns: A #GtkSourceView + */ + public View getView() + { + auto __p = gtk_source_completion_get_view(gtkSourceCompletion); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(View)(cast(GtkSourceView*) __p); + } + + /** + * Emits the "hide" signal. + * + * When the "hide" signal is emitted, the completion window will be + * dismissed. + */ + public void hide() + { + gtk_source_completion_hide(gtkSourceCompletion); + } + + /** + * Removes a [iface@CompletionProvider] previously added with + * [method@Completion.add_provider]. + * + * Params: + * provider = a #GtkSourceCompletionProvider + */ + public void removeProvider(CompletionProviderIF provider) + { + gtk_source_completion_remove_provider(gtkSourceCompletion, (provider is null) ? null : provider.getCompletionProviderStruct()); + } + + /** */ + public void setPageSize(uint pageSize) + { + gtk_source_completion_set_page_size(gtkSourceCompletion, pageSize); + } + + /** + * Emits the "show" signal. + * + * When the "show" signal is emitted, the completion window will be + * displayed if there are any results available. + */ + public void show() + { + gtk_source_completion_show(gtkSourceCompletion); + } + + /** */ + public void unblockInteractive() + { + gtk_source_completion_unblock_interactive(gtkSourceCompletion); + } + + /** + * The "hide" signal is emitted when the completion window should + * be hidden. + */ + gulong addOnHide(void delegate(Completion) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "hide", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * The "provided-added" signal is emitted when a new provider is + * added to the completion. + * + * Params: + * provider = a #GtkSourceCompletionProvider + */ + gulong addOnProviderAdded(void delegate(CompletionProviderIF, Completion) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "provider-added", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * The "provided-removed" signal is emitted when a provider has + * been removed from the completion. + * + * Params: + * provider = a #GtkSourceCompletionProvider + */ + gulong addOnProviderRemoved(void delegate(CompletionProviderIF, Completion) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "provider-removed", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * The "show" signal is emitted when the completion window should + * be shown. + */ + gulong addOnShow(void delegate(Completion) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "show", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/sourceview/sourceview/CompletionCell.d b/source/generated/sourceview/sourceview/CompletionCell.d new file mode 100644 index 000000000..10b77bf99 --- /dev/null +++ b/source/generated/sourceview/sourceview/CompletionCell.d @@ -0,0 +1,164 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.CompletionCell; + +private import gdk.PaintableIF; +private import gio.IconIF; +private import glib.Str; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import pango.PgAttributeList; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Widget for single cell of completion proposal. + * + * The `GtkSourceCompletionCell` widget provides a container to display various + * types of information with the completion display. + * + * Each proposal may consist of multiple cells depending on the complexity of + * the proposal. For example, programming language proposals may contain a cell + * for the "left-hand-side" of an operation along with the "typed-text" for a + * function name and "parameters". They may also optionally set an icon to + * signify the kind of result. + * + * A [iface@CompletionProvider] should implement the + * [vfunc@CompletionProvider.display] virtual function to control + * how to convert data from their [iface@CompletionProposal] to content for + * the `GtkSourceCompletionCell`. + */ +public class CompletionCell : Widget +{ + /** the main Gtk struct */ + protected GtkSourceCompletionCell* gtkSourceCompletionCell; + + /** Get the main Gtk struct */ + public GtkSourceCompletionCell* getCompletionCellStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceCompletionCell; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceCompletionCell; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceCompletionCell* gtkSourceCompletionCell, bool ownedRef = false) + { + this.gtkSourceCompletionCell = gtkSourceCompletionCell; + super(cast(GtkWidget*)gtkSourceCompletionCell, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_completion_cell_get_type(); + } + + /** */ + public GtkSourceCompletionColumn getColumn() + { + return gtk_source_completion_cell_get_column(gtkSourceCompletionCell); + } + + /** + * Gets the child #GtkWidget, if any. + * + * Returns: a #GtkWidget or %NULL + */ + public Widget getWidget() + { + auto __p = gtk_source_completion_cell_get_widget(gtkSourceCompletionCell); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Widget)(cast(GtkWidget*) __p); + } + + /** */ + public void setGicon(IconIF gicon) + { + gtk_source_completion_cell_set_gicon(gtkSourceCompletionCell, (gicon is null) ? null : gicon.getIconStruct()); + } + + /** */ + public void setIconName(string iconName) + { + gtk_source_completion_cell_set_icon_name(gtkSourceCompletionCell, Str.toStringz(iconName)); + } + + /** */ + public void setMarkup(string markup) + { + gtk_source_completion_cell_set_markup(gtkSourceCompletionCell, Str.toStringz(markup)); + } + + /** */ + public void setPaintable(PaintableIF paintable) + { + gtk_source_completion_cell_set_paintable(gtkSourceCompletionCell, (paintable is null) ? null : paintable.getPaintableStruct()); + } + + /** + * Sets the text for the column cell. Use %NULL to unset. + * + * Params: + * text = the text to set or %NULL + */ + public void setText(string text) + { + gtk_source_completion_cell_set_text(gtkSourceCompletionCell, Str.toStringz(text)); + } + + /** */ + public void setTextWithAttributes(string text, PgAttributeList attrs) + { + gtk_source_completion_cell_set_text_with_attributes(gtkSourceCompletionCell, Str.toStringz(text), (attrs is null) ? null : attrs.getPgAttributeListStruct()); + } + + /** */ + public void setWidget(Widget child) + { + gtk_source_completion_cell_set_widget(gtkSourceCompletionCell, (child is null) ? null : child.getWidgetStruct()); + } +} diff --git a/source/generated/sourceview/sourceview/CompletionContext.d b/source/generated/sourceview/sourceview/CompletionContext.d new file mode 100644 index 000000000..b9d06b2ab --- /dev/null +++ b/source/generated/sourceview/sourceview/CompletionContext.d @@ -0,0 +1,261 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.CompletionContext; + +private import gio.ListModelIF; +private import gio.ListModelT; +private import glib.MemorySlice; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.TextIter; +private import sourceview.Buffer; +private import sourceview.Completion; +private import sourceview.CompletionProviderIF; +private import sourceview.Language; +private import sourceview.View; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * The context of a completion. + * + * `GtkSourceCompletionContext` contains information about an attept to display + * completion proposals to the user based on typed text in the [class@View]. + * + * When typing, [class@Completion] may use registered + * [iface@CompletionProvider] to determine if there may be results which + * could be displayed. If so, a `GtkSourceCompletionContext` is created with + * information that is provided to the [iface@CompletionProvider] to populate + * results which might be useful to the user. + * + * [iface@CompletionProvider] are expected to provide [iface@Gio.ListModel] with + * [iface@CompletionProposal] which may be joined together in a list of + * results for the user. They are also responsible for how the contents are + * displayed using [class@CompletionCell] which allows for some level of + * customization. + */ +public class CompletionContext : ObjectG, ListModelIF +{ + /** the main Gtk struct */ + protected GtkSourceCompletionContext* gtkSourceCompletionContext; + + /** Get the main Gtk struct */ + public GtkSourceCompletionContext* getCompletionContextStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceCompletionContext; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceCompletionContext; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceCompletionContext* gtkSourceCompletionContext, bool ownedRef = false) + { + this.gtkSourceCompletionContext = gtkSourceCompletionContext; + super(cast(GObject*)gtkSourceCompletionContext, ownedRef); + } + + // add the ListModel capabilities + mixin ListModelT!(GtkSourceCompletionContext); + + + /** */ + public static GType getType() + { + return gtk_source_completion_context_get_type(); + } + + /** + * Gets the mode for which the context was activated. + */ + public GtkSourceCompletionActivation getActivation() + { + return gtk_source_completion_context_get_activation(gtkSourceCompletionContext); + } + + /** + * Gets the bounds for the completion, which is the beginning of the + * current word (taking break characters into account) to the current + * insertion cursor. + * + * If @begin is non-%NULL, it will be set to the start position of the + * current word being completed. + * + * If @end is non-%NULL, it will be set to the insertion cursor for the + * current word being completed. + * + * Params: + * begin = a #GtkTextIter + * end = a #GtkTextIter + * + * Returns: %TRUE if the marks are still valid and @begin or @end was set. + */ + public bool getBounds(out TextIter begin, out TextIter end) + { + GtkTextIter* outbegin = sliceNew!GtkTextIter(); + GtkTextIter* outend = sliceNew!GtkTextIter(); + + auto __p = gtk_source_completion_context_get_bounds(gtkSourceCompletionContext, outbegin, outend) != 0; + + begin = ObjectG.getDObject!(TextIter)(outbegin, true); + end = ObjectG.getDObject!(TextIter)(outend, true); + + return __p; + } + + /** + * Gets the underlying buffer used by the context. + * + * This is a convenience function to get the buffer via the #GtkSourceCompletion + * property. + * + * Returns: a #GtkTextBuffer or %NULL + */ + public Buffer getBuffer() + { + auto __p = gtk_source_completion_context_get_buffer(gtkSourceCompletionContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Buffer)(cast(GtkSourceBuffer*) __p); + } + + /** + * Gets the "busy" property. This is set to %TRUE while the completion + * context is actively fetching proposals from registered + * #GtkSourceCompletionProvider's. + * + * Returns: %TRUE if the context is busy + */ + public bool getBusy() + { + return gtk_source_completion_context_get_busy(gtkSourceCompletionContext) != 0; + } + + /** + * Gets the #GtkSourceCompletion that created the context. + * + * Returns: an #GtkSourceCompletion or %NULL + */ + public Completion getCompletion() + { + auto __p = gtk_source_completion_context_get_completion(gtkSourceCompletionContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Completion)(cast(GtkSourceCompletion*) __p); + } + + /** + * Checks if any proposals have been provided to the context. + * + * Out of convenience, this function will return %TRUE if @self is %NULL. + * + * Returns: %TRUE if there are no proposals in the context + */ + public bool getEmpty() + { + return gtk_source_completion_context_get_empty(gtkSourceCompletionContext) != 0; + } + + /** + * Gets the language of the underlying buffer, if any. + * + * Returns: a #GtkSourceLanguage or %NULL + */ + public Language getLanguage() + { + auto __p = gtk_source_completion_context_get_language(gtkSourceCompletionContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Language)(cast(GtkSourceLanguage*) __p); + } + + /** + * Gets the text view for the context. + * + * Returns: a #GtkSourceView or %NULL + */ + public View getView() + { + auto __p = gtk_source_completion_context_get_view(gtkSourceCompletionContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(View)(cast(GtkSourceView*) __p); + } + + /** + * Gets the word that is being completed up to the position of the insert mark. + * + * Returns: a string containing the current word + */ + public string getWord() + { + auto retStr = gtk_source_completion_context_get_word(gtkSourceCompletionContext); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * This function allows providers to update their results for a context + * outside of a call to [method@CompletionProvider.populate_async]. + * + * This can be used to immediately return results for a provider while it does + * additional asynchronous work. Doing so will allow the completions to + * update while the operation is in progress. + * + * Params: + * provider = an #GtkSourceCompletionProvider + * results = a #GListModel or %NULL + */ + public void setProposalsForProvider(CompletionProviderIF provider, ListModelIF results) + { + gtk_source_completion_context_set_proposals_for_provider(gtkSourceCompletionContext, (provider is null) ? null : provider.getCompletionProviderStruct(), (results is null) ? null : results.getListModelStruct()); + } +} diff --git a/source/generated/sourceview/sourceview/CompletionProposalIF.d b/source/generated/sourceview/sourceview/CompletionProposalIF.d new file mode 100644 index 000000000..fa6a499a6 --- /dev/null +++ b/source/generated/sourceview/sourceview/CompletionProposalIF.d @@ -0,0 +1,55 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.CompletionProposalIF; + +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Interface for completion proposals. + * + * This interface is used to denote that an object is capable of being + * a completion proposal for [class@Completion]. + * + * Currently, no method or functions are required but additional methods + * may be added in the future. Proposals created by + * #GtkSourceCompletionProvider can use [func@GObject.IMPLEMENT_INTERFACE] to + * implement this with %NULL for the interface init function. + */ +public interface CompletionProposalIF{ + /** Get the main Gtk struct */ + public GtkSourceCompletionProposal* getCompletionProposalStruct(bool transferOwnership = false); + + /** the main Gtk struct as a void* */ + protected void* getStruct(); + + + /** */ + public static GType getType() + { + return gtk_source_completion_proposal_get_type(); + } +} diff --git a/source/generated/sourceview/sourceview/CompletionProposalT.d b/source/generated/sourceview/sourceview/CompletionProposalT.d new file mode 100644 index 000000000..7e0b1fb39 --- /dev/null +++ b/source/generated/sourceview/sourceview/CompletionProposalT.d @@ -0,0 +1,52 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.CompletionProposalT; + +public import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Interface for completion proposals. + * + * This interface is used to denote that an object is capable of being + * a completion proposal for [class@Completion]. + * + * Currently, no method or functions are required but additional methods + * may be added in the future. Proposals created by + * #GtkSourceCompletionProvider can use [func@GObject.IMPLEMENT_INTERFACE] to + * implement this with %NULL for the interface init function. + */ +public template CompletionProposalT(TStruct) +{ + /** Get the main Gtk struct */ + public GtkSourceCompletionProposal* getCompletionProposalStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return cast(GtkSourceCompletionProposal*)getStruct(); + } + +} diff --git a/source/generated/sourceview/sourceview/CompletionProviderIF.d b/source/generated/sourceview/sourceview/CompletionProviderIF.d new file mode 100644 index 000000000..b88ed584a --- /dev/null +++ b/source/generated/sourceview/sourceview/CompletionProviderIF.d @@ -0,0 +1,210 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.CompletionProviderIF; + +private import gio.AsyncResultIF; +private import gio.Cancellable; +private import gio.ListModelIF; +private import glib.ErrorG; +private import glib.GException; +private import glib.PtrArray; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.TextIter; +private import sourceview.CompletionCell; +private import sourceview.CompletionContext; +private import sourceview.CompletionProposalIF; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Completion provider interface. + * + * You must implement this interface to provide proposals to [class@Completion]. + * + * In most cases, implementations of this interface will want to use + * [vfunc@CompletionProvider.populate_async] to asynchronously populate the results + * to avoid blocking the main loop. + */ +public interface CompletionProviderIF{ + /** Get the main Gtk struct */ + public GtkSourceCompletionProvider* getCompletionProviderStruct(bool transferOwnership = false); + + /** the main Gtk struct as a void* */ + protected void* getStruct(); + + + /** */ + public static GType getType() + { + return gtk_source_completion_provider_get_type(); + } + + /** + * This function requests @proposal to be activated by the + * #GtkSourceCompletionProvider. + * + * What the provider does to activate the proposal is specific to that + * provider. Many providers may choose to insert a #GtkSourceSnippet with + * edit points the user may cycle through. + * + * See also: [class@Snippet], [class@SnippetChunk], [method@View.push_snippet] + * + * Params: + * context = a #GtkSourceCompletionContext + * proposal = a #GtkSourceCompletionProposal + */ + public void activate(CompletionContext context, CompletionProposalIF proposal); + + /** + * This function requests that the #GtkSourceCompletionProvider prepares + * @cell to display the contents of @proposal. + * + * Based on @cells column type, you may want to display different information. + * + * This allows for columns of information among completion proposals + * resulting in better alignment of similar content (icons, return types, + * method names, and parameter lists). + * + * Params: + * context = a #GtkSourceCompletionContext + * proposal = a #GtkSourceCompletionProposal + * cell = a #GtkSourceCompletionCell + */ + public void display(CompletionContext context, CompletionProposalIF proposal, CompletionCell cell); + + /** + * This function should return the priority of @self in @context. + * + * The priority is used to sort groups of completion proposals by + * provider so that higher priority providers results are shown + * above lower priority providers. + * + * Lower value indicates higher priority. + * + * Params: + * context = a #GtkSourceCompletionContext + */ + public int getPriority(CompletionContext context); + + /** + * Gets the title of the completion provider, if any. + * + * Currently, titles are not displayed in the completion results, but may be + * at some point in the future when non-%NULL. + * + * Returns: a title for the provider or %NULL + */ + public string getTitle(); + + /** + * This function is used to determine of a character inserted into the text + * editor should cause a new completion request to be triggered. + * + * An example would be period '.' which might indicate that the user wants + * to complete method or field names of an object. + * + * Params: + * iter = a #GtkTextIter + * ch = a #gunichar of the character inserted + */ + public bool isTrigger(TextIter iter, dchar ch); + + /** + * This function is used to determine if a key typed by the user should + * activate @proposal (resulting in committing the text to the editor). + * + * This is useful when using languages where convention may lead to less + * typing by the user. One example may be the use of "." or "-" to expand + * a field access in the C programming language. + * + * Params: + * context = a #GtkSourceCompletionContext + * proposal = a #GtkSourceCompletionProposal + * keyval = a keyval such as [const@Gdk.KEY_period] + * state = a #GdkModifierType or 0 + */ + public bool keyActivates(CompletionContext context, CompletionProposalIF proposal, uint keyval, GdkModifierType state); + + /** + * Providers should return a list of alternates to @proposal or %NULL if + * there are no alternates available. + * + * This can be used by the completion view to allow the user to move laterally + * through similar proposals, such as overrides of methods by the same name. + * + * Params: + * context = a #GtkSourceCompletionContext + * proposal = a #GtkSourceCompletionProposal + * + * Returns: a #GPtrArray of #GtkSourceCompletionProposal or %NULL. + */ + public PtrArray listAlternates(CompletionContext context, CompletionProposalIF proposal); + + /** + * Asynchronously requests that the provider populates the completion + * results for @context. + * + * For providers that would like to populate a [iface@Gio.ListModel] while those + * results are displayed to the user, + * [method@CompletionContext.set_proposals_for_provider] may be used + * to reduce latency until the user sees results. + * + * Params: + * context = a #GtkSourceCompletionContext + * cancellable = a #GCancellable or %NULL + * callback = a callback to execute upon completion + * userData = closure data for @callback + */ + public void populateAsync(CompletionContext context, Cancellable cancellable, GAsyncReadyCallback callback, void* userData); + + /** + * Completes an asynchronous operation to populate a completion provider. + * + * Params: + * result = a #GAsyncResult provided to callback + * + * Returns: a #GListModel of #GtkSourceCompletionProposal + * + * Throws: GException on failure. + */ + public ListModelIF populateFinish(AsyncResultIF result); + + /** + * This function can be used to filter results previously provided to + * the [class@CompletionContext] by the #GtkSourceCompletionProvider. + * + * This can happen as the user types additional text onto the word so + * that previously matched items may be removed from the list instead of + * generating new [iface@Gio.ListModel] of results. + * + * Params: + * context = a #GtkSourceCompletionContext + * model = a #GListModel + */ + public void refilter(CompletionContext context, ListModelIF model); +} diff --git a/source/generated/sourceview/sourceview/CompletionProviderT.d b/source/generated/sourceview/sourceview/CompletionProviderT.d new file mode 100644 index 000000000..3f587f990 --- /dev/null +++ b/source/generated/sourceview/sourceview/CompletionProviderT.d @@ -0,0 +1,261 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.CompletionProviderT; + +public import gio.AsyncResultIF; +public import gio.Cancellable; +public import gio.ListModelIF; +public import glib.ErrorG; +public import glib.GException; +public import glib.PtrArray; +public import glib.Str; +public import glib.c.functions; +public import gobject.ObjectG; +public import gtk.TextIter; +public import sourceview.CompletionCell; +public import sourceview.CompletionContext; +public import sourceview.CompletionProposalIF; +public import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Completion provider interface. + * + * You must implement this interface to provide proposals to [class@Completion]. + * + * In most cases, implementations of this interface will want to use + * [vfunc@CompletionProvider.populate_async] to asynchronously populate the results + * to avoid blocking the main loop. + */ +public template CompletionProviderT(TStruct) +{ + /** Get the main Gtk struct */ + public GtkSourceCompletionProvider* getCompletionProviderStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return cast(GtkSourceCompletionProvider*)getStruct(); + } + + + /** + * This function requests @proposal to be activated by the + * #GtkSourceCompletionProvider. + * + * What the provider does to activate the proposal is specific to that + * provider. Many providers may choose to insert a #GtkSourceSnippet with + * edit points the user may cycle through. + * + * See also: [class@Snippet], [class@SnippetChunk], [method@View.push_snippet] + * + * Params: + * context = a #GtkSourceCompletionContext + * proposal = a #GtkSourceCompletionProposal + */ + public void activate(CompletionContext context, CompletionProposalIF proposal) + { + gtk_source_completion_provider_activate(getCompletionProviderStruct(), (context is null) ? null : context.getCompletionContextStruct(), (proposal is null) ? null : proposal.getCompletionProposalStruct()); + } + + /** + * This function requests that the #GtkSourceCompletionProvider prepares + * @cell to display the contents of @proposal. + * + * Based on @cells column type, you may want to display different information. + * + * This allows for columns of information among completion proposals + * resulting in better alignment of similar content (icons, return types, + * method names, and parameter lists). + * + * Params: + * context = a #GtkSourceCompletionContext + * proposal = a #GtkSourceCompletionProposal + * cell = a #GtkSourceCompletionCell + */ + public void display(CompletionContext context, CompletionProposalIF proposal, CompletionCell cell) + { + gtk_source_completion_provider_display(getCompletionProviderStruct(), (context is null) ? null : context.getCompletionContextStruct(), (proposal is null) ? null : proposal.getCompletionProposalStruct(), (cell is null) ? null : cell.getCompletionCellStruct()); + } + + /** + * This function should return the priority of @self in @context. + * + * The priority is used to sort groups of completion proposals by + * provider so that higher priority providers results are shown + * above lower priority providers. + * + * Lower value indicates higher priority. + * + * Params: + * context = a #GtkSourceCompletionContext + */ + public int getPriority(CompletionContext context) + { + return gtk_source_completion_provider_get_priority(getCompletionProviderStruct(), (context is null) ? null : context.getCompletionContextStruct()); + } + + /** + * Gets the title of the completion provider, if any. + * + * Currently, titles are not displayed in the completion results, but may be + * at some point in the future when non-%NULL. + * + * Returns: a title for the provider or %NULL + */ + public string getTitle() + { + auto retStr = gtk_source_completion_provider_get_title(getCompletionProviderStruct()); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * This function is used to determine of a character inserted into the text + * editor should cause a new completion request to be triggered. + * + * An example would be period '.' which might indicate that the user wants + * to complete method or field names of an object. + * + * Params: + * iter = a #GtkTextIter + * ch = a #gunichar of the character inserted + */ + public bool isTrigger(TextIter iter, dchar ch) + { + return gtk_source_completion_provider_is_trigger(getCompletionProviderStruct(), (iter is null) ? null : iter.getTextIterStruct(), ch) != 0; + } + + /** + * This function is used to determine if a key typed by the user should + * activate @proposal (resulting in committing the text to the editor). + * + * This is useful when using languages where convention may lead to less + * typing by the user. One example may be the use of "." or "-" to expand + * a field access in the C programming language. + * + * Params: + * context = a #GtkSourceCompletionContext + * proposal = a #GtkSourceCompletionProposal + * keyval = a keyval such as [const@Gdk.KEY_period] + * state = a #GdkModifierType or 0 + */ + public bool keyActivates(CompletionContext context, CompletionProposalIF proposal, uint keyval, GdkModifierType state) + { + return gtk_source_completion_provider_key_activates(getCompletionProviderStruct(), (context is null) ? null : context.getCompletionContextStruct(), (proposal is null) ? null : proposal.getCompletionProposalStruct(), keyval, state) != 0; + } + + /** + * Providers should return a list of alternates to @proposal or %NULL if + * there are no alternates available. + * + * This can be used by the completion view to allow the user to move laterally + * through similar proposals, such as overrides of methods by the same name. + * + * Params: + * context = a #GtkSourceCompletionContext + * proposal = a #GtkSourceCompletionProposal + * + * Returns: a #GPtrArray of #GtkSourceCompletionProposal or %NULL. + */ + public PtrArray listAlternates(CompletionContext context, CompletionProposalIF proposal) + { + auto __p = gtk_source_completion_provider_list_alternates(getCompletionProviderStruct(), (context is null) ? null : context.getCompletionContextStruct(), (proposal is null) ? null : proposal.getCompletionProposalStruct()); + + if(__p is null) + { + return null; + } + + return new PtrArray(cast(GPtrArray*) __p, true); + } + + /** + * Asynchronously requests that the provider populates the completion + * results for @context. + * + * For providers that would like to populate a [iface@Gio.ListModel] while those + * results are displayed to the user, + * [method@CompletionContext.set_proposals_for_provider] may be used + * to reduce latency until the user sees results. + * + * Params: + * context = a #GtkSourceCompletionContext + * cancellable = a #GCancellable or %NULL + * callback = a callback to execute upon completion + * userData = closure data for @callback + */ + public void populateAsync(CompletionContext context, Cancellable cancellable, GAsyncReadyCallback callback, void* userData) + { + gtk_source_completion_provider_populate_async(getCompletionProviderStruct(), (context is null) ? null : context.getCompletionContextStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * Completes an asynchronous operation to populate a completion provider. + * + * Params: + * result = a #GAsyncResult provided to callback + * + * Returns: a #GListModel of #GtkSourceCompletionProposal + * + * Throws: GException on failure. + */ + public ListModelIF populateFinish(AsyncResultIF result) + { + GError* err = null; + + auto __p = gtk_source_completion_provider_populate_finish(getCompletionProviderStruct(), (result is null) ? null : result.getAsyncResultStruct(), &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ListModelIF)(cast(GListModel*) __p, true); + } + + /** + * This function can be used to filter results previously provided to + * the [class@CompletionContext] by the #GtkSourceCompletionProvider. + * + * This can happen as the user types additional text onto the word so + * that previously matched items may be removed from the list instead of + * generating new [iface@Gio.ListModel] of results. + * + * Params: + * context = a #GtkSourceCompletionContext + * model = a #GListModel + */ + public void refilter(CompletionContext context, ListModelIF model) + { + gtk_source_completion_provider_refilter(getCompletionProviderStruct(), (context is null) ? null : context.getCompletionContextStruct(), (model is null) ? null : model.getListModelStruct()); + } +} diff --git a/source/generated/sourceview/sourceview/CompletionSnippets.d b/source/generated/sourceview/sourceview/CompletionSnippets.d new file mode 100644 index 000000000..99afdd58a --- /dev/null +++ b/source/generated/sourceview/sourceview/CompletionSnippets.d @@ -0,0 +1,92 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.CompletionSnippets; + +private import glib.ConstructionException; +private import gobject.ObjectG; +private import sourceview.CompletionProviderIF; +private import sourceview.CompletionProviderT; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * A [iface@CompletionProvider] for the completion of snippets. + * + * The `GtkSourceCompletionSnippets` is an example of an implementation of + * the [iface@CompletionProvider] interface. The proposals are snippets + * registered with the [class@SnippetManager]. + */ +public class CompletionSnippets : ObjectG, CompletionProviderIF +{ + /** the main Gtk struct */ + protected GtkSourceCompletionSnippets* gtkSourceCompletionSnippets; + + /** Get the main Gtk struct */ + public GtkSourceCompletionSnippets* getCompletionSnippetsStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceCompletionSnippets; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceCompletionSnippets; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceCompletionSnippets* gtkSourceCompletionSnippets, bool ownedRef = false) + { + this.gtkSourceCompletionSnippets = gtkSourceCompletionSnippets; + super(cast(GObject*)gtkSourceCompletionSnippets, ownedRef); + } + + // add the CompletionProvider capabilities + mixin CompletionProviderT!(GtkSourceCompletionSnippets); + + + /** */ + public static GType getType() + { + return gtk_source_completion_snippets_get_type(); + } + + /** */ + public this() + { + auto __p = gtk_source_completion_snippets_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceCompletionSnippets*) __p, true); + } +} diff --git a/source/generated/sourceview/sourceview/CompletionWords.d b/source/generated/sourceview/sourceview/CompletionWords.d new file mode 100644 index 000000000..cc44536da --- /dev/null +++ b/source/generated/sourceview/sourceview/CompletionWords.d @@ -0,0 +1,123 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.CompletionWords; + +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import gtk.TextBuffer; +private import sourceview.CompletionProviderIF; +private import sourceview.CompletionProviderT; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * A [iface@CompletionProvider] for the completion of words. + * + * The `GtkSourceCompletionWords` is an example of an implementation of + * the [iface@CompletionProvider] interface. The proposals are words + * appearing in the registered [class@Gtk.TextBuffer]s. + */ +public class CompletionWords : ObjectG, CompletionProviderIF +{ + /** the main Gtk struct */ + protected GtkSourceCompletionWords* gtkSourceCompletionWords; + + /** Get the main Gtk struct */ + public GtkSourceCompletionWords* getCompletionWordsStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceCompletionWords; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceCompletionWords; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceCompletionWords* gtkSourceCompletionWords, bool ownedRef = false) + { + this.gtkSourceCompletionWords = gtkSourceCompletionWords; + super(cast(GObject*)gtkSourceCompletionWords, ownedRef); + } + + // add the CompletionProvider capabilities + mixin CompletionProviderT!(GtkSourceCompletionWords); + + + /** */ + public static GType getType() + { + return gtk_source_completion_words_get_type(); + } + + /** + * + * Params: + * title = The title for the provider, or %NULL. + * Returns: a new #GtkSourceCompletionWords provider + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string title) + { + auto __p = gtk_source_completion_words_new(Str.toStringz(title)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceCompletionWords*) __p, true); + } + + /** + * Registers @buffer in the @words provider. + * + * Params: + * buffer = a #GtkTextBuffer + */ + public void register(TextBuffer buffer) + { + gtk_source_completion_words_register(gtkSourceCompletionWords, (buffer is null) ? null : buffer.getTextBufferStruct()); + } + + /** + * Unregisters @buffer from the @words provider. + * + * Params: + * buffer = a #GtkTextBuffer + */ + public void unregister(TextBuffer buffer) + { + gtk_source_completion_words_unregister(gtkSourceCompletionWords, (buffer is null) ? null : buffer.getTextBufferStruct()); + } +} diff --git a/source/generated/sourceview/sourceview/Encoding.d b/source/generated/sourceview/sourceview/Encoding.d new file mode 100644 index 000000000..ee870b57a --- /dev/null +++ b/source/generated/sourceview/sourceview/Encoding.d @@ -0,0 +1,240 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.Encoding; + +private import glib.ListSG; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import linker.Loader; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Character encoding. + * + * The #GtkSourceEncoding boxed type represents a character encoding. It is used + * for example by #GtkSourceFile. Note that the text in GTK widgets is always + * encoded in UTF-8. + */ +public class Encoding +{ + /** the main Gtk struct */ + protected GtkSourceEncoding* gtkSourceEncoding; + protected bool ownedRef; + + /** Get the main Gtk struct */ + public GtkSourceEncoding* getEncodingStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceEncoding; + } + + /** the main Gtk struct as a void* */ + protected void* getStruct() + { + return cast(void*)gtkSourceEncoding; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceEncoding* gtkSourceEncoding, bool ownedRef = false) + { + this.gtkSourceEncoding = gtkSourceEncoding; + this.ownedRef = ownedRef; + } + + ~this () + { + if ( Linker.isLoaded(LIBRARY_SOURCEVIEW[0]) && ownedRef ) + gtk_source_encoding_free(gtkSourceEncoding); + } + + + /** */ + public static GType getType() + { + return gtk_source_encoding_get_type(); + } + + /** + * Used by language bindings. + * + * Returns: a copy of @enc. + */ + public Encoding copy() + { + auto __p = gtk_source_encoding_copy(gtkSourceEncoding); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Encoding)(cast(GtkSourceEncoding*) __p, true); + } + + /** + * Used by language bindings. + */ + public void free() + { + gtk_source_encoding_free(gtkSourceEncoding); + ownedRef = false; + } + + /** + * Gets the character set of the #GtkSourceEncoding, such as "UTF-8" or + * "ISO-8859-1". + * + * Returns: the character set of the #GtkSourceEncoding. + */ + public string getCharset() + { + return Str.toString(gtk_source_encoding_get_charset(gtkSourceEncoding)); + } + + /** + * Gets the name of the #GtkSourceEncoding such as "Unicode" or "Western". + * + * Returns: the name of the #GtkSourceEncoding. + */ + public string getName() + { + return Str.toString(gtk_source_encoding_get_name(gtkSourceEncoding)); + } + + /** + * Returns: a string representation. Free with g_free() when no longer needed. + */ + public override string toString() + { + auto retStr = gtk_source_encoding_to_string(gtkSourceEncoding); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Gets all encodings. + * + * Returns: a list of + * all #GtkSourceEncoding's. Free with g_slist_free(). + */ + public static ListSG getAll() + { + auto __p = gtk_source_encoding_get_all(); + + if(__p is null) + { + return null; + } + + return new ListSG(cast(GSList*) __p); + } + + /** + * Gets the #GtkSourceEncoding for the current locale. + * + * See also [func@GLib.get_charset]. + * + * Returns: the current locale encoding. + */ + public static Encoding getCurrent() + { + auto __p = gtk_source_encoding_get_current(); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Encoding)(cast(GtkSourceEncoding*) __p); + } + + /** + * Gets the list of default candidate encodings to try when loading a file. + * + * See [method@FileLoader.set_candidate_encodings]. + * + * This function returns a different list depending on the current locale (i.e. + * language, country and default encoding). The UTF-8 encoding and the current + * locale encoding are guaranteed to be present in the returned list. + * + * Returns: the list of + * default candidate encodings. Free with g_slist_free(). + */ + public static ListSG getDefaultCandidates() + { + auto __p = gtk_source_encoding_get_default_candidates(); + + if(__p is null) + { + return null; + } + + return new ListSG(cast(GSList*) __p); + } + + /** + * Gets a #GtkSourceEncoding from a character set such as "UTF-8" or + * "ISO-8859-1". + * + * Params: + * charset = a character set. + * + * Returns: the corresponding #GtkSourceEncoding, or %NULL + * if not found. + */ + public static Encoding getFromCharset(string charset) + { + auto __p = gtk_source_encoding_get_from_charset(Str.toStringz(charset)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Encoding)(cast(GtkSourceEncoding*) __p); + } + + /** + * Returns: the UTF-8 encoding. + */ + public static Encoding getUtf8() + { + auto __p = gtk_source_encoding_get_utf8(); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Encoding)(cast(GtkSourceEncoding*) __p); + } +} diff --git a/source/generated/sourceview/sourceview/File.d b/source/generated/sourceview/sourceview/File.d new file mode 100644 index 000000000..22dd734d4 --- /dev/null +++ b/source/generated/sourceview/sourceview/File.d @@ -0,0 +1,247 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.File; + +private import gio.FileIF; +private import glib.ConstructionException; +private import gobject.ObjectG; +private import sourceview.Encoding; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * On-disk representation of a [class@Buffer]. + * + * A `GtkSourceFile` object is the on-disk representation of a [class@Buffer]. + * With a `GtkSourceFile`, you can create and configure a [class@FileLoader] + * and [class@FileSaver] which take by default the values of the + * `GtkSourceFile` properties (except for the file loader which auto-detect some + * properties). On a successful load or save operation, the `GtkSourceFile` + * properties are updated. If an operation fails, the `GtkSourceFile` properties + * have still the previous valid values. + */ +public class File : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceFile* gtkSourceFile; + + /** Get the main Gtk struct */ + public GtkSourceFile* getFileStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceFile; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceFile; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceFile* gtkSourceFile, bool ownedRef = false) + { + this.gtkSourceFile = gtkSourceFile; + super(cast(GObject*)gtkSourceFile, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_file_get_type(); + } + + /** + * Returns: a new #GtkSourceFile object. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_source_file_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceFile*) __p, true); + } + + /** + * Checks synchronously the file on disk, to know whether the file is externally + * modified, or has been deleted, and whether the file is read-only. + * + * #GtkSourceFile doesn't create a [class@Gio.FileMonitor] to track those properties, so + * this function needs to be called instead. Creating lots of [class@Gio.FileMonitor]'s + * would take lots of resources. + * + * Since this function is synchronous, it is advised to call it only on local + * files. See [method@File.is_local]. + */ + public void checkFileOnDisk() + { + gtk_source_file_check_file_on_disk(gtkSourceFile); + } + + /** + * Returns: the compression type. + */ + public GtkSourceCompressionType getCompressionType() + { + return gtk_source_file_get_compression_type(gtkSourceFile); + } + + /** + * The encoding is initially %NULL. After a successful file loading or saving + * operation, the encoding is non-%NULL. + * + * Returns: the character encoding. + */ + public Encoding getEncoding() + { + auto __p = gtk_source_file_get_encoding(gtkSourceFile); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Encoding)(cast(GtkSourceEncoding*) __p); + } + + /** + * Returns: the #GFile. + */ + public FileIF getLocation() + { + auto __p = gtk_source_file_get_location(gtkSourceFile); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(FileIF)(cast(GFile*) __p); + } + + /** + * Returns: the newline type. + */ + public GtkSourceNewlineType getNewlineType() + { + return gtk_source_file_get_newline_type(gtkSourceFile); + } + + /** + * Returns whether the file has been deleted. If the + * [property@File:location] is %NULL, returns %FALSE. + * + * To have an up-to-date value, you must first call + * [method@File.check_file_on_disk]. + * + * Returns: whether the file has been deleted. + */ + public bool isDeleted() + { + return gtk_source_file_is_deleted(gtkSourceFile) != 0; + } + + /** + * Returns whether the file is externally modified. If the + * [property@File:location] is %NULL, returns %FALSE. + * + * To have an up-to-date value, you must first call + * [method@File.check_file_on_disk]. + * + * Returns: whether the file is externally modified. + */ + public bool isExternallyModified() + { + return gtk_source_file_is_externally_modified(gtkSourceFile) != 0; + } + + /** + * Returns whether the file is local. If the [property@File:location] is %NULL, + * returns %FALSE. + * + * Returns: whether the file is local. + */ + public bool isLocal() + { + return gtk_source_file_is_local(gtkSourceFile) != 0; + } + + /** + * Returns whether the file is read-only. If the + * [property@File:location] is %NULL, returns %FALSE. + * + * To have an up-to-date value, you must first call + * [method@File.check_file_on_disk]. + * + * Returns: whether the file is read-only. + */ + public bool isReadonly() + { + return gtk_source_file_is_readonly(gtkSourceFile) != 0; + } + + /** + * Sets the location. + * + * Params: + * location = the new #GFile, or %NULL. + */ + public void setLocation(FileIF location) + { + gtk_source_file_set_location(gtkSourceFile, (location is null) ? null : location.getFileStruct()); + } + + /** + * Sets a [callback@MountOperationFactory] function that will be called when a + * [class@Gio.MountOperation] must be created. + * + * This is useful for creating a [class@Gtk.MountOperation] with the parent [class@Gtk.Window]. + * + * If a mount operation factory isn't set, [ctor@Gio.MountOperation.new] will be + * called. + * + * Params: + * callback = a #GtkSourceMountOperationFactory to call when a + * #GMountOperation is needed. + * userData = the data to pass to the @callback function. + * notify = function to call on @user_data when the @callback is no + * longer needed, or %NULL. + */ + public void setMountOperationFactory(GtkSourceMountOperationFactory callback, void* userData, GDestroyNotify notify) + { + gtk_source_file_set_mount_operation_factory(gtkSourceFile, callback, userData, notify); + } +} diff --git a/source/generated/sourceview/sourceview/FileLoader.d b/source/generated/sourceview/sourceview/FileLoader.d new file mode 100644 index 000000000..f0e2a7eea --- /dev/null +++ b/source/generated/sourceview/sourceview/FileLoader.d @@ -0,0 +1,317 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.FileLoader; + +private import gio.AsyncResultIF; +private import gio.Cancellable; +private import gio.FileIF; +private import gio.InputStream; +private import glib.ConstructionException; +private import glib.ErrorG; +private import glib.GException; +private import glib.ListSG; +private import gobject.ObjectG; +private import sourceview.Buffer; +private import sourceview.Encoding; +private import sourceview.File; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Load a file into a GtkSourceBuffer. + * + * A `GtkSourceFileLoader` object permits to load the contents of a [iface@Gio.File] or a + * [class@Gio.InputStream] into a [class@Buffer]. + * + * A file loader should be used only for one load operation, including errors + * handling. If an error occurs, you can reconfigure the loader and relaunch the + * operation with [method@FileLoader.load_async]. + * + * Running a `GtkSourceFileLoader` is an undoable action for the + * [class@Buffer]. + * + * After a file loading, the buffer is reset to the contents provided by the + * [iface@Gio.File] or [class@Gio.InputStream], so the buffer is set as “unmodified”, that is, + * [method@Gtk.TextBuffer.set_modified] is called with %FALSE. If the contents isn't + * saved somewhere (for example if you load from stdin), then you should + * probably call [method@Gtk.TextBuffer.set_modified] with %TRUE after calling + * [method@FileLoader.load_finish]. + */ +public class FileLoader : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceFileLoader* gtkSourceFileLoader; + + /** Get the main Gtk struct */ + public GtkSourceFileLoader* getFileLoaderStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceFileLoader; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceFileLoader; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceFileLoader* gtkSourceFileLoader, bool ownedRef = false) + { + this.gtkSourceFileLoader = gtkSourceFileLoader; + super(cast(GObject*)gtkSourceFileLoader, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_file_loader_get_type(); + } + + /** + * Creates a new `GtkSourceFileLoader` object. The contents is read from the + * [class@File]'s location. + * + * If not already done, call [method@File.set_location] before calling this constructor. + * The previous location is anyway not needed, because as soon as the file loading begins, + * the @buffer is emptied. + * + * Params: + * buffer = the #GtkSourceBuffer to load the contents into. + * file = the #GtkSourceFile. + * + * Returns: a new #GtkSourceFileLoader object. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Buffer buffer, File file) + { + auto __p = gtk_source_file_loader_new((buffer is null) ? null : buffer.getBufferStruct(), (file is null) ? null : file.getFileStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceFileLoader*) __p, true); + } + + /** + * Creates a new #GtkSourceFileLoader object. The contents is read from @stream. + * + * Params: + * buffer = the #GtkSourceBuffer to load the contents into. + * file = the #GtkSourceFile. + * stream = the #GInputStream to load, e.g. stdin. + * + * Returns: a new #GtkSourceFileLoader object. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Buffer buffer, File file, InputStream stream) + { + auto __p = gtk_source_file_loader_new_from_stream((buffer is null) ? null : buffer.getBufferStruct(), (file is null) ? null : file.getFileStruct(), (stream is null) ? null : stream.getInputStreamStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_stream"); + } + + this(cast(GtkSourceFileLoader*) __p, true); + } + + /** + * Returns: the #GtkSourceBuffer to load the contents into. + */ + public Buffer getBuffer() + { + auto __p = gtk_source_file_loader_get_buffer(gtkSourceFileLoader); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Buffer)(cast(GtkSourceBuffer*) __p); + } + + /** + * Returns: the detected compression type. + */ + public GtkSourceCompressionType getCompressionType() + { + return gtk_source_file_loader_get_compression_type(gtkSourceFileLoader); + } + + /** + * Returns: the detected file encoding. + */ + public Encoding getEncoding() + { + auto __p = gtk_source_file_loader_get_encoding(gtkSourceFileLoader); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Encoding)(cast(GtkSourceEncoding*) __p); + } + + /** + * Returns: the #GtkSourceFile. + */ + public File getFile() + { + auto __p = gtk_source_file_loader_get_file(gtkSourceFileLoader); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(File)(cast(GtkSourceFile*) __p); + } + + /** + * Returns: the #GInputStream to load, or %NULL + * if a #GFile is used. + */ + public InputStream getInputStream() + { + auto __p = gtk_source_file_loader_get_input_stream(gtkSourceFileLoader); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(InputStream)(cast(GInputStream*) __p); + } + + /** + * Returns: the #GFile to load, or %NULL + * if an input stream is used. + */ + public FileIF getLocation() + { + auto __p = gtk_source_file_loader_get_location(gtkSourceFileLoader); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(FileIF)(cast(GFile*) __p); + } + + /** + * Returns: the detected newline type. + */ + public GtkSourceNewlineType getNewlineType() + { + return gtk_source_file_loader_get_newline_type(gtkSourceFileLoader); + } + + /** + * Loads asynchronously the file or input stream contents into the [class@Buffer]. + * + * See the [iface@Gio.AsyncResult] documentation to know how to use this + * function. + * + * Params: + * ioPriority = the I/O priority of the request. E.g. %G_PRIORITY_LOW, + * %G_PRIORITY_DEFAULT or %G_PRIORITY_HIGH. + * cancellable = optional #GCancellable object, %NULL to ignore. + * progressCallback = function to call back with + * progress information, or %NULL if progress information is not needed. + * progressCallbackData = user data to pass to @progress_callback. + * progressCallbackNotify = function to call on + * @progress_callback_data when the @progress_callback is no longer needed, or + * %NULL. + * callback = a #GAsyncReadyCallback to call when the request is + * satisfied. + * userData = user data to pass to @callback. + */ + public void loadAsync(int ioPriority, Cancellable cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GDestroyNotify progressCallbackNotify, GAsyncReadyCallback callback, void* userData) + { + gtk_source_file_loader_load_async(gtkSourceFileLoader, ioPriority, (cancellable is null) ? null : cancellable.getCancellableStruct(), progressCallback, progressCallbackData, progressCallbackNotify, callback, userData); + } + + /** + * Finishes a file loading started with [method@FileLoader.load_async]. + * + * If the contents has been loaded, the following [class@File] properties will + * be updated: the location, the encoding, the newline type and the compression + * type. + * + * Params: + * result = a #GAsyncResult. + * + * Returns: whether the contents has been loaded successfully. + * + * Throws: GException on failure. + */ + public bool loadFinish(AsyncResultIF result) + { + GError* err = null; + + auto __p = gtk_source_file_loader_load_finish(gtkSourceFileLoader, (result is null) ? null : result.getAsyncResultStruct(), &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Sets the candidate encodings for the file loading. + * + * The encodings are tried in the same order as the list. + * + * For convenience, @candidate_encodings can contain duplicates. Only the first + * occurrence of a duplicated encoding is kept in the list. + * + * By default the candidate encodings are (in that order in the list): + * + * 1. If set, the [class@File]'s encoding as returned by [method@File.get_encoding]. + * 2. The default candidates as returned by [func@Encoding.get_default_candidates]. + * + * Params: + * candidateEncodings = a list of + * #GtkSourceEncodings. + */ + public void setCandidateEncodings(ListSG candidateEncodings) + { + gtk_source_file_loader_set_candidate_encodings(gtkSourceFileLoader, (candidateEncodings is null) ? null : candidateEncodings.getListSGStruct()); + } +} diff --git a/source/generated/sourceview/sourceview/FileSaver.d b/source/generated/sourceview/sourceview/FileSaver.d new file mode 100644 index 000000000..9b2dfbfca --- /dev/null +++ b/source/generated/sourceview/sourceview/FileSaver.d @@ -0,0 +1,325 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.FileSaver; + +private import gio.AsyncResultIF; +private import gio.Cancellable; +private import gio.FileIF; +private import glib.ConstructionException; +private import glib.ErrorG; +private import glib.GException; +private import gobject.ObjectG; +private import sourceview.Buffer; +private import sourceview.Encoding; +private import sourceview.File; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Save a [class@Buffer] into a file. + * + * A `GtkSourceFileSaver` object permits to save a [class@Buffer] into a + * [iface@Gio.File]. + * + * A file saver should be used only for one save operation, including errors + * handling. If an error occurs, you can reconfigure the saver and relaunch the + * operation with [method@FileSaver.save_async]. + */ +public class FileSaver : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceFileSaver* gtkSourceFileSaver; + + /** Get the main Gtk struct */ + public GtkSourceFileSaver* getFileSaverStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceFileSaver; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceFileSaver; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceFileSaver* gtkSourceFileSaver, bool ownedRef = false) + { + this.gtkSourceFileSaver = gtkSourceFileSaver; + super(cast(GObject*)gtkSourceFileSaver, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_file_saver_get_type(); + } + + /** + * Creates a new #GtkSourceFileSaver object. The @buffer will be saved to the + * [class@File]'s location. + * + * This constructor is suitable for a simple "save" operation, when the @file + * already contains a non-%NULL [property@File:location]. + * + * Params: + * buffer = the #GtkSourceBuffer to save. + * file = the #GtkSourceFile. + * + * Returns: a new #GtkSourceFileSaver object. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Buffer buffer, File file) + { + auto __p = gtk_source_file_saver_new((buffer is null) ? null : buffer.getBufferStruct(), (file is null) ? null : file.getFileStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceFileSaver*) __p, true); + } + + /** + * Creates a new #GtkSourceFileSaver object with a target location. + * + * When the file saving is finished successfully, @target_location is set to the @file's + * [property@File:location] property. If an error occurs, the previous valid + * location is still available in [class@File]. + * + * This constructor is suitable for a "save as" operation, or for saving a new + * buffer for the first time. + * + * Params: + * buffer = the #GtkSourceBuffer to save. + * file = the #GtkSourceFile. + * targetLocation = the #GFile where to save the buffer to. + * + * Returns: a new #GtkSourceFileSaver object. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Buffer buffer, File file, FileIF targetLocation) + { + auto __p = gtk_source_file_saver_new_with_target((buffer is null) ? null : buffer.getBufferStruct(), (file is null) ? null : file.getFileStruct(), (targetLocation is null) ? null : targetLocation.getFileStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new_with_target"); + } + + this(cast(GtkSourceFileSaver*) __p, true); + } + + /** + * Returns: the #GtkSourceBuffer to save. + */ + public Buffer getBuffer() + { + auto __p = gtk_source_file_saver_get_buffer(gtkSourceFileSaver); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Buffer)(cast(GtkSourceBuffer*) __p); + } + + /** + * Returns: the compression type. + */ + public GtkSourceCompressionType getCompressionType() + { + return gtk_source_file_saver_get_compression_type(gtkSourceFileSaver); + } + + /** + * Returns: the encoding. + */ + public Encoding getEncoding() + { + auto __p = gtk_source_file_saver_get_encoding(gtkSourceFileSaver); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Encoding)(cast(GtkSourceEncoding*) __p); + } + + /** + * Returns: the #GtkSourceFile. + */ + public File getFile() + { + auto __p = gtk_source_file_saver_get_file(gtkSourceFileSaver); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(File)(cast(GtkSourceFile*) __p); + } + + /** + * Returns: the flags. + */ + public GtkSourceFileSaverFlags getFlags() + { + return gtk_source_file_saver_get_flags(gtkSourceFileSaver); + } + + /** + * Returns: the #GFile where to save the buffer to. + */ + public FileIF getLocation() + { + auto __p = gtk_source_file_saver_get_location(gtkSourceFileSaver); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(FileIF)(cast(GFile*) __p); + } + + /** + * Returns: the newline type. + */ + public GtkSourceNewlineType getNewlineType() + { + return gtk_source_file_saver_get_newline_type(gtkSourceFileSaver); + } + + /** + * Saves asynchronously the buffer into the file. + * + * See the [iface@Gio.AsyncResult] documentation to know how to use this function. + * + * Params: + * ioPriority = the I/O priority of the request. E.g. %G_PRIORITY_LOW, + * %G_PRIORITY_DEFAULT or %G_PRIORITY_HIGH. + * cancellable = optional #GCancellable object, %NULL to ignore. + * progressCallback = function to call back with + * progress information, or %NULL if progress information is not needed. + * progressCallbackData = user data to pass to @progress_callback. + * progressCallbackNotify = function to call on + * @progress_callback_data when the @progress_callback is no longer needed, or + * %NULL. + * callback = a #GAsyncReadyCallback to call when the request is + * satisfied. + * userData = user data to pass to @callback. + */ + public void saveAsync(int ioPriority, Cancellable cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GDestroyNotify progressCallbackNotify, GAsyncReadyCallback callback, void* userData) + { + gtk_source_file_saver_save_async(gtkSourceFileSaver, ioPriority, (cancellable is null) ? null : cancellable.getCancellableStruct(), progressCallback, progressCallbackData, progressCallbackNotify, callback, userData); + } + + /** + * Finishes a file saving started with [method@FileSaver.save_async]. + * + * If the file has been saved successfully, the following [class@File] + * properties will be updated: the location, the encoding, the newline type and + * the compression type. + * + * Since the 3.20 version, [method@Gtk.TextBuffer.set_modified] is called with %FALSE + * if the file has been saved successfully. + * + * Params: + * result = a #GAsyncResult. + * + * Returns: whether the file was saved successfully. + * + * Throws: GException on failure. + */ + public bool saveFinish(AsyncResultIF result) + { + GError* err = null; + + auto __p = gtk_source_file_saver_save_finish(gtkSourceFileSaver, (result is null) ? null : result.getAsyncResultStruct(), &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Sets the compression type. By default the compression type is taken from the + * #GtkSourceFile. + * + * Params: + * compressionType = the new compression type. + */ + public void setCompressionType(GtkSourceCompressionType compressionType) + { + gtk_source_file_saver_set_compression_type(gtkSourceFileSaver, compressionType); + } + + /** + * Sets the encoding. If @encoding is %NULL, the UTF-8 encoding will be set. + * + * By default the encoding is taken from the #GtkSourceFile. + * + * Params: + * encoding = the new encoding, or %NULL for UTF-8. + */ + public void setEncoding(Encoding encoding) + { + gtk_source_file_saver_set_encoding(gtkSourceFileSaver, (encoding is null) ? null : encoding.getEncodingStruct()); + } + + /** */ + public void setFlags(GtkSourceFileSaverFlags flags) + { + gtk_source_file_saver_set_flags(gtkSourceFileSaver, flags); + } + + /** + * Sets the newline type. By default the newline type is taken from the + * #GtkSourceFile. + * + * Params: + * newlineType = the new newline type. + */ + public void setNewlineType(GtkSourceNewlineType newlineType) + { + gtk_source_file_saver_set_newline_type(gtkSourceFileSaver, newlineType); + } +} diff --git a/source/generated/sourceview/sourceview/Gutter.d b/source/generated/sourceview/sourceview/Gutter.d new file mode 100644 index 000000000..e23a4f35b --- /dev/null +++ b/source/generated/sourceview/sourceview/Gutter.d @@ -0,0 +1,143 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.Gutter; + +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import sourceview.GutterRenderer; +private import sourceview.View; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Gutter object for [class@View]. + * + * The `GtkSourceGutter` object represents the left or right gutter of the text + * view. It is used by [class@View] to draw the line numbers and + * [class@Mark]s that might be present on a line. By packing + * additional [class@GutterRenderer] objects in the gutter, you can extend the + * gutter with your own custom drawings. + * + * To get a `GtkSourceGutter`, use the [method@View.get_gutter] function. + * + * The gutter works very much the same way as cells rendered in a [class@Gtk.TreeView]. + * The concept is similar, with the exception that the gutter does not have an + * underlying [iface@Gtk.TreeModel]. The builtin line number renderer is at position + * %GTK_SOURCE_VIEW_GUTTER_POSITION_LINES (-30) and the marks renderer is at + * %GTK_SOURCE_VIEW_GUTTER_POSITION_MARKS (-20). The gutter sorts the renderers + * in ascending order, from left to right. So the marks are displayed on the + * right of the line numbers. + */ +public class Gutter : Widget +{ + /** the main Gtk struct */ + protected GtkSourceGutter* gtkSourceGutter; + + /** Get the main Gtk struct */ + public GtkSourceGutter* getGutterStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceGutter; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceGutter; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceGutter* gtkSourceGutter, bool ownedRef = false) + { + this.gtkSourceGutter = gtkSourceGutter; + super(cast(GtkWidget*)gtkSourceGutter, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_gutter_get_type(); + } + + /** + * Returns: the associated #GtkSourceView. + */ + public View getView() + { + auto __p = gtk_source_gutter_get_view(gtkSourceGutter); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(View)(cast(GtkSourceView*) __p); + } + + /** + * Insert @renderer into the gutter. If @renderer is yet unowned then gutter + * claims its ownership. Otherwise just increases renderer's reference count. + * @renderer cannot be already inserted to another gutter. + * + * Params: + * renderer = a gutter renderer (must inherit from #GtkSourceGutterRenderer). + * position = the renderer position. + * + * Returns: %TRUE if operation succeeded. Otherwise %FALSE. + */ + public bool insert(GutterRenderer renderer, int position) + { + return gtk_source_gutter_insert(gtkSourceGutter, (renderer is null) ? null : renderer.getGutterRendererStruct(), position) != 0; + } + + /** */ + public void remove(GutterRenderer renderer) + { + gtk_source_gutter_remove(gtkSourceGutter, (renderer is null) ? null : renderer.getGutterRendererStruct()); + } + + /** + * Reorders @renderer in @gutter to new @position. + * + * Params: + * renderer = a #GtkCellRenderer. + * position = the new renderer position. + */ + public void reorder(GutterRenderer renderer, int position) + { + gtk_source_gutter_reorder(gtkSourceGutter, (renderer is null) ? null : renderer.getGutterRendererStruct(), position); + } +} diff --git a/source/generated/sourceview/sourceview/GutterLines.d b/source/generated/sourceview/sourceview/GutterLines.d new file mode 100644 index 000000000..bc92fc714 --- /dev/null +++ b/source/generated/sourceview/sourceview/GutterLines.d @@ -0,0 +1,309 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.GutterLines; + +private import glib.MemorySlice; +private import glib.Str; +private import gobject.ObjectG; +private import gtk.TextBuffer; +private import gtk.TextIter; +private import gtk.TextView; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Collected information about visible lines. + * + * The `GtkSourceGutterLines` object is used to collect information about + * visible lines. + * + * Use this from your [signal@GutterRenderer::query-data] to collect the + * necessary information on visible lines. Doing so reduces the number of + * passes through the text btree allowing GtkSourceView to reach more + * frames-per-second while performing kinetic scrolling. + */ +public class GutterLines : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceGutterLines* gtkSourceGutterLines; + + /** Get the main Gtk struct */ + public GtkSourceGutterLines* getGutterLinesStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceGutterLines; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceGutterLines; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceGutterLines* gtkSourceGutterLines, bool ownedRef = false) + { + this.gtkSourceGutterLines = gtkSourceGutterLines; + super(cast(GObject*)gtkSourceGutterLines, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_gutter_lines_get_type(); + } + + /** + * Adds the class @name to @line. + * + * @name will be converted to a [alias@GLib.Quark] as part of this process. A + * faster version of this function is available via + * [method@GutterLines.add_qclass] for situations where the [alias@GLib.Quark] is + * known ahead of time. + * + * Params: + * line = a line number starting from zero + * name = a class name + */ + public void addClass(uint line, string name) + { + gtk_source_gutter_lines_add_class(gtkSourceGutterLines, line, Str.toStringz(name)); + } + + /** + * Adds the class denoted by @qname to @line. + * + * You may check if a line has @qname by calling + * [method@GutterLines.has_qclass]. + * + * You can remove @qname by calling + * [method@GutterLines.remove_qclass]. + * + * Params: + * line = a line number starting from zero + * qname = a class name as a #GQuark + */ + public void addQclass(uint line, GQuark qname) + { + gtk_source_gutter_lines_add_qclass(gtkSourceGutterLines, line, qname); + } + + /** + * Gets the [class@Gtk.TextBuffer] that the `GtkSourceGutterLines` represents. + * + * Returns: a #GtkTextBuffer + */ + public TextBuffer getBuffer() + { + auto __p = gtk_source_gutter_lines_get_buffer(gtkSourceGutterLines); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TextBuffer)(cast(GtkTextBuffer*) __p); + } + + /** + * Gets the line number (starting from 0) for the first line that is + * user visible. + * + * Returns: a line number starting from 0 + */ + public uint getFirst() + { + return gtk_source_gutter_lines_get_first(gtkSourceGutterLines); + } + + /** + * Gets a #GtkTextIter for the current buffer at @line + * + * Params: + * iter = a location for a #GtkTextIter + * line = the line number + */ + public void getIterAtLine(out TextIter iter, uint line) + { + GtkTextIter* outiter = sliceNew!GtkTextIter(); + + gtk_source_gutter_lines_get_iter_at_line(gtkSourceGutterLines, outiter, line); + + iter = ObjectG.getDObject!(TextIter)(outiter, true); + } + + /** + * Gets the line number (starting from 0) for the last line that is + * user visible. + * + * Returns: a line number starting from 0 + */ + public uint getLast() + { + return gtk_source_gutter_lines_get_last(gtkSourceGutterLines); + } + + /** + * Gets the Y range for a line based on @mode. + * + * The value for @y is relative to the renderers widget coordinates. + * + * Params: + * line = a line number starting from zero + * mode = a #GtkSourceGutterRendererAlignmentMode + * y = a location for the Y position in widget coordinates + * height = the line height based on @mode + */ + public void getLineYrange(uint line, GtkSourceGutterRendererAlignmentMode mode, out int y, out int height) + { + gtk_source_gutter_lines_get_line_yrange(gtkSourceGutterLines, line, mode, &y, &height); + } + + /** + * Gets the [class@Gtk.TextView] that the `GtkSourceGutterLines` represents. + * + * Returns: a #GtkTextView + */ + public TextView getView() + { + auto __p = gtk_source_gutter_lines_get_view(gtkSourceGutterLines); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TextView)(cast(GtkTextView*) __p); + } + + /** + * Checks to see if [method@GutterLines.add_class] was called with + * the @name for @line. + * + * A faster version of this function is provided via + * [method@GutterLines.has_qclass] for situations where the quark + * is known ahead of time. + * + * Params: + * line = a line number starting from zero + * name = a class name that may be converted, to a #GQuark + * + * Returns: %TRUE if @line contains @name + */ + public bool hasClass(uint line, string name) + { + return gtk_source_gutter_lines_has_class(gtkSourceGutterLines, line, Str.toStringz(name)) != 0; + } + + /** + * Checks to see if [method@GutterLines.add_qclass] was called with + * the quark denoted by @qname for @line. + * + * Params: + * line = a line number starting from zero + * qname = a #GQuark containing the class name + * + * Returns: %TRUE if @line contains @qname + */ + public bool hasQclass(uint line, GQuark qname) + { + return gtk_source_gutter_lines_has_qclass(gtkSourceGutterLines, line, qname) != 0; + } + + /** + * Checks to see if @line contains the insertion cursor. + * + * Params: + * line = a line number starting from zero + * + * Returns: %TRUE if the insertion cursor is on @line + */ + public bool isCursor(uint line) + { + return gtk_source_gutter_lines_is_cursor(gtkSourceGutterLines, line) != 0; + } + + /** + * Checks to see if @line is marked as prelit. Generally, this means + * the mouse pointer is over the line within the gutter. + * + * Params: + * line = a line number starting from zero + * + * Returns: %TRUE if the line is prelit + */ + public bool isPrelit(uint line) + { + return gtk_source_gutter_lines_is_prelit(gtkSourceGutterLines, line) != 0; + } + + /** + * Checks to see if the view had a selection and if that selection overlaps + * @line in some way. + * + * Params: + * line = a line number starting from zero + * + * Returns: %TRUE if the line contains a selection + */ + public bool isSelected(uint line) + { + return gtk_source_gutter_lines_is_selected(gtkSourceGutterLines, line) != 0; + } + + /** + * Removes the class matching @name from @line. + * + * A faster version of this function is available via + * [method@GutterLines.remove_qclass] for situations where the + * #GQuark is known ahead of time. + * + * Params: + * line = a line number starting from zero + * name = a class name + */ + public void removeClass(uint line, string name) + { + gtk_source_gutter_lines_remove_class(gtkSourceGutterLines, line, Str.toStringz(name)); + } + + /** + * Reverses a call to [method@GutterLines.add_qclass] by removing + * the [alias@GLib.Quark] matching @qname. + * + * Params: + * line = a line number starting from zero + * qname = a #GQuark to remove from @line + */ + public void removeQclass(uint line, GQuark qname) + { + gtk_source_gutter_lines_remove_qclass(gtkSourceGutterLines, line, qname); + } +} diff --git a/source/generated/sourceview/sourceview/GutterRenderer.d b/source/generated/sourceview/sourceview/GutterRenderer.d new file mode 100644 index 000000000..b5cc7678a --- /dev/null +++ b/source/generated/sourceview/sourceview/GutterRenderer.d @@ -0,0 +1,352 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.GutterRenderer; + +private import gobject.ObjectG; +private import gobject.Signals; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.TextIter; +private import gtk.Widget; +private import sourceview.Buffer; +private import sourceview.View; +private import sourceview.c.functions; +public import sourceview.c.types; +private import std.algorithm; + + +/** + * Gutter cell renderer. + * + * A `GtkSourceGutterRenderer` represents a column in a [class@Gutter]. The + * column contains one cell for each visible line of the [class@Gtk.TextBuffer]. Due to + * text wrapping, a cell can thus span multiple lines of the [class@Gtk.TextView]. In + * this case, [enum@GutterRendererAlignmentMode] controls the alignment of + * the cell. + * + * The gutter renderer is a [class@Gtk.Widget] and is measured using the normal widget + * measurement facilities. The width of the gutter will be determined by the + * measurements of the gutter renderers. + * + * The width of a gutter renderer generally takes into account the entire text + * buffer. For instance, to display the line numbers, if the buffer contains 100 + * lines, the gutter renderer will always set its width such as three digits can + * be printed, even if only the first 20 lines are shown. Another strategy is to + * take into account only the visible lines. In this case, only two digits are + * necessary to display the line numbers of the first 20 lines. To take another + * example, the gutter renderer for [class@Mark]s doesn't need to take + * into account the text buffer to announce its width. It only depends on the + * icons size displayed in the gutter column. + * + * When the available size to render a cell is greater than the required size to + * render the cell contents, the cell contents can be aligned horizontally and + * vertically with [method@GutterRenderer.set_alignment_mode]. + * + * The cells rendering occurs using [vfunc@Gtk.Widget.snapshot]. Implementations + * should use `gtk_source_gutter_renderer_get_lines()` to retrieve information + * about the lines to be rendered. To help with aligning content which takes + * into account the padding and alignment of a cell, implementations may call + * [method@GutterRenderer.align_cell] for a given line number with the + * width and height measurement of the content they width to render. + */ +public class GutterRenderer : Widget +{ + /** the main Gtk struct */ + protected GtkSourceGutterRenderer* gtkSourceGutterRenderer; + + /** Get the main Gtk struct */ + public GtkSourceGutterRenderer* getGutterRendererStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceGutterRenderer; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceGutterRenderer; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceGutterRenderer* gtkSourceGutterRenderer, bool ownedRef = false) + { + this.gtkSourceGutterRenderer = gtkSourceGutterRenderer; + super(cast(GtkWidget*)gtkSourceGutterRenderer, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_gutter_renderer_get_type(); + } + + /** + * Emits the [signal@GutterRenderer::activate] signal of the renderer. This is + * called from [class@Gutter] and should never have to be called manually. + * + * Params: + * iter = a #GtkTextIter at the start of the line where the renderer is activated + * area = a #GdkRectangle of the cell area where the renderer is activated + * button = the button that was pressed + * state = a #GdkModifierType + * nPresses = the number of button presses + */ + public void activate(TextIter iter, GdkRectangle* area, uint button, GdkModifierType state, int nPresses) + { + gtk_source_gutter_renderer_activate(gtkSourceGutterRenderer, (iter is null) ? null : iter.getTextIterStruct(), area, button, state, nPresses); + } + + /** + * Locates where to render content that is @width x @height based on + * the renderers alignment and padding. + * + * The location will be placed into @x and @y and is relative to the + * renderer's coordinates. + * + * It is encouraged that renderers use this function when snappshotting + * to ensure consistent placement of their contents. + * + * Params: + * line = the line number for content + * width = the width of the content to draw + * height = the height of the content to draw + * x = the X position to render the content + * y = the Y position to render the content + */ + public void alignCell(uint line, float width, float height, out float x, out float y) + { + gtk_source_gutter_renderer_align_cell(gtkSourceGutterRenderer, line, width, height, &x, &y); + } + + /** + * Get the alignment mode. + * + * The alignment mode describes the manner in which the + * renderer is aligned (see [property@GutterRenderer:xalign] and + * [property@GutterRenderer:yalign]). + * + * Returns: a #GtkSourceGutterRendererAlignmentMode + */ + public GtkSourceGutterRendererAlignmentMode getAlignmentMode() + { + return gtk_source_gutter_renderer_get_alignment_mode(gtkSourceGutterRenderer); + } + + /** + * Gets the [class@Buffer] for which the gutter renderer is drawing. + * + * Returns: a #GtkTextBuffer or %NULL + */ + public Buffer getBuffer() + { + auto __p = gtk_source_gutter_renderer_get_buffer(gtkSourceGutterRenderer); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Buffer)(cast(GtkSourceBuffer*) __p); + } + + /** + * Get the view associated to the gutter renderer + * + * Returns: a #GtkSourceView + */ + public View getView() + { + auto __p = gtk_source_gutter_renderer_get_view(gtkSourceGutterRenderer); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(View)(cast(GtkSourceView*) __p); + } + + /** + * Gets the `xalign` property. + * + * This may be used to adjust where within the cell rectangle the renderer will draw. + */ + public float getXalign() + { + return gtk_source_gutter_renderer_get_xalign(gtkSourceGutterRenderer); + } + + /** + * Gets the `xpad` property. + * + * This may be used to adjust the cell rectangle that the renderer will use to draw. + */ + public int getXpad() + { + return gtk_source_gutter_renderer_get_xpad(gtkSourceGutterRenderer); + } + + /** + * Gets the `yalign` property. + * + * This may be used to adjust where within the cell rectangle the renderer will draw. + */ + public float getYalign() + { + return gtk_source_gutter_renderer_get_yalign(gtkSourceGutterRenderer); + } + + /** + * Gets the `ypad` property. + * + * This may be used to adjust the cell rectangle that the renderer will use to draw. + */ + public int getYpad() + { + return gtk_source_gutter_renderer_get_ypad(gtkSourceGutterRenderer); + } + + /** + * Get whether the renderer is activatable at the location provided. This is + * called from [class@Gutter] to determine whether a renderer is activatable + * using the mouse pointer. + * + * Params: + * iter = a #GtkTextIter at the start of the line to be activated + * area = a #GdkRectangle of the cell area to be activated + * + * Returns: %TRUE if the renderer can be activated, %FALSE otherwise + */ + public bool queryActivatable(TextIter iter, GdkRectangle* area) + { + return gtk_source_gutter_renderer_query_activatable(gtkSourceGutterRenderer, (iter is null) ? null : iter.getTextIterStruct(), area) != 0; + } + + /** + * Set the alignment mode. The alignment mode describes the manner in which the + * renderer is aligned (see [property@GutterRenderer:xalign] and + * [property@GutterRenderer:yalign]). + * + * Params: + * mode = a #GtkSourceGutterRendererAlignmentMode + */ + public void setAlignmentMode(GtkSourceGutterRendererAlignmentMode mode) + { + gtk_source_gutter_renderer_set_alignment_mode(gtkSourceGutterRenderer, mode); + } + + /** + * Adjusts the `xalign` property. + * + * This may be used to adjust where within the cell rectangle the renderer will draw. + * + * Params: + * xalign = the Y padding for the drawing cell + */ + public void setXalign(float xalign) + { + gtk_source_gutter_renderer_set_xalign(gtkSourceGutterRenderer, xalign); + } + + /** + * Adjusts the `xpad` property. + * + * This may be used to adjust the cell rectangle that the renderer will use to draw. + * + * Params: + * xpad = the Y padding for the drawing cell + */ + public void setXpad(int xpad) + { + gtk_source_gutter_renderer_set_xpad(gtkSourceGutterRenderer, xpad); + } + + /** + * Adjusts the `yalign` property. + * + * This may be used to adjust where within the cell rectangle the renderer will draw. + * + * Params: + * yalign = the Y padding for the drawing cell + */ + public void setYalign(float yalign) + { + gtk_source_gutter_renderer_set_yalign(gtkSourceGutterRenderer, yalign); + } + + /** + * Adjusts the `ypad` property. + * + * This may be used to adjust the cell rectangle that the renderer will use to draw. + * + * Params: + * ypad = the Y padding for the drawing cell + */ + public void setYpad(int ypad) + { + gtk_source_gutter_renderer_set_ypad(gtkSourceGutterRenderer, ypad); + } + + /** + * The signal is emitted when the renderer is activated. + * + * Params: + * iter = a #GtkTextIter + * area = a #GdkRectangle + * button = the button that was pressed + * state = a #GdkModifierType of state + * nPresses = the number of button presses + */ + gulong addOnActivate(void delegate(TextIter, GdkRectangle*, uint, GdkModifierType, int, GutterRenderer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "activate", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * The signal is emitted when the renderer can possibly be activated. + * + * Params: + * iter = a #GtkTextIter + * area = a #GdkRectangle + */ + gulong addOnQueryActivatable(bool delegate(TextIter, GdkRectangle*, GutterRenderer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "query-activatable", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** */ + gulong addOnQueryData(void delegate(ObjectG, uint, GutterRenderer) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "query-data", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/sourceview/sourceview/GutterRendererPixbuf.d b/source/generated/sourceview/sourceview/GutterRendererPixbuf.d new file mode 100644 index 000000000..764abf210 --- /dev/null +++ b/source/generated/sourceview/sourceview/GutterRendererPixbuf.d @@ -0,0 +1,193 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.GutterRendererPixbuf; + +private import gdk.PaintableIF; +private import gdkpixbuf.Pixbuf; +private import gio.IconIF; +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import sourceview.GutterRenderer; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Renders a pixbuf in the gutter. + * + * A `GtkSourceGutterRendererPixbuf` can be used to render an image in a cell of + * [class@Gutter]. + */ +public class GutterRendererPixbuf : GutterRenderer +{ + /** the main Gtk struct */ + protected GtkSourceGutterRendererPixbuf* gtkSourceGutterRendererPixbuf; + + /** Get the main Gtk struct */ + public GtkSourceGutterRendererPixbuf* getGutterRendererPixbufStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceGutterRendererPixbuf; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceGutterRendererPixbuf; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceGutterRendererPixbuf* gtkSourceGutterRendererPixbuf, bool ownedRef = false) + { + this.gtkSourceGutterRendererPixbuf = gtkSourceGutterRendererPixbuf; + super(cast(GtkSourceGutterRenderer*)gtkSourceGutterRendererPixbuf, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_gutter_renderer_pixbuf_get_type(); + } + + /** + * Create a new #GtkSourceGutterRendererPixbuf. + * + * Returns: A #GtkSourceGutterRenderer + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_source_gutter_renderer_pixbuf_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceGutterRendererPixbuf*) __p, true); + } + + /** + * Get the gicon of the renderer + * + * Returns: a #GIcon + */ + public IconIF getGicon() + { + auto __p = gtk_source_gutter_renderer_pixbuf_get_gicon(gtkSourceGutterRendererPixbuf); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(IconIF)(cast(GIcon*) __p); + } + + /** */ + public string getIconName() + { + return Str.toString(gtk_source_gutter_renderer_pixbuf_get_icon_name(gtkSourceGutterRendererPixbuf)); + } + + /** + * Gets a [iface@Gdk.Paintable] that was set with + * [method@GutterRendererPixbuf.set_paintable] + * + * Returns: a #GdkPaintable or %NULL + */ + public PaintableIF getPaintable() + { + auto __p = gtk_source_gutter_renderer_pixbuf_get_paintable(gtkSourceGutterRendererPixbuf); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PaintableIF)(cast(GdkPaintable*) __p); + } + + /** + * Get the pixbuf of the renderer. + * + * Returns: a #GdkPixbuf + */ + public Pixbuf getPixbuf() + { + auto __p = gtk_source_gutter_renderer_pixbuf_get_pixbuf(gtkSourceGutterRendererPixbuf); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Pixbuf)(cast(GdkPixbuf*) __p); + } + + /** + * Allows overlaying a paintable on top of any other image that + * has been set for the pixbuf. This will be applied when the + * widget is next snapshot. + * + * Params: + * paintable = a #GdkPaintable + */ + public void overlayPaintable(PaintableIF paintable) + { + gtk_source_gutter_renderer_pixbuf_overlay_paintable(gtkSourceGutterRendererPixbuf, (paintable is null) ? null : paintable.getPaintableStruct()); + } + + /** */ + public void setGicon(IconIF icon) + { + gtk_source_gutter_renderer_pixbuf_set_gicon(gtkSourceGutterRendererPixbuf, (icon is null) ? null : icon.getIconStruct()); + } + + /** */ + public void setIconName(string iconName) + { + gtk_source_gutter_renderer_pixbuf_set_icon_name(gtkSourceGutterRendererPixbuf, Str.toStringz(iconName)); + } + + /** */ + public void setPaintable(PaintableIF paintable) + { + gtk_source_gutter_renderer_pixbuf_set_paintable(gtkSourceGutterRendererPixbuf, (paintable is null) ? null : paintable.getPaintableStruct()); + } + + /** */ + public void setPixbuf(Pixbuf pixbuf) + { + gtk_source_gutter_renderer_pixbuf_set_pixbuf(gtkSourceGutterRendererPixbuf, (pixbuf is null) ? null : pixbuf.getPixbufStruct()); + } +} diff --git a/source/generated/sourceview/sourceview/GutterRendererText.d b/source/generated/sourceview/sourceview/GutterRendererText.d new file mode 100644 index 000000000..d89bf7056 --- /dev/null +++ b/source/generated/sourceview/sourceview/GutterRendererText.d @@ -0,0 +1,138 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.GutterRendererText; + +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import sourceview.GutterRenderer; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Renders text in the gutter. + * + * A `GtkSourceGutterRendererText` can be used to render text in a cell of + * [class@Gutter]. + */ +public class GutterRendererText : GutterRenderer +{ + /** the main Gtk struct */ + protected GtkSourceGutterRendererText* gtkSourceGutterRendererText; + + /** Get the main Gtk struct */ + public GtkSourceGutterRendererText* getGutterRendererTextStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceGutterRendererText; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceGutterRendererText; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceGutterRendererText* gtkSourceGutterRendererText, bool ownedRef = false) + { + this.gtkSourceGutterRendererText = gtkSourceGutterRendererText; + super(cast(GtkSourceGutterRenderer*)gtkSourceGutterRendererText, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_gutter_renderer_text_get_type(); + } + + /** + * Create a new #GtkSourceGutterRendererText. + * + * Returns: A #GtkSourceGutterRenderer + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_source_gutter_renderer_text_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceGutterRendererText*) __p, true); + } + + /** + * Measures the text provided using the pango layout used by the + * #GtkSourceGutterRendererText. + * + * Params: + * text = the text to measure. + * width = location to store the width of the text in pixels, + * or %NULL. + * height = location to store the height of the text in + * pixels, or %NULL. + */ + public void measure(string text, out int width, out int height) + { + gtk_source_gutter_renderer_text_measure(gtkSourceGutterRendererText, Str.toStringz(text), &width, &height); + } + + /** + * Measures the pango markup provided using the pango layout used by the + * #GtkSourceGutterRendererText. + * + * Params: + * markup = the pango markup to measure. + * width = location to store the width of the text in pixels, + * or %NULL. + * height = location to store the height of the text in + * pixels, or %NULL. + */ + public void measureMarkup(string markup, out int width, out int height) + { + gtk_source_gutter_renderer_text_measure_markup(gtkSourceGutterRendererText, Str.toStringz(markup), &width, &height); + } + + /** */ + public void setMarkup(string markup, int length) + { + gtk_source_gutter_renderer_text_set_markup(gtkSourceGutterRendererText, Str.toStringz(markup), length); + } + + /** */ + public void setText(string text, int length) + { + gtk_source_gutter_renderer_text_set_text(gtkSourceGutterRendererText, Str.toStringz(text), length); + } +} diff --git a/source/generated/sourceview/sourceview/Hover.d b/source/generated/sourceview/sourceview/Hover.d new file mode 100644 index 000000000..f34d994a1 --- /dev/null +++ b/source/generated/sourceview/sourceview/Hover.d @@ -0,0 +1,94 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.Hover; + +private import gobject.ObjectG; +private import sourceview.HoverProviderIF; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Interactive tooltips. + * + * `GtkSourceHover` allows a [class@View] to provide contextual information. + * When enabled, if the user hovers over a word in the text editor, a series + * of registered [iface@HoverProvider] can populate a [class@HoverDisplay] + * with useful information. + * + * To enable call [method@View.get_hover] and add [iface@HoverProvider] + * using [method@Hover.add_provider]. To disable, remove all registered + * providers with [method@Hover.remove_provider]. + * + * You can change how long to wait to display the interactive tooltip by + * setting the [property@Hover:hover-delay] property in milliseconds. + */ +public class Hover : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceHover* gtkSourceHover; + + /** Get the main Gtk struct */ + public GtkSourceHover* getHoverStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceHover; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceHover; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceHover* gtkSourceHover, bool ownedRef = false) + { + this.gtkSourceHover = gtkSourceHover; + super(cast(GObject*)gtkSourceHover, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_hover_get_type(); + } + + /** */ + public void addProvider(HoverProviderIF provider) + { + gtk_source_hover_add_provider(gtkSourceHover, (provider is null) ? null : provider.getHoverProviderStruct()); + } + + /** */ + public void removeProvider(HoverProviderIF provider) + { + gtk_source_hover_remove_provider(gtkSourceHover, (provider is null) ? null : provider.getHoverProviderStruct()); + } +} diff --git a/source/generated/sourceview/sourceview/HoverContext.d b/source/generated/sourceview/sourceview/HoverContext.d new file mode 100644 index 000000000..72b1b10b0 --- /dev/null +++ b/source/generated/sourceview/sourceview/HoverContext.d @@ -0,0 +1,149 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.HoverContext; + +private import glib.MemorySlice; +private import gobject.ObjectG; +private import gtk.TextIter; +private import sourceview.Buffer; +private import sourceview.View; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Context for populating [class@HoverDisplay] contents. + * + * `GtkSourceHoverContext` contains information about the request to populate + * contents for a [class@HoverDisplay]. + * + * It can be used to retrieve the [class@View], [class@Buffer], and + * [struct@Gtk.TextIter] for the regions of text which are being displayed. + * + * Use [method@HoverContext.get_bounds] to get the word that was + * requested. [method@HoverContext.get_iter] will get you the location + * of the pointer when the request was made. + */ +public class HoverContext : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceHoverContext* gtkSourceHoverContext; + + /** Get the main Gtk struct */ + public GtkSourceHoverContext* getHoverContextStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceHoverContext; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceHoverContext; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceHoverContext* gtkSourceHoverContext, bool ownedRef = false) + { + this.gtkSourceHoverContext = gtkSourceHoverContext; + super(cast(GObject*)gtkSourceHoverContext, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_hover_context_get_type(); + } + + /** + * Gets the current word bounds of the hover. + * + * If @begin is non-%NULL, it will be set to the start position of the + * current word being hovered. + * + * If @end is non-%NULL, it will be set to the end position for the + * current word being hovered. + * + * Params: + * begin = a #GtkTextIter + * end = a #GtkTextIter + * + * Returns: %TRUE if the marks are still valid and @begin or @end was set. + */ + public bool getBounds(out TextIter begin, out TextIter end) + { + GtkTextIter* outbegin = sliceNew!GtkTextIter(); + GtkTextIter* outend = sliceNew!GtkTextIter(); + + auto __p = gtk_source_hover_context_get_bounds(gtkSourceHoverContext, outbegin, outend) != 0; + + begin = ObjectG.getDObject!(TextIter)(outbegin, true); + end = ObjectG.getDObject!(TextIter)(outend, true); + + return __p; + } + + /** + * A convenience function to get the buffer. + * + * Returns: The #GtkSourceBuffer for the view + */ + public Buffer getBuffer() + { + auto __p = gtk_source_hover_context_get_buffer(gtkSourceHoverContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Buffer)(cast(GtkSourceBuffer*) __p); + } + + /** */ + public bool getIter(TextIter iter) + { + return gtk_source_hover_context_get_iter(gtkSourceHoverContext, (iter is null) ? null : iter.getTextIterStruct()) != 0; + } + + /** + * Returns: the #GtkSourceView that owns the context + */ + public View getView() + { + auto __p = gtk_source_hover_context_get_view(gtkSourceHoverContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(View)(cast(GtkSourceView*) __p); + } +} diff --git a/source/generated/sourceview/sourceview/HoverDisplay.d b/source/generated/sourceview/sourceview/HoverDisplay.d new file mode 100644 index 000000000..31350eb4b --- /dev/null +++ b/source/generated/sourceview/sourceview/HoverDisplay.d @@ -0,0 +1,107 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.HoverDisplay; + +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Display for interactive tooltips. + * + * `GtkSourceHoverDisplay` is a [class@Gtk.Widget] that may be populated with widgets + * to be displayed to the user in interactive tooltips. The children widgets + * are packed vertically using a [class@Gtk.Box]. + * + * Implement the [iface@HoverProvider] interface to be notified of when + * to populate a `GtkSourceHoverDisplay` on behalf of the user. + */ +public class HoverDisplay : Widget +{ + /** the main Gtk struct */ + protected GtkSourceHoverDisplay* gtkSourceHoverDisplay; + + /** Get the main Gtk struct */ + public GtkSourceHoverDisplay* getHoverDisplayStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceHoverDisplay; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceHoverDisplay; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceHoverDisplay* gtkSourceHoverDisplay, bool ownedRef = false) + { + this.gtkSourceHoverDisplay = gtkSourceHoverDisplay; + super(cast(GtkWidget*)gtkSourceHoverDisplay, ownedRef); + } + + /** */ + public override void insertAfter(Widget child, Widget sibling) { + gtk_source_hover_display_insert_after(gtkSourceHoverDisplay, (child is null) ? null : child.getWidgetStruct(), (sibling is null) ? null : sibling.getWidgetStruct()); + } + + /** + */ + + /** */ + public static GType getType() + { + return gtk_source_hover_display_get_type(); + } + + /** */ + public void append(Widget child) + { + gtk_source_hover_display_append(gtkSourceHoverDisplay, (child is null) ? null : child.getWidgetStruct()); + } + + /** */ + public void prepend(Widget child) + { + gtk_source_hover_display_prepend(gtkSourceHoverDisplay, (child is null) ? null : child.getWidgetStruct()); + } + + /** */ + public void remove(Widget child) + { + gtk_source_hover_display_remove(gtkSourceHoverDisplay, (child is null) ? null : child.getWidgetStruct()); + } +} diff --git a/source/generated/sourceview/sourceview/HoverProviderIF.d b/source/generated/sourceview/sourceview/HoverProviderIF.d new file mode 100644 index 000000000..9cc7de0df --- /dev/null +++ b/source/generated/sourceview/sourceview/HoverProviderIF.d @@ -0,0 +1,68 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.HoverProviderIF; + +private import gio.AsyncResultIF; +private import gio.Cancellable; +private import glib.ErrorG; +private import glib.GException; +private import sourceview.HoverContext; +private import sourceview.HoverDisplay; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Interface to populate interactive tooltips. + * + * `GtkSourceHoverProvider` is an interface that should be implemented to extend + * the contents of a [class@HoverDisplay]. This is typical in editors that + * interact external tooling such as those utilizing Language Server Protocol. + * + * If you can populate the [class@HoverDisplay] synchronously, use + * [vfunc@HoverProvider.populate]. Otherwise, interface implementations that + * may take additional time should use [vfunc@HoverProvider.populate_async] + * to avoid blocking the main loop. + */ +public interface HoverProviderIF{ + /** Get the main Gtk struct */ + public GtkSourceHoverProvider* getHoverProviderStruct(bool transferOwnership = false); + + /** the main Gtk struct as a void* */ + protected void* getStruct(); + + + /** */ + public static GType getType() + { + return gtk_source_hover_provider_get_type(); + } + + /** */ + public void populateAsync(HoverContext context, HoverDisplay display, Cancellable cancellable, GAsyncReadyCallback callback, void* userData); + + /** */ + public bool populateFinish(AsyncResultIF result); +} diff --git a/source/generated/sourceview/sourceview/HoverProviderT.d b/source/generated/sourceview/sourceview/HoverProviderT.d new file mode 100644 index 000000000..88f670e7a --- /dev/null +++ b/source/generated/sourceview/sourceview/HoverProviderT.d @@ -0,0 +1,80 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.HoverProviderT; + +public import gio.AsyncResultIF; +public import gio.Cancellable; +public import glib.ErrorG; +public import glib.GException; +public import sourceview.HoverContext; +public import sourceview.HoverDisplay; +public import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Interface to populate interactive tooltips. + * + * `GtkSourceHoverProvider` is an interface that should be implemented to extend + * the contents of a [class@HoverDisplay]. This is typical in editors that + * interact external tooling such as those utilizing Language Server Protocol. + * + * If you can populate the [class@HoverDisplay] synchronously, use + * [vfunc@HoverProvider.populate]. Otherwise, interface implementations that + * may take additional time should use [vfunc@HoverProvider.populate_async] + * to avoid blocking the main loop. + */ +public template HoverProviderT(TStruct) +{ + /** Get the main Gtk struct */ + public GtkSourceHoverProvider* getHoverProviderStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return cast(GtkSourceHoverProvider*)getStruct(); + } + + + /** */ + public void populateAsync(HoverContext context, HoverDisplay display, Cancellable cancellable, GAsyncReadyCallback callback, void* userData) + { + gtk_source_hover_provider_populate_async(getHoverProviderStruct(), (context is null) ? null : context.getHoverContextStruct(), (display is null) ? null : display.getHoverDisplayStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** */ + public bool populateFinish(AsyncResultIF result) + { + GError* err = null; + + auto __p = gtk_source_hover_provider_populate_finish(getHoverProviderStruct(), (result is null) ? null : result.getAsyncResultStruct(), &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } +} diff --git a/source/generated/sourceview/sourceview/IndenterIF.d b/source/generated/sourceview/sourceview/IndenterIF.d new file mode 100644 index 000000000..033de37fb --- /dev/null +++ b/source/generated/sourceview/sourceview/IndenterIF.d @@ -0,0 +1,124 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.IndenterIF; + +private import gobject.ObjectG; +private import gtk.TextIter; +private import sourceview.View; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Auto-indentation interface. + * + * By default, [class@View] can auto-indent as you type when + * [property@View:auto-indent] is enabled. The indentation simply copies the + * previous lines indentation. + * + * This can be changed by implementing `GtkSourceIndenter` and setting the + * [property@View:indenter] property. + * + * Implementors of this interface should implement both + * [vfunc@Indenter.is_trigger] and [vfunc@Indenter.indent]. + * + * [vfunc@Indenter.is_trigger] is called upon key-press to + * determine of the key press should trigger an indentation. The default + * implementation of the interface checks to see if the key was + * [const@Gdk.KEY_Return] or [const@Gdk.KEY_KP_Enter] without %GDK_SHIFT_MASK set. + * + * [vfunc@Indenter.indent] is called after text has been + * inserted into [class@Buffer] when + * [vfunc@Indenter.is_trigger] returned %TRUE. The [struct@Gtk.TextIter] + * is placed directly after the inserted character or characters. + * + * It may be beneficial to move the insertion mark using + * [method@Gtk.TextBuffer.select_range] depending on how the indenter changes + * the indentation. + * + * All changes are encapsulated within a single user action so that the + * user may undo them using standard undo/redo accelerators. + */ +public interface IndenterIF{ + /** Get the main Gtk struct */ + public GtkSourceIndenter* getIndenterStruct(bool transferOwnership = false); + + /** the main Gtk struct as a void* */ + protected void* getStruct(); + + + /** */ + public static GType getType() + { + return gtk_source_indenter_get_type(); + } + + /** + * This function should be implemented to alter the indentation of text + * within the view. + * + * @view is provided so that the indenter may retrieve settings such as indentation and tab widths. + * + * @iter is the location where the indentation was requested. This typically + * is after having just inserted a newline (\n) character but can be other + * situations such as a manually requested indentation or reformatting. + * + * See [iface@Indenter.is_trigger] for how to trigger indentation on + * various characters inserted into the buffer. + * + * The implementor of this function is expected to keep @iter valid across + * calls to the function and should contain the location of the insert mark + * after calling this function. + * + * The default implementation for this virtual function will copy the + * indentation of the previous line. + * + * Params: + * view = a #GtkSourceView + * iter = the location of the indentation request + */ + public void indent(View view, ref TextIter iter); + + /** + * This function is used to determine if a key pressed should cause the + * indenter to automatically indent. + * + * The default implementation of this virtual method will check to see + * if @keyval is [const@Gdk.KEY_Return] or [const@Gdk.KEY_KP_Enter] and @state does + * not have %GDK_SHIFT_MASK set. This is to allow the user to avoid + * indentation when Shift+Return is pressed. Other indenters may want + * to copy this behavior to provide a consistent experience to users. + * + * Params: + * view = a #GtkSourceView + * location = the location where @ch is to be inserted + * state = modifier state for the insertion + * keyval = the keyval pressed such as [const@Gdk.KEY_Return] + * + * Returns: %TRUE if indentation should be automatically triggered; + * otherwise %FALSE and no indentation will be performed. + */ + public bool isTrigger(View view, TextIter location, GdkModifierType state, uint keyval); +} diff --git a/source/generated/sourceview/sourceview/IndenterT.d b/source/generated/sourceview/sourceview/IndenterT.d new file mode 100644 index 000000000..063f27a0b --- /dev/null +++ b/source/generated/sourceview/sourceview/IndenterT.d @@ -0,0 +1,127 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.IndenterT; + +public import gobject.ObjectG; +public import gtk.TextIter; +public import sourceview.View; +public import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Auto-indentation interface. + * + * By default, [class@View] can auto-indent as you type when + * [property@View:auto-indent] is enabled. The indentation simply copies the + * previous lines indentation. + * + * This can be changed by implementing `GtkSourceIndenter` and setting the + * [property@View:indenter] property. + * + * Implementors of this interface should implement both + * [vfunc@Indenter.is_trigger] and [vfunc@Indenter.indent]. + * + * [vfunc@Indenter.is_trigger] is called upon key-press to + * determine of the key press should trigger an indentation. The default + * implementation of the interface checks to see if the key was + * [const@Gdk.KEY_Return] or [const@Gdk.KEY_KP_Enter] without %GDK_SHIFT_MASK set. + * + * [vfunc@Indenter.indent] is called after text has been + * inserted into [class@Buffer] when + * [vfunc@Indenter.is_trigger] returned %TRUE. The [struct@Gtk.TextIter] + * is placed directly after the inserted character or characters. + * + * It may be beneficial to move the insertion mark using + * [method@Gtk.TextBuffer.select_range] depending on how the indenter changes + * the indentation. + * + * All changes are encapsulated within a single user action so that the + * user may undo them using standard undo/redo accelerators. + */ +public template IndenterT(TStruct) +{ + /** Get the main Gtk struct */ + public GtkSourceIndenter* getIndenterStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return cast(GtkSourceIndenter*)getStruct(); + } + + + /** + * This function should be implemented to alter the indentation of text + * within the view. + * + * @view is provided so that the indenter may retrieve settings such as indentation and tab widths. + * + * @iter is the location where the indentation was requested. This typically + * is after having just inserted a newline (\n) character but can be other + * situations such as a manually requested indentation or reformatting. + * + * See [iface@Indenter.is_trigger] for how to trigger indentation on + * various characters inserted into the buffer. + * + * The implementor of this function is expected to keep @iter valid across + * calls to the function and should contain the location of the insert mark + * after calling this function. + * + * The default implementation for this virtual function will copy the + * indentation of the previous line. + * + * Params: + * view = a #GtkSourceView + * iter = the location of the indentation request + */ + public void indent(View view, ref TextIter iter) + { + gtk_source_indenter_indent(getIndenterStruct(), (view is null) ? null : view.getViewStruct(), (iter is null) ? null : iter.getTextIterStruct(true)); + } + + /** + * This function is used to determine if a key pressed should cause the + * indenter to automatically indent. + * + * The default implementation of this virtual method will check to see + * if @keyval is [const@Gdk.KEY_Return] or [const@Gdk.KEY_KP_Enter] and @state does + * not have %GDK_SHIFT_MASK set. This is to allow the user to avoid + * indentation when Shift+Return is pressed. Other indenters may want + * to copy this behavior to provide a consistent experience to users. + * + * Params: + * view = a #GtkSourceView + * location = the location where @ch is to be inserted + * state = modifier state for the insertion + * keyval = the keyval pressed such as [const@Gdk.KEY_Return] + * + * Returns: %TRUE if indentation should be automatically triggered; + * otherwise %FALSE and no indentation will be performed. + */ + public bool isTrigger(View view, TextIter location, GdkModifierType state, uint keyval) + { + return gtk_source_indenter_is_trigger(getIndenterStruct(), (view is null) ? null : view.getViewStruct(), (location is null) ? null : location.getTextIterStruct(), state, keyval) != 0; + } +} diff --git a/source/generated/sourceview/sourceview/Language.d b/source/generated/sourceview/sourceview/Language.d new file mode 100644 index 000000000..1d9be315b --- /dev/null +++ b/source/generated/sourceview/sourceview/Language.d @@ -0,0 +1,228 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.Language; + +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Represents a syntax highlighted language. + * + * A `GtkSourceLanguage` represents a programming or markup language, affecting + * syntax highlighting and [context classes](./class.Buffer.html#context-classes). + * + * Use [class@LanguageManager] to obtain a `GtkSourceLanguage` instance, and + * [method@Buffer.set_language] to apply it to a [class@Buffer]. + */ +public class Language : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceLanguage* gtkSourceLanguage; + + /** Get the main Gtk struct */ + public GtkSourceLanguage* getLanguageStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceLanguage; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceLanguage; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceLanguage* gtkSourceLanguage, bool ownedRef = false) + { + this.gtkSourceLanguage = gtkSourceLanguage; + super(cast(GObject*)gtkSourceLanguage, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_language_get_type(); + } + + /** + * Returns the globs associated to this language. + * + * This is just an utility wrapper around [method@Language.get_metadata] to + * retrieve the "globs" metadata property and split it into an array. + * + * Returns: a newly-allocated %NULL terminated array containing the globs or %NULL + * if no globs are found. + * The returned array must be freed with g_strfreev(). + */ + public string[] getGlobs() + { + auto retStr = gtk_source_language_get_globs(gtkSourceLanguage); + + scope(exit) Str.freeStringArray(retStr); + return Str.toStringArray(retStr); + } + + /** + * Returns whether the language should be hidden from the user. + * + * Returns: %TRUE if the language should be hidden, %FALSE otherwise. + */ + public bool getHidden() + { + return gtk_source_language_get_hidden(gtkSourceLanguage) != 0; + } + + /** + * Returns the ID of the language. + * + * The ID is not locale-dependent.The returned string is owned by @language + * and should not be freed or modified. + * + * Returns: the ID of @language. + */ + public string getId() + { + return Str.toString(gtk_source_language_get_id(gtkSourceLanguage)); + } + + /** + * + * Params: + * name = metadata property name. + * Returns: value of property @name stored in + * the metadata of @language or %NULL if language does not contain the + * specified metadata property. + * The returned string is owned by @language and should not be freed + * or modified. + */ + public string getMetadata(string name) + { + return Str.toString(gtk_source_language_get_metadata(gtkSourceLanguage, Str.toStringz(name))); + } + + /** + * Returns the mime types associated to this language. + * + * This is just an utility wrapper around [method@Language.get_metadata] to + * retrieve the "mimetypes" metadata property and split it into an + * array. + * + * Returns: a newly-allocated %NULL terminated array containing the mime types + * or %NULL if no mime types are found. + * The returned array must be freed with g_strfreev(). + */ + public string[] getMimeTypes() + { + auto retStr = gtk_source_language_get_mime_types(gtkSourceLanguage); + + scope(exit) Str.freeStringArray(retStr); + return Str.toStringArray(retStr); + } + + /** + * Returns the localized name of the language. + * + * The returned string is owned by @language and should not be freed + * or modified. + * + * Returns: the name of @language. + */ + public string getName() + { + return Str.toString(gtk_source_language_get_name(gtkSourceLanguage)); + } + + /** + * Returns the localized section of the language. + * + * Each language belong to a section (ex. HTML belongs to the + * Markup section). + * The returned string is owned by @language and should not be freed + * or modified. + * + * Returns: the section of @language. + */ + public string getSection() + { + return Str.toString(gtk_source_language_get_section(gtkSourceLanguage)); + } + + /** + * Returns the ID of the style to use if the specified @style_id + * is not present in the current style scheme. + * + * Params: + * styleId = a style ID. + * + * Returns: the ID of the style to use if the + * specified @style_id is not present in the current style scheme or %NULL + * if the style has no fallback defined. + * The returned string is owned by the @language and must not be modified. + */ + public string getStyleFallback(string styleId) + { + return Str.toString(gtk_source_language_get_style_fallback(gtkSourceLanguage, Str.toStringz(styleId))); + } + + /** + * Returns the ids of the styles defined by this @language. + * + * Returns: a newly-allocated %NULL terminated array containing ids of the + * styles defined by this @language or %NULL if no style is defined. + * The returned array must be freed with g_strfreev(). + */ + public string[] getStyleIds() + { + auto retStr = gtk_source_language_get_style_ids(gtkSourceLanguage); + + scope(exit) Str.freeStringArray(retStr); + return Str.toStringArray(retStr); + } + + /** + * Returns the name of the style with ID @style_id defined by this @language. + * + * Params: + * styleId = a style ID. + * + * Returns: the name of the style with ID @style_id + * defined by this @language or %NULL if the style has no name or there is no + * style with ID @style_id defined by this @language. + * The returned string is owned by the @language and must not be modified. + */ + public string getStyleName(string styleId) + { + return Str.toString(gtk_source_language_get_style_name(gtkSourceLanguage, Str.toStringz(styleId))); + } +} diff --git a/source/generated/sourceview/sourceview/LanguageManager.d b/source/generated/sourceview/sourceview/LanguageManager.d new file mode 100644 index 000000000..654b02422 --- /dev/null +++ b/source/generated/sourceview/sourceview/LanguageManager.d @@ -0,0 +1,285 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.LanguageManager; + +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import sourceview.Language; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Provides access to [class@Language]s. + * + * `GtkSourceLanguageManager` is an object which processes language description + * files and creates and stores [class@Language] objects, and provides API to + * access them. + * + * Use [func@LanguageManager.get_default] to retrieve the default + * instance of `GtkSourceLanguageManager`, and + * [method@LanguageManager.guess_language] to get a [class@Language] for + * given file name and content type. + */ +public class LanguageManager : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceLanguageManager* gtkSourceLanguageManager; + + /** Get the main Gtk struct */ + public GtkSourceLanguageManager* getLanguageManagerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceLanguageManager; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceLanguageManager; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceLanguageManager* gtkSourceLanguageManager, bool ownedRef = false) + { + this.gtkSourceLanguageManager = gtkSourceLanguageManager; + super(cast(GObject*)gtkSourceLanguageManager, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_language_manager_get_type(); + } + + /** + * Creates a new language manager. + * + * If you do not need more than one language manager or a private language manager + * instance then use [func@LanguageManager.get_default] instead. + * + * Returns: a new #GtkSourceLanguageManager. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_source_language_manager_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceLanguageManager*) __p, true); + } + + /** + * Returns the default #GtkSourceLanguageManager instance. + * + * Returns: a #GtkSourceLanguageManager. + * Return value is owned by GtkSourceView library and must not be unref'ed. + */ + public static LanguageManager getDefault() + { + auto __p = gtk_source_language_manager_get_default(); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(LanguageManager)(cast(GtkSourceLanguageManager*) __p); + } + + /** + * Appends @path to the list of directories where the @manager looks for + * language files. + * + * See [method@LanguageManager.set_search_path] for details. + * + * Params: + * path = a directory or a filename. + * + * Since: 5.4 + */ + public void appendSearchPath(string path) + { + gtk_source_language_manager_append_search_path(gtkSourceLanguageManager, Str.toStringz(path)); + } + + /** + * Gets the [class@Language] identified by the given @id in the language + * manager. + * + * Params: + * id = a language id. + * + * Returns: a #GtkSourceLanguage, or %NULL + * if there is no language identified by the given @id. Return value is + * owned by @lm and should not be freed. + */ + public Language getLanguage(string id) + { + auto __p = gtk_source_language_manager_get_language(gtkSourceLanguageManager, Str.toStringz(id)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Language)(cast(GtkSourceLanguage*) __p); + } + + /** + * Returns the ids of the available languages. + * + * Returns: a %NULL-terminated array of strings containing the ids of the available + * languages or %NULL if no language is available. + * The array is sorted alphabetically according to the language name. + * The array is owned by @lm and must not be modified. + */ + public string[] getLanguageIds() + { + return Str.toStringArray(gtk_source_language_manager_get_language_ids(gtkSourceLanguageManager)); + } + + /** + * Gets the list directories where @lm looks for language files. + * + * Returns: %NULL-terminated array + * containing a list of language files directories. + * The array is owned by @lm and must not be modified. + */ + public string[] getSearchPath() + { + return Str.toStringArray(gtk_source_language_manager_get_search_path(gtkSourceLanguageManager)); + } + + /** + * Picks a [class@Language] for given file name and content type, + * according to the information in lang files. + * + * Either @filename or @content_type may be %NULL. This function can be used as follows: + * + * ```c + * GtkSourceLanguage *lang; + * GtkSourceLanguageManager *manager; + * lm = gtk_source_language_manager_get_default (); + * lang = gtk_source_language_manager_guess_language (manager, filename, NULL); + * gtk_source_buffer_set_language (buffer, lang); + * ``` + * + * or + * + * ```c + * GtkSourceLanguage *lang = NULL; + * GtkSourceLanguageManager *manager; + * gboolean result_uncertain; + * gchar *content_type; + * + * content_type = g_content_type_guess (filename, NULL, 0, &result_uncertain); + * if (result_uncertain) + * { + * g_free (content_type); + * content_type = NULL; + * } + * + * manager = gtk_source_language_manager_get_default (); + * lang = gtk_source_language_manager_guess_language (manager, filename, content_type); + * gtk_source_buffer_set_language (buffer, lang); + * + * g_free (content_type); + * ``` + * + * etc. Use [method@Language.get_mime_types] and [method@Language.get_globs] + * if you need full control over file -> language mapping. + * + * Params: + * filename = a filename in Glib filename encoding, or %NULL. + * contentType = a content type (as in GIO API), or %NULL. + * + * Returns: a #GtkSourceLanguage, or %NULL if there + * is no suitable language for given @filename and/or @content_type. Return + * value is owned by @lm and should not be freed. + */ + public Language guessLanguage(string filename, string contentType) + { + auto __p = gtk_source_language_manager_guess_language(gtkSourceLanguageManager, Str.toStringz(filename), Str.toStringz(contentType)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Language)(cast(GtkSourceLanguage*) __p); + } + + /** + * Prepends @path to the list of directories where the @manager looks + * for language files. + * + * See [method@LanguageManager.set_search_path] for details. + * + * Params: + * path = a directory or a filename. + * + * Since: 5.4 + */ + public void prependSearchPath(string path) + { + gtk_source_language_manager_prepend_search_path(gtkSourceLanguageManager, Str.toStringz(path)); + } + + /** + * Sets the list of directories where the @lm looks for + * language files. + * + * If @dirs is %NULL, the search path is reset to default. + * + * At the moment this function can be called only before the + * language files are loaded for the first time. In practice + * to set a custom search path for a `GtkSourceLanguageManager`, + * you have to call this function right after creating it. + * + * Since GtkSourceView 5.4 this function will allow you to provide + * paths in the form of "resource:///" URIs to embedded `GResource`s. + * They must contain the path of a directory within the `GResource`. + * + * Params: + * dirs = a %NULL-terminated array of + * strings or %NULL. + */ + public void setSearchPath(string[] dirs) + { + gtk_source_language_manager_set_search_path(gtkSourceLanguageManager, Str.toStringzArray(dirs)); + } +} diff --git a/source/generated/sourceview/sourceview/Map.d b/source/generated/sourceview/sourceview/Map.d new file mode 100644 index 000000000..0c8ef69d7 --- /dev/null +++ b/source/generated/sourceview/sourceview/Map.d @@ -0,0 +1,141 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.Map; + +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.Widget; +private import sourceview.View; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Widget that displays a map for a specific [class@View]. + * + * `GtkSourceMap` is a widget that maps the content of a [class@View] into + * a smaller view so the user can have a quick overview of the whole document. + * + * This works by connecting a [class@View] to to the `GtkSourceMap` using + * the [property@Map:view] property or [method@Map.set_view]. + * + * `GtkSourceMap` is a [class@View] object. This means that you can add a + * [class@GutterRenderer] to a gutter in the same way you would for a + * [class@View]. One example might be a [class@GutterRenderer] that shows + * which lines have changed in the document. + * + * Additionally, it is desirable to match the font of the `GtkSourceMap` and + * the [class@View] used for editing. Therefore, [property@Map:font-desc] + * should be used to set the target font. You will need to adjust this to the + * desired font size for the map. A 1pt font generally seems to be an + * appropriate font size. "Monospace 1" is the default. See + * [method@Pango.FontDescription.set_size] for how to alter the size of an existing + * [struct@Pango.FontDescription]. + * + * When FontConfig is available, `GtkSourceMap` will try to use a bundled + * "block" font to make the map more legible. + */ +public class Map : View +{ + /** the main Gtk struct */ + protected GtkSourceMap* gtkSourceMap; + + /** Get the main Gtk struct */ + public GtkSourceMap* getMapStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceMap; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceMap; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceMap* gtkSourceMap, bool ownedRef = false) + { + this.gtkSourceMap = gtkSourceMap; + super(cast(GtkSourceView*)gtkSourceMap, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_map_get_type(); + } + + /** + * Creates a new `GtkSourceMap`. + * + * Returns: a new #GtkSourceMap. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_source_map_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceMap*) __p); + } + + /** + * Gets the [property@Map:view] property, which is the view this widget is mapping. + * + * Returns: a #GtkSourceView or %NULL. + */ + public View getView() + { + auto __p = gtk_source_map_get_view(gtkSourceMap); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(View)(cast(GtkSourceView*) __p); + } + + /** + * Sets the view that @map will be doing the mapping to. + * + * Params: + * view = a #GtkSourceView + */ + public void setView(View view) + { + gtk_source_map_set_view(gtkSourceMap, (view is null) ? null : view.getViewStruct()); + } +} diff --git a/source/generated/sourceview/sourceview/Mark.d b/source/generated/sourceview/sourceview/Mark.d new file mode 100644 index 000000000..7eac2c3ff --- /dev/null +++ b/source/generated/sourceview/sourceview/Mark.d @@ -0,0 +1,177 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.Mark; + +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.TextMark; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Mark object for [class@Buffer]. + * + * A `GtkSourceMark` marks a position in the text where you want to display + * additional info. It is based on [class@Gtk.TextMark] and thus is still valid after + * the text has changed though its position may change. + * + * `GtkSourceMark`s are organized in categories which you have to set + * when you create the mark. Each category can have a priority, a pixbuf and + * other associated attributes. See [method@View.set_mark_attributes]. + * The pixbuf will be displayed in the margin at the line where the mark + * residents if the [property@View:show-line-marks] property is set to %TRUE. If + * there are multiple marks in the same line, the pixbufs will be drawn on top + * of each other. The mark with the highest priority will be drawn on top. + */ +public class Mark : TextMark +{ + /** the main Gtk struct */ + protected GtkSourceMark* gtkSourceMark; + + /** Get the main Gtk struct */ + public GtkSourceMark* getMarkStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceMark; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceMark; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceMark* gtkSourceMark, bool ownedRef = false) + { + this.gtkSourceMark = gtkSourceMark; + super(cast(GtkTextMark*)gtkSourceMark, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_mark_get_type(); + } + + /** + * Creates a text mark. + * + * Add it to a buffer using [method@Gtk.TextBuffer.add_mark]. + * If name is NULL, the mark is anonymous; otherwise, the mark can be retrieved + * by name using [method@Gtk.TextBuffer.get_mark]. + * Normally marks are created using the utility function + * [method@Buffer.create_source_mark]. + * + * Params: + * name = Name of the #GtkSourceMark or %NULL + * category = is used to classify marks according to common characteristics + * (e.g. all the marks representing a bookmark could belong to the "bookmark" + * category, or all the marks representing a compilation error could belong + * to "error" category). + * + * Returns: a new #GtkSourceMark that can be added using [method@Gtk.TextBuffer.add_mark]. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string name, string category) + { + auto __p = gtk_source_mark_new(Str.toStringz(name), Str.toStringz(category)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceMark*) __p, true); + } + + /** + * Returns the mark category. + * + * Returns: the category of the #GtkSourceMark. + */ + public string getCategory() + { + return Str.toString(gtk_source_mark_get_category(gtkSourceMark)); + } + + /** + * Returns the next `GtkSourceMark` in the buffer or %NULL if the mark + * was not added to a buffer. + * + * If there is no next mark, %NULL will be returned. + * + * If @category is %NULL, looks for marks of any category. + * + * Params: + * category = a string specifying the mark category, or %NULL. + * + * Returns: the next #GtkSourceMark, or %NULL. + */ + public Mark next(string category) + { + auto __p = gtk_source_mark_next(gtkSourceMark, Str.toStringz(category)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Mark)(cast(GtkSourceMark*) __p); + } + + /** + * Returns the previous `GtkSourceMark` in the buffer or %NULL if the mark + * was not added to a buffer. + * + * If there is no previous mark, %NULL is returned. + * + * If @category is %NULL, looks for marks of any category + * + * Params: + * category = a string specifying the mark category, or %NULL. + * + * Returns: the previous #GtkSourceMark, or %NULL. + */ + public Mark prev(string category) + { + auto __p = gtk_source_mark_prev(gtkSourceMark, Str.toStringz(category)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Mark)(cast(GtkSourceMark*) __p); + } +} diff --git a/source/generated/sourceview/sourceview/MarkAttributes.d b/source/generated/sourceview/sourceview/MarkAttributes.d new file mode 100644 index 000000000..3de3df082 --- /dev/null +++ b/source/generated/sourceview/sourceview/MarkAttributes.d @@ -0,0 +1,344 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.MarkAttributes; + +private import gdk.PaintableIF; +private import gdk.RGBA; +private import gdkpixbuf.Pixbuf; +private import gio.IconIF; +private import glib.ConstructionException; +private import glib.MemorySlice; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gobject.Signals; +private import gtk.Widget; +private import sourceview.Mark; +private import sourceview.c.functions; +public import sourceview.c.types; +private import std.algorithm; + + +/** + * The source mark attributes object. + * + * `GtkSourceMarkAttributes` is an object specifying attributes used by + * a [class@View] to visually show lines marked with [class@Mark]s + * of a specific category. It allows you to define a background color of a line, + * an icon shown in gutter and tooltips. + * + * The background color is used as a background of a line where a mark is placed + * and it can be set with [method@MarkAttributes.set_background]. To check + * if any custom background color was defined and what color it is, use + * [method@MarkAttributes.get_background]. + * + * An icon is a graphic element which is shown in the gutter of a view. An + * example use is showing a red filled circle in a debugger to show that a + * breakpoint was set in certain line. To get an icon that will be placed in + * a gutter, first a base for it must be specified and then + * [method@MarkAttributes.render_icon] must be called. + * There are several ways to specify a base for an icon: + * + * - [method@MarkAttributes.set_icon_name] + * - [method@MarkAttributes.set_gicon] + * - [method@MarkAttributes.set_pixbuf] + * + * Using any of the above functions overrides the one used earlier. But note + * that a getter counterpart of earlier used function can still return some + * value, but it is just not used when rendering the proper icon. + * + * To provide meaningful tooltips for a given mark of a category, you should + * connect to [signal@MarkAttributes::query-tooltip-text] or + * [signal@MarkAttributes::query-tooltip-markup] where the latter + * takes precedence. + */ +public class MarkAttributes : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceMarkAttributes* gtkSourceMarkAttributes; + + /** Get the main Gtk struct */ + public GtkSourceMarkAttributes* getMarkAttributesStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceMarkAttributes; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceMarkAttributes; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceMarkAttributes* gtkSourceMarkAttributes, bool ownedRef = false) + { + this.gtkSourceMarkAttributes = gtkSourceMarkAttributes; + super(cast(GObject*)gtkSourceMarkAttributes, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_mark_attributes_get_type(); + } + + /** + * Creates a new source mark attributes. + * + * Returns: a new source mark attributes. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_source_mark_attributes_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceMarkAttributes*) __p, true); + } + + /** + * Stores background color in @background. + * + * Params: + * background = a #GdkRGBA. + * + * Returns: whether background color for @attributes was set. + */ + public bool getBackground(out RGBA background) + { + GdkRGBA* outbackground = sliceNew!GdkRGBA(); + + auto __p = gtk_source_mark_attributes_get_background(gtkSourceMarkAttributes, outbackground) != 0; + + background = ObjectG.getDObject!(RGBA)(outbackground, true); + + return __p; + } + + /** + * Gets a [iface@Gio.Icon] to be used as a base for rendered icon. + * + * Note that the icon can be %NULL if it wasn't set earlier. + * + * Returns: An icon. The icon belongs to @attributes and should + * not be unreffed. + */ + public IconIF getGicon() + { + auto __p = gtk_source_mark_attributes_get_gicon(gtkSourceMarkAttributes); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(IconIF)(cast(GIcon*) __p); + } + + /** + * Gets a name of an icon to be used as a base for rendered icon. + * + * Note that the icon name can be %NULL if it wasn't set earlier. + * + * Returns: An icon name. The string belongs to @attributes and + * should not be freed. + */ + public string getIconName() + { + return Str.toString(gtk_source_mark_attributes_get_icon_name(gtkSourceMarkAttributes)); + } + + /** + * Gets a [class@GdkPixbuf.Pixbuf] to be used as a base for rendered icon. + * + * Note that the pixbuf can be %NULL if it wasn't set earlier. + * + * Returns: A pixbuf. The pixbuf belongs to @attributes and + * should not be unreffed. + */ + public Pixbuf getPixbuf() + { + auto __p = gtk_source_mark_attributes_get_pixbuf(gtkSourceMarkAttributes); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Pixbuf)(cast(GdkPixbuf*) __p); + } + + /** + * Queries for a tooltip by emitting a [signal@MarkAttributes::query-tooltip-markup] signal. + * + * The tooltip may contain a markup. + * + * Params: + * mark = a #GtkSourceMark. + * + * Returns: A tooltip. The returned string should be freed by + * using g_free() when done with it. + */ + public string getTooltipMarkup(Mark mark) + { + auto retStr = gtk_source_mark_attributes_get_tooltip_markup(gtkSourceMarkAttributes, (mark is null) ? null : mark.getMarkStruct()); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Queries for a tooltip by emitting a [signal@MarkAttributes::query-tooltip-text] signal. + * + * The tooltip is a plain text. + * + * Params: + * mark = a #GtkSourceMark. + * + * Returns: A tooltip. The returned string should be freed by + * using g_free() when done with it. + */ + public string getTooltipText(Mark mark) + { + auto retStr = gtk_source_mark_attributes_get_tooltip_text(gtkSourceMarkAttributes, (mark is null) ? null : mark.getMarkStruct()); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Renders an icon of given size. + * + * The base of the icon is set by the last call to one of: + * + * - [method@MarkAttributes.set_pixbuf] + * - [method@MarkAttributes.set_gicon] + * - [method@MarkAttributes.set_icon_name] + * + * @size cannot be lower than 1. + * + * Params: + * widget = widget of which style settings may be used. + * size = size of the rendered icon. + * + * Returns: A #GdkPaintable. The paintable belongs to @attributes + * and should not be unreffed. + */ + public PaintableIF renderIcon(Widget widget, int size) + { + auto __p = gtk_source_mark_attributes_render_icon(gtkSourceMarkAttributes, (widget is null) ? null : widget.getWidgetStruct(), size); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(PaintableIF)(cast(GdkPaintable*) __p); + } + + /** + * Sets background color to the one given in @background. + * + * Params: + * background = a #GdkRGBA. + */ + public void setBackground(RGBA background) + { + gtk_source_mark_attributes_set_background(gtkSourceMarkAttributes, (background is null) ? null : background.getRGBAStruct()); + } + + /** + * Sets an icon to be used as a base for rendered icon. + * + * Params: + * gicon = a #GIcon to be used. + */ + public void setGicon(IconIF gicon) + { + gtk_source_mark_attributes_set_gicon(gtkSourceMarkAttributes, (gicon is null) ? null : gicon.getIconStruct()); + } + + /** + * Sets a name of an icon to be used as a base for rendered icon. + * + * Params: + * iconName = name of an icon to be used. + */ + public void setIconName(string iconName) + { + gtk_source_mark_attributes_set_icon_name(gtkSourceMarkAttributes, Str.toStringz(iconName)); + } + + /** + * Sets a pixbuf to be used as a base for rendered icon. + * + * Params: + * pixbuf = a #GdkPixbuf to be used. + */ + public void setPixbuf(Pixbuf pixbuf) + { + gtk_source_mark_attributes_set_pixbuf(gtkSourceMarkAttributes, (pixbuf is null) ? null : pixbuf.getPixbufStruct()); + } + + /** + * The code should connect to this signal to provide a tooltip for given + * @mark. The tooltip can contain a markup. + * + * Params: + * mark = The #GtkSourceMark. + * + * Returns: A tooltip. The string should be freed with + * g_free() when done with it. + */ + gulong addOnQueryTooltipMarkup(string delegate(Mark, MarkAttributes) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "query-tooltip-markup", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * The code should connect to this signal to provide a tooltip for given + * @mark. The tooltip should be just a plain text. + * + * Params: + * mark = The #GtkSourceMark. + * + * Returns: A tooltip. The string should be freed with + * g_free() when done with it. + */ + gulong addOnQueryTooltipText(string delegate(Mark, MarkAttributes) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "query-tooltip-text", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/sourceview/sourceview/PrintCompositor.d b/source/generated/sourceview/sourceview/PrintCompositor.d new file mode 100644 index 000000000..4a497a90f --- /dev/null +++ b/source/generated/sourceview/sourceview/PrintCompositor.d @@ -0,0 +1,781 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.PrintCompositor; + +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.PrintContext; +private import gtk.TextTag; +private import sourceview.Buffer; +private import sourceview.View; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Compose a [class@Buffer] for printing. + * + * The `GtkSourcePrintCompositor` object is used to compose a [class@Buffer] + * for printing. You can set various configuration options to customize the + * printed output. `GtkSourcePrintCompositor` is designed to be used with the + * high-level printing API of gtk+, i.e. [class@Gtk.PrintOperation]. + * + * The margins specified in this object are the layout margins: they define the + * blank space bordering the printed area of the pages. They must not be + * confused with the "print margins", i.e. the parts of the page that the + * printer cannot print on, defined in the [class@Gtk.PageSetup] objects. If the + * specified layout margins are smaller than the "print margins", the latter + * ones are used as a fallback by the `GtkSourcePrintCompositor` object, so that + * the printed area is not clipped. + */ +public class PrintCompositor : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourcePrintCompositor* gtkSourcePrintCompositor; + + /** Get the main Gtk struct */ + public GtkSourcePrintCompositor* getPrintCompositorStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourcePrintCompositor; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourcePrintCompositor; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourcePrintCompositor* gtkSourcePrintCompositor, bool ownedRef = false) + { + this.gtkSourcePrintCompositor = gtkSourcePrintCompositor; + super(cast(GObject*)gtkSourcePrintCompositor, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_print_compositor_get_type(); + } + + /** + * Creates a new print compositor that can be used to print @buffer. + * + * Params: + * buffer = the #GtkSourceBuffer to print. + * + * Returns: a new print compositor object. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Buffer buffer) + { + auto __p = gtk_source_print_compositor_new((buffer is null) ? null : buffer.getBufferStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourcePrintCompositor*) __p, true); + } + + /** + * Creates a new print compositor that can be used to print the buffer + * associated with @view. + * + * This constructor sets some configuration properties to make the + * printed output match @view as much as possible. The properties set are + * [property@PrintCompositor:tab-width], [property@PrintCompositor:highlight-syntax], + * [property@PrintCompositor:wrap-mode], [property@PrintCompositor:body-font-name] and + * [property@PrintCompositor:print-line-numbers]. + * + * Params: + * view = a #GtkSourceView to get configuration from. + * + * Returns: a new print compositor object. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(View view) + { + auto __p = gtk_source_print_compositor_new_from_view((view is null) ? null : view.getViewStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new_from_view"); + } + + this(cast(GtkSourcePrintCompositor*) __p, true); + } + + /** + * Draw page @page_nr for printing on the the Cairo context encapsuled in @context. + * + * This method has been designed to be called in the handler of the [signal@Gtk.PrintOperation::draw_page] signal + * as shown in the following example: + * + * ```c + * // Signal handler for the GtkPrintOperation::draw_page signal + * + * static void + * draw_page (GtkPrintOperation *operation, + * GtkPrintContext *context, + * gint page_nr, + * gpointer user_data) + * { + * GtkSourcePrintCompositor *compositor; + * + * compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data); + * + * gtk_source_print_compositor_draw_page (compositor, + * context, + * page_nr); + * } + * ``` + * + * Params: + * context = the #GtkPrintContext encapsulating the context information that is required when + * drawing the page for printing. + * pageNr = the number of the page to print. + */ + public void drawPage(PrintContext context, int pageNr) + { + gtk_source_print_compositor_draw_page(gtkSourcePrintCompositor, (context is null) ? null : context.getPrintContextStruct(), pageNr); + } + + /** + * Returns the name of the font used to print the text body. + * + * The returned string must be freed with g_free(). + * + * Returns: a new string containing the name of the font used to print the + * text body. + */ + public string getBodyFontName() + { + auto retStr = gtk_source_print_compositor_get_body_font_name(gtkSourcePrintCompositor); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Gets the bottom margin in units of @unit. + * + * Params: + * unit = the unit for the return value. + * + * Returns: the bottom margin. + */ + public double getBottomMargin(GtkUnit unit) + { + return gtk_source_print_compositor_get_bottom_margin(gtkSourcePrintCompositor, unit); + } + + /** + * Gets the [class@Buffer] associated with the compositor. + * + * The returned object reference is owned by the compositor object and + * should not be unreferenced. + * + * Returns: the #GtkSourceBuffer associated with the compositor. + */ + public Buffer getBuffer() + { + auto __p = gtk_source_print_compositor_get_buffer(gtkSourcePrintCompositor); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Buffer)(cast(GtkSourceBuffer*) __p); + } + + /** + * Returns the name of the font used to print the page footer. + * + * The returned string must be freed with g_free(). + * + * Returns: a new string containing the name of the font used to print + * the page footer. + */ + public string getFooterFontName() + { + auto retStr = gtk_source_print_compositor_get_footer_font_name(gtkSourcePrintCompositor); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Returns the name of the font used to print the page header. + * + * The returned string must be freed with g_free(). + * + * Returns: a new string containing the name of the font used to print + * the page header. + */ + public string getHeaderFontName() + { + auto retStr = gtk_source_print_compositor_get_header_font_name(gtkSourcePrintCompositor); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Determines whether the printed text will be highlighted according to the + * buffer rules. + * + * Note that highlighting will happen only if the buffer to print has highlighting activated. + * + * Returns: %TRUE if the printed output will be highlighted. + */ + public bool getHighlightSyntax() + { + return gtk_source_print_compositor_get_highlight_syntax(gtkSourcePrintCompositor) != 0; + } + + /** + * Gets the left margin in units of @unit. + * + * Params: + * unit = the unit for the return value. + * + * Returns: the left margin + */ + public double getLeftMargin(GtkUnit unit) + { + return gtk_source_print_compositor_get_left_margin(gtkSourcePrintCompositor, unit); + } + + /** + * Returns the name of the font used to print line numbers on the left margin. + * + * The returned string must be freed with g_free(). + * + * Returns: a new string containing the name of the font used to print + * line numbers on the left margin. + */ + public string getLineNumbersFontName() + { + auto retStr = gtk_source_print_compositor_get_line_numbers_font_name(gtkSourcePrintCompositor); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Returns the number of pages in the document or -1 if the + * document has not been completely paginated. + * + * Returns: the number of pages in the document or -1 if the + * document has not been completely paginated. + */ + public int getNPages() + { + return gtk_source_print_compositor_get_n_pages(gtkSourcePrintCompositor); + } + + /** + * Returns the current fraction of the document pagination that has been completed. + * + * Returns: a fraction from 0.0 to 1.0 inclusive. + */ + public double getPaginationProgress() + { + return gtk_source_print_compositor_get_pagination_progress(gtkSourcePrintCompositor); + } + + /** + * Determines if a footer is set to be printed for each page. + * + * A footer will be printed if this function returns %TRUE + * **and** some format strings have been specified + * with [method@PrintCompositor.set_footer_format]. + * + * Returns: %TRUE if the footer is set to be printed. + */ + public bool getPrintFooter() + { + return gtk_source_print_compositor_get_print_footer(gtkSourcePrintCompositor) != 0; + } + + /** + * Determines if a header is set to be printed for each page. + * + * A header will be printed if this function returns %TRUE + * **and** some format strings have been specified + * with [method@PrintCompositor.set_header_format]. + * + * Returns: %TRUE if the header is set to be printed. + */ + public bool getPrintHeader() + { + return gtk_source_print_compositor_get_print_header(gtkSourcePrintCompositor) != 0; + } + + /** + * Returns the interval used for line number printing. + * + * If the value is 0, no line numbers will be printed. The default value is + * 1 (i.e. numbers printed in all lines). + * + * Returns: the interval of printed line numbers. + */ + public uint getPrintLineNumbers() + { + return gtk_source_print_compositor_get_print_line_numbers(gtkSourcePrintCompositor); + } + + /** + * Gets the right margin in units of @unit. + * + * Params: + * unit = the unit for the return value. + * + * Returns: the right margin. + */ + public double getRightMargin(GtkUnit unit) + { + return gtk_source_print_compositor_get_right_margin(gtkSourcePrintCompositor, unit); + } + + /** + * Returns the width of tabulation in characters for printed text. + * + * Returns: width of tab. + */ + public uint getTabWidth() + { + return gtk_source_print_compositor_get_tab_width(gtkSourcePrintCompositor); + } + + /** + * Gets the top margin in units of @unit. + * + * Params: + * unit = the unit for the return value. + * + * Returns: the top margin. + */ + public double getTopMargin(GtkUnit unit) + { + return gtk_source_print_compositor_get_top_margin(gtkSourcePrintCompositor, unit); + } + + /** + * Gets the line wrapping mode for the printed text. + * + * Returns: the line wrap mode. + */ + public GtkWrapMode getWrapMode() + { + return gtk_source_print_compositor_get_wrap_mode(gtkSourcePrintCompositor); + } + + /** + * Specifies a tag whose style should be ignored when compositing the + * document to the printable page. + * + * Params: + * tag = a #GtkTextTag + * + * Since: 5.2 + */ + public void ignoreTag(TextTag tag) + { + gtk_source_print_compositor_ignore_tag(gtkSourcePrintCompositor, (tag is null) ? null : tag.getTextTagStruct()); + } + + /** + * Paginate the document associated with the @compositor. + * + * In order to support non-blocking pagination, document is paginated in small chunks. + * Each time [method@PrintCompositor.paginate] is invoked, a chunk of the document + * is paginated. To paginate the entire document, [method@PrintCompositor.paginate] + * must be invoked multiple times. + * It returns %TRUE if the document has been completely paginated, otherwise it returns %FALSE. + * + * This method has been designed to be invoked in the handler of the [signal@Gtk.PrintOperation::paginate] signal, + * as shown in the following example: + * + * ```c + * // Signal handler for the GtkPrintOperation::paginate signal + * + * static gboolean + * paginate (GtkPrintOperation *operation, + * GtkPrintContext *context, + * gpointer user_data) + * { + * GtkSourcePrintCompositor *compositor; + * + * compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data); + * + * if (gtk_source_print_compositor_paginate (compositor, context)) + * { + * gint n_pages; + * + * n_pages = gtk_source_print_compositor_get_n_pages (compositor); + * gtk_print_operation_set_n_pages (operation, n_pages); + * + * return TRUE; + * } + * + * return FALSE; + * } + * ``` + * + * If you don't need to do pagination in chunks, you can simply do it all in the + * [signal@Gtk.PrintOperation::begin-print] handler, and set the number of pages from there, like + * in the following example: + * + * ```c + * // Signal handler for the GtkPrintOperation::begin-print signal + * + * static void + * begin_print (GtkPrintOperation *operation, + * GtkPrintContext *context, + * gpointer user_data) + * { + * GtkSourcePrintCompositor *compositor; + * gint n_pages; + * + * compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data); + * + * while (!gtk_source_print_compositor_paginate (compositor, context)); + * + * n_pages = gtk_source_print_compositor_get_n_pages (compositor); + * gtk_print_operation_set_n_pages (operation, n_pages); + * } + * ``` + * + * Params: + * context = the #GtkPrintContext whose parameters (e.g. paper size, print margins, etc.) + * are used by the the @compositor to paginate the document. + * + * Returns: %TRUE if the document has been completely paginated, %FALSE otherwise. + */ + public bool paginate(PrintContext context) + { + return gtk_source_print_compositor_paginate(gtkSourcePrintCompositor, (context is null) ? null : context.getPrintContextStruct()) != 0; + } + + /** + * Sets the default font for the printed text. + * + * @font_name should be a + * string representation of a font description Pango can understand. + * (e.g. "Monospace 10"). See [func@Pango.FontDescription.from_string] + * for a description of the format of the string representation. + * + * This function cannot be called anymore after the first call to the + * [method@PrintCompositor.paginate] function. + * + * Params: + * fontName = the name of the default font for the body text. + */ + public void setBodyFontName(string fontName) + { + gtk_source_print_compositor_set_body_font_name(gtkSourcePrintCompositor, Str.toStringz(fontName)); + } + + /** + * Sets the bottom margin used by @compositor. + * + * Params: + * margin = the new bottom margin in units of @unit. + * unit = the units for @margin. + */ + public void setBottomMargin(double margin, GtkUnit unit) + { + gtk_source_print_compositor_set_bottom_margin(gtkSourcePrintCompositor, margin, unit); + } + + /** + * Sets the font for printing the page footer. + * + * If %NULL is supplied, the default font (i.e. the one being used for the + * text) will be used instead. + * + * @font_name should be a + * string representation of a font description Pango can understand. + * (e.g. "Monospace 10"). See [func@Pango.FontDescription.from_string] + * for a description of the format of the string representation. + * + * This function cannot be called anymore after the first call to the + * [method@PrintCompositor.paginate] function. + * + * Params: + * fontName = the name of the font for the footer text, or %NULL. + */ + public void setFooterFontName(string fontName) + { + gtk_source_print_compositor_set_footer_font_name(gtkSourcePrintCompositor, Str.toStringz(fontName)); + } + + /** + * See [method@PrintCompositor.set_header_format] for more information + * about the parameters. + * + * Params: + * separator = %TRUE if you want a separator line to be printed. + * left = a format string to print on the left of the footer. + * center = a format string to print on the center of the footer. + * right = a format string to print on the right of the footer. + */ + public void setFooterFormat(bool separator, string left, string center, string right) + { + gtk_source_print_compositor_set_footer_format(gtkSourcePrintCompositor, separator, Str.toStringz(left), Str.toStringz(center), Str.toStringz(right)); + } + + /** + * Sets the font for printing the page header. + * + * If %NULL is supplied, the default font (i.e. the one being used for the + * text) will be used instead. + * + * @font_name should be a + * string representation of a font description Pango can understand. + * (e.g. "Monospace 10"). See [func@Pango.FontDescription.from_string] + * for a description of the format of the string representation. + * + * This function cannot be called anymore after the first call to the + * [method@PrintCompositor.paginate] function. + * + * Params: + * fontName = the name of the font for header text, or %NULL. + */ + public void setHeaderFontName(string fontName) + { + gtk_source_print_compositor_set_header_font_name(gtkSourcePrintCompositor, Str.toStringz(fontName)); + } + + /** + * Sets strftime like header format strings, to be printed on the + * left, center and right of the top of each page. + * + * The strings may include strftime(3) codes which will be expanded at print time. + * A subset of strftime() codes are accepted, see [method@GLib.DateTime.format] + * for more details on the accepted format specifiers. + * Additionally the following format specifiers are accepted: + * + * - #N: the page number + * - #Q: the page count. + * + * @separator specifies if a solid line should be drawn to separate + * the header from the document text. + * + * If %NULL is given for any of the three arguments, that particular + * string will not be printed. + * + * For the header to be printed, in + * addition to specifying format strings, you need to enable header + * printing with [method@PrintCompositor.set_print_header]. + * + * This function cannot be called anymore after the first call to the + * [method@PrintCompositor.paginate] function. + * + * Params: + * separator = %TRUE if you want a separator line to be printed. + * left = a format string to print on the left of the header. + * center = a format string to print on the center of the header. + * right = a format string to print on the right of the header. + */ + public void setHeaderFormat(bool separator, string left, string center, string right) + { + gtk_source_print_compositor_set_header_format(gtkSourcePrintCompositor, separator, Str.toStringz(left), Str.toStringz(center), Str.toStringz(right)); + } + + /** + * Sets whether the printed text will be highlighted according to the + * buffer rules. Both color and font style are applied. + * + * This function cannot be called anymore after the first call to the + * [method@PrintCompositor.paginate] function. + * + * Params: + * highlight = whether syntax should be highlighted. + */ + public void setHighlightSyntax(bool highlight) + { + gtk_source_print_compositor_set_highlight_syntax(gtkSourcePrintCompositor, highlight); + } + + /** + * Sets the left margin used by @compositor. + * + * Params: + * margin = the new left margin in units of @unit. + * unit = the units for @margin. + */ + public void setLeftMargin(double margin, GtkUnit unit) + { + gtk_source_print_compositor_set_left_margin(gtkSourcePrintCompositor, margin, unit); + } + + /** + * Sets the font for printing line numbers on the left margin. + * + * If %NULL is supplied, the default font (i.e. the one being used for the + * text) will be used instead. + * + * @font_name should be a + * string representation of a font description Pango can understand. + * (e.g. "Monospace 10"). See [func@Pango.FontDescription.from_string] + * for a description of the format of the string representation. + * + * This function cannot be called anymore after the first call to the + * [method@PrintCompositor.paginate] function. + * + * Params: + * fontName = the name of the font for line numbers, or %NULL. + */ + public void setLineNumbersFontName(string fontName) + { + gtk_source_print_compositor_set_line_numbers_font_name(gtkSourcePrintCompositor, Str.toStringz(fontName)); + } + + /** + * Sets whether you want to print a footer in each page. + * + * The footer consists of three pieces of text and an optional line + * separator, configurable with + * [method@PrintCompositor.set_footer_format]. + * + * Note that by default the footer format is unspecified, and if it's + * empty it will not be printed, regardless of this setting. + * + * This function cannot be called anymore after the first call to the + * [method@PrintCompositor.paginate] function. + * + * Params: + * print = %TRUE if you want the footer to be printed. + */ + public void setPrintFooter(bool print) + { + gtk_source_print_compositor_set_print_footer(gtkSourcePrintCompositor, print); + } + + /** + * Sets whether you want to print a header in each page. + * + * The header consists of three pieces of text and an optional line + * separator, configurable with [method@PrintCompositor.set_header_format]. + * + * Note that by default the header format is unspecified, and if it's + * empty it will not be printed, regardless of this setting. + * + * This function cannot be called anymore after the first call to the + * [method@PrintCompositor.paginate] function. + * + * Params: + * print = %TRUE if you want the header to be printed. + */ + public void setPrintHeader(bool print) + { + gtk_source_print_compositor_set_print_header(gtkSourcePrintCompositor, print); + } + + /** + * Sets the interval for printed line numbers. + * + * If @interval is 0 no numbers will be printed. If greater than 0, a number will be + * printed every @interval lines (i.e. 1 will print all line numbers). + * + * Maximum accepted value for @interval is 100. + * + * This function cannot be called anymore after the first call to the + * [method@PrintCompositor.paginate] function. + * + * Params: + * interval = interval for printed line numbers. + */ + public void setPrintLineNumbers(uint interval) + { + gtk_source_print_compositor_set_print_line_numbers(gtkSourcePrintCompositor, interval); + } + + /** + * Sets the right margin used by @compositor. + * + * Params: + * margin = the new right margin in units of @unit. + * unit = the units for @margin. + */ + public void setRightMargin(double margin, GtkUnit unit) + { + gtk_source_print_compositor_set_right_margin(gtkSourcePrintCompositor, margin, unit); + } + + /** + * Sets the width of tabulation in characters for printed text. + * + * This function cannot be called anymore after the first call to the + * [method@PrintCompositor.paginate] function. + * + * Params: + * width = width of tab in characters. + */ + public void setTabWidth(uint width) + { + gtk_source_print_compositor_set_tab_width(gtkSourcePrintCompositor, width); + } + + /** + * Sets the top margin used by @compositor. + * + * Params: + * margin = the new top margin in units of @unit + * unit = the units for @margin + */ + public void setTopMargin(double margin, GtkUnit unit) + { + gtk_source_print_compositor_set_top_margin(gtkSourcePrintCompositor, margin, unit); + } + + /** + * Sets the line wrapping mode for the printed text. + * + * This function cannot be called anymore after the first call to the + * [method@PrintCompositor.paginate] function. + * + * Params: + * wrapMode = a #GtkWrapMode. + */ + public void setWrapMode(GtkWrapMode wrapMode) + { + gtk_source_print_compositor_set_wrap_mode(gtkSourcePrintCompositor, wrapMode); + } +} diff --git a/source/generated/sourceview/sourceview/Region.d b/source/generated/sourceview/sourceview/Region.d new file mode 100644 index 000000000..75a1da338 --- /dev/null +++ b/source/generated/sourceview/sourceview/Region.d @@ -0,0 +1,322 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.Region; + +private import glib.ConstructionException; +private import glib.MemorySlice; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gtk.TextBuffer; +private import gtk.TextIter; +private import sourceview.RegionIter; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Region utility. + * + * A `GtkSourceRegion` permits to store a group of subregions of a + * [class@Gtk.TextBuffer]. `GtkSourceRegion` stores the subregions with pairs of + * [class@Gtk.TextMark]'s, so the region is still valid after insertions and deletions + * in the [class@Gtk.TextBuffer]. + * + * The [class@Gtk.TextMark] for the start of a subregion has a left gravity, while the + * [class@Gtk.TextMark] for the end of a subregion has a right gravity. + * + * The typical use-case of `GtkSourceRegion` is to scan a [class@Gtk.TextBuffer] chunk by + * chunk, not the whole buffer at once to not block the user interface. The + * `GtkSourceRegion` represents in that case the remaining region to scan. You + * can listen to the [signal@Gtk.TextBuffer::insert-text] and + * [signal@Gtk.TextBuffer::delete-range] signals to update the `GtkSourceRegion` + * accordingly. + * + * To iterate through the subregions, you need to use a [struct@RegionIter], + * for example: + * ```c + * GtkSourceRegion *region; + * GtkSourceRegionIter region_iter; + * + * gtk_source_region_get_start_region_iter (region, ®ion_iter); + * + * while (!gtk_source_region_iter_is_end (®ion_iter)) + * { + * GtkTextIter subregion_start; + * GtkTextIter subregion_end; + * + * if (!gtk_source_region_iter_get_subregion (®ion_iter, + * &subregion_start, + * &subregion_end)) + * { + * break; + * } + * + * // Do something useful with the subregion. + * + * gtk_source_region_iter_next (®ion_iter); + * } + * ``` + */ +public class Region : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceRegion* gtkSourceRegion; + + /** Get the main Gtk struct */ + public GtkSourceRegion* getRegionStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceRegion; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceRegion; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceRegion* gtkSourceRegion, bool ownedRef = false) + { + this.gtkSourceRegion = gtkSourceRegion; + super(cast(GObject*)gtkSourceRegion, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_region_get_type(); + } + + /** + * + * Params: + * buffer = a #GtkTextBuffer. + * Returns: a new #GtkSourceRegion object for @buffer. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(TextBuffer buffer) + { + auto __p = gtk_source_region_new((buffer is null) ? null : buffer.getTextBufferStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceRegion*) __p, true); + } + + /** + * Adds @region_to_add to @region. + * + * @region_to_add is not modified. + * + * Params: + * regionToAdd = the #GtkSourceRegion to add to @region, or %NULL. + */ + public void addRegion(Region regionToAdd) + { + gtk_source_region_add_region(gtkSourceRegion, (regionToAdd is null) ? null : regionToAdd.getRegionStruct()); + } + + /** + * Adds the subregion delimited by @_start and @_end to @region. + * + * Params: + * Start = the start of the subregion. + * End = the end of the subregion. + */ + public void addSubregion(TextIter Start, TextIter End) + { + gtk_source_region_add_subregion(gtkSourceRegion, (Start is null) ? null : Start.getTextIterStruct(), (End is null) ? null : End.getTextIterStruct()); + } + + /** + * Gets the @start and @end bounds of the @region. + * + * Params: + * start = iterator to initialize with the start of @region, + * or %NULL. + * end = iterator to initialize with the end of @region, + * or %NULL. + * + * Returns: %TRUE if @start and @end have been set successfully (if non-%NULL), + * or %FALSE if the @region is empty. + */ + public bool getBounds(out TextIter start, out TextIter end) + { + GtkTextIter* outstart = sliceNew!GtkTextIter(); + GtkTextIter* outend = sliceNew!GtkTextIter(); + + auto __p = gtk_source_region_get_bounds(gtkSourceRegion, outstart, outend) != 0; + + start = ObjectG.getDObject!(TextIter)(outstart, true); + end = ObjectG.getDObject!(TextIter)(outend, true); + + return __p; + } + + /** + * Returns: the #GtkTextBuffer. + */ + public TextBuffer getBuffer() + { + auto __p = gtk_source_region_get_buffer(gtkSourceRegion); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(TextBuffer)(cast(GtkTextBuffer*) __p); + } + + /** + * Initializes a [struct@RegionIter] to the first subregion of @region. + * + * If @region is empty, @iter will be initialized to the end iterator. + * + * Params: + * iter = iterator to initialize to the first subregion. + */ + public void getStartRegionIter(out RegionIter iter) + { + GtkSourceRegionIter* outiter = sliceNew!GtkSourceRegionIter(); + + gtk_source_region_get_start_region_iter(gtkSourceRegion, outiter); + + iter = ObjectG.getDObject!(RegionIter)(outiter, true); + } + + /** + * Returns the intersection between @region1 and @region2. + * + * @region1 and @region2 are not modified. + * + * Params: + * region2 = a #GtkSourceRegion, or %NULL. + * + * Returns: the intersection as a #GtkSourceRegion + * object. + */ + public Region intersectRegion(Region region2) + { + auto __p = gtk_source_region_intersect_region(gtkSourceRegion, (region2 is null) ? null : region2.getRegionStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Region)(cast(GtkSourceRegion*) __p, true); + } + + /** + * Returns the intersection between @region and the subregion delimited by + * @_start and @_end. + * + * @region is not modified. + * + * Params: + * Start = the start of the subregion. + * End = the end of the subregion. + * + * Returns: the intersection as a new + * #GtkSourceRegion. + */ + public Region intersectSubregion(TextIter Start, TextIter End) + { + auto __p = gtk_source_region_intersect_subregion(gtkSourceRegion, (Start is null) ? null : Start.getTextIterStruct(), (End is null) ? null : End.getTextIterStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Region)(cast(GtkSourceRegion*) __p, true); + } + + /** + * Returns whether the @region is empty. + * + * A %NULL @region is considered empty. + * + * Returns: whether the @region is empty. + */ + public bool isEmpty() + { + return gtk_source_region_is_empty(gtkSourceRegion) != 0; + } + + /** + * Subtracts @region_to_subtract from @region. + * + * @region_to_subtract is not modified. + * + * Params: + * regionToSubtract = the #GtkSourceRegion to subtract from + * @region, or %NULL. + */ + public void subtractRegion(Region regionToSubtract) + { + gtk_source_region_subtract_region(gtkSourceRegion, (regionToSubtract is null) ? null : regionToSubtract.getRegionStruct()); + } + + /** + * Subtracts the subregion delimited by @_start and @_end from @region. + * + * Params: + * Start = the start of the subregion. + * End = the end of the subregion. + */ + public void subtractSubregion(TextIter Start, TextIter End) + { + gtk_source_region_subtract_subregion(gtkSourceRegion, (Start is null) ? null : Start.getTextIterStruct(), (End is null) ? null : End.getTextIterStruct()); + } + + /** + * Gets a string represention of @region, for debugging purposes. + * + * The returned string contains the character offsets of the subregions. It + * doesn't include a newline character at the end of the string. + * + * Returns: a string represention of @region. Free + * with g_free() when no longer needed. + */ + public override string toString() + { + auto retStr = gtk_source_region_to_string(gtkSourceRegion); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } +} diff --git a/source/generated/sourceview/sourceview/RegionIter.d b/source/generated/sourceview/sourceview/RegionIter.d new file mode 100644 index 000000000..f5749d5d5 --- /dev/null +++ b/source/generated/sourceview/sourceview/RegionIter.d @@ -0,0 +1,110 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.RegionIter; + +private import glib.MemorySlice; +private import gobject.ObjectG; +private import gtk.TextIter; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * An opaque datatype. + * + * Ignore all its fields and initialize the iter with [method@Region.get_start_region_iter]. + */ +public class RegionIter +{ + /** the main Gtk struct */ + protected GtkSourceRegionIter* gtkSourceRegionIter; + protected bool ownedRef; + + /** Get the main Gtk struct */ + public GtkSourceRegionIter* getRegionIterStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceRegionIter; + } + + /** the main Gtk struct as a void* */ + protected void* getStruct() + { + return cast(void*)gtkSourceRegionIter; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceRegionIter* gtkSourceRegionIter, bool ownedRef = false) + { + this.gtkSourceRegionIter = gtkSourceRegionIter; + this.ownedRef = ownedRef; + } + + + /** + * Gets the subregion at this iterator. + * + * Params: + * start = iterator to initialize with the subregion start, or %NULL. + * end = iterator to initialize with the subregion end, or %NULL. + * + * Returns: %TRUE if @start and @end have been set successfully (if non-%NULL), + * or %FALSE if @iter is the end iterator or if the region is empty. + */ + public bool getSubregion(out TextIter start, out TextIter end) + { + GtkTextIter* outstart = sliceNew!GtkTextIter(); + GtkTextIter* outend = sliceNew!GtkTextIter(); + + auto __p = gtk_source_region_iter_get_subregion(gtkSourceRegionIter, outstart, outend) != 0; + + start = ObjectG.getDObject!(TextIter)(outstart, true); + end = ObjectG.getDObject!(TextIter)(outend, true); + + return __p; + } + + /** + * Returns: whether @iter is the end iterator. + */ + public bool isEnd() + { + return gtk_source_region_iter_is_end(gtkSourceRegionIter) != 0; + } + + /** + * Moves @iter to the next subregion. + * + * Returns: %TRUE if @iter moved and is dereferenceable, or %FALSE if @iter has + * been set to the end iterator. + */ + public bool next() + { + return gtk_source_region_iter_next(gtkSourceRegionIter) != 0; + } +} diff --git a/source/generated/sourceview/sourceview/SearchContext.d b/source/generated/sourceview/sourceview/SearchContext.d new file mode 100644 index 000000000..56cf2d2fd --- /dev/null +++ b/source/generated/sourceview/sourceview/SearchContext.d @@ -0,0 +1,551 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.SearchContext; + +private import gio.AsyncResultIF; +private import gio.Cancellable; +private import glib.ConstructionException; +private import glib.ErrorG; +private import glib.GException; +private import glib.MemorySlice; +private import glib.Str; +private import gobject.ObjectG; +private import gtk.TextIter; +private import sourceview.Buffer; +private import sourceview.SearchSettings; +private import sourceview.Style; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Search context. + * + * A `GtkSourceSearchContext` is used for the search and replace in a + * [class@Buffer]. The search settings are represented by a + * [class@SearchSettings] object. There can be a many-to-many relationship + * between buffers and search settings, with the search contexts in-between: a + * search settings object can be shared between several search contexts; and a + * buffer can contain several search contexts at the same time. + * + * The total number of search occurrences can be retrieved with + * [method@SearchContext.get_occurrences_count]. To know the position of a + * certain match, use [method@SearchContext.get_occurrence_position]. + * + * The buffer is scanned asynchronously, so it doesn't block the user interface. + * For each search, the buffer is scanned at most once. After that, navigating + * through the occurrences doesn't require to re-scan the buffer entirely. + * + * To search forward, use [method@SearchContext.forward] or + * [method@SearchContext.forward_async] for the asynchronous version. + * The backward search is done similarly. To replace a search match, or all + * matches, use [method@SearchContext.replace] and + * [method@SearchContext.replace_all]. + * + * The search occurrences are highlighted by default. To disable it, use + * [method@SearchContext.set_highlight]. You can enable the search + * highlighting for several `GtkSourceSearchContext`s attached to the + * same buffer. Moreover, each of those `GtkSourceSearchContext`s can + * have a different text style associated. Use + * [method@SearchContext.set_match_style] to specify the [class@Style] + * to apply on search matches. + * + * Note that the [property@SearchContext:highlight] and + * [property@SearchContext:match-style] properties are in the + * `GtkSourceSearchContext` class, not [class@SearchSettings]. Appearance + * settings should be tied to one, and only one buffer, as different buffers can + * have different style scheme associated (a [class@SearchSettings] object + * can be bound indirectly to several buffers). + * + * The concept of "current match" doesn't exist yet. A way to highlight + * differently the current match is to select it. + * + * A search occurrence's position doesn't depend on the cursor position or other + * parameters. Take for instance the buffer "aaaa" with the search text "aa". + * The two occurrences are at positions [0:2] and [2:4]. If you begin to search + * at position 1, you will get the occurrence [2:4], not [1:3]. This is a + * prerequisite for regular expression searches. The pattern ".*" matches the + * entire line. If the cursor is at the middle of the line, you don't want the + * rest of the line as the occurrence, you want an entire line. (As a side note, + * regular expression searches can also match multiple lines.) + * + * In the GtkSourceView source code, there is an example of how to use the + * search and replace API: see the tests/test-search.c file. It is a mini + * application for the search and replace, with a basic user interface. + */ +public class SearchContext : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceSearchContext* gtkSourceSearchContext; + + /** Get the main Gtk struct */ + public GtkSourceSearchContext* getSearchContextStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceSearchContext; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceSearchContext; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceSearchContext* gtkSourceSearchContext, bool ownedRef = false) + { + this.gtkSourceSearchContext = gtkSourceSearchContext; + super(cast(GObject*)gtkSourceSearchContext, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_search_context_get_type(); + } + + /** + * Creates a new search context, associated with @buffer, and customized with + * @settings. + * + * If @settings is %NULL, a new [class@SearchSettings] object will + * be created, that you can retrieve with [method@SearchContext.get_settings]. + * + * Params: + * buffer = a #GtkSourceBuffer. + * settings = a #GtkSourceSearchSettings, or %NULL. + * + * Returns: a new search context. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Buffer buffer, SearchSettings settings) + { + auto __p = gtk_source_search_context_new((buffer is null) ? null : buffer.getBufferStruct(), (settings is null) ? null : settings.getSearchSettingsStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceSearchContext*) __p, true); + } + + /** + * Synchronous backward search. + * + * It is recommended to use the asynchronous functions instead, to not block the user interface. + * However, if you are sure that the @buffer is small, this function is more convenient to use. + * + * If the [property@SearchSettings:wrap-around] property is %FALSE, this function + * doesn't try to wrap around. + * + * The @has_wrapped_around out parameter is set independently of whether a match + * is found. So if this function returns %FALSE, @has_wrapped_around will have + * the same value as the [property@SearchSettings:wrap-around] property. + * + * Params: + * iter = start of search. + * matchStart = return location for start of match, or %NULL. + * matchEnd = return location for end of match, or %NULL. + * hasWrappedAround = return location to know whether the + * search has wrapped around, or %NULL. + * + * Returns: whether a match was found. + */ + public bool backward(TextIter iter, out TextIter matchStart, out TextIter matchEnd, out bool hasWrappedAround) + { + GtkTextIter* outmatchStart = sliceNew!GtkTextIter(); + GtkTextIter* outmatchEnd = sliceNew!GtkTextIter(); + int outhasWrappedAround; + + auto __p = gtk_source_search_context_backward(gtkSourceSearchContext, (iter is null) ? null : iter.getTextIterStruct(), outmatchStart, outmatchEnd, &outhasWrappedAround) != 0; + + matchStart = ObjectG.getDObject!(TextIter)(outmatchStart, true); + matchEnd = ObjectG.getDObject!(TextIter)(outmatchEnd, true); + hasWrappedAround = (outhasWrappedAround == 1); + + return __p; + } + + /** + * The asynchronous version of [method@SearchContext.backward]. + * + * See the [iface@Gio.AsyncResult] documentation to know how to use this function. + * + * If the operation is cancelled, the @callback will only be called if + * @cancellable was not %NULL. The method takes + * ownership of @cancellable, so you can unref it after calling this function. + * + * Params: + * iter = start of search. + * cancellable = a #GCancellable, or %NULL. + * callback = a #GAsyncReadyCallback to call when the operation is finished. + * userData = the data to pass to the @callback function. + */ + public void backwardAsync(TextIter iter, Cancellable cancellable, GAsyncReadyCallback callback, void* userData) + { + gtk_source_search_context_backward_async(gtkSourceSearchContext, (iter is null) ? null : iter.getTextIterStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * Finishes a backward search started with + * [method@SearchContext.backward_async]. + * + * See the documentation of [method@SearchContext.backward] for more + * details. + * + * Params: + * result = a #GAsyncResult. + * matchStart = return location for start of match, or %NULL. + * matchEnd = return location for end of match, or %NULL. + * hasWrappedAround = return location to know whether the + * search has wrapped around, or %NULL. + * + * Returns: whether a match was found. + * + * Throws: GException on failure. + */ + public bool backwardFinish(AsyncResultIF result, out TextIter matchStart, out TextIter matchEnd, out bool hasWrappedAround) + { + GtkTextIter* outmatchStart = sliceNew!GtkTextIter(); + GtkTextIter* outmatchEnd = sliceNew!GtkTextIter(); + int outhasWrappedAround; + GError* err = null; + + auto __p = gtk_source_search_context_backward_finish(gtkSourceSearchContext, (result is null) ? null : result.getAsyncResultStruct(), outmatchStart, outmatchEnd, &outhasWrappedAround, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + matchStart = ObjectG.getDObject!(TextIter)(outmatchStart, true); + matchEnd = ObjectG.getDObject!(TextIter)(outmatchEnd, true); + hasWrappedAround = (outhasWrappedAround == 1); + + return __p; + } + + /** + * Synchronous forward search. + * + * It is recommended to use the asynchronous functions instead, to not block the user interface. + * However, if you are sure that the @buffer is small, this function is more convenient to use. + * + * If the [property@SearchSettings:wrap-around] property is %FALSE, this function + * doesn't try to wrap around. + * + * The @has_wrapped_around out parameter is set independently of whether a match + * is found. So if this function returns %FALSE, @has_wrapped_around will have + * the same value as the [property@SearchSettings:wrap-around] property. + * + * Params: + * iter = start of search. + * matchStart = return location for start of match, or %NULL. + * matchEnd = return location for end of match, or %NULL. + * hasWrappedAround = return location to know whether the + * search has wrapped around, or %NULL. + * + * Returns: whether a match was found. + */ + public bool forward(TextIter iter, out TextIter matchStart, out TextIter matchEnd, out bool hasWrappedAround) + { + GtkTextIter* outmatchStart = sliceNew!GtkTextIter(); + GtkTextIter* outmatchEnd = sliceNew!GtkTextIter(); + int outhasWrappedAround; + + auto __p = gtk_source_search_context_forward(gtkSourceSearchContext, (iter is null) ? null : iter.getTextIterStruct(), outmatchStart, outmatchEnd, &outhasWrappedAround) != 0; + + matchStart = ObjectG.getDObject!(TextIter)(outmatchStart, true); + matchEnd = ObjectG.getDObject!(TextIter)(outmatchEnd, true); + hasWrappedAround = (outhasWrappedAround == 1); + + return __p; + } + + /** + * The asynchronous version of [method@SearchContext.forward]. + * + * See the [iface@Gio.AsyncResult] documentation to know how to use this function. + * + * If the operation is cancelled, the @callback will only be called if + * @cancellable was not %NULL. The method takes + * ownership of @cancellable, so you can unref it after calling this function. + * + * Params: + * iter = start of search. + * cancellable = a #GCancellable, or %NULL. + * callback = a #GAsyncReadyCallback to call when the operation is finished. + * userData = the data to pass to the @callback function. + */ + public void forwardAsync(TextIter iter, Cancellable cancellable, GAsyncReadyCallback callback, void* userData) + { + gtk_source_search_context_forward_async(gtkSourceSearchContext, (iter is null) ? null : iter.getTextIterStruct(), (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData); + } + + /** + * Finishes a forward search started with [method@SearchContext.forward_async]. + * + * See the documentation of [method@SearchContext.forward] for more + * details. + * + * Params: + * result = a #GAsyncResult. + * matchStart = return location for start of match, or %NULL. + * matchEnd = return location for end of match, or %NULL. + * hasWrappedAround = return location to know whether the + * search has wrapped around, or %NULL. + * + * Returns: whether a match was found. + * + * Throws: GException on failure. + */ + public bool forwardFinish(AsyncResultIF result, out TextIter matchStart, out TextIter matchEnd, out bool hasWrappedAround) + { + GtkTextIter* outmatchStart = sliceNew!GtkTextIter(); + GtkTextIter* outmatchEnd = sliceNew!GtkTextIter(); + int outhasWrappedAround; + GError* err = null; + + auto __p = gtk_source_search_context_forward_finish(gtkSourceSearchContext, (result is null) ? null : result.getAsyncResultStruct(), outmatchStart, outmatchEnd, &outhasWrappedAround, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + matchStart = ObjectG.getDObject!(TextIter)(outmatchStart, true); + matchEnd = ObjectG.getDObject!(TextIter)(outmatchEnd, true); + hasWrappedAround = (outhasWrappedAround == 1); + + return __p; + } + + /** + * Returns: the associated buffer. + */ + public Buffer getBuffer() + { + auto __p = gtk_source_search_context_get_buffer(gtkSourceSearchContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Buffer)(cast(GtkSourceBuffer*) __p); + } + + /** + * Returns: whether to highlight the search occurrences. + */ + public bool getHighlight() + { + return gtk_source_search_context_get_highlight(gtkSourceSearchContext) != 0; + } + + /** + * Returns: the #GtkSourceStyle to apply on search matches. + */ + public Style getMatchStyle() + { + auto __p = gtk_source_search_context_get_match_style(gtkSourceSearchContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Style)(cast(GtkSourceStyle*) __p); + } + + /** + * Gets the position of a search occurrence. + * + * If the buffer is not already fully scanned, the position may be unknown, + * and -1 is returned. If 0 is returned, it means that this part of the buffer + * has already been scanned, and that @match_start and @match_end don't delimit an occurrence. + * + * Params: + * matchStart = the start of the occurrence. + * matchEnd = the end of the occurrence. + * + * Returns: the position of the search occurrence. The first occurrence has the + * position 1 (not 0). Returns 0 if @match_start and @match_end don't delimit + * an occurrence. Returns -1 if the position is not yet known. + */ + public int getOccurrencePosition(TextIter matchStart, TextIter matchEnd) + { + return gtk_source_search_context_get_occurrence_position(gtkSourceSearchContext, (matchStart is null) ? null : matchStart.getTextIterStruct(), (matchEnd is null) ? null : matchEnd.getTextIterStruct()); + } + + /** + * Gets the total number of search occurrences. + * + * If the buffer is not already fully scanned, the total number of occurrences is + * unknown, and -1 is returned. + * + * Returns: the total number of search occurrences, or -1 if unknown. + */ + public int getOccurrencesCount() + { + return gtk_source_search_context_get_occurrences_count(gtkSourceSearchContext); + } + + /** + * Regular expression patterns must follow certain rules. If + * [property@SearchSettings:search-text] breaks a rule, the error can be + * retrieved with this function. + * + * The error domain is [enum@GLib.RegexError]. + * + * Free the return value with [method@GLib.Error.free]. + * + * Returns: the #GError, or %NULL if the + * pattern is valid. + */ + public ErrorG getRegexError() + { + auto __p = gtk_source_search_context_get_regex_error(gtkSourceSearchContext); + + if(__p is null) + { + return null; + } + + return new ErrorG(cast(GError*) __p, true); + } + + /** + * Returns: the search settings. + */ + public SearchSettings getSettings() + { + auto __p = gtk_source_search_context_get_settings(gtkSourceSearchContext); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SearchSettings)(cast(GtkSourceSearchSettings*) __p); + } + + /** + * Replaces a search match by another text. If @match_start and @match_end + * doesn't correspond to a search match, %FALSE is returned. + * + * @match_start and @match_end iters are revalidated to point to the replacement + * text boundaries. + * + * For a regular expression replacement, you can check if @replace is valid by + * calling [func@GLib.Regex.check_replacement]. The @replace text can contain + * backreferences. + * + * Params: + * matchStart = the start of the match to replace. + * matchEnd = the end of the match to replace. + * replace = the replacement text. + * replaceLength = the length of @replace in bytes, or -1. + * + * Returns: whether the match has been replaced. + * + * Throws: GException on failure. + */ + public bool replace(TextIter matchStart, TextIter matchEnd, string replace, int replaceLength) + { + GError* err = null; + + auto __p = gtk_source_search_context_replace(gtkSourceSearchContext, (matchStart is null) ? null : matchStart.getTextIterStruct(), (matchEnd is null) ? null : matchEnd.getTextIterStruct(), Str.toStringz(replace), replaceLength, &err) != 0; + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Replaces all search matches by another text. + * + * It is a synchronous function, so it can block the user interface. + * + * For a regular expression replacement, you can check if @replace is valid by + * calling [func@GLib.Regex.check_replacement]. The @replace text can contain + * backreferences. + * + * Params: + * replace = the replacement text. + * replaceLength = the length of @replace in bytes, or -1. + * + * Returns: the number of replaced matches. + * + * Throws: GException on failure. + */ + public uint replaceAll(string replace, int replaceLength) + { + GError* err = null; + + auto __p = gtk_source_search_context_replace_all(gtkSourceSearchContext, Str.toStringz(replace), replaceLength, &err); + + if (err !is null) + { + throw new GException( new ErrorG(err) ); + } + + return __p; + } + + /** + * Enables or disables the search occurrences highlighting. + * + * Params: + * highlight = the setting. + */ + public void setHighlight(bool highlight) + { + gtk_source_search_context_set_highlight(gtkSourceSearchContext, highlight); + } + + /** + * Set the style to apply on search matches. + * + * If @match_style is %NULL, default theme's scheme 'match-style' will be used. + * To enable or disable the search highlighting, use [method@SearchContext.set_highlight]. + * + * Params: + * matchStyle = a #GtkSourceStyle, or %NULL. + */ + public void setMatchStyle(Style matchStyle) + { + gtk_source_search_context_set_match_style(gtkSourceSearchContext, (matchStyle is null) ? null : matchStyle.getStyleStruct()); + } +} diff --git a/source/generated/sourceview/sourceview/SearchSettings.d b/source/generated/sourceview/sourceview/SearchSettings.d new file mode 100644 index 000000000..7c98b65f5 --- /dev/null +++ b/source/generated/sourceview/sourceview/SearchSettings.d @@ -0,0 +1,218 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.SearchSettings; + +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Search settings. + * + * A `GtkSourceSearchSettings` object represents the settings of a search. The + * search settings can be associated with one or several + * [class@SearchContext]s. + */ +public class SearchSettings : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceSearchSettings* gtkSourceSearchSettings; + + /** Get the main Gtk struct */ + public GtkSourceSearchSettings* getSearchSettingsStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceSearchSettings; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceSearchSettings; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceSearchSettings* gtkSourceSearchSettings, bool ownedRef = false) + { + this.gtkSourceSearchSettings = gtkSourceSearchSettings; + super(cast(GObject*)gtkSourceSearchSettings, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_search_settings_get_type(); + } + + /** + * Creates a new search settings object. + * + * Returns: a new search settings object. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_source_search_settings_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceSearchSettings*) __p, true); + } + + /** + * Returns: whether to search at word boundaries. + */ + public bool getAtWordBoundaries() + { + return gtk_source_search_settings_get_at_word_boundaries(gtkSourceSearchSettings) != 0; + } + + /** + * Returns: whether the search is case sensitive. + */ + public bool getCaseSensitive() + { + return gtk_source_search_settings_get_case_sensitive(gtkSourceSearchSettings) != 0; + } + + /** + * Returns: whether to search by regular expressions. + */ + public bool getRegexEnabled() + { + return gtk_source_search_settings_get_regex_enabled(gtkSourceSearchSettings) != 0; + } + + /** + * Gets the text to search. + * + * The return value must not be freed. + * + * You may be interested to call [func@utils_escape_search_text] after + * this function. + * + * Returns: the text to search, or %NULL if the search is disabled. + */ + public string getSearchText() + { + return Str.toString(gtk_source_search_settings_get_search_text(gtkSourceSearchSettings)); + } + + /** + * Returns: whether to wrap around the search. + */ + public bool getWrapAround() + { + return gtk_source_search_settings_get_wrap_around(gtkSourceSearchSettings) != 0; + } + + /** + * Change whether the search is done at word boundaries. + * + * If @at_word_boundaries is %TRUE, a search match must start and end a word. + * The match can span multiple words. See also [method@Gtk.TextIter.starts_word] and + * [method@Gtk.TextIter.ends_word]. + * + * Params: + * atWordBoundaries = the setting. + */ + public void setAtWordBoundaries(bool atWordBoundaries) + { + gtk_source_search_settings_set_at_word_boundaries(gtkSourceSearchSettings, atWordBoundaries); + } + + /** + * Enables or disables the case sensitivity for the search. + * + * Params: + * caseSensitive = the setting. + */ + public void setCaseSensitive(bool caseSensitive) + { + gtk_source_search_settings_set_case_sensitive(gtkSourceSearchSettings, caseSensitive); + } + + /** + * Enables or disables whether to search by regular expressions. + * + * If enabled, the [property@SearchSettings:search-text] property contains the + * pattern of the regular expression. + * + * [class@SearchContext] uses #GRegex when regex search is enabled. See the + * [Regular expression syntax](https://developer.gnome.org/glib/stable/glib-regex-syntax.html) + * page in the GLib reference manual. + * + * Params: + * regexEnabled = the setting. + */ + public void setRegexEnabled(bool regexEnabled) + { + gtk_source_search_settings_set_regex_enabled(gtkSourceSearchSettings, regexEnabled); + } + + /** + * Sets the text to search. + * + * If @search_text is %NULL or is empty, the search will be disabled. A copy of @search_text + * will be made, so you can safely free @search_text after a call to this function. + * + * You may be interested to call [func@utils_unescape_search_text] before + * this function. + * + * Params: + * searchText = the nul-terminated text to search, or %NULL to disable the search. + */ + public void setSearchText(string searchText) + { + gtk_source_search_settings_set_search_text(gtkSourceSearchSettings, Str.toStringz(searchText)); + } + + /** + * Enables or disables the wrap around search. + * + * If @wrap_around is %TRUE, the forward search continues at the beginning of the buffer + * if no search occurrences are found. Similarly, the backward search continues to search at + * the end of the buffer. + * + * Params: + * wrapAround = the setting. + */ + public void setWrapAround(bool wrapAround) + { + gtk_source_search_settings_set_wrap_around(gtkSourceSearchSettings, wrapAround); + } +} diff --git a/source/generated/sourceview/sourceview/Snippet.d b/source/generated/sourceview/sourceview/Snippet.d new file mode 100644 index 000000000..46b624a6d --- /dev/null +++ b/source/generated/sourceview/sourceview/Snippet.d @@ -0,0 +1,287 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.Snippet; + +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import sourceview.SnippetChunk; +private import sourceview.SnippetContext; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Quick insertion code snippets. + * + * The `GtkSourceSnippet` represents a series of chunks that can quickly be + * inserted into the [class@View]. + * + * Snippets are defined in XML files which are loaded by the + * [class@SnippetManager]. Alternatively, applications can create snippets + * on demand and insert them into the [class@View] using + * [method@View.push_snippet]. + * + * Snippet chunks can reference other snippet chunks as well as post-process + * the values from other chunks such as capitalization. + */ +public class Snippet : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceSnippet* gtkSourceSnippet; + + /** Get the main Gtk struct */ + public GtkSourceSnippet* getSnippetStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceSnippet; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceSnippet; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceSnippet* gtkSourceSnippet, bool ownedRef = false) + { + this.gtkSourceSnippet = gtkSourceSnippet; + super(cast(GObject*)gtkSourceSnippet, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_snippet_get_type(); + } + + /** + * Creates a new #GtkSourceSnippet + * + * Params: + * trigger = the trigger word + * languageId = the source language + * + * Returns: A new #GtkSourceSnippet + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string trigger, string languageId) + { + auto __p = gtk_source_snippet_new(Str.toStringz(trigger), Str.toStringz(languageId)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceSnippet*) __p, true); + } + + /** + * Appends @chunk to the @snippet. + * + * This may only be called before the snippet has been expanded. + * + * Params: + * chunk = a #GtkSourceSnippetChunk + */ + public void addChunk(SnippetChunk chunk) + { + gtk_source_snippet_add_chunk(gtkSourceSnippet, (chunk is null) ? null : chunk.getSnippetChunkStruct()); + } + + /** + * Does a deep copy of the snippet. + * + * Returns: A new #GtkSourceSnippet + */ + public Snippet copy() + { + auto __p = gtk_source_snippet_copy(gtkSourceSnippet); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Snippet)(cast(GtkSourceSnippet*) __p, true); + } + + /** + * Gets the context used for expanding the snippet. + * + * Returns: an #GtkSourceSnippetContext + */ + public SnippetContext getContext() + { + auto __p = gtk_source_snippet_get_context(gtkSourceSnippet); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SnippetContext)(cast(GtkSourceSnippetContext*) __p); + } + + /** + * Gets the description for the snippet. + */ + public string getDescription() + { + return Str.toString(gtk_source_snippet_get_description(gtkSourceSnippet)); + } + + /** + * Gets the current focus for the snippet. + * + * This is changed as the user tabs through focus locations. + * + * Returns: The focus position, or -1 if unset. + */ + public int getFocusPosition() + { + return gtk_source_snippet_get_focus_position(gtkSourceSnippet); + } + + /** + * Gets the language-id used for the source snippet. + * + * The language identifier should be one that matches a + * source language [property@Language:id] property. + * + * Returns: the language identifier + */ + public string getLanguageId() + { + return Str.toString(gtk_source_snippet_get_language_id(gtkSourceSnippet)); + } + + /** + * Gets the number of chunks in the snippet. + * + * Note that not all chunks are editable. + * + * Returns: The number of chunks. + */ + public uint getNChunks() + { + return gtk_source_snippet_get_n_chunks(gtkSourceSnippet); + } + + /** + * Gets the name for the snippet. + */ + public string getName() + { + return Str.toString(gtk_source_snippet_get_name(gtkSourceSnippet)); + } + + /** + * Gets the chunk at @nth. + * + * Params: + * nth = the nth chunk to get + * + * Returns: an #GtkSourceSnippetChunk + */ + public SnippetChunk getNthChunk(uint nth) + { + auto __p = gtk_source_snippet_get_nth_chunk(gtkSourceSnippet, nth); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SnippetChunk)(cast(GtkSourceSnippetChunk*) __p); + } + + /** + * Gets the trigger for the source snippet. + * + * A trigger is a word that can be expanded into the full snippet when + * the user presses Tab. + * + * Returns: A string or %NULL + */ + public string getTrigger() + { + return Str.toString(gtk_source_snippet_get_trigger(gtkSourceSnippet)); + } + + /** + * Sets the description for the snippet. + * + * Params: + * description = the snippet description + */ + public void setDescription(string description) + { + gtk_source_snippet_set_description(gtkSourceSnippet, Str.toStringz(description)); + } + + /** + * Sets the language identifier for the snippet. + * + * This should match the [property@Language:id] identifier. + * + * Params: + * languageId = the language identifier for the snippet + */ + public void setLanguageId(string languageId) + { + gtk_source_snippet_set_language_id(gtkSourceSnippet, Str.toStringz(languageId)); + } + + /** + * Sets the name for the snippet. + * + * Params: + * name = the snippet name + */ + public void setName(string name) + { + gtk_source_snippet_set_name(gtkSourceSnippet, Str.toStringz(name)); + } + + /** + * Sets the trigger for the snippet. + * + * Params: + * trigger = the trigger word + */ + public void setTrigger(string trigger) + { + gtk_source_snippet_set_trigger(gtkSourceSnippet, Str.toStringz(trigger)); + } +} diff --git a/source/generated/sourceview/sourceview/SnippetChunk.d b/source/generated/sourceview/sourceview/SnippetChunk.d new file mode 100644 index 000000000..1d4322cc2 --- /dev/null +++ b/source/generated/sourceview/sourceview/SnippetChunk.d @@ -0,0 +1,269 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.SnippetChunk; + +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import sourceview.SnippetContext; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * A chunk of text within the source snippet. + * + * The `GtkSourceSnippetChunk` represents a single chunk of text that + * may or may not be an edit point within the snippet. Chunks that are + * an edit point (also called a tab stop) have the + * [property@SnippetChunk:focus-position] property set. + */ +public class SnippetChunk : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceSnippetChunk* gtkSourceSnippetChunk; + + /** Get the main Gtk struct */ + public GtkSourceSnippetChunk* getSnippetChunkStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceSnippetChunk; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceSnippetChunk; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceSnippetChunk* gtkSourceSnippetChunk, bool ownedRef = false) + { + this.gtkSourceSnippetChunk = gtkSourceSnippetChunk; + super(cast(GObject*)gtkSourceSnippetChunk, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_snippet_chunk_get_type(); + } + + /** + * Create a new `GtkSourceSnippetChunk` that can be added to + * a [class@Snippet]. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_source_snippet_chunk_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceSnippetChunk*) __p); + } + + /** + * Copies the source snippet. + * + * Returns: A #GtkSourceSnippetChunk + */ + public SnippetChunk copy() + { + auto __p = gtk_source_snippet_chunk_copy(gtkSourceSnippetChunk); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SnippetChunk)(cast(GtkSourceSnippetChunk*) __p, true); + } + + /** + * Gets the context for the snippet insertion. + * + * Returns: A #GtkSourceSnippetContext + */ + public SnippetContext getContext() + { + auto __p = gtk_source_snippet_chunk_get_context(gtkSourceSnippetChunk); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SnippetContext)(cast(GtkSourceSnippetContext*) __p); + } + + /** + * Gets the [property@SnippetChunk:focus-position]. + * + * The focus-position is used to determine how many tabs it takes for the + * snippet to advanced to this chunk. + * + * A focus-position of zero will be the last focus position of the snippet + * and snippet editing ends when it has been reached. + * + * A focus-position of -1 means the chunk cannot be focused by the user. + * + * Returns: the focus-position + */ + public int getFocusPosition() + { + return gtk_source_snippet_chunk_get_focus_position(gtkSourceSnippetChunk); + } + + /** + * Gets the specification for the chunk. + * + * The specification is evaluated for variables when other chunks are edited + * within the snippet context. If the user has changed the text, the + * [property@SnippetChunk:text] and [property@SnippetChunk:text-set] properties + * are updated. + * + * Returns: the specification, if any + */ + public string getSpec() + { + return Str.toString(gtk_source_snippet_chunk_get_spec(gtkSourceSnippetChunk)); + } + + /** + * Gets the [property@SnippetChunk:text] property. + * + * The text property is updated when the user edits the text of the chunk. + * If it has not been edited, the [property@SnippetChunk:spec] property is + * returned. + * + * Returns: the text of the chunk + */ + public string getText() + { + return Str.toString(gtk_source_snippet_chunk_get_text(gtkSourceSnippetChunk)); + } + + /** + * Gets the [property@SnippetChunk:text-set] property. + * + * This is typically set when the user has edited a snippet chunk. + */ + public bool getTextSet() + { + return gtk_source_snippet_chunk_get_text_set(gtkSourceSnippetChunk) != 0; + } + + /** */ + public string getTooltipText() + { + return Str.toString(gtk_source_snippet_chunk_get_tooltip_text(gtkSourceSnippetChunk)); + } + + /** */ + public void setContext(SnippetContext context) + { + gtk_source_snippet_chunk_set_context(gtkSourceSnippetChunk, (context is null) ? null : context.getSnippetContextStruct()); + } + + /** + * Sets the [property@SnippetChunk:focus-position] property. + * + * The focus-position is used to determine how many tabs it takes for the + * snippet to advanced to this chunk. + * + * A focus-position of zero will be the last focus position of the snippet + * and snippet editing ends when it has been reached. + * + * A focus-position of -1 means the chunk cannot be focused by the user. + * + * Params: + * focusPosition = the focus-position + */ + public void setFocusPosition(int focusPosition) + { + gtk_source_snippet_chunk_set_focus_position(gtkSourceSnippetChunk, focusPosition); + } + + /** + * Sets the specification for the chunk. + * + * The specification is evaluated for variables when other chunks are edited + * within the snippet context. If the user has changed the text, the + * [property@SnippetChunk:text and] [property@SnippetChunk:text-set] properties + * are updated. + * + * Params: + * spec = the new specification for the chunk + */ + public void setSpec(string spec) + { + gtk_source_snippet_chunk_set_spec(gtkSourceSnippetChunk, Str.toStringz(spec)); + } + + /** + * Sets the text for the snippet chunk. + * + * This is usually used by the snippet engine to update the text, but may + * be useful when creating custom snippets to avoid expansion of any + * specification. + * + * Params: + * text = the text of the property + */ + public void setText(string text) + { + gtk_source_snippet_chunk_set_text(gtkSourceSnippetChunk, Str.toStringz(text)); + } + + /** + * Sets the [property@SnippetChunk:text-set] property. + * + * This is typically set when the user has edited a snippet chunk by the + * snippet engine. + * + * Params: + * textSet = the property value + */ + public void setTextSet(bool textSet) + { + gtk_source_snippet_chunk_set_text_set(gtkSourceSnippetChunk, textSet); + } + + /** */ + public void setTooltipText(string tooltipText) + { + gtk_source_snippet_chunk_set_tooltip_text(gtkSourceSnippetChunk, Str.toStringz(tooltipText)); + } +} diff --git a/source/generated/sourceview/sourceview/SnippetContext.d b/source/generated/sourceview/sourceview/SnippetContext.d new file mode 100644 index 000000000..e3677d213 --- /dev/null +++ b/source/generated/sourceview/sourceview/SnippetContext.d @@ -0,0 +1,195 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.SnippetContext; + +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gobject.Signals; +private import sourceview.c.functions; +public import sourceview.c.types; +private import std.algorithm; + + +/** + * Context for expanding [class@SnippetChunk]. + * + * This class is currently used primary as a hashtable. However, the longer + * term goal is to have it hold onto a `GjsContext` as well as other languages + * so that [class@SnippetChunk] can expand themselves by executing + * script within the context. + * + * The [class@Snippet] will build the context and then expand each of the + * chunks during the insertion/edit phase. + */ +public class SnippetContext : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceSnippetContext* gtkSourceSnippetContext; + + /** Get the main Gtk struct */ + public GtkSourceSnippetContext* getSnippetContextStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceSnippetContext; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceSnippetContext; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceSnippetContext* gtkSourceSnippetContext, bool ownedRef = false) + { + this.gtkSourceSnippetContext = gtkSourceSnippetContext; + super(cast(GObject*)gtkSourceSnippetContext, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_snippet_context_get_type(); + } + + /** + * Creates a new #GtkSourceSnippetContext. + * + * Generally, this isn't needed unless you are controlling the + * expansion of snippets manually. + * + * Returns: a #GtkSourceSnippetContext + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_source_snippet_context_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceSnippetContext*) __p, true); + } + + /** + * Removes all variables from the context. + */ + public void clearVariables() + { + gtk_source_snippet_context_clear_variables(gtkSourceSnippetContext); + } + + /** */ + public string expand(string input) + { + auto retStr = gtk_source_snippet_context_expand(gtkSourceSnippetContext, Str.toStringz(input)); + + scope(exit) Str.freeString(retStr); + return Str.toString(retStr); + } + + /** + * Gets the current value for a variable named @key. + * + * Params: + * key = the name of the variable + * + * Returns: the value for the variable, or %NULL + */ + public string getVariable(string key) + { + return Str.toString(gtk_source_snippet_context_get_variable(gtkSourceSnippetContext, Str.toStringz(key))); + } + + /** + * Sets a constatnt within the context. + * + * This is similar to a variable set with [method@SnippetContext.set_variable] + * but is expected to not change during use of the snippet. + * + * Examples would be the date or users name. + * + * Params: + * key = the constant name + * value = the value of the constant + */ + public void setConstant(string key, string value) + { + gtk_source_snippet_context_set_constant(gtkSourceSnippetContext, Str.toStringz(key), Str.toStringz(value)); + } + + /** */ + public void setLinePrefix(string linePrefix) + { + gtk_source_snippet_context_set_line_prefix(gtkSourceSnippetContext, Str.toStringz(linePrefix)); + } + + /** */ + public void setTabWidth(int tabWidth) + { + gtk_source_snippet_context_set_tab_width(gtkSourceSnippetContext, tabWidth); + } + + /** */ + public void setUseSpaces(bool useSpaces) + { + gtk_source_snippet_context_set_use_spaces(gtkSourceSnippetContext, useSpaces); + } + + /** + * Sets a variable within the context. + * + * This variable may be overridden by future updates to the + * context. + * + * Params: + * key = the variable name + * value = the value for the variable + */ + public void setVariable(string key, string value) + { + gtk_source_snippet_context_set_variable(gtkSourceSnippetContext, Str.toStringz(key), Str.toStringz(value)); + } + + /** + * The signal is emitted when a change has been + * discovered in one of the chunks of the snippet which has + * caused a variable or other dynamic data within the context + * to have changed. + */ + gulong addOnChanged(void delegate(SnippetContext) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "changed", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/sourceview/sourceview/SnippetManager.d b/source/generated/sourceview/sourceview/SnippetManager.d new file mode 100644 index 000000000..876d26a49 --- /dev/null +++ b/source/generated/sourceview/sourceview/SnippetManager.d @@ -0,0 +1,204 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.SnippetManager; + +private import gio.ListModelIF; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import sourceview.Snippet; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Provides access to [class@Snippet]. + * + * `GtkSourceSnippetManager` is an object which processes snippet description + * files and creates [class@Snippet] objects. + * + * Use [func@SnippetManager.get_default] to retrieve the default + * instance of `GtkSourceSnippetManager`. + * + * Use [method@SnippetManager.get_snippet] to retrieve snippets for + * a given snippets. + */ +public class SnippetManager : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceSnippetManager* gtkSourceSnippetManager; + + /** Get the main Gtk struct */ + public GtkSourceSnippetManager* getSnippetManagerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceSnippetManager; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceSnippetManager; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceSnippetManager* gtkSourceSnippetManager, bool ownedRef = false) + { + this.gtkSourceSnippetManager = gtkSourceSnippetManager; + super(cast(GObject*)gtkSourceSnippetManager, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_snippet_manager_get_type(); + } + + /** + * Returns the default #GtkSourceSnippetManager instance. + * + * Returns: a #GtkSourceSnippetManager which + * is owned by GtkSourceView library and must not be unref'd. + */ + public static SnippetManager getDefault() + { + auto __p = gtk_source_snippet_manager_get_default(); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SnippetManager)(cast(GtkSourceSnippetManager*) __p); + } + + /** + * Gets the list directories where @self looks for snippet files. + * + * Returns: %NULL-terminated array + * containing a list of snippet files directories. + * The array is owned by @lm and must not be modified. + */ + public string[] getSearchPath() + { + return Str.toStringArray(gtk_source_snippet_manager_get_search_path(gtkSourceSnippetManager)); + } + + /** + * Queries the known snippets for the first matching @group, @language_id, + * and/or @trigger. + * + * If @group or @language_id are %NULL, they will be ignored. + * + * Params: + * group = a group name or %NULL + * languageId = a #GtkSourceLanguage:id or %NULL + * trigger = the trigger for the snippet + * + * Returns: a #GtkSourceSnippet or %NULL if no + * matching snippet was found. + */ + public Snippet getSnippet(string group, string languageId, string trigger) + { + auto __p = gtk_source_snippet_manager_get_snippet(gtkSourceSnippetManager, Str.toStringz(group), Str.toStringz(languageId), Str.toStringz(trigger)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Snippet)(cast(GtkSourceSnippet*) __p, true); + } + + /** + * List all the known groups within the snippet manager. + * + * The result should be freed with g_free(), and the individual strings are + * owned by @self and should never be freed by the caller. + * + * Returns: An array of strings which should be freed with g_free(). + */ + public string[] listGroups() + { + auto retStr = gtk_source_snippet_manager_list_groups(gtkSourceSnippetManager); + + scope(exit) g_free(retStr); + return Str.toStringArray(retStr); + } + + /** + * Queries the known snippets for those matching @group, @language_id, and/or + * @trigger_prefix. + * + * If any of these are %NULL, they will be ignored when filtering the available snippets. + * + * The [iface@Gio.ListModel] only contains information about the available snippets until + * [method@Gio.ListModel.get_item] is called for a specific snippet. This helps reduce + * the number of [class@GObject.Object]'s that are created at runtime to those needed by + * the calling application. + * + * Params: + * group = a group name or %NULL + * languageId = a #GtkSourceLanguage:id or %NULL + * triggerPrefix = a prefix for a trigger to activate + * + * Returns: a #GListModel of #GtkSourceSnippet. + */ + public ListModelIF listMatching(string group, string languageId, string triggerPrefix) + { + auto __p = gtk_source_snippet_manager_list_matching(gtkSourceSnippetManager, Str.toStringz(group), Str.toStringz(languageId), Str.toStringz(triggerPrefix)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(ListModelIF)(cast(GListModel*) __p, true); + } + + /** + * Sets the list of directories in which the `GtkSourceSnippetManager` looks for + * snippet files. + * + * If @dirs is %NULL, the search path is reset to default. + * + * At the moment this function can be called only before the + * snippet files are loaded for the first time. In practice + * to set a custom search path for a `GtkSourceSnippetManager`, + * you have to call this function right after creating it. + * + * Params: + * dirs = a %NULL-terminated array of + * strings or %NULL. + */ + public void setSearchPath(string[] dirs) + { + gtk_source_snippet_manager_set_search_path(gtkSourceSnippetManager, Str.toStringzArray(dirs)); + } +} diff --git a/source/generated/sourceview/sourceview/SpaceDrawer.d b/source/generated/sourceview/sourceview/SpaceDrawer.d new file mode 100644 index 000000000..23ae8b749 --- /dev/null +++ b/source/generated/sourceview/sourceview/SpaceDrawer.d @@ -0,0 +1,253 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.SpaceDrawer; + +private import gio.Settings; +private import glib.ConstructionException; +private import glib.Str; +private import glib.Variant; +private import gobject.ObjectG; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Represent white space characters with symbols. + * + * #GtkSourceSpaceDrawer provides a way to visualize white spaces, by drawing + * symbols. + * + * Call [method@View.get_space_drawer] to get the `GtkSourceSpaceDrawer` + * instance of a certain [class@View]. + * + * By default, no white spaces are drawn because the + * [property@SpaceDrawer:enable-matrix] is %FALSE. + * + * To draw white spaces, [method@SpaceDrawer.set_types_for_locations] can + * be called to set the [property@SpaceDrawer:matrix] property (by default all + * space types are enabled at all locations). Then call + * [method@SpaceDrawer.set_enable_matrix]. + * + * For a finer-grained method, there is also the [class@Tag]'s + * [property@Tag:draw-spaces] property. + * + * # Example + * + * To draw non-breaking spaces everywhere and draw all types of trailing spaces + * except newlines: + * ```c + * gtk_source_space_drawer_set_types_for_locations (space_drawer, + * GTK_SOURCE_SPACE_LOCATION_ALL, + * GTK_SOURCE_SPACE_TYPE_NBSP); + * + * gtk_source_space_drawer_set_types_for_locations (space_drawer, + * GTK_SOURCE_SPACE_LOCATION_TRAILING, + * GTK_SOURCE_SPACE_TYPE_ALL & + * ~GTK_SOURCE_SPACE_TYPE_NEWLINE); + * + * gtk_source_space_drawer_set_enable_matrix (space_drawer, TRUE); + * ``` + * + * # Use-case: draw unwanted white spaces + * + * A possible use-case is to draw only unwanted white spaces. Examples: + * + * - Draw all trailing spaces. + * - If the indentation and alignment must be done with spaces, draw tabs. + * + * And non-breaking spaces can always be drawn, everywhere, to distinguish them + * from normal spaces. + */ +public class SpaceDrawer : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceSpaceDrawer* gtkSourceSpaceDrawer; + + /** Get the main Gtk struct */ + public GtkSourceSpaceDrawer* getSpaceDrawerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceSpaceDrawer; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceSpaceDrawer; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceSpaceDrawer* gtkSourceSpaceDrawer, bool ownedRef = false) + { + this.gtkSourceSpaceDrawer = gtkSourceSpaceDrawer; + super(cast(GObject*)gtkSourceSpaceDrawer, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_space_drawer_get_type(); + } + + /** + * Creates a new #GtkSourceSpaceDrawer object. + * + * Useful for storing space drawing settings independently of a [class@View]. + * + * Returns: a new #GtkSourceSpaceDrawer. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_source_space_drawer_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceSpaceDrawer*) __p, true); + } + + /** + * Binds the [property@SpaceDrawer:matrix] property to a [class@Gio.Settings] key. + * + * The [class@Gio.Settings] key must be of the same type as the + * [property@SpaceDrawer:matrix] property, that is, `"au"`. + * + * The [method@Gio.Settings.bind] function cannot be used, because the default GIO + * mapping functions don't support [struct@GLib.Variant] properties (maybe it will be + * supported by a future GIO version, in which case this function can be + * deprecated). + * + * Params: + * settings = a #GSettings object. + * key = the @settings key to bind. + * flags = flags for the binding. + */ + public void bindMatrixSetting(Settings settings, string key, GSettingsBindFlags flags) + { + gtk_source_space_drawer_bind_matrix_setting(gtkSourceSpaceDrawer, (settings is null) ? null : settings.getSettingsStruct(), Str.toStringz(key), flags); + } + + /** + * Returns: whether the #GtkSourceSpaceDrawer:matrix property is enabled. + */ + public bool getEnableMatrix() + { + return gtk_source_space_drawer_get_enable_matrix(gtkSourceSpaceDrawer) != 0; + } + + /** + * Gets the value of the [property@SpaceDrawer:matrix] property, as a [struct@GLib.Variant]. + * + * An empty array can be returned in case the matrix is a zero matrix. + * + * The [method@SpaceDrawer.get_types_for_locations] function may be more + * convenient to use. + * + * Returns: the #GtkSourceSpaceDrawer:matrix value as a new floating #GVariant + * instance. + */ + public Variant getMatrix() + { + auto __p = gtk_source_space_drawer_get_matrix(gtkSourceSpaceDrawer); + + if(__p is null) + { + return null; + } + + return new Variant(cast(GVariant*) __p, true); + } + + /** + * If only one location is specified, this function returns what kind of + * white spaces are drawn at that location. + * + * The value is retrieved from the [property@SpaceDrawer:matrix] property. + * + * If several locations are specified, this function returns the logical AND for + * those locations. Which means that if a certain kind of white space is present + * in the return value, then that kind of white space is drawn at all the + * specified @locations. + * + * Params: + * locations = one or several #GtkSourceSpaceLocationFlags. + * + * Returns: a combination of #GtkSourceSpaceTypeFlags. + */ + public GtkSourceSpaceTypeFlags getTypesForLocations(GtkSourceSpaceLocationFlags locations) + { + return gtk_source_space_drawer_get_types_for_locations(gtkSourceSpaceDrawer, locations); + } + + /** + * Sets whether the [property@SpaceDrawer:matrix] property is enabled. + * + * Params: + * enableMatrix = the new value. + */ + public void setEnableMatrix(bool enableMatrix) + { + gtk_source_space_drawer_set_enable_matrix(gtkSourceSpaceDrawer, enableMatrix); + } + + /** + * Sets a new value to the [property@SpaceDrawer:matrix] property, as a [struct@GLib.Variant]. + * + * If @matrix is %NULL, then an empty array is set. + * + * If @matrix is floating, it is consumed. + * + * The [method@SpaceDrawer.set_types_for_locations] function may be more + * convenient to use. + * + * Params: + * matrix = the new matrix value, or %NULL. + */ + public void setMatrix(Variant matrix) + { + gtk_source_space_drawer_set_matrix(gtkSourceSpaceDrawer, (matrix is null) ? null : matrix.getVariantStruct()); + } + + /** + * Modifies the [property@SpaceDrawer:matrix] property at the specified + * @locations. + * + * Params: + * locations = one or several #GtkSourceSpaceLocationFlags. + * types = a combination of #GtkSourceSpaceTypeFlags. + */ + public void setTypesForLocations(GtkSourceSpaceLocationFlags locations, GtkSourceSpaceTypeFlags types) + { + gtk_source_space_drawer_set_types_for_locations(gtkSourceSpaceDrawer, locations, types); + } +} diff --git a/source/generated/sourceview/sourceview/Style.d b/source/generated/sourceview/sourceview/Style.d new file mode 100644 index 000000000..c3e9a6684 --- /dev/null +++ b/source/generated/sourceview/sourceview/Style.d @@ -0,0 +1,109 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.Style; + +private import gobject.ObjectG; +private import gtk.TextTag; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Represents a style. + * + * The `GtkSourceStyle` structure is used to describe text attributes + * which are set when given style is used. + */ +public class Style : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceStyle* gtkSourceStyle; + + /** Get the main Gtk struct */ + public GtkSourceStyle* getStyleStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceStyle; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceStyle; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceStyle* gtkSourceStyle, bool ownedRef = false) + { + this.gtkSourceStyle = gtkSourceStyle; + super(cast(GObject*)gtkSourceStyle, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_style_get_type(); + } + + /** + * This function modifies the [class@Gtk.TextTag] properties that are related to the + * #GtkSourceStyle properties. Other [class@Gtk.TextTag] properties are left untouched. + * + * If @style is non-%NULL, applies @style to @tag. + * + * If @style is %NULL, the related *-set properties of [class@Gtk.TextTag] are set to + * %FALSE. + * + * Params: + * tag = a #GtkTextTag to apply styles to. + */ + public void apply(TextTag tag) + { + gtk_source_style_apply(gtkSourceStyle, (tag is null) ? null : tag.getTextTagStruct()); + } + + /** + * Creates a copy of @style, that is a new #GtkSourceStyle instance which + * has the same attributes set. + * + * Returns: copy of @style, call g_object_unref() + * when you are done with it. + */ + public Style copy() + { + auto __p = gtk_source_style_copy(gtkSourceStyle); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Style)(cast(GtkSourceStyle*) __p, true); + } +} diff --git a/source/generated/sourceview/sourceview/StyleScheme.d b/source/generated/sourceview/sourceview/StyleScheme.d new file mode 100644 index 000000000..f5f49fd0b --- /dev/null +++ b/source/generated/sourceview/sourceview/StyleScheme.d @@ -0,0 +1,164 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.StyleScheme; + +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import sourceview.Style; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Controls the appearance of [class@View]. + * + * #GtkSourceStyleScheme contains all the text styles to be used in + * [class@View] and [class@Buffer]. For instance, it contains text styles + * for syntax highlighting, it may contain foreground and background color for + * non-highlighted text, color for the line numbers, current line highlighting, + * bracket matching, etc. + * + * Style schemes are stored in XML files. The format of a scheme file is + * documented in the [style scheme reference](./style-reference.html). + * + * The two style schemes with IDs "classic" and "tango" follow more closely the + * GTK theme (for example for the background color). + */ +public class StyleScheme : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceStyleScheme* gtkSourceStyleScheme; + + /** Get the main Gtk struct */ + public GtkSourceStyleScheme* getStyleSchemeStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceStyleScheme; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceStyleScheme; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceStyleScheme* gtkSourceStyleScheme, bool ownedRef = false) + { + this.gtkSourceStyleScheme = gtkSourceStyleScheme; + super(cast(GObject*)gtkSourceStyleScheme, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_style_scheme_get_type(); + } + + /** + * Returns: a + * %NULL-terminated array containing the @scheme authors or %NULL if + * no author is specified by the style scheme. + */ + public string[] getAuthors() + { + return Str.toStringArray(gtk_source_style_scheme_get_authors(gtkSourceStyleScheme)); + } + + /** + * Returns: @scheme description (if defined), or %NULL. + */ + public string getDescription() + { + return Str.toString(gtk_source_style_scheme_get_description(gtkSourceStyleScheme)); + } + + /** + * Returns: @scheme file name if the scheme was created + * parsing a style scheme file or %NULL in the other cases. + */ + public string getFilename() + { + return Str.toString(gtk_source_style_scheme_get_filename(gtkSourceStyleScheme)); + } + + /** + * Returns: @scheme id. + */ + public string getId() + { + return Str.toString(gtk_source_style_scheme_get_id(gtkSourceStyleScheme)); + } + + /** + * Gets a metadata property from the style scheme. + * + * Params: + * name = metadata property name. + * + * Returns: value of property @name stored in + * the metadata of @scheme or %NULL if @scheme does not contain the + * specified metadata property. + * + * Since: 5.4 + */ + public string getMetadata(string name) + { + return Str.toString(gtk_source_style_scheme_get_metadata(gtkSourceStyleScheme, Str.toStringz(name))); + } + + /** + * Returns: @scheme name. + */ + public string getName() + { + return Str.toString(gtk_source_style_scheme_get_name(gtkSourceStyleScheme)); + } + + /** + * + * Params: + * styleId = id of the style to retrieve. + * Returns: style which corresponds to @style_id in + * the @scheme, or %NULL when no style with this name found. It is owned by + * @scheme and may not be unref'ed. + */ + public Style getStyle(string styleId) + { + auto __p = gtk_source_style_scheme_get_style(gtkSourceStyleScheme, Str.toStringz(styleId)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Style)(cast(GtkSourceStyle*) __p); + } +} diff --git a/source/generated/sourceview/sourceview/StyleSchemeChooserButton.d b/source/generated/sourceview/sourceview/StyleSchemeChooserButton.d new file mode 100644 index 000000000..cc4c309f3 --- /dev/null +++ b/source/generated/sourceview/sourceview/StyleSchemeChooserButton.d @@ -0,0 +1,112 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.StyleSchemeChooserButton; + +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.ActionableIF; +private import gtk.ActionableT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.Button; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import sourceview.StyleSchemeChooserIF; +private import sourceview.StyleSchemeChooserT; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * A button to launch a style scheme selection dialog. + * + * The `GtkSourceStyleSchemeChooserButton` is a button which displays + * the currently selected style scheme and allows to open a style scheme + * selection dialog to change the style scheme. + * It is suitable widget for selecting a style scheme in a preference dialog. + * + * In `GtkSourceStyleSchemeChooserButton`, a [class@StyleSchemeChooserWidget] + * is used to provide a dialog for selecting style schemes. + */ +public class StyleSchemeChooserButton : Button, StyleSchemeChooserIF +{ + /** the main Gtk struct */ + protected GtkSourceStyleSchemeChooserButton* gtkSourceStyleSchemeChooserButton; + + /** Get the main Gtk struct */ + public GtkSourceStyleSchemeChooserButton* getStyleSchemeChooserButtonStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceStyleSchemeChooserButton; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceStyleSchemeChooserButton; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceStyleSchemeChooserButton* gtkSourceStyleSchemeChooserButton, bool ownedRef = false) + { + this.gtkSourceStyleSchemeChooserButton = gtkSourceStyleSchemeChooserButton; + super(cast(GtkButton*)gtkSourceStyleSchemeChooserButton, ownedRef); + } + + // add the StyleSchemeChooser capabilities + mixin StyleSchemeChooserT!(GtkSourceStyleSchemeChooserButton); + + + /** */ + public static GType getType() + { + return gtk_source_style_scheme_chooser_button_get_type(); + } + + /** + * Creates a new #GtkSourceStyleSchemeChooserButton. + * + * Returns: a new #GtkSourceStyleSchemeChooserButton. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_source_style_scheme_chooser_button_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceStyleSchemeChooserButton*) __p); + } +} diff --git a/source/generated/sourceview/sourceview/StyleSchemeChooserIF.d b/source/generated/sourceview/sourceview/StyleSchemeChooserIF.d new file mode 100644 index 000000000..a24fc173b --- /dev/null +++ b/source/generated/sourceview/sourceview/StyleSchemeChooserIF.d @@ -0,0 +1,70 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.StyleSchemeChooserIF; + +private import gobject.ObjectG; +private import sourceview.StyleScheme; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Interface implemented by widgets for choosing style schemes. + * + * `GtkSourceStyleSchemeChooser` is an interface that is implemented by widgets + * for choosing style schemes. + * + * In GtkSourceView, the main widgets that implement this interface are + * [class@StyleSchemeChooserWidget] and [class@StyleSchemeChooserButton]. + */ +public interface StyleSchemeChooserIF{ + /** Get the main Gtk struct */ + public GtkSourceStyleSchemeChooser* getStyleSchemeChooserStruct(bool transferOwnership = false); + + /** the main Gtk struct as a void* */ + protected void* getStruct(); + + + /** */ + public static GType getType() + { + return gtk_source_style_scheme_chooser_get_type(); + } + + /** + * Gets the currently-selected scheme. + * + * Returns: the currently-selected scheme. + */ + public StyleScheme getStyleScheme(); + + /** + * Sets the scheme. + * + * Params: + * scheme = a #GtkSourceStyleScheme + */ + public void setStyleScheme(StyleScheme scheme); +} diff --git a/source/generated/sourceview/sourceview/StyleSchemeChooserT.d b/source/generated/sourceview/sourceview/StyleSchemeChooserT.d new file mode 100644 index 000000000..323f1536b --- /dev/null +++ b/source/generated/sourceview/sourceview/StyleSchemeChooserT.d @@ -0,0 +1,80 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.StyleSchemeChooserT; + +public import gobject.ObjectG; +public import sourceview.StyleScheme; +public import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Interface implemented by widgets for choosing style schemes. + * + * `GtkSourceStyleSchemeChooser` is an interface that is implemented by widgets + * for choosing style schemes. + * + * In GtkSourceView, the main widgets that implement this interface are + * [class@StyleSchemeChooserWidget] and [class@StyleSchemeChooserButton]. + */ +public template StyleSchemeChooserT(TStruct) +{ + /** Get the main Gtk struct */ + public GtkSourceStyleSchemeChooser* getStyleSchemeChooserStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return cast(GtkSourceStyleSchemeChooser*)getStruct(); + } + + + /** + * Gets the currently-selected scheme. + * + * Returns: the currently-selected scheme. + */ + public StyleScheme getStyleScheme() + { + auto __p = gtk_source_style_scheme_chooser_get_style_scheme(getStyleSchemeChooserStruct()); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(StyleScheme)(cast(GtkSourceStyleScheme*) __p); + } + + /** + * Sets the scheme. + * + * Params: + * scheme = a #GtkSourceStyleScheme + */ + public void setStyleScheme(StyleScheme scheme) + { + gtk_source_style_scheme_chooser_set_style_scheme(getStyleSchemeChooserStruct(), (scheme is null) ? null : scheme.getStyleSchemeStruct()); + } +} diff --git a/source/generated/sourceview/sourceview/StyleSchemeChooserWidget.d b/source/generated/sourceview/sourceview/StyleSchemeChooserWidget.d new file mode 100644 index 000000000..3c3f947ea --- /dev/null +++ b/source/generated/sourceview/sourceview/StyleSchemeChooserWidget.d @@ -0,0 +1,110 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.StyleSchemeChooserWidget; + +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import sourceview.StyleSchemeChooserIF; +private import sourceview.StyleSchemeChooserT; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * A widget for choosing style schemes. + * + * The `GtkSourceStyleSchemeChooserWidget` widget lets the user select a + * style scheme. By default, the chooser presents a predefined list + * of style schemes. + * + * To change the initially selected style scheme, + * use [method@StyleSchemeChooser.set_style_scheme]. + * To get the selected style scheme + * use [method@StyleSchemeChooser.get_style_scheme]. + */ +public class StyleSchemeChooserWidget : Widget, StyleSchemeChooserIF +{ + /** the main Gtk struct */ + protected GtkSourceStyleSchemeChooserWidget* gtkSourceStyleSchemeChooserWidget; + + /** Get the main Gtk struct */ + public GtkSourceStyleSchemeChooserWidget* getStyleSchemeChooserWidgetStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceStyleSchemeChooserWidget; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceStyleSchemeChooserWidget; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceStyleSchemeChooserWidget* gtkSourceStyleSchemeChooserWidget, bool ownedRef = false) + { + this.gtkSourceStyleSchemeChooserWidget = gtkSourceStyleSchemeChooserWidget; + super(cast(GtkWidget*)gtkSourceStyleSchemeChooserWidget, ownedRef); + } + + // add the StyleSchemeChooser capabilities + mixin StyleSchemeChooserT!(GtkSourceStyleSchemeChooserWidget); + + + /** */ + public static GType getType() + { + return gtk_source_style_scheme_chooser_widget_get_type(); + } + + /** + * Creates a new #GtkSourceStyleSchemeChooserWidget. + * + * Returns: a new #GtkSourceStyleSchemeChooserWidget. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_source_style_scheme_chooser_widget_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceStyleSchemeChooserWidget*) __p); + } +} diff --git a/source/generated/sourceview/sourceview/StyleSchemeManager.d b/source/generated/sourceview/sourceview/StyleSchemeManager.d new file mode 100644 index 000000000..228db8799 --- /dev/null +++ b/source/generated/sourceview/sourceview/StyleSchemeManager.d @@ -0,0 +1,215 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.StyleSchemeManager; + +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import sourceview.StyleScheme; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * Provides access to [class@StyleScheme]s. + */ +public class StyleSchemeManager : ObjectG +{ + /** the main Gtk struct */ + protected GtkSourceStyleSchemeManager* gtkSourceStyleSchemeManager; + + /** Get the main Gtk struct */ + public GtkSourceStyleSchemeManager* getStyleSchemeManagerStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceStyleSchemeManager; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceStyleSchemeManager; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceStyleSchemeManager* gtkSourceStyleSchemeManager, bool ownedRef = false) + { + this.gtkSourceStyleSchemeManager = gtkSourceStyleSchemeManager; + super(cast(GObject*)gtkSourceStyleSchemeManager, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_style_scheme_manager_get_type(); + } + + /** + * Creates a new style manager. + * + * If you do not need more than one style manager + * then use [func@StyleSchemeManager.get_default] instead. + * + * Returns: a new #GtkSourceStyleSchemeManager. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_source_style_scheme_manager_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceStyleSchemeManager*) __p, true); + } + + /** + * Returns the default #GtkSourceStyleSchemeManager instance. + * + * Returns: a #GtkSourceStyleSchemeManager. Return value + * is owned by GtkSourceView library and must not be unref'ed. + */ + public static StyleSchemeManager getDefault() + { + auto __p = gtk_source_style_scheme_manager_get_default(); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(StyleSchemeManager)(cast(GtkSourceStyleSchemeManager*) __p); + } + + /** + * Appends @path to the list of directories where the @manager looks for + * style scheme files. + * + * See [method@StyleSchemeManager.set_search_path] for details. + * + * Params: + * path = a directory or a filename. + */ + public void appendSearchPath(string path) + { + gtk_source_style_scheme_manager_append_search_path(gtkSourceStyleSchemeManager, Str.toStringz(path)); + } + + /** + * Mark any currently cached information about the available style schems + * as invalid. + * + * All the available style schemes will be reloaded next time the @manager is accessed. + */ + public void forceRescan() + { + gtk_source_style_scheme_manager_force_rescan(gtkSourceStyleSchemeManager); + } + + /** + * Looks up style scheme by id. + * + * Params: + * schemeId = style scheme id to find. + * + * Returns: a #GtkSourceStyleScheme object. + * The returned value is owned by @manager and must not be unref'ed. + */ + public StyleScheme getScheme(string schemeId) + { + auto __p = gtk_source_style_scheme_manager_get_scheme(gtkSourceStyleSchemeManager, Str.toStringz(schemeId)); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(StyleScheme)(cast(GtkSourceStyleScheme*) __p); + } + + /** + * Returns the ids of the available style schemes. + * + * Returns: a %NULL-terminated array of strings containing the ids of the available + * style schemes or %NULL if no style scheme is available. + * The array is sorted alphabetically according to the scheme name. + * The array is owned by the @manager and must not be modified. + */ + public string[] getSchemeIds() + { + return Str.toStringArray(gtk_source_style_scheme_manager_get_scheme_ids(gtkSourceStyleSchemeManager)); + } + + /** + * Returns the current search path for the @manager. + * + * See [method@StyleSchemeManager.set_search_path] for details. + * + * Returns: a %NULL-terminated array + * of string containing the search path. + * The array is owned by the @manager and must not be modified. + */ + public string[] getSearchPath() + { + return Str.toStringArray(gtk_source_style_scheme_manager_get_search_path(gtkSourceStyleSchemeManager)); + } + + /** + * Prepends @path to the list of directories where the @manager looks + * for style scheme files. + * + * See [method@StyleSchemeManager.set_search_path] for details. + * + * Params: + * path = a directory or a filename. + */ + public void prependSearchPath(string path) + { + gtk_source_style_scheme_manager_prepend_search_path(gtkSourceStyleSchemeManager, Str.toStringz(path)); + } + + /** + * Sets the list of directories where the @manager looks for + * style scheme files. + * + * If @path is %NULL, the search path is reset to default. + * + * Params: + * path = a %NULL-terminated array of + * strings or %NULL. + */ + public void setSearchPath(string[] path) + { + gtk_source_style_scheme_manager_set_search_path(gtkSourceStyleSchemeManager, Str.toStringzArray(path)); + } +} diff --git a/source/generated/sourceview/sourceview/StyleSchemePreview.d b/source/generated/sourceview/sourceview/StyleSchemePreview.d new file mode 100644 index 000000000..c80bdadcf --- /dev/null +++ b/source/generated/sourceview/sourceview/StyleSchemePreview.d @@ -0,0 +1,154 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.StyleSchemePreview; + +private import glib.ConstructionException; +private import gobject.ObjectG; +private import gobject.Signals; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.ActionableIF; +private import gtk.ActionableT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.Widget; +private import sourceview.StyleScheme; +private import sourceview.c.functions; +public import sourceview.c.types; +private import std.algorithm; + + +/** + * A preview widget for [class@StyleScheme]. + * + * This widget provides a convenient [class@Gtk.Widget] to preview a [class@StyleScheme]. + * + * The [property@StyleSchemePreview:selected] property can be used to manage + * the selection state of a single preview widget. + * + * Since: 5.4 + */ +public class StyleSchemePreview : Widget, ActionableIF +{ + /** the main Gtk struct */ + protected GtkSourceStyleSchemePreview* gtkSourceStyleSchemePreview; + + /** Get the main Gtk struct */ + public GtkSourceStyleSchemePreview* getStyleSchemePreviewStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceStyleSchemePreview; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceStyleSchemePreview; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceStyleSchemePreview* gtkSourceStyleSchemePreview, bool ownedRef = false) + { + this.gtkSourceStyleSchemePreview = gtkSourceStyleSchemePreview; + super(cast(GtkWidget*)gtkSourceStyleSchemePreview, ownedRef); + } + + // add the Actionable capabilities + mixin ActionableT!(GtkSourceStyleSchemePreview); + + + /** */ + public static GType getType() + { + return gtk_source_style_scheme_preview_get_type(); + } + + /** + * Creates a new #GtkSourceStyleSchemePreview to preview the style scheme + * provided in @scheme. + * + * Params: + * scheme = a #GtkSourceStyleScheme + * + * Returns: a #GtkWidget + * + * Since: 5.4 + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(StyleScheme scheme) + { + auto __p = gtk_source_style_scheme_preview_new((scheme is null) ? null : scheme.getStyleSchemeStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceStyleSchemePreview*) __p, true); + } + + /** + * Gets the #GtkSourceStyleScheme previewed by the widget. + * + * Returns: a #GtkSourceStyleScheme + * + * Since: 5.4 + */ + public StyleScheme getScheme() + { + auto __p = gtk_source_style_scheme_preview_get_scheme(gtkSourceStyleSchemePreview); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(StyleScheme)(cast(GtkSourceStyleScheme*) __p); + } + + /** */ + public bool getSelected() + { + return gtk_source_style_scheme_preview_get_selected(gtkSourceStyleSchemePreview) != 0; + } + + /** */ + public void setSelected(bool selected) + { + gtk_source_style_scheme_preview_set_selected(gtkSourceStyleSchemePreview, selected); + } + + /** */ + gulong addOnActivate(void delegate(StyleSchemePreview) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "activate", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/sourceview/sourceview/Tag.d b/source/generated/sourceview/sourceview/Tag.d new file mode 100644 index 000000000..c1195d352 --- /dev/null +++ b/source/generated/sourceview/sourceview/Tag.d @@ -0,0 +1,105 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.Tag; + +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import gtk.TextTag; +private import sourceview.c.functions; +public import sourceview.c.types; + + +/** + * A tag that can be applied to text in a [class@Buffer]. + * + * `GtkSourceTag` is a subclass of [class@Gtk.TextTag] that adds properties useful for + * the GtkSourceView library. + * + * If, for a certain tag, [class@Gtk.TextTag] is sufficient, it's better that you create + * a [class@Gtk.TextTag], not a [class@Tag]. + */ +public class Tag : TextTag +{ + /** the main Gtk struct */ + protected GtkSourceTag* gtkSourceTag; + + /** Get the main Gtk struct */ + public GtkSourceTag* getTagStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceTag; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceTag; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceTag* gtkSourceTag, bool ownedRef = false) + { + this.gtkSourceTag = gtkSourceTag; + super(cast(GtkTextTag*)gtkSourceTag, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_tag_get_type(); + } + + /** + * Creates a `GtkSourceTag`. + * + * Configure the tag using object arguments, i.e. using [method@GObject.Object.set]. + * + * For usual cases, [method@Buffer.create_source_tag] is more convenient to + * use. + * + * Params: + * name = tag name, or %NULL. + * + * Returns: a new `GtkSourceTag`. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(string name) + { + auto __p = gtk_source_tag_new(Str.toStringz(name)); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceTag*) __p, true); + } +} diff --git a/source/generated/sourceview/sourceview/View.d b/source/generated/sourceview/sourceview/View.d new file mode 100644 index 000000000..0a99d6c53 --- /dev/null +++ b/source/generated/sourceview/sourceview/View.d @@ -0,0 +1,891 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.View; + +private import glib.ConstructionException; +private import glib.Str; +private import gobject.ObjectG; +private import gobject.Signals; +private import gtk.AccessibleIF; +private import gtk.AccessibleT; +private import gtk.BuildableIF; +private import gtk.BuildableT; +private import gtk.ConstraintTargetIF; +private import gtk.ConstraintTargetT; +private import gtk.ScrollableIF; +private import gtk.ScrollableT; +private import gtk.TextIter; +private import gtk.TextView; +private import gtk.Widget; +private import sourceview.Buffer; +private import sourceview.Completion; +private import sourceview.Gutter; +private import sourceview.Hover; +private import sourceview.IndenterIF; +private import sourceview.MarkAttributes; +private import sourceview.Snippet; +private import sourceview.SpaceDrawer; +private import sourceview.c.functions; +public import sourceview.c.types; +private import std.algorithm; + + +/** + * Subclass of [class@Gtk.TextView]. + * + * `GtkSourceView` is the main class of the GtkSourceView library. + * Use a [class@Buffer] to display text with a `GtkSourceView`. + * + * This class provides: + * + * - Show the line numbers; + * - Show a right margin; + * - Highlight the current line; + * - Indentation settings; + * - Configuration for the Home and End keyboard keys; + * - Configure and show line marks; + * - And a few other things. + * + * An easy way to test all these features is to use the test-widget mini-program + * provided in the GtkSourceView repository, in the tests/ directory. + * + * # GtkSourceView as GtkBuildable + * + * The GtkSourceView implementation of the [iface@Gtk.Buildable] interface exposes the + * [property@View:completion] object with the internal-child "completion". + * + * An example of a UI definition fragment with GtkSourceView: + * ```xml + * + * 4 + * True + * + * + * False + * + * + * + * ``` + * + * # Changing the Font + * + * Gtk CSS provides the best way to change the font for a `GtkSourceView` in a + * manner that allows for components like [class@Map] to scale the desired + * font. + * + * ```c + * GtkCssProvider *provider = gtk_css_provider_new (); + * gtk_css_provider_load_from_data (provider, + * "textview { font-family: Monospace; font-size: 8pt; }", + * -1, + * NULL); + * gtk_style_context_add_provider (gtk_widget_get_style_context (view), + * GTK_STYLE_PROVIDER (provider), + * GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + * g_object_unref (provider); + * ``` + * + * If you need to adjust the font or size of font within a portion of the + * document only, you should use a [class@Gtk.TextTag] with the [property@Gtk.TextTag:family] or + * [property@Gtk.TextTag:scale] set so that the font size may be scaled relative to + * the default font set in CSS. + */ +public class View : TextView +{ + /** the main Gtk struct */ + protected GtkSourceView* gtkSourceView; + + /** Get the main Gtk struct */ + public GtkSourceView* getViewStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceView; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceView; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceView* gtkSourceView, bool ownedRef = false) + { + this.gtkSourceView = gtkSourceView; + super(cast(GtkTextView*)gtkSourceView, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_view_get_type(); + } + + /** + * Creates a new `GtkSourceView`. + * + * By default, an empty [class@Buffer] will be lazily created and can be + * retrieved with [method@Gtk.TextView.get_buffer]. + * + * If you want to specify your own buffer, either override the + * [vfunc@Gtk.TextView.create_buffer] factory method, or use + * [ctor@View.new_with_buffer]. + * + * Returns: a new #GtkSourceView. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this() + { + auto __p = gtk_source_view_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceView*) __p); + } + + /** + * Creates a new #GtkSourceView widget displaying the buffer @buffer. + * + * One buffer can be shared among many widgets. + * + * Params: + * buffer = a #GtkSourceBuffer. + * + * Returns: a new #GtkSourceView. + * + * Throws: ConstructionException GTK+ fails to create the object. + */ + public this(Buffer buffer) + { + auto __p = gtk_source_view_new_with_buffer((buffer is null) ? null : buffer.getBufferStruct()); + + if(__p is null) + { + throw new ConstructionException("null returned by new_with_buffer"); + } + + this(cast(GtkSourceView*) __p); + } + + /** + * Returns whether auto-indentation of text is enabled. + * + * Returns: %TRUE if auto indentation is enabled. + */ + public bool getAutoIndent() + { + return gtk_source_view_get_auto_indent(gtkSourceView) != 0; + } + + /** + * Returns the #GtkSourceBackgroundPatternType specifying if and how + * the background pattern should be displayed for this @view. + * + * Returns: the #GtkSourceBackgroundPatternType. + */ + public GtkSourceBackgroundPatternType getBackgroundPattern() + { + return gtk_source_view_get_background_pattern(gtkSourceView); + } + + /** + * Gets the [class@Completion] associated with @view. + * + * The returned object is guaranteed to be the same for the lifetime of @view. + * Each `GtkSourceView` object has a different [class@Completion]. + * + * Returns: the #GtkSourceCompletion associated with @view. + */ + public Completion getCompletion() + { + auto __p = gtk_source_view_get_completion(gtkSourceView); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Completion)(cast(GtkSourceCompletion*) __p); + } + + /** + * Gets the [property@View:enable-snippets] property. + * + * If %TRUE, matching snippets found in the [class@SnippetManager] + * may be expanded when the user presses Tab after a word in the [class@View]. + * + * Returns: %TRUE if enabled + */ + public bool getEnableSnippets() + { + return gtk_source_view_get_enable_snippets(gtkSourceView) != 0; + } + + /** + * Returns the [class@Gutter] object associated with @window_type for @view. + * + * Only %GTK_TEXT_WINDOW_LEFT and %GTK_TEXT_WINDOW_RIGHT are supported, + * respectively corresponding to the left and right gutter. The line numbers + * and mark category icons are rendered in the left gutter. + * + * Params: + * windowType = the gutter window type. + * + * Returns: the #GtkSourceGutter. + */ + public override Gutter getGutter(GtkTextWindowType windowType) + { + auto __p = gtk_source_view_get_gutter(gtkSourceView, windowType); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Gutter)(cast(GtkSourceGutter*) __p); + } + + /** + * Returns whether the current line is highlighted. + * + * Returns: %TRUE if the current line is highlighted. + */ + public bool getHighlightCurrentLine() + { + return gtk_source_view_get_highlight_current_line(gtkSourceView) != 0; + } + + /** + * Gets the [class@Hover] associated with @view. + * + * The returned object is guaranteed to be the same for the lifetime of @view. + * Each [class@View] object has a different [class@Hover]. + * + * Returns: a #GtkSourceHover associated with @view. + */ + public Hover getHover() + { + auto __p = gtk_source_view_get_hover(gtkSourceView); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(Hover)(cast(GtkSourceHover*) __p); + } + + /** + * Returns whether when the tab key is pressed the current selection + * should get indented instead of replaced with the `\t` character. + * + * Returns: %TRUE if the selection is indented when tab is pressed. + */ + public bool getIndentOnTab() + { + return gtk_source_view_get_indent_on_tab(gtkSourceView) != 0; + } + + /** + * Returns the number of spaces to use for each step of indent. + * + * See [method@View.set_indent_width] for details. + * + * Returns: indent width. + */ + public int getIndentWidth() + { + return gtk_source_view_get_indent_width(gtkSourceView); + } + + /** + * Gets the [property@View:indenter] property. + * + * Returns: a #GtkSourceIndenter or %NULL + */ + public IndenterIF getIndenter() + { + auto __p = gtk_source_view_get_indenter(gtkSourceView); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(IndenterIF)(cast(GtkSourceIndenter*) __p); + } + + /** + * Returns whether when inserting a tabulator character it should + * be replaced by a group of space characters. + * + * Returns: %TRUE if spaces are inserted instead of tabs. + */ + public bool getInsertSpacesInsteadOfTabs() + { + return gtk_source_view_get_insert_spaces_instead_of_tabs(gtkSourceView) != 0; + } + + /** + * Gets attributes and priority for the @category. + * + * Params: + * category = the category. + * priority = place where priority of the category will be stored. + * + * Returns: #GtkSourceMarkAttributes for the @category. + * The object belongs to @view, so it must not be unreffed. + */ + public MarkAttributes getMarkAttributes(string category, int* priority) + { + auto __p = gtk_source_view_get_mark_attributes(gtkSourceView, Str.toStringz(category), priority); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(MarkAttributes)(cast(GtkSourceMarkAttributes*) __p); + } + + /** + * Gets the position of the right margin in the given @view. + * + * Returns: the position of the right margin. + */ + public uint getRightMarginPosition() + { + return gtk_source_view_get_right_margin_position(gtkSourceView); + } + + /** + * Returns whether line marks are displayed beside the text. + * + * Returns: %TRUE if the line marks are displayed. + */ + public bool getShowLineMarks() + { + return gtk_source_view_get_show_line_marks(gtkSourceView) != 0; + } + + /** + * Returns whether line numbers are displayed beside the text. + * + * Returns: %TRUE if the line numbers are displayed. + */ + public bool getShowLineNumbers() + { + return gtk_source_view_get_show_line_numbers(gtkSourceView) != 0; + } + + /** + * Returns whether a right margin is displayed. + * + * Returns: %TRUE if the right margin is shown. + */ + public bool getShowRightMargin() + { + return gtk_source_view_get_show_right_margin(gtkSourceView) != 0; + } + + /** + * Returns %TRUE if pressing the Backspace key will try to delete spaces + * up to the previous tab stop. + * + * Returns: %TRUE if smart Backspace handling is enabled. + */ + public bool getSmartBackspace() + { + return gtk_source_view_get_smart_backspace(gtkSourceView) != 0; + } + + /** + * Returns a [enum@SmartHomeEndType] end value specifying + * how the cursor will move when HOME and END keys are pressed. + * + * Returns: a #GtkSourceSmartHomeEndType value. + */ + public GtkSourceSmartHomeEndType getSmartHomeEnd() + { + return gtk_source_view_get_smart_home_end(gtkSourceView); + } + + /** + * Gets the [class@SpaceDrawer] associated with @view. + * + * The returned object is guaranteed to be the same for the lifetime of @view. + * Each [class@View] object has a different [class@SpaceDrawer]. + * + * Returns: the #GtkSourceSpaceDrawer associated with @view. + */ + public SpaceDrawer getSpaceDrawer() + { + auto __p = gtk_source_view_get_space_drawer(gtkSourceView); + + if(__p is null) + { + return null; + } + + return ObjectG.getDObject!(SpaceDrawer)(cast(GtkSourceSpaceDrawer*) __p); + } + + /** + * Returns the width of tabulation in characters. + * + * Returns: width of tab. + */ + public uint getTabWidth() + { + return gtk_source_view_get_tab_width(gtkSourceView); + } + + /** + * Determines the visual column at @iter taking into consideration the + * [property@View:tab-width] of @view. + * + * Params: + * iter = a position in @view. + * + * Returns: the visual column at @iter. + */ + public uint getVisualColumn(TextIter iter) + { + return gtk_source_view_get_visual_column(gtkSourceView, (iter is null) ? null : iter.getTextIterStruct()); + } + + /** + * Inserts one indentation level at the beginning of the specified lines. The + * empty lines are not indented. + * + * Params: + * start = #GtkTextIter of the first line to indent + * end = #GtkTextIter of the last line to indent + */ + public void indentLines(TextIter start, TextIter end) + { + gtk_source_view_indent_lines(gtkSourceView, (start is null) ? null : start.getTextIterStruct(), (end is null) ? null : end.getTextIterStruct()); + } + + /** + * Inserts a new snippet at @location + * + * If another snippet was already active, it will be paused and the new + * snippet will become active. Once the focus positions of @snippet have + * been exhausted, editing will return to the previous snippet. + * + * Params: + * snippet = a #GtkSourceSnippet + * location = a #GtkTextIter or %NULL for the cursor position + */ + public void pushSnippet(Snippet snippet, TextIter location) + { + gtk_source_view_push_snippet(gtkSourceView, (snippet is null) ? null : snippet.getSnippetStruct(), (location is null) ? null : location.getTextIterStruct()); + } + + /** + * If %TRUE auto-indentation of text is enabled. + * + * When Enter is pressed to create a new line, the auto-indentation inserts the + * same indentation as the previous line. This is **not** a + * "smart indentation" where an indentation level is added or removed depending + * on the context. + * + * Params: + * enable = whether to enable auto indentation. + */ + public void setAutoIndent(bool enable) + { + gtk_source_view_set_auto_indent(gtkSourceView, enable); + } + + /** + * Set if and how the background pattern should be displayed. + * + * Params: + * backgroundPattern = the #GtkSourceBackgroundPatternType. + */ + public void setBackgroundPattern(GtkSourceBackgroundPatternType backgroundPattern) + { + gtk_source_view_set_background_pattern(gtkSourceView, backgroundPattern); + } + + /** + * Sets the [property@View:enable-snippets] property. + * + * If @enable_snippets is %TRUE, matching snippets found in the + * [class@SnippetManager] may be expanded when the user presses + * Tab after a word in the [class@View]. + * + * Params: + * enableSnippets = if snippets should be enabled + */ + public void setEnableSnippets(bool enableSnippets) + { + gtk_source_view_set_enable_snippets(gtkSourceView, enableSnippets); + } + + /** + * If @highlight is %TRUE the current line will be highlighted. + * + * Params: + * highlight = whether to highlight the current line. + */ + public void setHighlightCurrentLine(bool highlight) + { + gtk_source_view_set_highlight_current_line(gtkSourceView, highlight); + } + + /** + * If %TRUE, when the tab key is pressed when several lines are selected, the + * selected lines are indented of one level instead of being replaced with a `\t` + * character. Shift+Tab unindents the selection. + * + * If the first or last line is not selected completely, it is also indented or + * unindented. + * + * When the selection doesn't span several lines, the tab key always replaces + * the selection with a normal `\t` character. + * + * Params: + * enable = whether to indent a block when tab is pressed. + */ + public void setIndentOnTab(bool enable) + { + gtk_source_view_set_indent_on_tab(gtkSourceView, enable); + } + + /** + * Sets the number of spaces to use for each step of indent when the tab key is + * pressed. + * + * If @width is -1, the value of the [property@View:tab-width] property + * will be used. + * + * The [property@View:indent-width] interacts with the + * [property@View:insert-spaces-instead-of-tabs] property and + * [property@View:tab-width]. An example will be clearer: + * + * If the [property@View:indent-width] is 4 and [property@View:tab-width] is 8 and + * [property@View:insert-spaces-instead-of-tabs] is %FALSE, then pressing the tab + * key at the beginning of a line will insert 4 spaces. So far so good. Pressing + * the tab key a second time will remove the 4 spaces and insert a `\t` character + * instead (since [property@View:tab-width] is 8). On the other hand, if + * [property@View:insert-spaces-instead-of-tabs] is %TRUE, the second tab key + * pressed will insert 4 more spaces for a total of 8 spaces in the + * [class@Gtk.TextBuffer]. + * + * The test-widget program (available in the GtkSourceView repository) may be + * useful to better understand the indentation settings (enable the space + * drawing!). + * + * Params: + * width = indent width in characters. + */ + public void setIndentWidth(int width) + { + gtk_source_view_set_indent_width(gtkSourceView, width); + } + + /** + * Sets the indenter for @view to @indenter. + * + * Note that the indenter will not be used unless #GtkSourceView:auto-indent + * has been set to %TRUE. + * + * Params: + * indenter = a #GtkSourceIndenter or %NULL + */ + public void setIndenter(IndenterIF indenter) + { + gtk_source_view_set_indenter(gtkSourceView, (indenter is null) ? null : indenter.getIndenterStruct()); + } + + /** + * If %TRUE a tab key pressed is replaced by a group of space characters. + * + * Of course it is still possible to insert a real `\t` programmatically with the + * [class@Gtk.TextBuffer] API. + * + * Params: + * enable = whether to insert spaces instead of tabs. + */ + public void setInsertSpacesInsteadOfTabs(bool enable) + { + gtk_source_view_set_insert_spaces_instead_of_tabs(gtkSourceView, enable); + } + + /** + * Sets attributes and priority for the @category. + * + * Params: + * category = the category. + * attributes = mark attributes. + * priority = priority of the category. + */ + public void setMarkAttributes(string category, MarkAttributes attributes, int priority) + { + gtk_source_view_set_mark_attributes(gtkSourceView, Str.toStringz(category), (attributes is null) ? null : attributes.getMarkAttributesStruct(), priority); + } + + /** + * Sets the position of the right margin in the given @view. + * + * Params: + * pos = the width in characters where to position the right margin. + */ + public void setRightMarginPosition(uint pos) + { + gtk_source_view_set_right_margin_position(gtkSourceView, pos); + } + + /** + * If %TRUE line marks will be displayed beside the text. + * + * Params: + * show = whether line marks should be displayed. + */ + public void setShowLineMarks(bool show) + { + gtk_source_view_set_show_line_marks(gtkSourceView, show); + } + + /** + * If %TRUE line numbers will be displayed beside the text. + * + * Params: + * show = whether line numbers should be displayed. + */ + public void setShowLineNumbers(bool show) + { + gtk_source_view_set_show_line_numbers(gtkSourceView, show); + } + + /** + * If %TRUE a right margin is displayed. + * + * Params: + * show = whether to show a right margin. + */ + public void setShowRightMargin(bool show) + { + gtk_source_view_set_show_right_margin(gtkSourceView, show); + } + + /** + * When set to %TRUE, pressing the Backspace key will try to delete spaces + * up to the previous tab stop. + * + * Params: + * smartBackspace = whether to enable smart Backspace handling. + */ + public void setSmartBackspace(bool smartBackspace) + { + gtk_source_view_set_smart_backspace(gtkSourceView, smartBackspace); + } + + /** + * Set the desired movement of the cursor when HOME and END keys + * are pressed. + * + * Params: + * smartHomeEnd = the desired behavior among #GtkSourceSmartHomeEndType. + */ + public void setSmartHomeEnd(GtkSourceSmartHomeEndType smartHomeEnd) + { + gtk_source_view_set_smart_home_end(gtkSourceView, smartHomeEnd); + } + + /** + * Sets the width of tabulation in characters. + * + * The #GtkTextBuffer still contains `\t` characters, + * but they can take a different visual width in a [class@View] widget. + * + * Params: + * width = width of tab in characters. + */ + public void setTabWidth(uint width) + { + gtk_source_view_set_tab_width(gtkSourceView, width); + } + + /** + * Removes one indentation level at the beginning of the + * specified lines. + * + * Params: + * start = #GtkTextIter of the first line to indent + * end = #GtkTextIter of the last line to indent + */ + public void unindentLines(TextIter start, TextIter end) + { + gtk_source_view_unindent_lines(gtkSourceView, (start is null) ? null : start.getTextIterStruct(), (end is null) ? null : end.getTextIterStruct()); + } + + /** + * Keybinding signal to change case of the text at the current cursor position. + * + * Params: + * caseType = the case to use + */ + gulong addOnChangeCase(void delegate(GtkSourceChangeCaseType, View) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "change-case", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Keybinding signal to edit a number at the current cursor position. + * + * Params: + * count = the number to add to the number at the current position + */ + gulong addOnChangeNumber(void delegate(int, View) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "change-number", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Keybinding signal to join the lines currently selected. + */ + gulong addOnJoinLines(void delegate(View) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "join-lines", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when a line mark has been activated (for instance when there + * was a button press in the line marks gutter). + * + * You can use @iter to determine on which line the activation took place. + * + * Params: + * iter = a #GtkTextIter + * button = the button that was pressed + * state = the modifier state, if any + * nPresses = the number of presses + */ + gulong addOnLineMarkActivated(void delegate(TextIter, uint, GdkModifierType, int, View) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "line-mark-activated", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * The signal is a keybinding which gets emitted when the user initiates moving a line. + * + * The default binding key is Alt+Up/Down arrow. And moves the currently selected lines, + * or the current line up or down by one line. + * + * Params: + * down = %TRUE to move down, %FALSE to move up. + */ + gulong addOnMoveLines(void delegate(bool, View) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "move-lines", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Keybinding signal to move the cursor to the matching bracket. + * + * Params: + * extendSelection = %TRUE if the move should extend the selection + */ + gulong addOnMoveToMatchingBracket(void delegate(bool, View) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "move-to-matching-bracket", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * The signal is a keybinding which gets emitted when the user initiates moving a word. + * + * The default binding key is Alt+Left/Right Arrow and moves the current selection, or the current + * word by one word. + * + * Params: + * count = the number of words to move over + */ + gulong addOnMoveWords(void delegate(int, View) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "move-words", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * The signal is emitted to insert a new snippet into the view. + * + * If another snippet was active, it will be paused until all focus positions of @snippet have been exhausted. + * + * @location will be updated to point at the end of the snippet. + * + * Params: + * snippet = a #GtkSourceSnippet + * location = a #GtkTextIter + */ + gulong addOnPushSnippet(void delegate(Snippet, TextIter, View) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "push-snippet", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * The signal is a key binding signal which gets + * emitted when the user requests a completion, by pressing + * Controlspace. + * + * This will create a [class@CompletionContext] with the activation + * type as %GTK_SOURCE_COMPLETION_ACTIVATION_USER_REQUESTED. + * + * Applications should not connect to it, but may emit it with + * [func@GObject.signal_emit_by_name] if they need to activate the completion by + * another means, for example with another key binding or a menu entry. + */ + gulong addOnShowCompletion(void delegate(View) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "show-completion", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Emitted when a the cursor was moved according to the smart home end setting. + * + * The signal is emitted after the cursor is moved, but + * during the [signal@Gtk.TextView::move-cursor] action. This can be used to find + * out whether the cursor was moved by a normal home/end or by a smart + * home/end. + * + * Params: + * iter = a #GtkTextIter + * count = the count + */ + gulong addOnSmartHomeEnd(void delegate(TextIter, int, View) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "smart-home-end", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/sourceview/sourceview/VimIMContext.d b/source/generated/sourceview/sourceview/VimIMContext.d new file mode 100644 index 000000000..0a9323ca8 --- /dev/null +++ b/source/generated/sourceview/sourceview/VimIMContext.d @@ -0,0 +1,245 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.VimIMContext; + +private import glib.ConstructionException; +private import glib.Str; +private import glib.c.functions; +private import gobject.ObjectG; +private import gobject.Signals; +private import gtk.IMContext; +private import gtk.TextIter; +private import sourceview.View; +private import sourceview.c.functions; +public import sourceview.c.types; +private import std.algorithm; + + +/** + * Vim emulation. + * + * The `GtkSourceVimIMContext` is a [class@Gtk.IMContext] implementation that can + * be used to provide Vim-like editing controls within a [class@View]. + * + * The `GtkSourceViMIMContext` will process incoming [class@Gdk.KeyEvent] as the + * user types. It should be used in conjunction with a [class@Gtk.EventControllerKey]. + * + * Various features supported by `GtkSourceVimIMContext` include: + * + * - Normal, Insert, Replace, Visual, and Visual Line modes + * - Support for an integrated command bar and current command preview + * - Search and replace + * - Motions and Text Objects + * - History replay + * - Jumplists within the current file + * - Registers including the system and primary clipboards + * - Creation and motion to marks + * - Some commonly used Vim commands + * + * It is recommended that applications display the contents of + * [property@VimIMContext:command-bar-text] and + * [property@VimIMContext:command-text] to the user as they represent the + * command-bar and current command preview found in Vim. + * + * `GtkSourceVimIMContext` attempts to work with additional [class@Gtk.IMContext] + * implementations such as IBus by querying the [class@Gtk.TextView] before processing + * the command in states which support it (notably Insert and Replace modes). + * + * ```c + * GtkEventController *key; + * GtkSourceView *view; + * GtkIMContext *im_context; + * + * view = gtk_source_view_new (); + * im_context = gtk_source_vim_im_context_new (); + * key = gtk_event_controller_key_new (); + * + * gtk_event_controller_key_set_im_context (GTK_EVENT_CONTROLLER_KEY (key), im_context); + * gtk_event_controller_set_propagation_phase (key, GTK_PHASE_CAPTURE); + * gtk_widget_add_controller (GTK_WIDGET (view), key); + * + * g_object_bind_property (im_context, "command-bar-text", command_bar_label, "label", 0); + * g_object_bind_property (im_context, "command-text", command_label, "label", 0); + * ``` + * + * Since: 5.4 + */ +public class VimIMContext : IMContext +{ + /** the main Gtk struct */ + protected GtkSourceVimIMContext* gtkSourceVimIMContext; + + /** Get the main Gtk struct */ + public GtkSourceVimIMContext* getVimIMContextStruct(bool transferOwnership = false) + { + if (transferOwnership) + ownedRef = false; + return gtkSourceVimIMContext; + } + + /** the main Gtk struct as a void* */ + protected override void* getStruct() + { + return cast(void*)gtkSourceVimIMContext; + } + + /** + * Sets our main struct and passes it to the parent class. + */ + public this (GtkSourceVimIMContext* gtkSourceVimIMContext, bool ownedRef = false) + { + this.gtkSourceVimIMContext = gtkSourceVimIMContext; + super(cast(GtkIMContext*)gtkSourceVimIMContext, ownedRef); + } + + + /** */ + public static GType getType() + { + return gtk_source_vim_im_context_get_type(); + } + + /** */ + public this() + { + auto __p = gtk_source_vim_im_context_new(); + + if(__p is null) + { + throw new ConstructionException("null returned by new"); + } + + this(cast(GtkSourceVimIMContext*) __p, true); + } + + /** + * Executes @command as if it was typed into the command bar by the + * user except that this does not emit the + * [signal@VimIMContext::execute-command] signal. + * + * Params: + * command = the command text + * + * Since: 5.4 + */ + public void executeCommand(string command) + { + gtk_source_vim_im_context_execute_command(gtkSourceVimIMContext, Str.toStringz(command)); + } + + /** + * Gets the current command-bar text as it is entered by the user. + * + * Returns: A string containing the command-bar text + * + * Since: 5.4 + */ + public string getCommandBarText() + { + return Str.toString(gtk_source_vim_im_context_get_command_bar_text(gtkSourceVimIMContext)); + } + + /** + * Gets the current command text as it is entered by the user. + * + * Returns: A string containing the command text + * + * Since: 5.4 + */ + public string getCommandText() + { + return Str.toString(gtk_source_vim_im_context_get_command_text(gtkSourceVimIMContext)); + } + + /** + * Requests the application open the file found at @path. + * + * If @path is %NULL, then the current file should be reloaded from storage. + * + * This may be executed in relation to the user running the + * `:edit` or `:e` commands. + * + * Params: + * view = the #GtkSourceView + * path = the path if provided, otherwise %NULL + * + * Since: 5.4 + */ + gulong addOnEdit(void delegate(View, string, VimIMContext) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "edit", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * The signal is emitted when a command should be + * executed. This might be something like `:wq` or `:e `. + * + * If the application chooses to implement this, it should return + * %TRUE from this signal to indicate the command has been handled. + * + * Params: + * command = the command to execute + * + * Returns: %TRUE if handled; otherwise %FALSE. + * + * Since: 5.4 + */ + gulong addOnExecuteCommand(bool delegate(string, VimIMContext) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "execute-command", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Requests that the application format the text between + * @begin and @end. + * + * Params: + * begin = the start location + * end = the end location + * + * Since: 5.4 + */ + gulong addOnFormatText(void delegate(TextIter, TextIter, VimIMContext) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "format-text", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } + + /** + * Requests the application save the file. + * + * If a filename was provided, it will be available to the signal handler as @path. + * This may be executed in relation to the user running the `:write` or `:w` commands. + * + * Params: + * view = the #GtkSourceView + * path = the path if provided, otherwise %NULL + * + * Since: 5.4 + */ + gulong addOnWrite(void delegate(View, string, VimIMContext) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0) + { + return Signals.connect(this, "write", dlg, connectFlags ^ ConnectFlags.SWAPPED); + } +} diff --git a/source/generated/sourceview/sourceview/c/functions.d b/source/generated/sourceview/sourceview/c/functions.d new file mode 100644 index 000000000..c7aa16c03 --- /dev/null +++ b/source/generated/sourceview/sourceview/c/functions.d @@ -0,0 +1,1892 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.c.functions; + +import std.stdio; +import sourceview.c.types; +import linker.Loader; + +version (Windows) + static immutable LIBRARY_SOURCEVIEW = ["libgtksourceview-5-0.dll;gtksourceview-5-5.0.dll;gtksourceview-5.dll"]; +else version (OSX) + static immutable LIBRARY_SOURCEVIEW = ["libgtksourceview-5.0.dylib"]; +else + static immutable LIBRARY_SOURCEVIEW = ["libgtksourceview-5.so.0"]; + +shared static this() +{ + // sourceview.Buffer + + Linker.link(gtk_source_buffer_get_type, "gtk_source_buffer_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_new, "gtk_source_buffer_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_new_with_language, "gtk_source_buffer_new_with_language", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_backward_iter_to_source_mark, "gtk_source_buffer_backward_iter_to_source_mark", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_change_case, "gtk_source_buffer_change_case", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_create_source_mark, "gtk_source_buffer_create_source_mark", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_create_source_tag, "gtk_source_buffer_create_source_tag", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_ensure_highlight, "gtk_source_buffer_ensure_highlight", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_forward_iter_to_source_mark, "gtk_source_buffer_forward_iter_to_source_mark", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_get_context_classes_at_iter, "gtk_source_buffer_get_context_classes_at_iter", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_get_highlight_matching_brackets, "gtk_source_buffer_get_highlight_matching_brackets", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_get_highlight_syntax, "gtk_source_buffer_get_highlight_syntax", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_get_implicit_trailing_newline, "gtk_source_buffer_get_implicit_trailing_newline", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_get_language, "gtk_source_buffer_get_language", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_get_source_marks_at_iter, "gtk_source_buffer_get_source_marks_at_iter", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_get_source_marks_at_line, "gtk_source_buffer_get_source_marks_at_line", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_get_style_scheme, "gtk_source_buffer_get_style_scheme", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_iter_backward_to_context_class_toggle, "gtk_source_buffer_iter_backward_to_context_class_toggle", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_iter_forward_to_context_class_toggle, "gtk_source_buffer_iter_forward_to_context_class_toggle", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_iter_has_context_class, "gtk_source_buffer_iter_has_context_class", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_join_lines, "gtk_source_buffer_join_lines", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_remove_source_marks, "gtk_source_buffer_remove_source_marks", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_set_highlight_matching_brackets, "gtk_source_buffer_set_highlight_matching_brackets", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_set_highlight_syntax, "gtk_source_buffer_set_highlight_syntax", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_set_implicit_trailing_newline, "gtk_source_buffer_set_implicit_trailing_newline", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_set_language, "gtk_source_buffer_set_language", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_set_style_scheme, "gtk_source_buffer_set_style_scheme", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_buffer_sort_lines, "gtk_source_buffer_sort_lines", LIBRARY_SOURCEVIEW); + + // sourceview.Completion + + Linker.link(gtk_source_completion_get_type, "gtk_source_completion_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_fuzzy_highlight, "gtk_source_completion_fuzzy_highlight", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_fuzzy_match, "gtk_source_completion_fuzzy_match", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_add_provider, "gtk_source_completion_add_provider", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_block_interactive, "gtk_source_completion_block_interactive", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_get_buffer, "gtk_source_completion_get_buffer", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_get_page_size, "gtk_source_completion_get_page_size", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_get_view, "gtk_source_completion_get_view", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_hide, "gtk_source_completion_hide", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_remove_provider, "gtk_source_completion_remove_provider", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_set_page_size, "gtk_source_completion_set_page_size", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_show, "gtk_source_completion_show", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_unblock_interactive, "gtk_source_completion_unblock_interactive", LIBRARY_SOURCEVIEW); + + // sourceview.CompletionCell + + Linker.link(gtk_source_completion_cell_get_type, "gtk_source_completion_cell_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_cell_get_column, "gtk_source_completion_cell_get_column", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_cell_get_widget, "gtk_source_completion_cell_get_widget", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_cell_set_gicon, "gtk_source_completion_cell_set_gicon", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_cell_set_icon_name, "gtk_source_completion_cell_set_icon_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_cell_set_markup, "gtk_source_completion_cell_set_markup", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_cell_set_paintable, "gtk_source_completion_cell_set_paintable", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_cell_set_text, "gtk_source_completion_cell_set_text", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_cell_set_text_with_attributes, "gtk_source_completion_cell_set_text_with_attributes", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_cell_set_widget, "gtk_source_completion_cell_set_widget", LIBRARY_SOURCEVIEW); + + // sourceview.CompletionContext + + Linker.link(gtk_source_completion_context_get_type, "gtk_source_completion_context_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_context_get_activation, "gtk_source_completion_context_get_activation", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_context_get_bounds, "gtk_source_completion_context_get_bounds", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_context_get_buffer, "gtk_source_completion_context_get_buffer", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_context_get_busy, "gtk_source_completion_context_get_busy", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_context_get_completion, "gtk_source_completion_context_get_completion", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_context_get_empty, "gtk_source_completion_context_get_empty", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_context_get_language, "gtk_source_completion_context_get_language", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_context_get_view, "gtk_source_completion_context_get_view", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_context_get_word, "gtk_source_completion_context_get_word", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_context_set_proposals_for_provider, "gtk_source_completion_context_set_proposals_for_provider", LIBRARY_SOURCEVIEW); + + // sourceview.CompletionProposal + + Linker.link(gtk_source_completion_proposal_get_type, "gtk_source_completion_proposal_get_type", LIBRARY_SOURCEVIEW); + + // sourceview.CompletionProvider + + Linker.link(gtk_source_completion_provider_get_type, "gtk_source_completion_provider_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_provider_activate, "gtk_source_completion_provider_activate", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_provider_display, "gtk_source_completion_provider_display", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_provider_get_priority, "gtk_source_completion_provider_get_priority", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_provider_get_title, "gtk_source_completion_provider_get_title", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_provider_is_trigger, "gtk_source_completion_provider_is_trigger", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_provider_key_activates, "gtk_source_completion_provider_key_activates", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_provider_list_alternates, "gtk_source_completion_provider_list_alternates", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_provider_populate_async, "gtk_source_completion_provider_populate_async", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_provider_populate_finish, "gtk_source_completion_provider_populate_finish", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_provider_refilter, "gtk_source_completion_provider_refilter", LIBRARY_SOURCEVIEW); + + // sourceview.CompletionSnippets + + Linker.link(gtk_source_completion_snippets_get_type, "gtk_source_completion_snippets_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_snippets_new, "gtk_source_completion_snippets_new", LIBRARY_SOURCEVIEW); + + // sourceview.CompletionWords + + Linker.link(gtk_source_completion_words_get_type, "gtk_source_completion_words_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_words_new, "gtk_source_completion_words_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_words_register, "gtk_source_completion_words_register", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_completion_words_unregister, "gtk_source_completion_words_unregister", LIBRARY_SOURCEVIEW); + + // sourceview.Encoding + + Linker.link(gtk_source_encoding_get_type, "gtk_source_encoding_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_encoding_copy, "gtk_source_encoding_copy", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_encoding_free, "gtk_source_encoding_free", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_encoding_get_charset, "gtk_source_encoding_get_charset", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_encoding_get_name, "gtk_source_encoding_get_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_encoding_to_string, "gtk_source_encoding_to_string", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_encoding_get_all, "gtk_source_encoding_get_all", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_encoding_get_current, "gtk_source_encoding_get_current", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_encoding_get_default_candidates, "gtk_source_encoding_get_default_candidates", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_encoding_get_from_charset, "gtk_source_encoding_get_from_charset", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_encoding_get_utf8, "gtk_source_encoding_get_utf8", LIBRARY_SOURCEVIEW); + + // sourceview.File + + Linker.link(gtk_source_file_get_type, "gtk_source_file_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_new, "gtk_source_file_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_check_file_on_disk, "gtk_source_file_check_file_on_disk", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_get_compression_type, "gtk_source_file_get_compression_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_get_encoding, "gtk_source_file_get_encoding", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_get_location, "gtk_source_file_get_location", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_get_newline_type, "gtk_source_file_get_newline_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_is_deleted, "gtk_source_file_is_deleted", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_is_externally_modified, "gtk_source_file_is_externally_modified", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_is_local, "gtk_source_file_is_local", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_is_readonly, "gtk_source_file_is_readonly", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_set_location, "gtk_source_file_set_location", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_set_mount_operation_factory, "gtk_source_file_set_mount_operation_factory", LIBRARY_SOURCEVIEW); + + // sourceview.FileLoader + + Linker.link(gtk_source_file_loader_get_type, "gtk_source_file_loader_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_loader_new, "gtk_source_file_loader_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_loader_new_from_stream, "gtk_source_file_loader_new_from_stream", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_loader_get_buffer, "gtk_source_file_loader_get_buffer", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_loader_get_compression_type, "gtk_source_file_loader_get_compression_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_loader_get_encoding, "gtk_source_file_loader_get_encoding", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_loader_get_file, "gtk_source_file_loader_get_file", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_loader_get_input_stream, "gtk_source_file_loader_get_input_stream", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_loader_get_location, "gtk_source_file_loader_get_location", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_loader_get_newline_type, "gtk_source_file_loader_get_newline_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_loader_load_async, "gtk_source_file_loader_load_async", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_loader_load_finish, "gtk_source_file_loader_load_finish", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_loader_set_candidate_encodings, "gtk_source_file_loader_set_candidate_encodings", LIBRARY_SOURCEVIEW); + + // sourceview.FileSaver + + Linker.link(gtk_source_file_saver_get_type, "gtk_source_file_saver_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_new, "gtk_source_file_saver_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_new_with_target, "gtk_source_file_saver_new_with_target", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_get_buffer, "gtk_source_file_saver_get_buffer", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_get_compression_type, "gtk_source_file_saver_get_compression_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_get_encoding, "gtk_source_file_saver_get_encoding", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_get_file, "gtk_source_file_saver_get_file", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_get_flags, "gtk_source_file_saver_get_flags", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_get_location, "gtk_source_file_saver_get_location", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_get_newline_type, "gtk_source_file_saver_get_newline_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_save_async, "gtk_source_file_saver_save_async", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_save_finish, "gtk_source_file_saver_save_finish", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_set_compression_type, "gtk_source_file_saver_set_compression_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_set_encoding, "gtk_source_file_saver_set_encoding", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_set_flags, "gtk_source_file_saver_set_flags", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_file_saver_set_newline_type, "gtk_source_file_saver_set_newline_type", LIBRARY_SOURCEVIEW); + + // sourceview.Gutter + + Linker.link(gtk_source_gutter_get_type, "gtk_source_gutter_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_get_view, "gtk_source_gutter_get_view", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_insert, "gtk_source_gutter_insert", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_remove, "gtk_source_gutter_remove", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_reorder, "gtk_source_gutter_reorder", LIBRARY_SOURCEVIEW); + + // sourceview.GutterLines + + Linker.link(gtk_source_gutter_lines_get_type, "gtk_source_gutter_lines_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_add_class, "gtk_source_gutter_lines_add_class", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_add_qclass, "gtk_source_gutter_lines_add_qclass", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_get_buffer, "gtk_source_gutter_lines_get_buffer", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_get_first, "gtk_source_gutter_lines_get_first", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_get_iter_at_line, "gtk_source_gutter_lines_get_iter_at_line", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_get_last, "gtk_source_gutter_lines_get_last", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_get_line_yrange, "gtk_source_gutter_lines_get_line_yrange", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_get_view, "gtk_source_gutter_lines_get_view", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_has_class, "gtk_source_gutter_lines_has_class", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_has_qclass, "gtk_source_gutter_lines_has_qclass", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_is_cursor, "gtk_source_gutter_lines_is_cursor", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_is_prelit, "gtk_source_gutter_lines_is_prelit", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_is_selected, "gtk_source_gutter_lines_is_selected", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_remove_class, "gtk_source_gutter_lines_remove_class", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_lines_remove_qclass, "gtk_source_gutter_lines_remove_qclass", LIBRARY_SOURCEVIEW); + + // sourceview.GutterRenderer + + Linker.link(gtk_source_gutter_renderer_get_type, "gtk_source_gutter_renderer_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_activate, "gtk_source_gutter_renderer_activate", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_align_cell, "gtk_source_gutter_renderer_align_cell", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_get_alignment_mode, "gtk_source_gutter_renderer_get_alignment_mode", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_get_buffer, "gtk_source_gutter_renderer_get_buffer", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_get_view, "gtk_source_gutter_renderer_get_view", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_get_xalign, "gtk_source_gutter_renderer_get_xalign", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_get_xpad, "gtk_source_gutter_renderer_get_xpad", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_get_yalign, "gtk_source_gutter_renderer_get_yalign", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_get_ypad, "gtk_source_gutter_renderer_get_ypad", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_query_activatable, "gtk_source_gutter_renderer_query_activatable", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_set_alignment_mode, "gtk_source_gutter_renderer_set_alignment_mode", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_set_xalign, "gtk_source_gutter_renderer_set_xalign", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_set_xpad, "gtk_source_gutter_renderer_set_xpad", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_set_yalign, "gtk_source_gutter_renderer_set_yalign", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_set_ypad, "gtk_source_gutter_renderer_set_ypad", LIBRARY_SOURCEVIEW); + + // sourceview.GutterRendererPixbuf + + Linker.link(gtk_source_gutter_renderer_pixbuf_get_type, "gtk_source_gutter_renderer_pixbuf_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_pixbuf_new, "gtk_source_gutter_renderer_pixbuf_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_pixbuf_get_gicon, "gtk_source_gutter_renderer_pixbuf_get_gicon", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_pixbuf_get_icon_name, "gtk_source_gutter_renderer_pixbuf_get_icon_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_pixbuf_get_paintable, "gtk_source_gutter_renderer_pixbuf_get_paintable", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_pixbuf_get_pixbuf, "gtk_source_gutter_renderer_pixbuf_get_pixbuf", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_pixbuf_overlay_paintable, "gtk_source_gutter_renderer_pixbuf_overlay_paintable", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_pixbuf_set_gicon, "gtk_source_gutter_renderer_pixbuf_set_gicon", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_pixbuf_set_icon_name, "gtk_source_gutter_renderer_pixbuf_set_icon_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_pixbuf_set_paintable, "gtk_source_gutter_renderer_pixbuf_set_paintable", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_pixbuf_set_pixbuf, "gtk_source_gutter_renderer_pixbuf_set_pixbuf", LIBRARY_SOURCEVIEW); + + // sourceview.GutterRendererText + + Linker.link(gtk_source_gutter_renderer_text_get_type, "gtk_source_gutter_renderer_text_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_text_new, "gtk_source_gutter_renderer_text_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_text_measure, "gtk_source_gutter_renderer_text_measure", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_text_measure_markup, "gtk_source_gutter_renderer_text_measure_markup", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_text_set_markup, "gtk_source_gutter_renderer_text_set_markup", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_gutter_renderer_text_set_text, "gtk_source_gutter_renderer_text_set_text", LIBRARY_SOURCEVIEW); + + // sourceview.Hover + + Linker.link(gtk_source_hover_get_type, "gtk_source_hover_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_hover_add_provider, "gtk_source_hover_add_provider", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_hover_remove_provider, "gtk_source_hover_remove_provider", LIBRARY_SOURCEVIEW); + + // sourceview.HoverContext + + Linker.link(gtk_source_hover_context_get_type, "gtk_source_hover_context_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_hover_context_get_bounds, "gtk_source_hover_context_get_bounds", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_hover_context_get_buffer, "gtk_source_hover_context_get_buffer", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_hover_context_get_iter, "gtk_source_hover_context_get_iter", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_hover_context_get_view, "gtk_source_hover_context_get_view", LIBRARY_SOURCEVIEW); + + // sourceview.HoverDisplay + + Linker.link(gtk_source_hover_display_get_type, "gtk_source_hover_display_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_hover_display_append, "gtk_source_hover_display_append", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_hover_display_insert_after, "gtk_source_hover_display_insert_after", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_hover_display_prepend, "gtk_source_hover_display_prepend", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_hover_display_remove, "gtk_source_hover_display_remove", LIBRARY_SOURCEVIEW); + + // sourceview.HoverProvider + + Linker.link(gtk_source_hover_provider_get_type, "gtk_source_hover_provider_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_hover_provider_populate_async, "gtk_source_hover_provider_populate_async", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_hover_provider_populate_finish, "gtk_source_hover_provider_populate_finish", LIBRARY_SOURCEVIEW); + + // sourceview.Indenter + + Linker.link(gtk_source_indenter_get_type, "gtk_source_indenter_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_indenter_indent, "gtk_source_indenter_indent", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_indenter_is_trigger, "gtk_source_indenter_is_trigger", LIBRARY_SOURCEVIEW); + + // sourceview.Language + + Linker.link(gtk_source_language_get_type, "gtk_source_language_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_get_globs, "gtk_source_language_get_globs", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_get_hidden, "gtk_source_language_get_hidden", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_get_id, "gtk_source_language_get_id", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_get_metadata, "gtk_source_language_get_metadata", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_get_mime_types, "gtk_source_language_get_mime_types", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_get_name, "gtk_source_language_get_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_get_section, "gtk_source_language_get_section", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_get_style_fallback, "gtk_source_language_get_style_fallback", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_get_style_ids, "gtk_source_language_get_style_ids", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_get_style_name, "gtk_source_language_get_style_name", LIBRARY_SOURCEVIEW); + + // sourceview.LanguageManager + + Linker.link(gtk_source_language_manager_get_type, "gtk_source_language_manager_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_manager_new, "gtk_source_language_manager_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_manager_get_default, "gtk_source_language_manager_get_default", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_manager_append_search_path, "gtk_source_language_manager_append_search_path", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_manager_get_language, "gtk_source_language_manager_get_language", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_manager_get_language_ids, "gtk_source_language_manager_get_language_ids", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_manager_get_search_path, "gtk_source_language_manager_get_search_path", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_manager_guess_language, "gtk_source_language_manager_guess_language", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_manager_prepend_search_path, "gtk_source_language_manager_prepend_search_path", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_language_manager_set_search_path, "gtk_source_language_manager_set_search_path", LIBRARY_SOURCEVIEW); + + // sourceview.Map + + Linker.link(gtk_source_map_get_type, "gtk_source_map_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_map_new, "gtk_source_map_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_map_get_view, "gtk_source_map_get_view", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_map_set_view, "gtk_source_map_set_view", LIBRARY_SOURCEVIEW); + + // sourceview.Mark + + Linker.link(gtk_source_mark_get_type, "gtk_source_mark_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_new, "gtk_source_mark_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_get_category, "gtk_source_mark_get_category", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_next, "gtk_source_mark_next", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_prev, "gtk_source_mark_prev", LIBRARY_SOURCEVIEW); + + // sourceview.MarkAttributes + + Linker.link(gtk_source_mark_attributes_get_type, "gtk_source_mark_attributes_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_attributes_new, "gtk_source_mark_attributes_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_attributes_get_background, "gtk_source_mark_attributes_get_background", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_attributes_get_gicon, "gtk_source_mark_attributes_get_gicon", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_attributes_get_icon_name, "gtk_source_mark_attributes_get_icon_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_attributes_get_pixbuf, "gtk_source_mark_attributes_get_pixbuf", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_attributes_get_tooltip_markup, "gtk_source_mark_attributes_get_tooltip_markup", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_attributes_get_tooltip_text, "gtk_source_mark_attributes_get_tooltip_text", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_attributes_render_icon, "gtk_source_mark_attributes_render_icon", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_attributes_set_background, "gtk_source_mark_attributes_set_background", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_attributes_set_gicon, "gtk_source_mark_attributes_set_gicon", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_attributes_set_icon_name, "gtk_source_mark_attributes_set_icon_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_mark_attributes_set_pixbuf, "gtk_source_mark_attributes_set_pixbuf", LIBRARY_SOURCEVIEW); + + // sourceview.PrintCompositor + + Linker.link(gtk_source_print_compositor_get_type, "gtk_source_print_compositor_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_new, "gtk_source_print_compositor_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_new_from_view, "gtk_source_print_compositor_new_from_view", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_draw_page, "gtk_source_print_compositor_draw_page", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_body_font_name, "gtk_source_print_compositor_get_body_font_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_bottom_margin, "gtk_source_print_compositor_get_bottom_margin", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_buffer, "gtk_source_print_compositor_get_buffer", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_footer_font_name, "gtk_source_print_compositor_get_footer_font_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_header_font_name, "gtk_source_print_compositor_get_header_font_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_highlight_syntax, "gtk_source_print_compositor_get_highlight_syntax", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_left_margin, "gtk_source_print_compositor_get_left_margin", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_line_numbers_font_name, "gtk_source_print_compositor_get_line_numbers_font_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_n_pages, "gtk_source_print_compositor_get_n_pages", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_pagination_progress, "gtk_source_print_compositor_get_pagination_progress", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_print_footer, "gtk_source_print_compositor_get_print_footer", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_print_header, "gtk_source_print_compositor_get_print_header", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_print_line_numbers, "gtk_source_print_compositor_get_print_line_numbers", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_right_margin, "gtk_source_print_compositor_get_right_margin", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_tab_width, "gtk_source_print_compositor_get_tab_width", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_top_margin, "gtk_source_print_compositor_get_top_margin", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_get_wrap_mode, "gtk_source_print_compositor_get_wrap_mode", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_ignore_tag, "gtk_source_print_compositor_ignore_tag", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_paginate, "gtk_source_print_compositor_paginate", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_body_font_name, "gtk_source_print_compositor_set_body_font_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_bottom_margin, "gtk_source_print_compositor_set_bottom_margin", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_footer_font_name, "gtk_source_print_compositor_set_footer_font_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_footer_format, "gtk_source_print_compositor_set_footer_format", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_header_font_name, "gtk_source_print_compositor_set_header_font_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_header_format, "gtk_source_print_compositor_set_header_format", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_highlight_syntax, "gtk_source_print_compositor_set_highlight_syntax", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_left_margin, "gtk_source_print_compositor_set_left_margin", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_line_numbers_font_name, "gtk_source_print_compositor_set_line_numbers_font_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_print_footer, "gtk_source_print_compositor_set_print_footer", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_print_header, "gtk_source_print_compositor_set_print_header", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_print_line_numbers, "gtk_source_print_compositor_set_print_line_numbers", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_right_margin, "gtk_source_print_compositor_set_right_margin", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_tab_width, "gtk_source_print_compositor_set_tab_width", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_top_margin, "gtk_source_print_compositor_set_top_margin", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_print_compositor_set_wrap_mode, "gtk_source_print_compositor_set_wrap_mode", LIBRARY_SOURCEVIEW); + + // sourceview.Region + + Linker.link(gtk_source_region_get_type, "gtk_source_region_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_region_new, "gtk_source_region_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_region_add_region, "gtk_source_region_add_region", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_region_add_subregion, "gtk_source_region_add_subregion", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_region_get_bounds, "gtk_source_region_get_bounds", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_region_get_buffer, "gtk_source_region_get_buffer", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_region_get_start_region_iter, "gtk_source_region_get_start_region_iter", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_region_intersect_region, "gtk_source_region_intersect_region", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_region_intersect_subregion, "gtk_source_region_intersect_subregion", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_region_is_empty, "gtk_source_region_is_empty", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_region_subtract_region, "gtk_source_region_subtract_region", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_region_subtract_subregion, "gtk_source_region_subtract_subregion", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_region_to_string, "gtk_source_region_to_string", LIBRARY_SOURCEVIEW); + + // sourceview.RegionIter + + Linker.link(gtk_source_region_iter_get_subregion, "gtk_source_region_iter_get_subregion", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_region_iter_is_end, "gtk_source_region_iter_is_end", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_region_iter_next, "gtk_source_region_iter_next", LIBRARY_SOURCEVIEW); + + // sourceview.SearchContext + + Linker.link(gtk_source_search_context_get_type, "gtk_source_search_context_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_new, "gtk_source_search_context_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_backward, "gtk_source_search_context_backward", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_backward_async, "gtk_source_search_context_backward_async", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_backward_finish, "gtk_source_search_context_backward_finish", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_forward, "gtk_source_search_context_forward", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_forward_async, "gtk_source_search_context_forward_async", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_forward_finish, "gtk_source_search_context_forward_finish", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_get_buffer, "gtk_source_search_context_get_buffer", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_get_highlight, "gtk_source_search_context_get_highlight", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_get_match_style, "gtk_source_search_context_get_match_style", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_get_occurrence_position, "gtk_source_search_context_get_occurrence_position", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_get_occurrences_count, "gtk_source_search_context_get_occurrences_count", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_get_regex_error, "gtk_source_search_context_get_regex_error", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_get_settings, "gtk_source_search_context_get_settings", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_replace, "gtk_source_search_context_replace", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_replace_all, "gtk_source_search_context_replace_all", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_set_highlight, "gtk_source_search_context_set_highlight", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_context_set_match_style, "gtk_source_search_context_set_match_style", LIBRARY_SOURCEVIEW); + + // sourceview.SearchSettings + + Linker.link(gtk_source_search_settings_get_type, "gtk_source_search_settings_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_settings_new, "gtk_source_search_settings_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_settings_get_at_word_boundaries, "gtk_source_search_settings_get_at_word_boundaries", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_settings_get_case_sensitive, "gtk_source_search_settings_get_case_sensitive", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_settings_get_regex_enabled, "gtk_source_search_settings_get_regex_enabled", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_settings_get_search_text, "gtk_source_search_settings_get_search_text", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_settings_get_wrap_around, "gtk_source_search_settings_get_wrap_around", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_settings_set_at_word_boundaries, "gtk_source_search_settings_set_at_word_boundaries", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_settings_set_case_sensitive, "gtk_source_search_settings_set_case_sensitive", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_settings_set_regex_enabled, "gtk_source_search_settings_set_regex_enabled", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_settings_set_search_text, "gtk_source_search_settings_set_search_text", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_search_settings_set_wrap_around, "gtk_source_search_settings_set_wrap_around", LIBRARY_SOURCEVIEW); + + // sourceview.Snippet + + Linker.link(gtk_source_snippet_get_type, "gtk_source_snippet_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_new, "gtk_source_snippet_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_add_chunk, "gtk_source_snippet_add_chunk", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_copy, "gtk_source_snippet_copy", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_get_context, "gtk_source_snippet_get_context", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_get_description, "gtk_source_snippet_get_description", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_get_focus_position, "gtk_source_snippet_get_focus_position", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_get_language_id, "gtk_source_snippet_get_language_id", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_get_n_chunks, "gtk_source_snippet_get_n_chunks", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_get_name, "gtk_source_snippet_get_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_get_nth_chunk, "gtk_source_snippet_get_nth_chunk", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_get_trigger, "gtk_source_snippet_get_trigger", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_set_description, "gtk_source_snippet_set_description", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_set_language_id, "gtk_source_snippet_set_language_id", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_set_name, "gtk_source_snippet_set_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_set_trigger, "gtk_source_snippet_set_trigger", LIBRARY_SOURCEVIEW); + + // sourceview.SnippetChunk + + Linker.link(gtk_source_snippet_chunk_get_type, "gtk_source_snippet_chunk_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_chunk_new, "gtk_source_snippet_chunk_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_chunk_copy, "gtk_source_snippet_chunk_copy", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_chunk_get_context, "gtk_source_snippet_chunk_get_context", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_chunk_get_focus_position, "gtk_source_snippet_chunk_get_focus_position", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_chunk_get_spec, "gtk_source_snippet_chunk_get_spec", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_chunk_get_text, "gtk_source_snippet_chunk_get_text", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_chunk_get_text_set, "gtk_source_snippet_chunk_get_text_set", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_chunk_get_tooltip_text, "gtk_source_snippet_chunk_get_tooltip_text", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_chunk_set_context, "gtk_source_snippet_chunk_set_context", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_chunk_set_focus_position, "gtk_source_snippet_chunk_set_focus_position", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_chunk_set_spec, "gtk_source_snippet_chunk_set_spec", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_chunk_set_text, "gtk_source_snippet_chunk_set_text", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_chunk_set_text_set, "gtk_source_snippet_chunk_set_text_set", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_chunk_set_tooltip_text, "gtk_source_snippet_chunk_set_tooltip_text", LIBRARY_SOURCEVIEW); + + // sourceview.SnippetContext + + Linker.link(gtk_source_snippet_context_get_type, "gtk_source_snippet_context_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_context_new, "gtk_source_snippet_context_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_context_clear_variables, "gtk_source_snippet_context_clear_variables", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_context_expand, "gtk_source_snippet_context_expand", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_context_get_variable, "gtk_source_snippet_context_get_variable", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_context_set_constant, "gtk_source_snippet_context_set_constant", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_context_set_line_prefix, "gtk_source_snippet_context_set_line_prefix", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_context_set_tab_width, "gtk_source_snippet_context_set_tab_width", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_context_set_use_spaces, "gtk_source_snippet_context_set_use_spaces", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_context_set_variable, "gtk_source_snippet_context_set_variable", LIBRARY_SOURCEVIEW); + + // sourceview.SnippetManager + + Linker.link(gtk_source_snippet_manager_get_type, "gtk_source_snippet_manager_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_manager_get_default, "gtk_source_snippet_manager_get_default", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_manager_get_search_path, "gtk_source_snippet_manager_get_search_path", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_manager_get_snippet, "gtk_source_snippet_manager_get_snippet", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_manager_list_groups, "gtk_source_snippet_manager_list_groups", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_manager_list_matching, "gtk_source_snippet_manager_list_matching", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_snippet_manager_set_search_path, "gtk_source_snippet_manager_set_search_path", LIBRARY_SOURCEVIEW); + + // sourceview.SpaceDrawer + + Linker.link(gtk_source_space_drawer_get_type, "gtk_source_space_drawer_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_space_drawer_new, "gtk_source_space_drawer_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_space_drawer_bind_matrix_setting, "gtk_source_space_drawer_bind_matrix_setting", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_space_drawer_get_enable_matrix, "gtk_source_space_drawer_get_enable_matrix", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_space_drawer_get_matrix, "gtk_source_space_drawer_get_matrix", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_space_drawer_get_types_for_locations, "gtk_source_space_drawer_get_types_for_locations", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_space_drawer_set_enable_matrix, "gtk_source_space_drawer_set_enable_matrix", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_space_drawer_set_matrix, "gtk_source_space_drawer_set_matrix", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_space_drawer_set_types_for_locations, "gtk_source_space_drawer_set_types_for_locations", LIBRARY_SOURCEVIEW); + + // sourceview.Style + + Linker.link(gtk_source_style_get_type, "gtk_source_style_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_apply, "gtk_source_style_apply", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_copy, "gtk_source_style_copy", LIBRARY_SOURCEVIEW); + + // sourceview.StyleScheme + + Linker.link(gtk_source_style_scheme_get_type, "gtk_source_style_scheme_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_get_authors, "gtk_source_style_scheme_get_authors", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_get_description, "gtk_source_style_scheme_get_description", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_get_filename, "gtk_source_style_scheme_get_filename", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_get_id, "gtk_source_style_scheme_get_id", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_get_metadata, "gtk_source_style_scheme_get_metadata", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_get_name, "gtk_source_style_scheme_get_name", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_get_style, "gtk_source_style_scheme_get_style", LIBRARY_SOURCEVIEW); + + // sourceview.StyleSchemeChooser + + Linker.link(gtk_source_style_scheme_chooser_get_type, "gtk_source_style_scheme_chooser_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_chooser_get_style_scheme, "gtk_source_style_scheme_chooser_get_style_scheme", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_chooser_set_style_scheme, "gtk_source_style_scheme_chooser_set_style_scheme", LIBRARY_SOURCEVIEW); + + // sourceview.StyleSchemeChooserButton + + Linker.link(gtk_source_style_scheme_chooser_button_get_type, "gtk_source_style_scheme_chooser_button_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_chooser_button_new, "gtk_source_style_scheme_chooser_button_new", LIBRARY_SOURCEVIEW); + + // sourceview.StyleSchemeChooserWidget + + Linker.link(gtk_source_style_scheme_chooser_widget_get_type, "gtk_source_style_scheme_chooser_widget_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_chooser_widget_new, "gtk_source_style_scheme_chooser_widget_new", LIBRARY_SOURCEVIEW); + + // sourceview.StyleSchemeManager + + Linker.link(gtk_source_style_scheme_manager_get_type, "gtk_source_style_scheme_manager_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_manager_new, "gtk_source_style_scheme_manager_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_manager_get_default, "gtk_source_style_scheme_manager_get_default", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_manager_append_search_path, "gtk_source_style_scheme_manager_append_search_path", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_manager_force_rescan, "gtk_source_style_scheme_manager_force_rescan", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_manager_get_scheme, "gtk_source_style_scheme_manager_get_scheme", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_manager_get_scheme_ids, "gtk_source_style_scheme_manager_get_scheme_ids", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_manager_get_search_path, "gtk_source_style_scheme_manager_get_search_path", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_manager_prepend_search_path, "gtk_source_style_scheme_manager_prepend_search_path", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_manager_set_search_path, "gtk_source_style_scheme_manager_set_search_path", LIBRARY_SOURCEVIEW); + + // sourceview.StyleSchemePreview + + Linker.link(gtk_source_style_scheme_preview_get_type, "gtk_source_style_scheme_preview_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_preview_new, "gtk_source_style_scheme_preview_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_preview_get_scheme, "gtk_source_style_scheme_preview_get_scheme", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_preview_get_selected, "gtk_source_style_scheme_preview_get_selected", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_style_scheme_preview_set_selected, "gtk_source_style_scheme_preview_set_selected", LIBRARY_SOURCEVIEW); + + // sourceview.Tag + + Linker.link(gtk_source_tag_get_type, "gtk_source_tag_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_tag_new, "gtk_source_tag_new", LIBRARY_SOURCEVIEW); + + // sourceview.View + + Linker.link(gtk_source_view_get_type, "gtk_source_view_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_new, "gtk_source_view_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_new_with_buffer, "gtk_source_view_new_with_buffer", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_auto_indent, "gtk_source_view_get_auto_indent", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_background_pattern, "gtk_source_view_get_background_pattern", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_completion, "gtk_source_view_get_completion", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_enable_snippets, "gtk_source_view_get_enable_snippets", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_gutter, "gtk_source_view_get_gutter", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_highlight_current_line, "gtk_source_view_get_highlight_current_line", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_hover, "gtk_source_view_get_hover", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_indent_on_tab, "gtk_source_view_get_indent_on_tab", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_indent_width, "gtk_source_view_get_indent_width", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_indenter, "gtk_source_view_get_indenter", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_insert_spaces_instead_of_tabs, "gtk_source_view_get_insert_spaces_instead_of_tabs", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_mark_attributes, "gtk_source_view_get_mark_attributes", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_right_margin_position, "gtk_source_view_get_right_margin_position", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_show_line_marks, "gtk_source_view_get_show_line_marks", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_show_line_numbers, "gtk_source_view_get_show_line_numbers", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_show_right_margin, "gtk_source_view_get_show_right_margin", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_smart_backspace, "gtk_source_view_get_smart_backspace", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_smart_home_end, "gtk_source_view_get_smart_home_end", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_space_drawer, "gtk_source_view_get_space_drawer", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_tab_width, "gtk_source_view_get_tab_width", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_get_visual_column, "gtk_source_view_get_visual_column", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_indent_lines, "gtk_source_view_indent_lines", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_push_snippet, "gtk_source_view_push_snippet", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_auto_indent, "gtk_source_view_set_auto_indent", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_background_pattern, "gtk_source_view_set_background_pattern", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_enable_snippets, "gtk_source_view_set_enable_snippets", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_highlight_current_line, "gtk_source_view_set_highlight_current_line", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_indent_on_tab, "gtk_source_view_set_indent_on_tab", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_indent_width, "gtk_source_view_set_indent_width", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_indenter, "gtk_source_view_set_indenter", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_insert_spaces_instead_of_tabs, "gtk_source_view_set_insert_spaces_instead_of_tabs", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_mark_attributes, "gtk_source_view_set_mark_attributes", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_right_margin_position, "gtk_source_view_set_right_margin_position", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_show_line_marks, "gtk_source_view_set_show_line_marks", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_show_line_numbers, "gtk_source_view_set_show_line_numbers", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_show_right_margin, "gtk_source_view_set_show_right_margin", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_smart_backspace, "gtk_source_view_set_smart_backspace", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_smart_home_end, "gtk_source_view_set_smart_home_end", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_set_tab_width, "gtk_source_view_set_tab_width", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_view_unindent_lines, "gtk_source_view_unindent_lines", LIBRARY_SOURCEVIEW); + + // sourceview.VimIMContext + + Linker.link(gtk_source_vim_im_context_get_type, "gtk_source_vim_im_context_get_type", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_vim_im_context_new, "gtk_source_vim_im_context_new", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_vim_im_context_execute_command, "gtk_source_vim_im_context_execute_command", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_vim_im_context_get_command_bar_text, "gtk_source_vim_im_context_get_command_bar_text", LIBRARY_SOURCEVIEW); + Linker.link(gtk_source_vim_im_context_get_command_text, "gtk_source_vim_im_context_get_command_text", LIBRARY_SOURCEVIEW); +} + +__gshared extern(C) +{ + + // sourceview.Buffer + + GType function() c_gtk_source_buffer_get_type; + GtkSourceBuffer* function(GtkTextTagTable* table) c_gtk_source_buffer_new; + GtkSourceBuffer* function(GtkSourceLanguage* language) c_gtk_source_buffer_new_with_language; + int function(GtkSourceBuffer* buffer, GtkTextIter* iter, const(char)* category) c_gtk_source_buffer_backward_iter_to_source_mark; + void function(GtkSourceBuffer* buffer, GtkSourceChangeCaseType caseType, GtkTextIter* start, GtkTextIter* end) c_gtk_source_buffer_change_case; + GtkSourceMark* function(GtkSourceBuffer* buffer, const(char)* name, const(char)* category, GtkTextIter* where) c_gtk_source_buffer_create_source_mark; + GtkTextTag* function(GtkSourceBuffer* buffer, const(char)* tagName, const(char)* firstPropertyName, ... ) c_gtk_source_buffer_create_source_tag; + void function(GtkSourceBuffer* buffer, GtkTextIter* start, GtkTextIter* end) c_gtk_source_buffer_ensure_highlight; + int function(GtkSourceBuffer* buffer, GtkTextIter* iter, const(char)* category) c_gtk_source_buffer_forward_iter_to_source_mark; + char** function(GtkSourceBuffer* buffer, GtkTextIter* iter) c_gtk_source_buffer_get_context_classes_at_iter; + int function(GtkSourceBuffer* buffer) c_gtk_source_buffer_get_highlight_matching_brackets; + int function(GtkSourceBuffer* buffer) c_gtk_source_buffer_get_highlight_syntax; + int function(GtkSourceBuffer* buffer) c_gtk_source_buffer_get_implicit_trailing_newline; + GtkSourceLanguage* function(GtkSourceBuffer* buffer) c_gtk_source_buffer_get_language; + GSList* function(GtkSourceBuffer* buffer, GtkTextIter* iter, const(char)* category) c_gtk_source_buffer_get_source_marks_at_iter; + GSList* function(GtkSourceBuffer* buffer, int line, const(char)* category) c_gtk_source_buffer_get_source_marks_at_line; + GtkSourceStyleScheme* function(GtkSourceBuffer* buffer) c_gtk_source_buffer_get_style_scheme; + int function(GtkSourceBuffer* buffer, GtkTextIter* iter, const(char)* contextClass) c_gtk_source_buffer_iter_backward_to_context_class_toggle; + int function(GtkSourceBuffer* buffer, GtkTextIter* iter, const(char)* contextClass) c_gtk_source_buffer_iter_forward_to_context_class_toggle; + int function(GtkSourceBuffer* buffer, GtkTextIter* iter, const(char)* contextClass) c_gtk_source_buffer_iter_has_context_class; + void function(GtkSourceBuffer* buffer, GtkTextIter* start, GtkTextIter* end) c_gtk_source_buffer_join_lines; + void function(GtkSourceBuffer* buffer, GtkTextIter* start, GtkTextIter* end, const(char)* category) c_gtk_source_buffer_remove_source_marks; + void function(GtkSourceBuffer* buffer, int highlight) c_gtk_source_buffer_set_highlight_matching_brackets; + void function(GtkSourceBuffer* buffer, int highlight) c_gtk_source_buffer_set_highlight_syntax; + void function(GtkSourceBuffer* buffer, int implicitTrailingNewline) c_gtk_source_buffer_set_implicit_trailing_newline; + void function(GtkSourceBuffer* buffer, GtkSourceLanguage* language) c_gtk_source_buffer_set_language; + void function(GtkSourceBuffer* buffer, GtkSourceStyleScheme* scheme) c_gtk_source_buffer_set_style_scheme; + void function(GtkSourceBuffer* buffer, GtkTextIter* start, GtkTextIter* end, GtkSourceSortFlags flags, int column) c_gtk_source_buffer_sort_lines; + + // sourceview.Completion + + GType function() c_gtk_source_completion_get_type; + PangoAttrList* function(const(char)* haystack, const(char)* casefoldQuery) c_gtk_source_completion_fuzzy_highlight; + int function(const(char)* haystack, const(char)* casefoldNeedle, uint* priority) c_gtk_source_completion_fuzzy_match; + void function(GtkSourceCompletion* self, GtkSourceCompletionProvider* provider) c_gtk_source_completion_add_provider; + void function(GtkSourceCompletion* self) c_gtk_source_completion_block_interactive; + GtkSourceBuffer* function(GtkSourceCompletion* self) c_gtk_source_completion_get_buffer; + uint function(GtkSourceCompletion* self) c_gtk_source_completion_get_page_size; + GtkSourceView* function(GtkSourceCompletion* self) c_gtk_source_completion_get_view; + void function(GtkSourceCompletion* self) c_gtk_source_completion_hide; + void function(GtkSourceCompletion* self, GtkSourceCompletionProvider* provider) c_gtk_source_completion_remove_provider; + void function(GtkSourceCompletion* self, uint pageSize) c_gtk_source_completion_set_page_size; + void function(GtkSourceCompletion* self) c_gtk_source_completion_show; + void function(GtkSourceCompletion* self) c_gtk_source_completion_unblock_interactive; + + // sourceview.CompletionCell + + GType function() c_gtk_source_completion_cell_get_type; + GtkSourceCompletionColumn function(GtkSourceCompletionCell* self) c_gtk_source_completion_cell_get_column; + GtkWidget* function(GtkSourceCompletionCell* self) c_gtk_source_completion_cell_get_widget; + void function(GtkSourceCompletionCell* self, GIcon* gicon) c_gtk_source_completion_cell_set_gicon; + void function(GtkSourceCompletionCell* self, const(char)* iconName) c_gtk_source_completion_cell_set_icon_name; + void function(GtkSourceCompletionCell* self, const(char)* markup) c_gtk_source_completion_cell_set_markup; + void function(GtkSourceCompletionCell* self, GdkPaintable* paintable) c_gtk_source_completion_cell_set_paintable; + void function(GtkSourceCompletionCell* self, const(char)* text) c_gtk_source_completion_cell_set_text; + void function(GtkSourceCompletionCell* self, const(char)* text, PangoAttrList* attrs) c_gtk_source_completion_cell_set_text_with_attributes; + void function(GtkSourceCompletionCell* self, GtkWidget* child) c_gtk_source_completion_cell_set_widget; + + // sourceview.CompletionContext + + GType function() c_gtk_source_completion_context_get_type; + GtkSourceCompletionActivation function(GtkSourceCompletionContext* self) c_gtk_source_completion_context_get_activation; + int function(GtkSourceCompletionContext* self, GtkTextIter* begin, GtkTextIter* end) c_gtk_source_completion_context_get_bounds; + GtkSourceBuffer* function(GtkSourceCompletionContext* self) c_gtk_source_completion_context_get_buffer; + int function(GtkSourceCompletionContext* self) c_gtk_source_completion_context_get_busy; + GtkSourceCompletion* function(GtkSourceCompletionContext* self) c_gtk_source_completion_context_get_completion; + int function(GtkSourceCompletionContext* self) c_gtk_source_completion_context_get_empty; + GtkSourceLanguage* function(GtkSourceCompletionContext* self) c_gtk_source_completion_context_get_language; + GtkSourceView* function(GtkSourceCompletionContext* self) c_gtk_source_completion_context_get_view; + char* function(GtkSourceCompletionContext* self) c_gtk_source_completion_context_get_word; + void function(GtkSourceCompletionContext* self, GtkSourceCompletionProvider* provider, GListModel* results) c_gtk_source_completion_context_set_proposals_for_provider; + + // sourceview.CompletionProposal + + GType function() c_gtk_source_completion_proposal_get_type; + + // sourceview.CompletionProvider + + GType function() c_gtk_source_completion_provider_get_type; + void function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context, GtkSourceCompletionProposal* proposal) c_gtk_source_completion_provider_activate; + void function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context, GtkSourceCompletionProposal* proposal, GtkSourceCompletionCell* cell) c_gtk_source_completion_provider_display; + int function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context) c_gtk_source_completion_provider_get_priority; + char* function(GtkSourceCompletionProvider* self) c_gtk_source_completion_provider_get_title; + int function(GtkSourceCompletionProvider* self, GtkTextIter* iter, dchar ch) c_gtk_source_completion_provider_is_trigger; + int function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context, GtkSourceCompletionProposal* proposal, uint keyval, GdkModifierType state) c_gtk_source_completion_provider_key_activates; + GPtrArray* function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context, GtkSourceCompletionProposal* proposal) c_gtk_source_completion_provider_list_alternates; + void function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) c_gtk_source_completion_provider_populate_async; + GListModel* function(GtkSourceCompletionProvider* self, GAsyncResult* result, GError** err) c_gtk_source_completion_provider_populate_finish; + void function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context, GListModel* model) c_gtk_source_completion_provider_refilter; + + // sourceview.CompletionSnippets + + GType function() c_gtk_source_completion_snippets_get_type; + GtkSourceCompletionSnippets* function() c_gtk_source_completion_snippets_new; + + // sourceview.CompletionWords + + GType function() c_gtk_source_completion_words_get_type; + GtkSourceCompletionWords* function(const(char)* title) c_gtk_source_completion_words_new; + void function(GtkSourceCompletionWords* words, GtkTextBuffer* buffer) c_gtk_source_completion_words_register; + void function(GtkSourceCompletionWords* words, GtkTextBuffer* buffer) c_gtk_source_completion_words_unregister; + + // sourceview.Encoding + + GType function() c_gtk_source_encoding_get_type; + GtkSourceEncoding* function(GtkSourceEncoding* enc) c_gtk_source_encoding_copy; + void function(GtkSourceEncoding* enc) c_gtk_source_encoding_free; + const(char)* function(GtkSourceEncoding* enc) c_gtk_source_encoding_get_charset; + const(char)* function(GtkSourceEncoding* enc) c_gtk_source_encoding_get_name; + char* function(GtkSourceEncoding* enc) c_gtk_source_encoding_to_string; + GSList* function() c_gtk_source_encoding_get_all; + GtkSourceEncoding* function() c_gtk_source_encoding_get_current; + GSList* function() c_gtk_source_encoding_get_default_candidates; + GtkSourceEncoding* function(const(char)* charset) c_gtk_source_encoding_get_from_charset; + GtkSourceEncoding* function() c_gtk_source_encoding_get_utf8; + + // sourceview.File + + GType function() c_gtk_source_file_get_type; + GtkSourceFile* function() c_gtk_source_file_new; + void function(GtkSourceFile* file) c_gtk_source_file_check_file_on_disk; + GtkSourceCompressionType function(GtkSourceFile* file) c_gtk_source_file_get_compression_type; + GtkSourceEncoding* function(GtkSourceFile* file) c_gtk_source_file_get_encoding; + GFile* function(GtkSourceFile* file) c_gtk_source_file_get_location; + GtkSourceNewlineType function(GtkSourceFile* file) c_gtk_source_file_get_newline_type; + int function(GtkSourceFile* file) c_gtk_source_file_is_deleted; + int function(GtkSourceFile* file) c_gtk_source_file_is_externally_modified; + int function(GtkSourceFile* file) c_gtk_source_file_is_local; + int function(GtkSourceFile* file) c_gtk_source_file_is_readonly; + void function(GtkSourceFile* file, GFile* location) c_gtk_source_file_set_location; + void function(GtkSourceFile* file, GtkSourceMountOperationFactory callback, void* userData, GDestroyNotify notify) c_gtk_source_file_set_mount_operation_factory; + + // sourceview.FileLoader + + GType function() c_gtk_source_file_loader_get_type; + GtkSourceFileLoader* function(GtkSourceBuffer* buffer, GtkSourceFile* file) c_gtk_source_file_loader_new; + GtkSourceFileLoader* function(GtkSourceBuffer* buffer, GtkSourceFile* file, GInputStream* stream) c_gtk_source_file_loader_new_from_stream; + GtkSourceBuffer* function(GtkSourceFileLoader* loader) c_gtk_source_file_loader_get_buffer; + GtkSourceCompressionType function(GtkSourceFileLoader* loader) c_gtk_source_file_loader_get_compression_type; + GtkSourceEncoding* function(GtkSourceFileLoader* loader) c_gtk_source_file_loader_get_encoding; + GtkSourceFile* function(GtkSourceFileLoader* loader) c_gtk_source_file_loader_get_file; + GInputStream* function(GtkSourceFileLoader* loader) c_gtk_source_file_loader_get_input_stream; + GFile* function(GtkSourceFileLoader* loader) c_gtk_source_file_loader_get_location; + GtkSourceNewlineType function(GtkSourceFileLoader* loader) c_gtk_source_file_loader_get_newline_type; + void function(GtkSourceFileLoader* loader, int ioPriority, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GDestroyNotify progressCallbackNotify, GAsyncReadyCallback callback, void* userData) c_gtk_source_file_loader_load_async; + int function(GtkSourceFileLoader* loader, GAsyncResult* result, GError** err) c_gtk_source_file_loader_load_finish; + void function(GtkSourceFileLoader* loader, GSList* candidateEncodings) c_gtk_source_file_loader_set_candidate_encodings; + + // sourceview.FileSaver + + GType function() c_gtk_source_file_saver_get_type; + GtkSourceFileSaver* function(GtkSourceBuffer* buffer, GtkSourceFile* file) c_gtk_source_file_saver_new; + GtkSourceFileSaver* function(GtkSourceBuffer* buffer, GtkSourceFile* file, GFile* targetLocation) c_gtk_source_file_saver_new_with_target; + GtkSourceBuffer* function(GtkSourceFileSaver* saver) c_gtk_source_file_saver_get_buffer; + GtkSourceCompressionType function(GtkSourceFileSaver* saver) c_gtk_source_file_saver_get_compression_type; + GtkSourceEncoding* function(GtkSourceFileSaver* saver) c_gtk_source_file_saver_get_encoding; + GtkSourceFile* function(GtkSourceFileSaver* saver) c_gtk_source_file_saver_get_file; + GtkSourceFileSaverFlags function(GtkSourceFileSaver* saver) c_gtk_source_file_saver_get_flags; + GFile* function(GtkSourceFileSaver* saver) c_gtk_source_file_saver_get_location; + GtkSourceNewlineType function(GtkSourceFileSaver* saver) c_gtk_source_file_saver_get_newline_type; + void function(GtkSourceFileSaver* saver, int ioPriority, GCancellable* cancellable, GFileProgressCallback progressCallback, void* progressCallbackData, GDestroyNotify progressCallbackNotify, GAsyncReadyCallback callback, void* userData) c_gtk_source_file_saver_save_async; + int function(GtkSourceFileSaver* saver, GAsyncResult* result, GError** err) c_gtk_source_file_saver_save_finish; + void function(GtkSourceFileSaver* saver, GtkSourceCompressionType compressionType) c_gtk_source_file_saver_set_compression_type; + void function(GtkSourceFileSaver* saver, GtkSourceEncoding* encoding) c_gtk_source_file_saver_set_encoding; + void function(GtkSourceFileSaver* saver, GtkSourceFileSaverFlags flags) c_gtk_source_file_saver_set_flags; + void function(GtkSourceFileSaver* saver, GtkSourceNewlineType newlineType) c_gtk_source_file_saver_set_newline_type; + + // sourceview.Gutter + + GType function() c_gtk_source_gutter_get_type; + GtkSourceView* function(GtkSourceGutter* gutter) c_gtk_source_gutter_get_view; + int function(GtkSourceGutter* gutter, GtkSourceGutterRenderer* renderer, int position) c_gtk_source_gutter_insert; + void function(GtkSourceGutter* gutter, GtkSourceGutterRenderer* renderer) c_gtk_source_gutter_remove; + void function(GtkSourceGutter* gutter, GtkSourceGutterRenderer* renderer, int position) c_gtk_source_gutter_reorder; + + // sourceview.GutterLines + + GType function() c_gtk_source_gutter_lines_get_type; + void function(GtkSourceGutterLines* lines, uint line, const(char)* name) c_gtk_source_gutter_lines_add_class; + void function(GtkSourceGutterLines* lines, uint line, GQuark qname) c_gtk_source_gutter_lines_add_qclass; + GtkTextBuffer* function(GtkSourceGutterLines* lines) c_gtk_source_gutter_lines_get_buffer; + uint function(GtkSourceGutterLines* lines) c_gtk_source_gutter_lines_get_first; + void function(GtkSourceGutterLines* lines, GtkTextIter* iter, uint line) c_gtk_source_gutter_lines_get_iter_at_line; + uint function(GtkSourceGutterLines* lines) c_gtk_source_gutter_lines_get_last; + void function(GtkSourceGutterLines* lines, uint line, GtkSourceGutterRendererAlignmentMode mode, int* y, int* height) c_gtk_source_gutter_lines_get_line_yrange; + GtkTextView* function(GtkSourceGutterLines* lines) c_gtk_source_gutter_lines_get_view; + int function(GtkSourceGutterLines* lines, uint line, const(char)* name) c_gtk_source_gutter_lines_has_class; + int function(GtkSourceGutterLines* lines, uint line, GQuark qname) c_gtk_source_gutter_lines_has_qclass; + int function(GtkSourceGutterLines* lines, uint line) c_gtk_source_gutter_lines_is_cursor; + int function(GtkSourceGutterLines* lines, uint line) c_gtk_source_gutter_lines_is_prelit; + int function(GtkSourceGutterLines* lines, uint line) c_gtk_source_gutter_lines_is_selected; + void function(GtkSourceGutterLines* lines, uint line, const(char)* name) c_gtk_source_gutter_lines_remove_class; + void function(GtkSourceGutterLines* lines, uint line, GQuark qname) c_gtk_source_gutter_lines_remove_qclass; + + // sourceview.GutterRenderer + + GType function() c_gtk_source_gutter_renderer_get_type; + void function(GtkSourceGutterRenderer* renderer, GtkTextIter* iter, GdkRectangle* area, uint button, GdkModifierType state, int nPresses) c_gtk_source_gutter_renderer_activate; + void function(GtkSourceGutterRenderer* renderer, uint line, float width, float height, float* x, float* y) c_gtk_source_gutter_renderer_align_cell; + GtkSourceGutterRendererAlignmentMode function(GtkSourceGutterRenderer* renderer) c_gtk_source_gutter_renderer_get_alignment_mode; + GtkSourceBuffer* function(GtkSourceGutterRenderer* renderer) c_gtk_source_gutter_renderer_get_buffer; + GtkSourceView* function(GtkSourceGutterRenderer* renderer) c_gtk_source_gutter_renderer_get_view; + float function(GtkSourceGutterRenderer* renderer) c_gtk_source_gutter_renderer_get_xalign; + int function(GtkSourceGutterRenderer* renderer) c_gtk_source_gutter_renderer_get_xpad; + float function(GtkSourceGutterRenderer* renderer) c_gtk_source_gutter_renderer_get_yalign; + int function(GtkSourceGutterRenderer* renderer) c_gtk_source_gutter_renderer_get_ypad; + int function(GtkSourceGutterRenderer* renderer, GtkTextIter* iter, GdkRectangle* area) c_gtk_source_gutter_renderer_query_activatable; + void function(GtkSourceGutterRenderer* renderer, GtkSourceGutterRendererAlignmentMode mode) c_gtk_source_gutter_renderer_set_alignment_mode; + void function(GtkSourceGutterRenderer* renderer, float xalign) c_gtk_source_gutter_renderer_set_xalign; + void function(GtkSourceGutterRenderer* renderer, int xpad) c_gtk_source_gutter_renderer_set_xpad; + void function(GtkSourceGutterRenderer* renderer, float yalign) c_gtk_source_gutter_renderer_set_yalign; + void function(GtkSourceGutterRenderer* renderer, int ypad) c_gtk_source_gutter_renderer_set_ypad; + + // sourceview.GutterRendererPixbuf + + GType function() c_gtk_source_gutter_renderer_pixbuf_get_type; + GtkSourceGutterRenderer* function() c_gtk_source_gutter_renderer_pixbuf_new; + GIcon* function(GtkSourceGutterRendererPixbuf* renderer) c_gtk_source_gutter_renderer_pixbuf_get_gicon; + const(char)* function(GtkSourceGutterRendererPixbuf* renderer) c_gtk_source_gutter_renderer_pixbuf_get_icon_name; + GdkPaintable* function(GtkSourceGutterRendererPixbuf* renderer) c_gtk_source_gutter_renderer_pixbuf_get_paintable; + GdkPixbuf* function(GtkSourceGutterRendererPixbuf* renderer) c_gtk_source_gutter_renderer_pixbuf_get_pixbuf; + void function(GtkSourceGutterRendererPixbuf* renderer, GdkPaintable* paintable) c_gtk_source_gutter_renderer_pixbuf_overlay_paintable; + void function(GtkSourceGutterRendererPixbuf* renderer, GIcon* icon) c_gtk_source_gutter_renderer_pixbuf_set_gicon; + void function(GtkSourceGutterRendererPixbuf* renderer, const(char)* iconName) c_gtk_source_gutter_renderer_pixbuf_set_icon_name; + void function(GtkSourceGutterRendererPixbuf* renderer, GdkPaintable* paintable) c_gtk_source_gutter_renderer_pixbuf_set_paintable; + void function(GtkSourceGutterRendererPixbuf* renderer, GdkPixbuf* pixbuf) c_gtk_source_gutter_renderer_pixbuf_set_pixbuf; + + // sourceview.GutterRendererText + + GType function() c_gtk_source_gutter_renderer_text_get_type; + GtkSourceGutterRenderer* function() c_gtk_source_gutter_renderer_text_new; + void function(GtkSourceGutterRendererText* renderer, const(char)* text, int* width, int* height) c_gtk_source_gutter_renderer_text_measure; + void function(GtkSourceGutterRendererText* renderer, const(char)* markup, int* width, int* height) c_gtk_source_gutter_renderer_text_measure_markup; + void function(GtkSourceGutterRendererText* renderer, const(char)* markup, int length) c_gtk_source_gutter_renderer_text_set_markup; + void function(GtkSourceGutterRendererText* renderer, const(char)* text, int length) c_gtk_source_gutter_renderer_text_set_text; + + // sourceview.Hover + + GType function() c_gtk_source_hover_get_type; + void function(GtkSourceHover* self, GtkSourceHoverProvider* provider) c_gtk_source_hover_add_provider; + void function(GtkSourceHover* self, GtkSourceHoverProvider* provider) c_gtk_source_hover_remove_provider; + + // sourceview.HoverContext + + GType function() c_gtk_source_hover_context_get_type; + int function(GtkSourceHoverContext* self, GtkTextIter* begin, GtkTextIter* end) c_gtk_source_hover_context_get_bounds; + GtkSourceBuffer* function(GtkSourceHoverContext* self) c_gtk_source_hover_context_get_buffer; + int function(GtkSourceHoverContext* self, GtkTextIter* iter) c_gtk_source_hover_context_get_iter; + GtkSourceView* function(GtkSourceHoverContext* self) c_gtk_source_hover_context_get_view; + + // sourceview.HoverDisplay + + GType function() c_gtk_source_hover_display_get_type; + void function(GtkSourceHoverDisplay* self, GtkWidget* child) c_gtk_source_hover_display_append; + void function(GtkSourceHoverDisplay* self, GtkWidget* child, GtkWidget* sibling) c_gtk_source_hover_display_insert_after; + void function(GtkSourceHoverDisplay* self, GtkWidget* child) c_gtk_source_hover_display_prepend; + void function(GtkSourceHoverDisplay* self, GtkWidget* child) c_gtk_source_hover_display_remove; + + // sourceview.HoverProvider + + GType function() c_gtk_source_hover_provider_get_type; + void function(GtkSourceHoverProvider* self, GtkSourceHoverContext* context, GtkSourceHoverDisplay* display, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) c_gtk_source_hover_provider_populate_async; + int function(GtkSourceHoverProvider* self, GAsyncResult* result, GError** err) c_gtk_source_hover_provider_populate_finish; + + // sourceview.Indenter + + GType function() c_gtk_source_indenter_get_type; + void function(GtkSourceIndenter* self, GtkSourceView* view, GtkTextIter* iter) c_gtk_source_indenter_indent; + int function(GtkSourceIndenter* self, GtkSourceView* view, GtkTextIter* location, GdkModifierType state, uint keyval) c_gtk_source_indenter_is_trigger; + + // sourceview.Language + + GType function() c_gtk_source_language_get_type; + char** function(GtkSourceLanguage* language) c_gtk_source_language_get_globs; + int function(GtkSourceLanguage* language) c_gtk_source_language_get_hidden; + const(char)* function(GtkSourceLanguage* language) c_gtk_source_language_get_id; + const(char)* function(GtkSourceLanguage* language, const(char)* name) c_gtk_source_language_get_metadata; + char** function(GtkSourceLanguage* language) c_gtk_source_language_get_mime_types; + const(char)* function(GtkSourceLanguage* language) c_gtk_source_language_get_name; + const(char)* function(GtkSourceLanguage* language) c_gtk_source_language_get_section; + const(char)* function(GtkSourceLanguage* language, const(char)* styleId) c_gtk_source_language_get_style_fallback; + char** function(GtkSourceLanguage* language) c_gtk_source_language_get_style_ids; + const(char)* function(GtkSourceLanguage* language, const(char)* styleId) c_gtk_source_language_get_style_name; + + // sourceview.LanguageManager + + GType function() c_gtk_source_language_manager_get_type; + GtkSourceLanguageManager* function() c_gtk_source_language_manager_new; + GtkSourceLanguageManager* function() c_gtk_source_language_manager_get_default; + void function(GtkSourceLanguageManager* lm, const(char)* path) c_gtk_source_language_manager_append_search_path; + GtkSourceLanguage* function(GtkSourceLanguageManager* lm, const(char)* id) c_gtk_source_language_manager_get_language; + char** function(GtkSourceLanguageManager* lm) c_gtk_source_language_manager_get_language_ids; + char** function(GtkSourceLanguageManager* lm) c_gtk_source_language_manager_get_search_path; + GtkSourceLanguage* function(GtkSourceLanguageManager* lm, char* filename, const(char)* contentType) c_gtk_source_language_manager_guess_language; + void function(GtkSourceLanguageManager* lm, const(char)* path) c_gtk_source_language_manager_prepend_search_path; + void function(GtkSourceLanguageManager* lm, char** dirs) c_gtk_source_language_manager_set_search_path; + + // sourceview.Map + + GType function() c_gtk_source_map_get_type; + GtkWidget* function() c_gtk_source_map_new; + GtkSourceView* function(GtkSourceMap* map) c_gtk_source_map_get_view; + void function(GtkSourceMap* map, GtkSourceView* view) c_gtk_source_map_set_view; + + // sourceview.Mark + + GType function() c_gtk_source_mark_get_type; + GtkSourceMark* function(const(char)* name, const(char)* category) c_gtk_source_mark_new; + const(char)* function(GtkSourceMark* mark) c_gtk_source_mark_get_category; + GtkSourceMark* function(GtkSourceMark* mark, const(char)* category) c_gtk_source_mark_next; + GtkSourceMark* function(GtkSourceMark* mark, const(char)* category) c_gtk_source_mark_prev; + + // sourceview.MarkAttributes + + GType function() c_gtk_source_mark_attributes_get_type; + GtkSourceMarkAttributes* function() c_gtk_source_mark_attributes_new; + int function(GtkSourceMarkAttributes* attributes, GdkRGBA* background) c_gtk_source_mark_attributes_get_background; + GIcon* function(GtkSourceMarkAttributes* attributes) c_gtk_source_mark_attributes_get_gicon; + const(char)* function(GtkSourceMarkAttributes* attributes) c_gtk_source_mark_attributes_get_icon_name; + GdkPixbuf* function(GtkSourceMarkAttributes* attributes) c_gtk_source_mark_attributes_get_pixbuf; + char* function(GtkSourceMarkAttributes* attributes, GtkSourceMark* mark) c_gtk_source_mark_attributes_get_tooltip_markup; + char* function(GtkSourceMarkAttributes* attributes, GtkSourceMark* mark) c_gtk_source_mark_attributes_get_tooltip_text; + GdkPaintable* function(GtkSourceMarkAttributes* attributes, GtkWidget* widget, int size) c_gtk_source_mark_attributes_render_icon; + void function(GtkSourceMarkAttributes* attributes, GdkRGBA* background) c_gtk_source_mark_attributes_set_background; + void function(GtkSourceMarkAttributes* attributes, GIcon* gicon) c_gtk_source_mark_attributes_set_gicon; + void function(GtkSourceMarkAttributes* attributes, const(char)* iconName) c_gtk_source_mark_attributes_set_icon_name; + void function(GtkSourceMarkAttributes* attributes, GdkPixbuf* pixbuf) c_gtk_source_mark_attributes_set_pixbuf; + + // sourceview.PrintCompositor + + GType function() c_gtk_source_print_compositor_get_type; + GtkSourcePrintCompositor* function(GtkSourceBuffer* buffer) c_gtk_source_print_compositor_new; + GtkSourcePrintCompositor* function(GtkSourceView* view) c_gtk_source_print_compositor_new_from_view; + void function(GtkSourcePrintCompositor* compositor, GtkPrintContext* context, int pageNr) c_gtk_source_print_compositor_draw_page; + char* function(GtkSourcePrintCompositor* compositor) c_gtk_source_print_compositor_get_body_font_name; + double function(GtkSourcePrintCompositor* compositor, GtkUnit unit) c_gtk_source_print_compositor_get_bottom_margin; + GtkSourceBuffer* function(GtkSourcePrintCompositor* compositor) c_gtk_source_print_compositor_get_buffer; + char* function(GtkSourcePrintCompositor* compositor) c_gtk_source_print_compositor_get_footer_font_name; + char* function(GtkSourcePrintCompositor* compositor) c_gtk_source_print_compositor_get_header_font_name; + int function(GtkSourcePrintCompositor* compositor) c_gtk_source_print_compositor_get_highlight_syntax; + double function(GtkSourcePrintCompositor* compositor, GtkUnit unit) c_gtk_source_print_compositor_get_left_margin; + char* function(GtkSourcePrintCompositor* compositor) c_gtk_source_print_compositor_get_line_numbers_font_name; + int function(GtkSourcePrintCompositor* compositor) c_gtk_source_print_compositor_get_n_pages; + double function(GtkSourcePrintCompositor* compositor) c_gtk_source_print_compositor_get_pagination_progress; + int function(GtkSourcePrintCompositor* compositor) c_gtk_source_print_compositor_get_print_footer; + int function(GtkSourcePrintCompositor* compositor) c_gtk_source_print_compositor_get_print_header; + uint function(GtkSourcePrintCompositor* compositor) c_gtk_source_print_compositor_get_print_line_numbers; + double function(GtkSourcePrintCompositor* compositor, GtkUnit unit) c_gtk_source_print_compositor_get_right_margin; + uint function(GtkSourcePrintCompositor* compositor) c_gtk_source_print_compositor_get_tab_width; + double function(GtkSourcePrintCompositor* compositor, GtkUnit unit) c_gtk_source_print_compositor_get_top_margin; + GtkWrapMode function(GtkSourcePrintCompositor* compositor) c_gtk_source_print_compositor_get_wrap_mode; + void function(GtkSourcePrintCompositor* compositor, GtkTextTag* tag) c_gtk_source_print_compositor_ignore_tag; + int function(GtkSourcePrintCompositor* compositor, GtkPrintContext* context) c_gtk_source_print_compositor_paginate; + void function(GtkSourcePrintCompositor* compositor, const(char)* fontName) c_gtk_source_print_compositor_set_body_font_name; + void function(GtkSourcePrintCompositor* compositor, double margin, GtkUnit unit) c_gtk_source_print_compositor_set_bottom_margin; + void function(GtkSourcePrintCompositor* compositor, const(char)* fontName) c_gtk_source_print_compositor_set_footer_font_name; + void function(GtkSourcePrintCompositor* compositor, int separator, const(char)* left, const(char)* center, const(char)* right) c_gtk_source_print_compositor_set_footer_format; + void function(GtkSourcePrintCompositor* compositor, const(char)* fontName) c_gtk_source_print_compositor_set_header_font_name; + void function(GtkSourcePrintCompositor* compositor, int separator, const(char)* left, const(char)* center, const(char)* right) c_gtk_source_print_compositor_set_header_format; + void function(GtkSourcePrintCompositor* compositor, int highlight) c_gtk_source_print_compositor_set_highlight_syntax; + void function(GtkSourcePrintCompositor* compositor, double margin, GtkUnit unit) c_gtk_source_print_compositor_set_left_margin; + void function(GtkSourcePrintCompositor* compositor, const(char)* fontName) c_gtk_source_print_compositor_set_line_numbers_font_name; + void function(GtkSourcePrintCompositor* compositor, int print) c_gtk_source_print_compositor_set_print_footer; + void function(GtkSourcePrintCompositor* compositor, int print) c_gtk_source_print_compositor_set_print_header; + void function(GtkSourcePrintCompositor* compositor, uint interval) c_gtk_source_print_compositor_set_print_line_numbers; + void function(GtkSourcePrintCompositor* compositor, double margin, GtkUnit unit) c_gtk_source_print_compositor_set_right_margin; + void function(GtkSourcePrintCompositor* compositor, uint width) c_gtk_source_print_compositor_set_tab_width; + void function(GtkSourcePrintCompositor* compositor, double margin, GtkUnit unit) c_gtk_source_print_compositor_set_top_margin; + void function(GtkSourcePrintCompositor* compositor, GtkWrapMode wrapMode) c_gtk_source_print_compositor_set_wrap_mode; + + // sourceview.Region + + GType function() c_gtk_source_region_get_type; + GtkSourceRegion* function(GtkTextBuffer* buffer) c_gtk_source_region_new; + void function(GtkSourceRegion* region, GtkSourceRegion* regionToAdd) c_gtk_source_region_add_region; + void function(GtkSourceRegion* region, GtkTextIter* Start, GtkTextIter* End) c_gtk_source_region_add_subregion; + int function(GtkSourceRegion* region, GtkTextIter* start, GtkTextIter* end) c_gtk_source_region_get_bounds; + GtkTextBuffer* function(GtkSourceRegion* region) c_gtk_source_region_get_buffer; + void function(GtkSourceRegion* region, GtkSourceRegionIter* iter) c_gtk_source_region_get_start_region_iter; + GtkSourceRegion* function(GtkSourceRegion* region1, GtkSourceRegion* region2) c_gtk_source_region_intersect_region; + GtkSourceRegion* function(GtkSourceRegion* region, GtkTextIter* Start, GtkTextIter* End) c_gtk_source_region_intersect_subregion; + int function(GtkSourceRegion* region) c_gtk_source_region_is_empty; + void function(GtkSourceRegion* region, GtkSourceRegion* regionToSubtract) c_gtk_source_region_subtract_region; + void function(GtkSourceRegion* region, GtkTextIter* Start, GtkTextIter* End) c_gtk_source_region_subtract_subregion; + char* function(GtkSourceRegion* region) c_gtk_source_region_to_string; + + // sourceview.RegionIter + + int function(GtkSourceRegionIter* iter, GtkTextIter* start, GtkTextIter* end) c_gtk_source_region_iter_get_subregion; + int function(GtkSourceRegionIter* iter) c_gtk_source_region_iter_is_end; + int function(GtkSourceRegionIter* iter) c_gtk_source_region_iter_next; + + // sourceview.SearchContext + + GType function() c_gtk_source_search_context_get_type; + GtkSourceSearchContext* function(GtkSourceBuffer* buffer, GtkSourceSearchSettings* settings) c_gtk_source_search_context_new; + int function(GtkSourceSearchContext* search, GtkTextIter* iter, GtkTextIter* matchStart, GtkTextIter* matchEnd, int* hasWrappedAround) c_gtk_source_search_context_backward; + void function(GtkSourceSearchContext* search, GtkTextIter* iter, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) c_gtk_source_search_context_backward_async; + int function(GtkSourceSearchContext* search, GAsyncResult* result, GtkTextIter* matchStart, GtkTextIter* matchEnd, int* hasWrappedAround, GError** err) c_gtk_source_search_context_backward_finish; + int function(GtkSourceSearchContext* search, GtkTextIter* iter, GtkTextIter* matchStart, GtkTextIter* matchEnd, int* hasWrappedAround) c_gtk_source_search_context_forward; + void function(GtkSourceSearchContext* search, GtkTextIter* iter, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) c_gtk_source_search_context_forward_async; + int function(GtkSourceSearchContext* search, GAsyncResult* result, GtkTextIter* matchStart, GtkTextIter* matchEnd, int* hasWrappedAround, GError** err) c_gtk_source_search_context_forward_finish; + GtkSourceBuffer* function(GtkSourceSearchContext* search) c_gtk_source_search_context_get_buffer; + int function(GtkSourceSearchContext* search) c_gtk_source_search_context_get_highlight; + GtkSourceStyle* function(GtkSourceSearchContext* search) c_gtk_source_search_context_get_match_style; + int function(GtkSourceSearchContext* search, GtkTextIter* matchStart, GtkTextIter* matchEnd) c_gtk_source_search_context_get_occurrence_position; + int function(GtkSourceSearchContext* search) c_gtk_source_search_context_get_occurrences_count; + GError* function(GtkSourceSearchContext* search) c_gtk_source_search_context_get_regex_error; + GtkSourceSearchSettings* function(GtkSourceSearchContext* search) c_gtk_source_search_context_get_settings; + int function(GtkSourceSearchContext* search, GtkTextIter* matchStart, GtkTextIter* matchEnd, const(char)* replace, int replaceLength, GError** err) c_gtk_source_search_context_replace; + uint function(GtkSourceSearchContext* search, const(char)* replace, int replaceLength, GError** err) c_gtk_source_search_context_replace_all; + void function(GtkSourceSearchContext* search, int highlight) c_gtk_source_search_context_set_highlight; + void function(GtkSourceSearchContext* search, GtkSourceStyle* matchStyle) c_gtk_source_search_context_set_match_style; + + // sourceview.SearchSettings + + GType function() c_gtk_source_search_settings_get_type; + GtkSourceSearchSettings* function() c_gtk_source_search_settings_new; + int function(GtkSourceSearchSettings* settings) c_gtk_source_search_settings_get_at_word_boundaries; + int function(GtkSourceSearchSettings* settings) c_gtk_source_search_settings_get_case_sensitive; + int function(GtkSourceSearchSettings* settings) c_gtk_source_search_settings_get_regex_enabled; + const(char)* function(GtkSourceSearchSettings* settings) c_gtk_source_search_settings_get_search_text; + int function(GtkSourceSearchSettings* settings) c_gtk_source_search_settings_get_wrap_around; + void function(GtkSourceSearchSettings* settings, int atWordBoundaries) c_gtk_source_search_settings_set_at_word_boundaries; + void function(GtkSourceSearchSettings* settings, int caseSensitive) c_gtk_source_search_settings_set_case_sensitive; + void function(GtkSourceSearchSettings* settings, int regexEnabled) c_gtk_source_search_settings_set_regex_enabled; + void function(GtkSourceSearchSettings* settings, const(char)* searchText) c_gtk_source_search_settings_set_search_text; + void function(GtkSourceSearchSettings* settings, int wrapAround) c_gtk_source_search_settings_set_wrap_around; + + // sourceview.Snippet + + GType function() c_gtk_source_snippet_get_type; + GtkSourceSnippet* function(const(char)* trigger, const(char)* languageId) c_gtk_source_snippet_new; + void function(GtkSourceSnippet* snippet, GtkSourceSnippetChunk* chunk) c_gtk_source_snippet_add_chunk; + GtkSourceSnippet* function(GtkSourceSnippet* snippet) c_gtk_source_snippet_copy; + GtkSourceSnippetContext* function(GtkSourceSnippet* snippet) c_gtk_source_snippet_get_context; + const(char)* function(GtkSourceSnippet* snippet) c_gtk_source_snippet_get_description; + int function(GtkSourceSnippet* snippet) c_gtk_source_snippet_get_focus_position; + const(char)* function(GtkSourceSnippet* snippet) c_gtk_source_snippet_get_language_id; + uint function(GtkSourceSnippet* snippet) c_gtk_source_snippet_get_n_chunks; + const(char)* function(GtkSourceSnippet* snippet) c_gtk_source_snippet_get_name; + GtkSourceSnippetChunk* function(GtkSourceSnippet* snippet, uint nth) c_gtk_source_snippet_get_nth_chunk; + const(char)* function(GtkSourceSnippet* snippet) c_gtk_source_snippet_get_trigger; + void function(GtkSourceSnippet* snippet, const(char)* description) c_gtk_source_snippet_set_description; + void function(GtkSourceSnippet* snippet, const(char)* languageId) c_gtk_source_snippet_set_language_id; + void function(GtkSourceSnippet* snippet, const(char)* name) c_gtk_source_snippet_set_name; + void function(GtkSourceSnippet* snippet, const(char)* trigger) c_gtk_source_snippet_set_trigger; + + // sourceview.SnippetChunk + + GType function() c_gtk_source_snippet_chunk_get_type; + GtkSourceSnippetChunk* function() c_gtk_source_snippet_chunk_new; + GtkSourceSnippetChunk* function(GtkSourceSnippetChunk* chunk) c_gtk_source_snippet_chunk_copy; + GtkSourceSnippetContext* function(GtkSourceSnippetChunk* chunk) c_gtk_source_snippet_chunk_get_context; + int function(GtkSourceSnippetChunk* chunk) c_gtk_source_snippet_chunk_get_focus_position; + const(char)* function(GtkSourceSnippetChunk* chunk) c_gtk_source_snippet_chunk_get_spec; + const(char)* function(GtkSourceSnippetChunk* chunk) c_gtk_source_snippet_chunk_get_text; + int function(GtkSourceSnippetChunk* chunk) c_gtk_source_snippet_chunk_get_text_set; + const(char)* function(GtkSourceSnippetChunk* chunk) c_gtk_source_snippet_chunk_get_tooltip_text; + void function(GtkSourceSnippetChunk* chunk, GtkSourceSnippetContext* context) c_gtk_source_snippet_chunk_set_context; + void function(GtkSourceSnippetChunk* chunk, int focusPosition) c_gtk_source_snippet_chunk_set_focus_position; + void function(GtkSourceSnippetChunk* chunk, const(char)* spec) c_gtk_source_snippet_chunk_set_spec; + void function(GtkSourceSnippetChunk* chunk, const(char)* text) c_gtk_source_snippet_chunk_set_text; + void function(GtkSourceSnippetChunk* chunk, int textSet) c_gtk_source_snippet_chunk_set_text_set; + void function(GtkSourceSnippetChunk* chunk, const(char)* tooltipText) c_gtk_source_snippet_chunk_set_tooltip_text; + + // sourceview.SnippetContext + + GType function() c_gtk_source_snippet_context_get_type; + GtkSourceSnippetContext* function() c_gtk_source_snippet_context_new; + void function(GtkSourceSnippetContext* self) c_gtk_source_snippet_context_clear_variables; + char* function(GtkSourceSnippetContext* self, const(char)* input) c_gtk_source_snippet_context_expand; + const(char)* function(GtkSourceSnippetContext* self, const(char)* key) c_gtk_source_snippet_context_get_variable; + void function(GtkSourceSnippetContext* self, const(char)* key, const(char)* value) c_gtk_source_snippet_context_set_constant; + void function(GtkSourceSnippetContext* self, const(char)* linePrefix) c_gtk_source_snippet_context_set_line_prefix; + void function(GtkSourceSnippetContext* self, int tabWidth) c_gtk_source_snippet_context_set_tab_width; + void function(GtkSourceSnippetContext* self, int useSpaces) c_gtk_source_snippet_context_set_use_spaces; + void function(GtkSourceSnippetContext* self, const(char)* key, const(char)* value) c_gtk_source_snippet_context_set_variable; + + // sourceview.SnippetManager + + GType function() c_gtk_source_snippet_manager_get_type; + GtkSourceSnippetManager* function() c_gtk_source_snippet_manager_get_default; + char** function(GtkSourceSnippetManager* self) c_gtk_source_snippet_manager_get_search_path; + GtkSourceSnippet* function(GtkSourceSnippetManager* self, const(char)* group, const(char)* languageId, const(char)* trigger) c_gtk_source_snippet_manager_get_snippet; + char** function(GtkSourceSnippetManager* self) c_gtk_source_snippet_manager_list_groups; + GListModel* function(GtkSourceSnippetManager* self, const(char)* group, const(char)* languageId, const(char)* triggerPrefix) c_gtk_source_snippet_manager_list_matching; + void function(GtkSourceSnippetManager* self, char** dirs) c_gtk_source_snippet_manager_set_search_path; + + // sourceview.SpaceDrawer + + GType function() c_gtk_source_space_drawer_get_type; + GtkSourceSpaceDrawer* function() c_gtk_source_space_drawer_new; + void function(GtkSourceSpaceDrawer* drawer, GSettings* settings, const(char)* key, GSettingsBindFlags flags) c_gtk_source_space_drawer_bind_matrix_setting; + int function(GtkSourceSpaceDrawer* drawer) c_gtk_source_space_drawer_get_enable_matrix; + GVariant* function(GtkSourceSpaceDrawer* drawer) c_gtk_source_space_drawer_get_matrix; + GtkSourceSpaceTypeFlags function(GtkSourceSpaceDrawer* drawer, GtkSourceSpaceLocationFlags locations) c_gtk_source_space_drawer_get_types_for_locations; + void function(GtkSourceSpaceDrawer* drawer, int enableMatrix) c_gtk_source_space_drawer_set_enable_matrix; + void function(GtkSourceSpaceDrawer* drawer, GVariant* matrix) c_gtk_source_space_drawer_set_matrix; + void function(GtkSourceSpaceDrawer* drawer, GtkSourceSpaceLocationFlags locations, GtkSourceSpaceTypeFlags types) c_gtk_source_space_drawer_set_types_for_locations; + + // sourceview.Style + + GType function() c_gtk_source_style_get_type; + void function(GtkSourceStyle* style, GtkTextTag* tag) c_gtk_source_style_apply; + GtkSourceStyle* function(GtkSourceStyle* style) c_gtk_source_style_copy; + + // sourceview.StyleScheme + + GType function() c_gtk_source_style_scheme_get_type; + char** function(GtkSourceStyleScheme* scheme) c_gtk_source_style_scheme_get_authors; + const(char)* function(GtkSourceStyleScheme* scheme) c_gtk_source_style_scheme_get_description; + const(char)* function(GtkSourceStyleScheme* scheme) c_gtk_source_style_scheme_get_filename; + const(char)* function(GtkSourceStyleScheme* scheme) c_gtk_source_style_scheme_get_id; + const(char)* function(GtkSourceStyleScheme* scheme, const(char)* name) c_gtk_source_style_scheme_get_metadata; + const(char)* function(GtkSourceStyleScheme* scheme) c_gtk_source_style_scheme_get_name; + GtkSourceStyle* function(GtkSourceStyleScheme* scheme, const(char)* styleId) c_gtk_source_style_scheme_get_style; + + // sourceview.StyleSchemeChooser + + GType function() c_gtk_source_style_scheme_chooser_get_type; + GtkSourceStyleScheme* function(GtkSourceStyleSchemeChooser* chooser) c_gtk_source_style_scheme_chooser_get_style_scheme; + void function(GtkSourceStyleSchemeChooser* chooser, GtkSourceStyleScheme* scheme) c_gtk_source_style_scheme_chooser_set_style_scheme; + + // sourceview.StyleSchemeChooserButton + + GType function() c_gtk_source_style_scheme_chooser_button_get_type; + GtkWidget* function() c_gtk_source_style_scheme_chooser_button_new; + + // sourceview.StyleSchemeChooserWidget + + GType function() c_gtk_source_style_scheme_chooser_widget_get_type; + GtkWidget* function() c_gtk_source_style_scheme_chooser_widget_new; + + // sourceview.StyleSchemeManager + + GType function() c_gtk_source_style_scheme_manager_get_type; + GtkSourceStyleSchemeManager* function() c_gtk_source_style_scheme_manager_new; + GtkSourceStyleSchemeManager* function() c_gtk_source_style_scheme_manager_get_default; + void function(GtkSourceStyleSchemeManager* manager, const(char)* path) c_gtk_source_style_scheme_manager_append_search_path; + void function(GtkSourceStyleSchemeManager* manager) c_gtk_source_style_scheme_manager_force_rescan; + GtkSourceStyleScheme* function(GtkSourceStyleSchemeManager* manager, const(char)* schemeId) c_gtk_source_style_scheme_manager_get_scheme; + char** function(GtkSourceStyleSchemeManager* manager) c_gtk_source_style_scheme_manager_get_scheme_ids; + char** function(GtkSourceStyleSchemeManager* manager) c_gtk_source_style_scheme_manager_get_search_path; + void function(GtkSourceStyleSchemeManager* manager, const(char)* path) c_gtk_source_style_scheme_manager_prepend_search_path; + void function(GtkSourceStyleSchemeManager* manager, char** path) c_gtk_source_style_scheme_manager_set_search_path; + + // sourceview.StyleSchemePreview + + GType function() c_gtk_source_style_scheme_preview_get_type; + GtkWidget* function(GtkSourceStyleScheme* scheme) c_gtk_source_style_scheme_preview_new; + GtkSourceStyleScheme* function(GtkSourceStyleSchemePreview* self) c_gtk_source_style_scheme_preview_get_scheme; + int function(GtkSourceStyleSchemePreview* self) c_gtk_source_style_scheme_preview_get_selected; + void function(GtkSourceStyleSchemePreview* self, int selected) c_gtk_source_style_scheme_preview_set_selected; + + // sourceview.Tag + + GType function() c_gtk_source_tag_get_type; + GtkTextTag* function(const(char)* name) c_gtk_source_tag_new; + + // sourceview.View + + GType function() c_gtk_source_view_get_type; + GtkWidget* function() c_gtk_source_view_new; + GtkWidget* function(GtkSourceBuffer* buffer) c_gtk_source_view_new_with_buffer; + int function(GtkSourceView* view) c_gtk_source_view_get_auto_indent; + GtkSourceBackgroundPatternType function(GtkSourceView* view) c_gtk_source_view_get_background_pattern; + GtkSourceCompletion* function(GtkSourceView* view) c_gtk_source_view_get_completion; + int function(GtkSourceView* view) c_gtk_source_view_get_enable_snippets; + GtkSourceGutter* function(GtkSourceView* view, GtkTextWindowType windowType) c_gtk_source_view_get_gutter; + int function(GtkSourceView* view) c_gtk_source_view_get_highlight_current_line; + GtkSourceHover* function(GtkSourceView* view) c_gtk_source_view_get_hover; + int function(GtkSourceView* view) c_gtk_source_view_get_indent_on_tab; + int function(GtkSourceView* view) c_gtk_source_view_get_indent_width; + GtkSourceIndenter* function(GtkSourceView* view) c_gtk_source_view_get_indenter; + int function(GtkSourceView* view) c_gtk_source_view_get_insert_spaces_instead_of_tabs; + GtkSourceMarkAttributes* function(GtkSourceView* view, const(char)* category, int* priority) c_gtk_source_view_get_mark_attributes; + uint function(GtkSourceView* view) c_gtk_source_view_get_right_margin_position; + int function(GtkSourceView* view) c_gtk_source_view_get_show_line_marks; + int function(GtkSourceView* view) c_gtk_source_view_get_show_line_numbers; + int function(GtkSourceView* view) c_gtk_source_view_get_show_right_margin; + int function(GtkSourceView* view) c_gtk_source_view_get_smart_backspace; + GtkSourceSmartHomeEndType function(GtkSourceView* view) c_gtk_source_view_get_smart_home_end; + GtkSourceSpaceDrawer* function(GtkSourceView* view) c_gtk_source_view_get_space_drawer; + uint function(GtkSourceView* view) c_gtk_source_view_get_tab_width; + uint function(GtkSourceView* view, GtkTextIter* iter) c_gtk_source_view_get_visual_column; + void function(GtkSourceView* view, GtkTextIter* start, GtkTextIter* end) c_gtk_source_view_indent_lines; + void function(GtkSourceView* view, GtkSourceSnippet* snippet, GtkTextIter* location) c_gtk_source_view_push_snippet; + void function(GtkSourceView* view, int enable) c_gtk_source_view_set_auto_indent; + void function(GtkSourceView* view, GtkSourceBackgroundPatternType backgroundPattern) c_gtk_source_view_set_background_pattern; + void function(GtkSourceView* view, int enableSnippets) c_gtk_source_view_set_enable_snippets; + void function(GtkSourceView* view, int highlight) c_gtk_source_view_set_highlight_current_line; + void function(GtkSourceView* view, int enable) c_gtk_source_view_set_indent_on_tab; + void function(GtkSourceView* view, int width) c_gtk_source_view_set_indent_width; + void function(GtkSourceView* view, GtkSourceIndenter* indenter) c_gtk_source_view_set_indenter; + void function(GtkSourceView* view, int enable) c_gtk_source_view_set_insert_spaces_instead_of_tabs; + void function(GtkSourceView* view, const(char)* category, GtkSourceMarkAttributes* attributes, int priority) c_gtk_source_view_set_mark_attributes; + void function(GtkSourceView* view, uint pos) c_gtk_source_view_set_right_margin_position; + void function(GtkSourceView* view, int show) c_gtk_source_view_set_show_line_marks; + void function(GtkSourceView* view, int show) c_gtk_source_view_set_show_line_numbers; + void function(GtkSourceView* view, int show) c_gtk_source_view_set_show_right_margin; + void function(GtkSourceView* view, int smartBackspace) c_gtk_source_view_set_smart_backspace; + void function(GtkSourceView* view, GtkSourceSmartHomeEndType smartHomeEnd) c_gtk_source_view_set_smart_home_end; + void function(GtkSourceView* view, uint width) c_gtk_source_view_set_tab_width; + void function(GtkSourceView* view, GtkTextIter* start, GtkTextIter* end) c_gtk_source_view_unindent_lines; + + // sourceview.VimIMContext + + GType function() c_gtk_source_vim_im_context_get_type; + GtkIMContext* function() c_gtk_source_vim_im_context_new; + void function(GtkSourceVimIMContext* self, const(char)* command) c_gtk_source_vim_im_context_execute_command; + const(char)* function(GtkSourceVimIMContext* self) c_gtk_source_vim_im_context_get_command_bar_text; + const(char)* function(GtkSourceVimIMContext* self) c_gtk_source_vim_im_context_get_command_text; +} + + +// sourceview.Buffer + +alias c_gtk_source_buffer_get_type gtk_source_buffer_get_type; +alias c_gtk_source_buffer_new gtk_source_buffer_new; +alias c_gtk_source_buffer_new_with_language gtk_source_buffer_new_with_language; +alias c_gtk_source_buffer_backward_iter_to_source_mark gtk_source_buffer_backward_iter_to_source_mark; +alias c_gtk_source_buffer_change_case gtk_source_buffer_change_case; +alias c_gtk_source_buffer_create_source_mark gtk_source_buffer_create_source_mark; +alias c_gtk_source_buffer_create_source_tag gtk_source_buffer_create_source_tag; +alias c_gtk_source_buffer_ensure_highlight gtk_source_buffer_ensure_highlight; +alias c_gtk_source_buffer_forward_iter_to_source_mark gtk_source_buffer_forward_iter_to_source_mark; +alias c_gtk_source_buffer_get_context_classes_at_iter gtk_source_buffer_get_context_classes_at_iter; +alias c_gtk_source_buffer_get_highlight_matching_brackets gtk_source_buffer_get_highlight_matching_brackets; +alias c_gtk_source_buffer_get_highlight_syntax gtk_source_buffer_get_highlight_syntax; +alias c_gtk_source_buffer_get_implicit_trailing_newline gtk_source_buffer_get_implicit_trailing_newline; +alias c_gtk_source_buffer_get_language gtk_source_buffer_get_language; +alias c_gtk_source_buffer_get_source_marks_at_iter gtk_source_buffer_get_source_marks_at_iter; +alias c_gtk_source_buffer_get_source_marks_at_line gtk_source_buffer_get_source_marks_at_line; +alias c_gtk_source_buffer_get_style_scheme gtk_source_buffer_get_style_scheme; +alias c_gtk_source_buffer_iter_backward_to_context_class_toggle gtk_source_buffer_iter_backward_to_context_class_toggle; +alias c_gtk_source_buffer_iter_forward_to_context_class_toggle gtk_source_buffer_iter_forward_to_context_class_toggle; +alias c_gtk_source_buffer_iter_has_context_class gtk_source_buffer_iter_has_context_class; +alias c_gtk_source_buffer_join_lines gtk_source_buffer_join_lines; +alias c_gtk_source_buffer_remove_source_marks gtk_source_buffer_remove_source_marks; +alias c_gtk_source_buffer_set_highlight_matching_brackets gtk_source_buffer_set_highlight_matching_brackets; +alias c_gtk_source_buffer_set_highlight_syntax gtk_source_buffer_set_highlight_syntax; +alias c_gtk_source_buffer_set_implicit_trailing_newline gtk_source_buffer_set_implicit_trailing_newline; +alias c_gtk_source_buffer_set_language gtk_source_buffer_set_language; +alias c_gtk_source_buffer_set_style_scheme gtk_source_buffer_set_style_scheme; +alias c_gtk_source_buffer_sort_lines gtk_source_buffer_sort_lines; + +// sourceview.Completion + +alias c_gtk_source_completion_get_type gtk_source_completion_get_type; +alias c_gtk_source_completion_fuzzy_highlight gtk_source_completion_fuzzy_highlight; +alias c_gtk_source_completion_fuzzy_match gtk_source_completion_fuzzy_match; +alias c_gtk_source_completion_add_provider gtk_source_completion_add_provider; +alias c_gtk_source_completion_block_interactive gtk_source_completion_block_interactive; +alias c_gtk_source_completion_get_buffer gtk_source_completion_get_buffer; +alias c_gtk_source_completion_get_page_size gtk_source_completion_get_page_size; +alias c_gtk_source_completion_get_view gtk_source_completion_get_view; +alias c_gtk_source_completion_hide gtk_source_completion_hide; +alias c_gtk_source_completion_remove_provider gtk_source_completion_remove_provider; +alias c_gtk_source_completion_set_page_size gtk_source_completion_set_page_size; +alias c_gtk_source_completion_show gtk_source_completion_show; +alias c_gtk_source_completion_unblock_interactive gtk_source_completion_unblock_interactive; + +// sourceview.CompletionCell + +alias c_gtk_source_completion_cell_get_type gtk_source_completion_cell_get_type; +alias c_gtk_source_completion_cell_get_column gtk_source_completion_cell_get_column; +alias c_gtk_source_completion_cell_get_widget gtk_source_completion_cell_get_widget; +alias c_gtk_source_completion_cell_set_gicon gtk_source_completion_cell_set_gicon; +alias c_gtk_source_completion_cell_set_icon_name gtk_source_completion_cell_set_icon_name; +alias c_gtk_source_completion_cell_set_markup gtk_source_completion_cell_set_markup; +alias c_gtk_source_completion_cell_set_paintable gtk_source_completion_cell_set_paintable; +alias c_gtk_source_completion_cell_set_text gtk_source_completion_cell_set_text; +alias c_gtk_source_completion_cell_set_text_with_attributes gtk_source_completion_cell_set_text_with_attributes; +alias c_gtk_source_completion_cell_set_widget gtk_source_completion_cell_set_widget; + +// sourceview.CompletionContext + +alias c_gtk_source_completion_context_get_type gtk_source_completion_context_get_type; +alias c_gtk_source_completion_context_get_activation gtk_source_completion_context_get_activation; +alias c_gtk_source_completion_context_get_bounds gtk_source_completion_context_get_bounds; +alias c_gtk_source_completion_context_get_buffer gtk_source_completion_context_get_buffer; +alias c_gtk_source_completion_context_get_busy gtk_source_completion_context_get_busy; +alias c_gtk_source_completion_context_get_completion gtk_source_completion_context_get_completion; +alias c_gtk_source_completion_context_get_empty gtk_source_completion_context_get_empty; +alias c_gtk_source_completion_context_get_language gtk_source_completion_context_get_language; +alias c_gtk_source_completion_context_get_view gtk_source_completion_context_get_view; +alias c_gtk_source_completion_context_get_word gtk_source_completion_context_get_word; +alias c_gtk_source_completion_context_set_proposals_for_provider gtk_source_completion_context_set_proposals_for_provider; + +// sourceview.CompletionProposal + +alias c_gtk_source_completion_proposal_get_type gtk_source_completion_proposal_get_type; + +// sourceview.CompletionProvider + +alias c_gtk_source_completion_provider_get_type gtk_source_completion_provider_get_type; +alias c_gtk_source_completion_provider_activate gtk_source_completion_provider_activate; +alias c_gtk_source_completion_provider_display gtk_source_completion_provider_display; +alias c_gtk_source_completion_provider_get_priority gtk_source_completion_provider_get_priority; +alias c_gtk_source_completion_provider_get_title gtk_source_completion_provider_get_title; +alias c_gtk_source_completion_provider_is_trigger gtk_source_completion_provider_is_trigger; +alias c_gtk_source_completion_provider_key_activates gtk_source_completion_provider_key_activates; +alias c_gtk_source_completion_provider_list_alternates gtk_source_completion_provider_list_alternates; +alias c_gtk_source_completion_provider_populate_async gtk_source_completion_provider_populate_async; +alias c_gtk_source_completion_provider_populate_finish gtk_source_completion_provider_populate_finish; +alias c_gtk_source_completion_provider_refilter gtk_source_completion_provider_refilter; + +// sourceview.CompletionSnippets + +alias c_gtk_source_completion_snippets_get_type gtk_source_completion_snippets_get_type; +alias c_gtk_source_completion_snippets_new gtk_source_completion_snippets_new; + +// sourceview.CompletionWords + +alias c_gtk_source_completion_words_get_type gtk_source_completion_words_get_type; +alias c_gtk_source_completion_words_new gtk_source_completion_words_new; +alias c_gtk_source_completion_words_register gtk_source_completion_words_register; +alias c_gtk_source_completion_words_unregister gtk_source_completion_words_unregister; + +// sourceview.Encoding + +alias c_gtk_source_encoding_get_type gtk_source_encoding_get_type; +alias c_gtk_source_encoding_copy gtk_source_encoding_copy; +alias c_gtk_source_encoding_free gtk_source_encoding_free; +alias c_gtk_source_encoding_get_charset gtk_source_encoding_get_charset; +alias c_gtk_source_encoding_get_name gtk_source_encoding_get_name; +alias c_gtk_source_encoding_to_string gtk_source_encoding_to_string; +alias c_gtk_source_encoding_get_all gtk_source_encoding_get_all; +alias c_gtk_source_encoding_get_current gtk_source_encoding_get_current; +alias c_gtk_source_encoding_get_default_candidates gtk_source_encoding_get_default_candidates; +alias c_gtk_source_encoding_get_from_charset gtk_source_encoding_get_from_charset; +alias c_gtk_source_encoding_get_utf8 gtk_source_encoding_get_utf8; + +// sourceview.File + +alias c_gtk_source_file_get_type gtk_source_file_get_type; +alias c_gtk_source_file_new gtk_source_file_new; +alias c_gtk_source_file_check_file_on_disk gtk_source_file_check_file_on_disk; +alias c_gtk_source_file_get_compression_type gtk_source_file_get_compression_type; +alias c_gtk_source_file_get_encoding gtk_source_file_get_encoding; +alias c_gtk_source_file_get_location gtk_source_file_get_location; +alias c_gtk_source_file_get_newline_type gtk_source_file_get_newline_type; +alias c_gtk_source_file_is_deleted gtk_source_file_is_deleted; +alias c_gtk_source_file_is_externally_modified gtk_source_file_is_externally_modified; +alias c_gtk_source_file_is_local gtk_source_file_is_local; +alias c_gtk_source_file_is_readonly gtk_source_file_is_readonly; +alias c_gtk_source_file_set_location gtk_source_file_set_location; +alias c_gtk_source_file_set_mount_operation_factory gtk_source_file_set_mount_operation_factory; + +// sourceview.FileLoader + +alias c_gtk_source_file_loader_get_type gtk_source_file_loader_get_type; +alias c_gtk_source_file_loader_new gtk_source_file_loader_new; +alias c_gtk_source_file_loader_new_from_stream gtk_source_file_loader_new_from_stream; +alias c_gtk_source_file_loader_get_buffer gtk_source_file_loader_get_buffer; +alias c_gtk_source_file_loader_get_compression_type gtk_source_file_loader_get_compression_type; +alias c_gtk_source_file_loader_get_encoding gtk_source_file_loader_get_encoding; +alias c_gtk_source_file_loader_get_file gtk_source_file_loader_get_file; +alias c_gtk_source_file_loader_get_input_stream gtk_source_file_loader_get_input_stream; +alias c_gtk_source_file_loader_get_location gtk_source_file_loader_get_location; +alias c_gtk_source_file_loader_get_newline_type gtk_source_file_loader_get_newline_type; +alias c_gtk_source_file_loader_load_async gtk_source_file_loader_load_async; +alias c_gtk_source_file_loader_load_finish gtk_source_file_loader_load_finish; +alias c_gtk_source_file_loader_set_candidate_encodings gtk_source_file_loader_set_candidate_encodings; + +// sourceview.FileSaver + +alias c_gtk_source_file_saver_get_type gtk_source_file_saver_get_type; +alias c_gtk_source_file_saver_new gtk_source_file_saver_new; +alias c_gtk_source_file_saver_new_with_target gtk_source_file_saver_new_with_target; +alias c_gtk_source_file_saver_get_buffer gtk_source_file_saver_get_buffer; +alias c_gtk_source_file_saver_get_compression_type gtk_source_file_saver_get_compression_type; +alias c_gtk_source_file_saver_get_encoding gtk_source_file_saver_get_encoding; +alias c_gtk_source_file_saver_get_file gtk_source_file_saver_get_file; +alias c_gtk_source_file_saver_get_flags gtk_source_file_saver_get_flags; +alias c_gtk_source_file_saver_get_location gtk_source_file_saver_get_location; +alias c_gtk_source_file_saver_get_newline_type gtk_source_file_saver_get_newline_type; +alias c_gtk_source_file_saver_save_async gtk_source_file_saver_save_async; +alias c_gtk_source_file_saver_save_finish gtk_source_file_saver_save_finish; +alias c_gtk_source_file_saver_set_compression_type gtk_source_file_saver_set_compression_type; +alias c_gtk_source_file_saver_set_encoding gtk_source_file_saver_set_encoding; +alias c_gtk_source_file_saver_set_flags gtk_source_file_saver_set_flags; +alias c_gtk_source_file_saver_set_newline_type gtk_source_file_saver_set_newline_type; + +// sourceview.Gutter + +alias c_gtk_source_gutter_get_type gtk_source_gutter_get_type; +alias c_gtk_source_gutter_get_view gtk_source_gutter_get_view; +alias c_gtk_source_gutter_insert gtk_source_gutter_insert; +alias c_gtk_source_gutter_remove gtk_source_gutter_remove; +alias c_gtk_source_gutter_reorder gtk_source_gutter_reorder; + +// sourceview.GutterLines + +alias c_gtk_source_gutter_lines_get_type gtk_source_gutter_lines_get_type; +alias c_gtk_source_gutter_lines_add_class gtk_source_gutter_lines_add_class; +alias c_gtk_source_gutter_lines_add_qclass gtk_source_gutter_lines_add_qclass; +alias c_gtk_source_gutter_lines_get_buffer gtk_source_gutter_lines_get_buffer; +alias c_gtk_source_gutter_lines_get_first gtk_source_gutter_lines_get_first; +alias c_gtk_source_gutter_lines_get_iter_at_line gtk_source_gutter_lines_get_iter_at_line; +alias c_gtk_source_gutter_lines_get_last gtk_source_gutter_lines_get_last; +alias c_gtk_source_gutter_lines_get_line_yrange gtk_source_gutter_lines_get_line_yrange; +alias c_gtk_source_gutter_lines_get_view gtk_source_gutter_lines_get_view; +alias c_gtk_source_gutter_lines_has_class gtk_source_gutter_lines_has_class; +alias c_gtk_source_gutter_lines_has_qclass gtk_source_gutter_lines_has_qclass; +alias c_gtk_source_gutter_lines_is_cursor gtk_source_gutter_lines_is_cursor; +alias c_gtk_source_gutter_lines_is_prelit gtk_source_gutter_lines_is_prelit; +alias c_gtk_source_gutter_lines_is_selected gtk_source_gutter_lines_is_selected; +alias c_gtk_source_gutter_lines_remove_class gtk_source_gutter_lines_remove_class; +alias c_gtk_source_gutter_lines_remove_qclass gtk_source_gutter_lines_remove_qclass; + +// sourceview.GutterRenderer + +alias c_gtk_source_gutter_renderer_get_type gtk_source_gutter_renderer_get_type; +alias c_gtk_source_gutter_renderer_activate gtk_source_gutter_renderer_activate; +alias c_gtk_source_gutter_renderer_align_cell gtk_source_gutter_renderer_align_cell; +alias c_gtk_source_gutter_renderer_get_alignment_mode gtk_source_gutter_renderer_get_alignment_mode; +alias c_gtk_source_gutter_renderer_get_buffer gtk_source_gutter_renderer_get_buffer; +alias c_gtk_source_gutter_renderer_get_view gtk_source_gutter_renderer_get_view; +alias c_gtk_source_gutter_renderer_get_xalign gtk_source_gutter_renderer_get_xalign; +alias c_gtk_source_gutter_renderer_get_xpad gtk_source_gutter_renderer_get_xpad; +alias c_gtk_source_gutter_renderer_get_yalign gtk_source_gutter_renderer_get_yalign; +alias c_gtk_source_gutter_renderer_get_ypad gtk_source_gutter_renderer_get_ypad; +alias c_gtk_source_gutter_renderer_query_activatable gtk_source_gutter_renderer_query_activatable; +alias c_gtk_source_gutter_renderer_set_alignment_mode gtk_source_gutter_renderer_set_alignment_mode; +alias c_gtk_source_gutter_renderer_set_xalign gtk_source_gutter_renderer_set_xalign; +alias c_gtk_source_gutter_renderer_set_xpad gtk_source_gutter_renderer_set_xpad; +alias c_gtk_source_gutter_renderer_set_yalign gtk_source_gutter_renderer_set_yalign; +alias c_gtk_source_gutter_renderer_set_ypad gtk_source_gutter_renderer_set_ypad; + +// sourceview.GutterRendererPixbuf + +alias c_gtk_source_gutter_renderer_pixbuf_get_type gtk_source_gutter_renderer_pixbuf_get_type; +alias c_gtk_source_gutter_renderer_pixbuf_new gtk_source_gutter_renderer_pixbuf_new; +alias c_gtk_source_gutter_renderer_pixbuf_get_gicon gtk_source_gutter_renderer_pixbuf_get_gicon; +alias c_gtk_source_gutter_renderer_pixbuf_get_icon_name gtk_source_gutter_renderer_pixbuf_get_icon_name; +alias c_gtk_source_gutter_renderer_pixbuf_get_paintable gtk_source_gutter_renderer_pixbuf_get_paintable; +alias c_gtk_source_gutter_renderer_pixbuf_get_pixbuf gtk_source_gutter_renderer_pixbuf_get_pixbuf; +alias c_gtk_source_gutter_renderer_pixbuf_overlay_paintable gtk_source_gutter_renderer_pixbuf_overlay_paintable; +alias c_gtk_source_gutter_renderer_pixbuf_set_gicon gtk_source_gutter_renderer_pixbuf_set_gicon; +alias c_gtk_source_gutter_renderer_pixbuf_set_icon_name gtk_source_gutter_renderer_pixbuf_set_icon_name; +alias c_gtk_source_gutter_renderer_pixbuf_set_paintable gtk_source_gutter_renderer_pixbuf_set_paintable; +alias c_gtk_source_gutter_renderer_pixbuf_set_pixbuf gtk_source_gutter_renderer_pixbuf_set_pixbuf; + +// sourceview.GutterRendererText + +alias c_gtk_source_gutter_renderer_text_get_type gtk_source_gutter_renderer_text_get_type; +alias c_gtk_source_gutter_renderer_text_new gtk_source_gutter_renderer_text_new; +alias c_gtk_source_gutter_renderer_text_measure gtk_source_gutter_renderer_text_measure; +alias c_gtk_source_gutter_renderer_text_measure_markup gtk_source_gutter_renderer_text_measure_markup; +alias c_gtk_source_gutter_renderer_text_set_markup gtk_source_gutter_renderer_text_set_markup; +alias c_gtk_source_gutter_renderer_text_set_text gtk_source_gutter_renderer_text_set_text; + +// sourceview.Hover + +alias c_gtk_source_hover_get_type gtk_source_hover_get_type; +alias c_gtk_source_hover_add_provider gtk_source_hover_add_provider; +alias c_gtk_source_hover_remove_provider gtk_source_hover_remove_provider; + +// sourceview.HoverContext + +alias c_gtk_source_hover_context_get_type gtk_source_hover_context_get_type; +alias c_gtk_source_hover_context_get_bounds gtk_source_hover_context_get_bounds; +alias c_gtk_source_hover_context_get_buffer gtk_source_hover_context_get_buffer; +alias c_gtk_source_hover_context_get_iter gtk_source_hover_context_get_iter; +alias c_gtk_source_hover_context_get_view gtk_source_hover_context_get_view; + +// sourceview.HoverDisplay + +alias c_gtk_source_hover_display_get_type gtk_source_hover_display_get_type; +alias c_gtk_source_hover_display_append gtk_source_hover_display_append; +alias c_gtk_source_hover_display_insert_after gtk_source_hover_display_insert_after; +alias c_gtk_source_hover_display_prepend gtk_source_hover_display_prepend; +alias c_gtk_source_hover_display_remove gtk_source_hover_display_remove; + +// sourceview.HoverProvider + +alias c_gtk_source_hover_provider_get_type gtk_source_hover_provider_get_type; +alias c_gtk_source_hover_provider_populate_async gtk_source_hover_provider_populate_async; +alias c_gtk_source_hover_provider_populate_finish gtk_source_hover_provider_populate_finish; + +// sourceview.Indenter + +alias c_gtk_source_indenter_get_type gtk_source_indenter_get_type; +alias c_gtk_source_indenter_indent gtk_source_indenter_indent; +alias c_gtk_source_indenter_is_trigger gtk_source_indenter_is_trigger; + +// sourceview.Language + +alias c_gtk_source_language_get_type gtk_source_language_get_type; +alias c_gtk_source_language_get_globs gtk_source_language_get_globs; +alias c_gtk_source_language_get_hidden gtk_source_language_get_hidden; +alias c_gtk_source_language_get_id gtk_source_language_get_id; +alias c_gtk_source_language_get_metadata gtk_source_language_get_metadata; +alias c_gtk_source_language_get_mime_types gtk_source_language_get_mime_types; +alias c_gtk_source_language_get_name gtk_source_language_get_name; +alias c_gtk_source_language_get_section gtk_source_language_get_section; +alias c_gtk_source_language_get_style_fallback gtk_source_language_get_style_fallback; +alias c_gtk_source_language_get_style_ids gtk_source_language_get_style_ids; +alias c_gtk_source_language_get_style_name gtk_source_language_get_style_name; + +// sourceview.LanguageManager + +alias c_gtk_source_language_manager_get_type gtk_source_language_manager_get_type; +alias c_gtk_source_language_manager_new gtk_source_language_manager_new; +alias c_gtk_source_language_manager_get_default gtk_source_language_manager_get_default; +alias c_gtk_source_language_manager_append_search_path gtk_source_language_manager_append_search_path; +alias c_gtk_source_language_manager_get_language gtk_source_language_manager_get_language; +alias c_gtk_source_language_manager_get_language_ids gtk_source_language_manager_get_language_ids; +alias c_gtk_source_language_manager_get_search_path gtk_source_language_manager_get_search_path; +alias c_gtk_source_language_manager_guess_language gtk_source_language_manager_guess_language; +alias c_gtk_source_language_manager_prepend_search_path gtk_source_language_manager_prepend_search_path; +alias c_gtk_source_language_manager_set_search_path gtk_source_language_manager_set_search_path; + +// sourceview.Map + +alias c_gtk_source_map_get_type gtk_source_map_get_type; +alias c_gtk_source_map_new gtk_source_map_new; +alias c_gtk_source_map_get_view gtk_source_map_get_view; +alias c_gtk_source_map_set_view gtk_source_map_set_view; + +// sourceview.Mark + +alias c_gtk_source_mark_get_type gtk_source_mark_get_type; +alias c_gtk_source_mark_new gtk_source_mark_new; +alias c_gtk_source_mark_get_category gtk_source_mark_get_category; +alias c_gtk_source_mark_next gtk_source_mark_next; +alias c_gtk_source_mark_prev gtk_source_mark_prev; + +// sourceview.MarkAttributes + +alias c_gtk_source_mark_attributes_get_type gtk_source_mark_attributes_get_type; +alias c_gtk_source_mark_attributes_new gtk_source_mark_attributes_new; +alias c_gtk_source_mark_attributes_get_background gtk_source_mark_attributes_get_background; +alias c_gtk_source_mark_attributes_get_gicon gtk_source_mark_attributes_get_gicon; +alias c_gtk_source_mark_attributes_get_icon_name gtk_source_mark_attributes_get_icon_name; +alias c_gtk_source_mark_attributes_get_pixbuf gtk_source_mark_attributes_get_pixbuf; +alias c_gtk_source_mark_attributes_get_tooltip_markup gtk_source_mark_attributes_get_tooltip_markup; +alias c_gtk_source_mark_attributes_get_tooltip_text gtk_source_mark_attributes_get_tooltip_text; +alias c_gtk_source_mark_attributes_render_icon gtk_source_mark_attributes_render_icon; +alias c_gtk_source_mark_attributes_set_background gtk_source_mark_attributes_set_background; +alias c_gtk_source_mark_attributes_set_gicon gtk_source_mark_attributes_set_gicon; +alias c_gtk_source_mark_attributes_set_icon_name gtk_source_mark_attributes_set_icon_name; +alias c_gtk_source_mark_attributes_set_pixbuf gtk_source_mark_attributes_set_pixbuf; + +// sourceview.PrintCompositor + +alias c_gtk_source_print_compositor_get_type gtk_source_print_compositor_get_type; +alias c_gtk_source_print_compositor_new gtk_source_print_compositor_new; +alias c_gtk_source_print_compositor_new_from_view gtk_source_print_compositor_new_from_view; +alias c_gtk_source_print_compositor_draw_page gtk_source_print_compositor_draw_page; +alias c_gtk_source_print_compositor_get_body_font_name gtk_source_print_compositor_get_body_font_name; +alias c_gtk_source_print_compositor_get_bottom_margin gtk_source_print_compositor_get_bottom_margin; +alias c_gtk_source_print_compositor_get_buffer gtk_source_print_compositor_get_buffer; +alias c_gtk_source_print_compositor_get_footer_font_name gtk_source_print_compositor_get_footer_font_name; +alias c_gtk_source_print_compositor_get_header_font_name gtk_source_print_compositor_get_header_font_name; +alias c_gtk_source_print_compositor_get_highlight_syntax gtk_source_print_compositor_get_highlight_syntax; +alias c_gtk_source_print_compositor_get_left_margin gtk_source_print_compositor_get_left_margin; +alias c_gtk_source_print_compositor_get_line_numbers_font_name gtk_source_print_compositor_get_line_numbers_font_name; +alias c_gtk_source_print_compositor_get_n_pages gtk_source_print_compositor_get_n_pages; +alias c_gtk_source_print_compositor_get_pagination_progress gtk_source_print_compositor_get_pagination_progress; +alias c_gtk_source_print_compositor_get_print_footer gtk_source_print_compositor_get_print_footer; +alias c_gtk_source_print_compositor_get_print_header gtk_source_print_compositor_get_print_header; +alias c_gtk_source_print_compositor_get_print_line_numbers gtk_source_print_compositor_get_print_line_numbers; +alias c_gtk_source_print_compositor_get_right_margin gtk_source_print_compositor_get_right_margin; +alias c_gtk_source_print_compositor_get_tab_width gtk_source_print_compositor_get_tab_width; +alias c_gtk_source_print_compositor_get_top_margin gtk_source_print_compositor_get_top_margin; +alias c_gtk_source_print_compositor_get_wrap_mode gtk_source_print_compositor_get_wrap_mode; +alias c_gtk_source_print_compositor_ignore_tag gtk_source_print_compositor_ignore_tag; +alias c_gtk_source_print_compositor_paginate gtk_source_print_compositor_paginate; +alias c_gtk_source_print_compositor_set_body_font_name gtk_source_print_compositor_set_body_font_name; +alias c_gtk_source_print_compositor_set_bottom_margin gtk_source_print_compositor_set_bottom_margin; +alias c_gtk_source_print_compositor_set_footer_font_name gtk_source_print_compositor_set_footer_font_name; +alias c_gtk_source_print_compositor_set_footer_format gtk_source_print_compositor_set_footer_format; +alias c_gtk_source_print_compositor_set_header_font_name gtk_source_print_compositor_set_header_font_name; +alias c_gtk_source_print_compositor_set_header_format gtk_source_print_compositor_set_header_format; +alias c_gtk_source_print_compositor_set_highlight_syntax gtk_source_print_compositor_set_highlight_syntax; +alias c_gtk_source_print_compositor_set_left_margin gtk_source_print_compositor_set_left_margin; +alias c_gtk_source_print_compositor_set_line_numbers_font_name gtk_source_print_compositor_set_line_numbers_font_name; +alias c_gtk_source_print_compositor_set_print_footer gtk_source_print_compositor_set_print_footer; +alias c_gtk_source_print_compositor_set_print_header gtk_source_print_compositor_set_print_header; +alias c_gtk_source_print_compositor_set_print_line_numbers gtk_source_print_compositor_set_print_line_numbers; +alias c_gtk_source_print_compositor_set_right_margin gtk_source_print_compositor_set_right_margin; +alias c_gtk_source_print_compositor_set_tab_width gtk_source_print_compositor_set_tab_width; +alias c_gtk_source_print_compositor_set_top_margin gtk_source_print_compositor_set_top_margin; +alias c_gtk_source_print_compositor_set_wrap_mode gtk_source_print_compositor_set_wrap_mode; + +// sourceview.Region + +alias c_gtk_source_region_get_type gtk_source_region_get_type; +alias c_gtk_source_region_new gtk_source_region_new; +alias c_gtk_source_region_add_region gtk_source_region_add_region; +alias c_gtk_source_region_add_subregion gtk_source_region_add_subregion; +alias c_gtk_source_region_get_bounds gtk_source_region_get_bounds; +alias c_gtk_source_region_get_buffer gtk_source_region_get_buffer; +alias c_gtk_source_region_get_start_region_iter gtk_source_region_get_start_region_iter; +alias c_gtk_source_region_intersect_region gtk_source_region_intersect_region; +alias c_gtk_source_region_intersect_subregion gtk_source_region_intersect_subregion; +alias c_gtk_source_region_is_empty gtk_source_region_is_empty; +alias c_gtk_source_region_subtract_region gtk_source_region_subtract_region; +alias c_gtk_source_region_subtract_subregion gtk_source_region_subtract_subregion; +alias c_gtk_source_region_to_string gtk_source_region_to_string; + +// sourceview.RegionIter + +alias c_gtk_source_region_iter_get_subregion gtk_source_region_iter_get_subregion; +alias c_gtk_source_region_iter_is_end gtk_source_region_iter_is_end; +alias c_gtk_source_region_iter_next gtk_source_region_iter_next; + +// sourceview.SearchContext + +alias c_gtk_source_search_context_get_type gtk_source_search_context_get_type; +alias c_gtk_source_search_context_new gtk_source_search_context_new; +alias c_gtk_source_search_context_backward gtk_source_search_context_backward; +alias c_gtk_source_search_context_backward_async gtk_source_search_context_backward_async; +alias c_gtk_source_search_context_backward_finish gtk_source_search_context_backward_finish; +alias c_gtk_source_search_context_forward gtk_source_search_context_forward; +alias c_gtk_source_search_context_forward_async gtk_source_search_context_forward_async; +alias c_gtk_source_search_context_forward_finish gtk_source_search_context_forward_finish; +alias c_gtk_source_search_context_get_buffer gtk_source_search_context_get_buffer; +alias c_gtk_source_search_context_get_highlight gtk_source_search_context_get_highlight; +alias c_gtk_source_search_context_get_match_style gtk_source_search_context_get_match_style; +alias c_gtk_source_search_context_get_occurrence_position gtk_source_search_context_get_occurrence_position; +alias c_gtk_source_search_context_get_occurrences_count gtk_source_search_context_get_occurrences_count; +alias c_gtk_source_search_context_get_regex_error gtk_source_search_context_get_regex_error; +alias c_gtk_source_search_context_get_settings gtk_source_search_context_get_settings; +alias c_gtk_source_search_context_replace gtk_source_search_context_replace; +alias c_gtk_source_search_context_replace_all gtk_source_search_context_replace_all; +alias c_gtk_source_search_context_set_highlight gtk_source_search_context_set_highlight; +alias c_gtk_source_search_context_set_match_style gtk_source_search_context_set_match_style; + +// sourceview.SearchSettings + +alias c_gtk_source_search_settings_get_type gtk_source_search_settings_get_type; +alias c_gtk_source_search_settings_new gtk_source_search_settings_new; +alias c_gtk_source_search_settings_get_at_word_boundaries gtk_source_search_settings_get_at_word_boundaries; +alias c_gtk_source_search_settings_get_case_sensitive gtk_source_search_settings_get_case_sensitive; +alias c_gtk_source_search_settings_get_regex_enabled gtk_source_search_settings_get_regex_enabled; +alias c_gtk_source_search_settings_get_search_text gtk_source_search_settings_get_search_text; +alias c_gtk_source_search_settings_get_wrap_around gtk_source_search_settings_get_wrap_around; +alias c_gtk_source_search_settings_set_at_word_boundaries gtk_source_search_settings_set_at_word_boundaries; +alias c_gtk_source_search_settings_set_case_sensitive gtk_source_search_settings_set_case_sensitive; +alias c_gtk_source_search_settings_set_regex_enabled gtk_source_search_settings_set_regex_enabled; +alias c_gtk_source_search_settings_set_search_text gtk_source_search_settings_set_search_text; +alias c_gtk_source_search_settings_set_wrap_around gtk_source_search_settings_set_wrap_around; + +// sourceview.Snippet + +alias c_gtk_source_snippet_get_type gtk_source_snippet_get_type; +alias c_gtk_source_snippet_new gtk_source_snippet_new; +alias c_gtk_source_snippet_add_chunk gtk_source_snippet_add_chunk; +alias c_gtk_source_snippet_copy gtk_source_snippet_copy; +alias c_gtk_source_snippet_get_context gtk_source_snippet_get_context; +alias c_gtk_source_snippet_get_description gtk_source_snippet_get_description; +alias c_gtk_source_snippet_get_focus_position gtk_source_snippet_get_focus_position; +alias c_gtk_source_snippet_get_language_id gtk_source_snippet_get_language_id; +alias c_gtk_source_snippet_get_n_chunks gtk_source_snippet_get_n_chunks; +alias c_gtk_source_snippet_get_name gtk_source_snippet_get_name; +alias c_gtk_source_snippet_get_nth_chunk gtk_source_snippet_get_nth_chunk; +alias c_gtk_source_snippet_get_trigger gtk_source_snippet_get_trigger; +alias c_gtk_source_snippet_set_description gtk_source_snippet_set_description; +alias c_gtk_source_snippet_set_language_id gtk_source_snippet_set_language_id; +alias c_gtk_source_snippet_set_name gtk_source_snippet_set_name; +alias c_gtk_source_snippet_set_trigger gtk_source_snippet_set_trigger; + +// sourceview.SnippetChunk + +alias c_gtk_source_snippet_chunk_get_type gtk_source_snippet_chunk_get_type; +alias c_gtk_source_snippet_chunk_new gtk_source_snippet_chunk_new; +alias c_gtk_source_snippet_chunk_copy gtk_source_snippet_chunk_copy; +alias c_gtk_source_snippet_chunk_get_context gtk_source_snippet_chunk_get_context; +alias c_gtk_source_snippet_chunk_get_focus_position gtk_source_snippet_chunk_get_focus_position; +alias c_gtk_source_snippet_chunk_get_spec gtk_source_snippet_chunk_get_spec; +alias c_gtk_source_snippet_chunk_get_text gtk_source_snippet_chunk_get_text; +alias c_gtk_source_snippet_chunk_get_text_set gtk_source_snippet_chunk_get_text_set; +alias c_gtk_source_snippet_chunk_get_tooltip_text gtk_source_snippet_chunk_get_tooltip_text; +alias c_gtk_source_snippet_chunk_set_context gtk_source_snippet_chunk_set_context; +alias c_gtk_source_snippet_chunk_set_focus_position gtk_source_snippet_chunk_set_focus_position; +alias c_gtk_source_snippet_chunk_set_spec gtk_source_snippet_chunk_set_spec; +alias c_gtk_source_snippet_chunk_set_text gtk_source_snippet_chunk_set_text; +alias c_gtk_source_snippet_chunk_set_text_set gtk_source_snippet_chunk_set_text_set; +alias c_gtk_source_snippet_chunk_set_tooltip_text gtk_source_snippet_chunk_set_tooltip_text; + +// sourceview.SnippetContext + +alias c_gtk_source_snippet_context_get_type gtk_source_snippet_context_get_type; +alias c_gtk_source_snippet_context_new gtk_source_snippet_context_new; +alias c_gtk_source_snippet_context_clear_variables gtk_source_snippet_context_clear_variables; +alias c_gtk_source_snippet_context_expand gtk_source_snippet_context_expand; +alias c_gtk_source_snippet_context_get_variable gtk_source_snippet_context_get_variable; +alias c_gtk_source_snippet_context_set_constant gtk_source_snippet_context_set_constant; +alias c_gtk_source_snippet_context_set_line_prefix gtk_source_snippet_context_set_line_prefix; +alias c_gtk_source_snippet_context_set_tab_width gtk_source_snippet_context_set_tab_width; +alias c_gtk_source_snippet_context_set_use_spaces gtk_source_snippet_context_set_use_spaces; +alias c_gtk_source_snippet_context_set_variable gtk_source_snippet_context_set_variable; + +// sourceview.SnippetManager + +alias c_gtk_source_snippet_manager_get_type gtk_source_snippet_manager_get_type; +alias c_gtk_source_snippet_manager_get_default gtk_source_snippet_manager_get_default; +alias c_gtk_source_snippet_manager_get_search_path gtk_source_snippet_manager_get_search_path; +alias c_gtk_source_snippet_manager_get_snippet gtk_source_snippet_manager_get_snippet; +alias c_gtk_source_snippet_manager_list_groups gtk_source_snippet_manager_list_groups; +alias c_gtk_source_snippet_manager_list_matching gtk_source_snippet_manager_list_matching; +alias c_gtk_source_snippet_manager_set_search_path gtk_source_snippet_manager_set_search_path; + +// sourceview.SpaceDrawer + +alias c_gtk_source_space_drawer_get_type gtk_source_space_drawer_get_type; +alias c_gtk_source_space_drawer_new gtk_source_space_drawer_new; +alias c_gtk_source_space_drawer_bind_matrix_setting gtk_source_space_drawer_bind_matrix_setting; +alias c_gtk_source_space_drawer_get_enable_matrix gtk_source_space_drawer_get_enable_matrix; +alias c_gtk_source_space_drawer_get_matrix gtk_source_space_drawer_get_matrix; +alias c_gtk_source_space_drawer_get_types_for_locations gtk_source_space_drawer_get_types_for_locations; +alias c_gtk_source_space_drawer_set_enable_matrix gtk_source_space_drawer_set_enable_matrix; +alias c_gtk_source_space_drawer_set_matrix gtk_source_space_drawer_set_matrix; +alias c_gtk_source_space_drawer_set_types_for_locations gtk_source_space_drawer_set_types_for_locations; + +// sourceview.Style + +alias c_gtk_source_style_get_type gtk_source_style_get_type; +alias c_gtk_source_style_apply gtk_source_style_apply; +alias c_gtk_source_style_copy gtk_source_style_copy; + +// sourceview.StyleScheme + +alias c_gtk_source_style_scheme_get_type gtk_source_style_scheme_get_type; +alias c_gtk_source_style_scheme_get_authors gtk_source_style_scheme_get_authors; +alias c_gtk_source_style_scheme_get_description gtk_source_style_scheme_get_description; +alias c_gtk_source_style_scheme_get_filename gtk_source_style_scheme_get_filename; +alias c_gtk_source_style_scheme_get_id gtk_source_style_scheme_get_id; +alias c_gtk_source_style_scheme_get_metadata gtk_source_style_scheme_get_metadata; +alias c_gtk_source_style_scheme_get_name gtk_source_style_scheme_get_name; +alias c_gtk_source_style_scheme_get_style gtk_source_style_scheme_get_style; + +// sourceview.StyleSchemeChooser + +alias c_gtk_source_style_scheme_chooser_get_type gtk_source_style_scheme_chooser_get_type; +alias c_gtk_source_style_scheme_chooser_get_style_scheme gtk_source_style_scheme_chooser_get_style_scheme; +alias c_gtk_source_style_scheme_chooser_set_style_scheme gtk_source_style_scheme_chooser_set_style_scheme; + +// sourceview.StyleSchemeChooserButton + +alias c_gtk_source_style_scheme_chooser_button_get_type gtk_source_style_scheme_chooser_button_get_type; +alias c_gtk_source_style_scheme_chooser_button_new gtk_source_style_scheme_chooser_button_new; + +// sourceview.StyleSchemeChooserWidget + +alias c_gtk_source_style_scheme_chooser_widget_get_type gtk_source_style_scheme_chooser_widget_get_type; +alias c_gtk_source_style_scheme_chooser_widget_new gtk_source_style_scheme_chooser_widget_new; + +// sourceview.StyleSchemeManager + +alias c_gtk_source_style_scheme_manager_get_type gtk_source_style_scheme_manager_get_type; +alias c_gtk_source_style_scheme_manager_new gtk_source_style_scheme_manager_new; +alias c_gtk_source_style_scheme_manager_get_default gtk_source_style_scheme_manager_get_default; +alias c_gtk_source_style_scheme_manager_append_search_path gtk_source_style_scheme_manager_append_search_path; +alias c_gtk_source_style_scheme_manager_force_rescan gtk_source_style_scheme_manager_force_rescan; +alias c_gtk_source_style_scheme_manager_get_scheme gtk_source_style_scheme_manager_get_scheme; +alias c_gtk_source_style_scheme_manager_get_scheme_ids gtk_source_style_scheme_manager_get_scheme_ids; +alias c_gtk_source_style_scheme_manager_get_search_path gtk_source_style_scheme_manager_get_search_path; +alias c_gtk_source_style_scheme_manager_prepend_search_path gtk_source_style_scheme_manager_prepend_search_path; +alias c_gtk_source_style_scheme_manager_set_search_path gtk_source_style_scheme_manager_set_search_path; + +// sourceview.StyleSchemePreview + +alias c_gtk_source_style_scheme_preview_get_type gtk_source_style_scheme_preview_get_type; +alias c_gtk_source_style_scheme_preview_new gtk_source_style_scheme_preview_new; +alias c_gtk_source_style_scheme_preview_get_scheme gtk_source_style_scheme_preview_get_scheme; +alias c_gtk_source_style_scheme_preview_get_selected gtk_source_style_scheme_preview_get_selected; +alias c_gtk_source_style_scheme_preview_set_selected gtk_source_style_scheme_preview_set_selected; + +// sourceview.Tag + +alias c_gtk_source_tag_get_type gtk_source_tag_get_type; +alias c_gtk_source_tag_new gtk_source_tag_new; + +// sourceview.View + +alias c_gtk_source_view_get_type gtk_source_view_get_type; +alias c_gtk_source_view_new gtk_source_view_new; +alias c_gtk_source_view_new_with_buffer gtk_source_view_new_with_buffer; +alias c_gtk_source_view_get_auto_indent gtk_source_view_get_auto_indent; +alias c_gtk_source_view_get_background_pattern gtk_source_view_get_background_pattern; +alias c_gtk_source_view_get_completion gtk_source_view_get_completion; +alias c_gtk_source_view_get_enable_snippets gtk_source_view_get_enable_snippets; +alias c_gtk_source_view_get_gutter gtk_source_view_get_gutter; +alias c_gtk_source_view_get_highlight_current_line gtk_source_view_get_highlight_current_line; +alias c_gtk_source_view_get_hover gtk_source_view_get_hover; +alias c_gtk_source_view_get_indent_on_tab gtk_source_view_get_indent_on_tab; +alias c_gtk_source_view_get_indent_width gtk_source_view_get_indent_width; +alias c_gtk_source_view_get_indenter gtk_source_view_get_indenter; +alias c_gtk_source_view_get_insert_spaces_instead_of_tabs gtk_source_view_get_insert_spaces_instead_of_tabs; +alias c_gtk_source_view_get_mark_attributes gtk_source_view_get_mark_attributes; +alias c_gtk_source_view_get_right_margin_position gtk_source_view_get_right_margin_position; +alias c_gtk_source_view_get_show_line_marks gtk_source_view_get_show_line_marks; +alias c_gtk_source_view_get_show_line_numbers gtk_source_view_get_show_line_numbers; +alias c_gtk_source_view_get_show_right_margin gtk_source_view_get_show_right_margin; +alias c_gtk_source_view_get_smart_backspace gtk_source_view_get_smart_backspace; +alias c_gtk_source_view_get_smart_home_end gtk_source_view_get_smart_home_end; +alias c_gtk_source_view_get_space_drawer gtk_source_view_get_space_drawer; +alias c_gtk_source_view_get_tab_width gtk_source_view_get_tab_width; +alias c_gtk_source_view_get_visual_column gtk_source_view_get_visual_column; +alias c_gtk_source_view_indent_lines gtk_source_view_indent_lines; +alias c_gtk_source_view_push_snippet gtk_source_view_push_snippet; +alias c_gtk_source_view_set_auto_indent gtk_source_view_set_auto_indent; +alias c_gtk_source_view_set_background_pattern gtk_source_view_set_background_pattern; +alias c_gtk_source_view_set_enable_snippets gtk_source_view_set_enable_snippets; +alias c_gtk_source_view_set_highlight_current_line gtk_source_view_set_highlight_current_line; +alias c_gtk_source_view_set_indent_on_tab gtk_source_view_set_indent_on_tab; +alias c_gtk_source_view_set_indent_width gtk_source_view_set_indent_width; +alias c_gtk_source_view_set_indenter gtk_source_view_set_indenter; +alias c_gtk_source_view_set_insert_spaces_instead_of_tabs gtk_source_view_set_insert_spaces_instead_of_tabs; +alias c_gtk_source_view_set_mark_attributes gtk_source_view_set_mark_attributes; +alias c_gtk_source_view_set_right_margin_position gtk_source_view_set_right_margin_position; +alias c_gtk_source_view_set_show_line_marks gtk_source_view_set_show_line_marks; +alias c_gtk_source_view_set_show_line_numbers gtk_source_view_set_show_line_numbers; +alias c_gtk_source_view_set_show_right_margin gtk_source_view_set_show_right_margin; +alias c_gtk_source_view_set_smart_backspace gtk_source_view_set_smart_backspace; +alias c_gtk_source_view_set_smart_home_end gtk_source_view_set_smart_home_end; +alias c_gtk_source_view_set_tab_width gtk_source_view_set_tab_width; +alias c_gtk_source_view_unindent_lines gtk_source_view_unindent_lines; + +// sourceview.VimIMContext + +alias c_gtk_source_vim_im_context_get_type gtk_source_vim_im_context_get_type; +alias c_gtk_source_vim_im_context_new gtk_source_vim_im_context_new; +alias c_gtk_source_vim_im_context_execute_command gtk_source_vim_im_context_execute_command; +alias c_gtk_source_vim_im_context_get_command_bar_text gtk_source_vim_im_context_get_command_bar_text; +alias c_gtk_source_vim_im_context_get_command_text gtk_source_vim_im_context_get_command_text; diff --git a/source/generated/sourceview/sourceview/c/types.d b/source/generated/sourceview/sourceview/c/types.d new file mode 100644 index 000000000..92e8c1c19 --- /dev/null +++ b/source/generated/sourceview/sourceview/c/types.d @@ -0,0 +1,880 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ + +// generated automatically - do not change +// find conversion definition on APILookup.txt +// implement new conversion functionalities on the wrap.utils pakage + + +module sourceview.c.types; + +public import gdk.c.types; +public import gdkpixbuf.c.types; +public import gio.c.types; +public import glib.c.types; +public import gobject.c.types; +public import gtk.c.types; +public import pango.c.types; + + +public enum GtkSourceBackgroundPatternType +{ + /** + * no pattern + */ + NONE = 0, + /** + * grid pattern + */ + GRID = 1, +} +alias GtkSourceBackgroundPatternType BackgroundPatternType; + +public enum GtkSourceBracketMatchType +{ + /** + * there is no bracket to match. + */ + NONE = 0, + /** + * matching a bracket + * failed because the maximum range was reached. + */ + OUT_OF_RANGE = 1, + /** + * a matching bracket was not found. + */ + NOT_FOUND = 2, + /** + * a matching bracket was found. + */ + FOUND = 3, +} +alias GtkSourceBracketMatchType BracketMatchType; + +public enum GtkSourceChangeCaseType +{ + /** + * change case to lowercase. + */ + LOWER = 0, + /** + * change case to uppercase. + */ + UPPER = 1, + /** + * toggle case of each character. + */ + TOGGLE = 2, + /** + * capitalize each word. + */ + TITLE = 3, +} +alias GtkSourceChangeCaseType ChangeCaseType; + +public enum GtkSourceCompletionActivation +{ + NONE = 0, + INTERACTIVE = 1, + USER_REQUESTED = 2, +} +alias GtkSourceCompletionActivation CompletionActivation; + +public enum GtkSourceCompletionColumn +{ + ICON = 0, + BEFORE = 1, + TYPED_TEXT = 2, + AFTER = 3, + COMMENT = 4, + DETAILS = 5, +} +alias GtkSourceCompletionColumn CompletionColumn; + +public enum GtkSourceCompressionType +{ + /** + * plain text. + */ + NONE = 0, + /** + * gzip compression. + */ + GZIP = 1, +} +alias GtkSourceCompressionType CompressionType; + +/** + * An error code used with the %GTK_SOURCE_FILE_LOADER_ERROR domain. + */ +public enum GtkSourceFileLoaderError +{ + /** + * The file is too big. + */ + TOO_BIG = 0, + /** + * It is not + * possible to detect the encoding automatically. + */ + ENCODING_AUTO_DETECTION_FAILED = 1, + /** + * There was an encoding + * conversion error and it was needed to use a fallback character. + */ + CONVERSION_FALLBACK = 2, +} +alias GtkSourceFileLoaderError FileLoaderError; + +/** + * An error code used with the %GTK_SOURCE_FILE_SAVER_ERROR domain. + */ +public enum GtkSourceFileSaverError +{ + /** + * The buffer contains invalid + * characters. + */ + INVALID_CHARS = 0, + /** + * The file is externally + * modified. + */ + EXTERNALLY_MODIFIED = 1, +} +alias GtkSourceFileSaverError FileSaverError; + +/** + * Flags to define the behavior of a [flags@FileSaverFlags]. + */ +public enum GtkSourceFileSaverFlags +{ + /** + * No flags. + */ + NONE = 0, + /** + * Ignore invalid characters. + */ + IGNORE_INVALID_CHARS = 1, + /** + * Save file despite external modifications. + */ + IGNORE_MODIFICATION_TIME = 2, + /** + * Create a backup before saving the file. + */ + CREATE_BACKUP = 4, +} +alias GtkSourceFileSaverFlags FileSaverFlags; + +/** + * The alignment mode of the renderer, when a cell spans multiple lines (due to + * text wrapping). + */ +public enum GtkSourceGutterRendererAlignmentMode +{ + /** + * The full cell. + */ + CELL = 0, + /** + * The first line. + */ + FIRST = 1, + /** + * The last line. + */ + LAST = 2, +} +alias GtkSourceGutterRendererAlignmentMode GutterRendererAlignmentMode; + +public enum GtkSourceNewlineType +{ + /** + * line feed, used on UNIX. + */ + LF = 0, + /** + * carriage return, used on Mac. + */ + CR = 1, + /** + * carriage return followed by a line feed, used + * on Windows. + */ + CR_LF = 2, +} +alias GtkSourceNewlineType NewlineType; + +public enum GtkSourceSmartHomeEndType +{ + /** + * smart-home-end disabled. + */ + DISABLED = 0, + /** + * move to the first/last + * non-whitespace character on the first press of the HOME/END keys and + * to the beginning/end of the line on the second press. + */ + BEFORE = 1, + /** + * move to the beginning/end of the + * line on the first press of the HOME/END keys and to the first/last + * non-whitespace character on the second press. + */ + AFTER = 2, + /** + * always move to the first/last + * non-whitespace character when the HOME/END keys are pressed. + */ + ALWAYS = 3, +} +alias GtkSourceSmartHomeEndType SmartHomeEndType; + +public enum GtkSourceSortFlags +{ + /** + * no flags specified + */ + NONE = 0, + /** + * case sensitive sort + */ + CASE_SENSITIVE = 1, + /** + * sort in reverse order + */ + REVERSE_ORDER = 2, + /** + * remove duplicates + */ + REMOVE_DUPLICATES = 4, +} +alias GtkSourceSortFlags SortFlags; + +/** + * #GtkSourceSpaceLocationFlags contains flags for white space locations. + * + * If a line contains only white spaces (no text), the white spaces match both + * %GTK_SOURCE_SPACE_LOCATION_LEADING and %GTK_SOURCE_SPACE_LOCATION_TRAILING. + */ +public enum GtkSourceSpaceLocationFlags +{ + /** + * No flags. + */ + NONE = 0, + /** + * Leading white spaces on a line, i.e. the + * indentation. + */ + LEADING = 1, + /** + * White spaces inside a line of text. + */ + INSIDE_TEXT = 2, + /** + * Trailing white spaces on a line. + */ + TRAILING = 4, + /** + * White spaces anywhere. + */ + ALL = 7, +} +alias GtkSourceSpaceLocationFlags SpaceLocationFlags; + +/** + * #GtkSourceSpaceTypeFlags contains flags for white space types. + */ +public enum GtkSourceSpaceTypeFlags +{ + /** + * No flags. + */ + NONE = 0, + /** + * Space character. + */ + SPACE = 1, + /** + * Tab character. + */ + TAB = 2, + /** + * Line break character. If the + * #GtkSourceBuffer:implicit-trailing-newline property is %TRUE, + * #GtkSourceSpaceDrawer also draws a line break at the end of the buffer. + */ + NEWLINE = 4, + /** + * Non-breaking space character. + */ + NBSP = 8, + /** + * All white spaces. + */ + ALL = 15, +} +alias GtkSourceSpaceTypeFlags SpaceTypeFlags; + +public enum GtkSourceViewGutterPosition +{ + /** + * the gutter position of the lines + * renderer + */ + LINES = -30, + /** + * the gutter position of the marks + * renderer + */ + MARKS = -20, +} +alias GtkSourceViewGutterPosition ViewGutterPosition; + +struct GtkSourceBuffer +{ + GtkTextBuffer parentInstance; +} + +struct GtkSourceBufferClass +{ + GtkTextBufferClass parentClass; + /** */ + extern(C) void function(GtkSourceBuffer* buffer, GtkTextIter* iter, GtkSourceBracketMatchType state) bracketMatched; + void*[20] Reserved; +} + +struct GtkSourceCompletion; + +struct GtkSourceCompletionCell; + +struct GtkSourceCompletionCellClass +{ + GtkWidgetClass parentClass; +} + +struct GtkSourceCompletionClass +{ + GObjectClass parentClass; +} + +struct GtkSourceCompletionContext; + +struct GtkSourceCompletionContextClass +{ + GObjectClass parentClass; +} + +struct GtkSourceCompletionProposal; + +struct GtkSourceCompletionProposalInterface +{ + GTypeInterface parentIface; +} + +struct GtkSourceCompletionProvider; + +struct GtkSourceCompletionProviderInterface +{ + GTypeInterface parentIface; + /** + * + * Params: + * self = a #GtkSourceCompletionProvider + * Returns: a title for the provider or %NULL + */ + extern(C) char* function(GtkSourceCompletionProvider* self) getTitle; + /** */ + extern(C) int function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context) getPriority; + /** */ + extern(C) int function(GtkSourceCompletionProvider* self, GtkTextIter* iter, dchar ch) isTrigger; + /** */ + extern(C) int function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context, GtkSourceCompletionProposal* proposal, uint keyval, GdkModifierType state) keyActivates; + /** */ + extern(C) GListModel* function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context, GError** err) populate; + /** */ + extern(C) void function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) populateAsync; + /** + * + * Params: + * self = a #GtkSourceCompletionProvider + * result = a #GAsyncResult provided to callback + * Returns: a #GListModel of #GtkSourceCompletionProposal + * + * Throws: GException on failure. + */ + extern(C) GListModel* function(GtkSourceCompletionProvider* self, GAsyncResult* result, GError** err) populateFinish; + /** */ + extern(C) void function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context, GListModel* model) refilter; + /** */ + extern(C) void function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context, GtkSourceCompletionProposal* proposal, GtkSourceCompletionCell* cell) display; + /** */ + extern(C) void function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context, GtkSourceCompletionProposal* proposal) activate; + /** + * + * Params: + * self = a #GtkSourceCompletionProvider + * context = a #GtkSourceCompletionContext + * proposal = a #GtkSourceCompletionProposal + * Returns: a #GPtrArray of #GtkSourceCompletionProposal or %NULL. + */ + extern(C) GPtrArray* function(GtkSourceCompletionProvider* self, GtkSourceCompletionContext* context, GtkSourceCompletionProposal* proposal) listAlternates; +} + +struct GtkSourceCompletionSnippets +{ + GObject parentInstance; +} + +struct GtkSourceCompletionSnippetsClass +{ + GObjectClass parentClass; + void*[10] Reserved; +} + +struct GtkSourceCompletionWords +{ + GObject parentInstance; +} + +struct GtkSourceCompletionWordsClass +{ + GObjectClass parentClass; + void*[10] Reserved; +} + +struct GtkSourceEncoding; + +struct GtkSourceFile +{ + GObject parentInstance; +} + +struct GtkSourceFileClass +{ + GObjectClass parentClass; + void*[10] Reserved; +} + +struct GtkSourceFileLoader; + +struct GtkSourceFileLoaderClass +{ + GObjectClass parentClass; +} + +struct GtkSourceFileSaver; + +struct GtkSourceFileSaverClass +{ + GObjectClass parentClass; +} + +struct GtkSourceGutter; + +struct GtkSourceGutterClass +{ + GtkWidgetClass parentClass; +} + +struct GtkSourceGutterLines; + +struct GtkSourceGutterLinesClass +{ + GObjectClass parentClass; +} + +struct GtkSourceGutterRenderer +{ + GtkWidget parentInstance; +} + +struct GtkSourceGutterRendererClass +{ + GtkWidgetClass parentClass; + /** */ + extern(C) void function(GtkSourceGutterRenderer* renderer, GtkSourceGutterLines* lines, uint line) queryData; + /** */ + extern(C) void function(GtkSourceGutterRenderer* renderer, GtkSourceGutterLines* lines) begin; + /** */ + extern(C) void function(GtkSourceGutterRenderer* renderer, GtkSnapshot* snapshot, GtkSourceGutterLines* lines, uint line) snapshotLine; + /** */ + extern(C) void function(GtkSourceGutterRenderer* renderer) end; + /** */ + extern(C) void function(GtkSourceGutterRenderer* renderer, GtkSourceView* oldView) changeView; + /** */ + extern(C) void function(GtkSourceGutterRenderer* renderer, GtkSourceBuffer* oldBuffer) changeBuffer; + /** + * + * Params: + * renderer = a #GtkSourceGutterRenderer + * iter = a #GtkTextIter at the start of the line to be activated + * area = a #GdkRectangle of the cell area to be activated + * Returns: %TRUE if the renderer can be activated, %FALSE otherwise + */ + extern(C) int function(GtkSourceGutterRenderer* renderer, GtkTextIter* iter, GdkRectangle* area) queryActivatable; + /** */ + extern(C) void function(GtkSourceGutterRenderer* renderer, GtkTextIter* iter, GdkRectangle* area, uint button, GdkModifierType state, int nPresses) activate; + void*[20] Reserved; +} + +struct GtkSourceGutterRendererPixbuf +{ + GtkSourceGutterRenderer parentInstance; +} + +struct GtkSourceGutterRendererPixbufClass +{ + GtkSourceGutterRendererClass parentClass; + void*[10] Reserved; +} + +struct GtkSourceGutterRendererText +{ + GtkSourceGutterRenderer parentInstance; +} + +struct GtkSourceGutterRendererTextClass +{ + GtkSourceGutterRendererClass parentClass; + void*[10] Reserved; +} + +struct GtkSourceHover; + +struct GtkSourceHoverClass +{ + GObjectClass parentClass; +} + +struct GtkSourceHoverContext; + +struct GtkSourceHoverContextClass +{ + GObjectClass parentClass; +} + +struct GtkSourceHoverDisplay; + +struct GtkSourceHoverDisplayClass +{ + GtkWidgetClass parentClass; +} + +struct GtkSourceHoverProvider; + +struct GtkSourceHoverProviderInterface +{ + GTypeInterface parentIface; + /** */ + extern(C) int function(GtkSourceHoverProvider* self, GtkSourceHoverContext* context, GtkSourceHoverDisplay* display, GError** err) populate; + /** */ + extern(C) void function(GtkSourceHoverProvider* self, GtkSourceHoverContext* context, GtkSourceHoverDisplay* display, GCancellable* cancellable, GAsyncReadyCallback callback, void* userData) populateAsync; + /** */ + extern(C) int function(GtkSourceHoverProvider* self, GAsyncResult* result, GError** err) populateFinish; +} + +struct GtkSourceIndenter; + +/** + * The virtual function table for #GtkSourceIndenter. + */ +struct GtkSourceIndenterInterface +{ + GTypeInterface parentIface; + /** + * + * Params: + * self = a #GtkSourceIndenter + * view = a #GtkSourceView + * location = the location where @ch is to be inserted + * state = modifier state for the insertion + * keyval = the keyval pressed such as [const@Gdk.KEY_Return] + * Returns: %TRUE if indentation should be automatically triggered; + * otherwise %FALSE and no indentation will be performed. + */ + extern(C) int function(GtkSourceIndenter* self, GtkSourceView* view, GtkTextIter* location, GdkModifierType state, uint keyval) isTrigger; + /** */ + extern(C) void function(GtkSourceIndenter* self, GtkSourceView* view, GtkTextIter* iter) indent; +} + +struct GtkSourceLanguage; + +struct GtkSourceLanguageClass +{ + GObjectClass parentClass; +} + +struct GtkSourceLanguageManager; + +struct GtkSourceLanguageManagerClass +{ + GObjectClass parentClass; +} + +struct GtkSourceMap +{ + GtkSourceView parentInstance; +} + +struct GtkSourceMapClass +{ + GtkSourceViewClass parentClass; + void*[10] Reserved; +} + +struct GtkSourceMark +{ + GtkTextMark parentInstance; +} + +struct GtkSourceMarkAttributes; + +struct GtkSourceMarkAttributesClass +{ + GObjectClass parentClass; +} + +struct GtkSourceMarkClass +{ + GtkTextMarkClass parentClass; + void*[10] Reserved; +} + +struct GtkSourcePrintCompositor +{ + GObject parentInstance; +} + +struct GtkSourcePrintCompositorClass +{ + GObjectClass parentClass; + void*[10] Reserved; +} + +struct GtkSourceRegion +{ + GObject parentInstance; +} + +struct GtkSourceRegionClass +{ + GObjectClass parentClass; + void*[10] Reserved; +} + +struct GtkSourceRegionIter +{ + void* dummy1; + uint dummy2; + void* dummy3; +} + +struct GtkSourceSearchContext; + +struct GtkSourceSearchContextClass +{ + GObjectClass parentClass; +} + +struct GtkSourceSearchSettings +{ + GObject parentInstance; +} + +struct GtkSourceSearchSettingsClass +{ + GObjectClass parentClass; + void*[10] Reserved; +} + +struct GtkSourceSnippet; + +struct GtkSourceSnippetChunk; + +struct GtkSourceSnippetChunkClass +{ + GObjectClass parentClass; +} + +struct GtkSourceSnippetClass +{ + GObjectClass parentClass; +} + +struct GtkSourceSnippetContext; + +struct GtkSourceSnippetContextClass +{ + GObjectClass parentClass; +} + +struct GtkSourceSnippetManager; + +struct GtkSourceSnippetManagerClass +{ + GObjectClass parentClass; +} + +struct GtkSourceSpaceDrawer; + +struct GtkSourceSpaceDrawerClass +{ + GObjectClass parentClass; +} + +struct GtkSourceStyle; + +struct GtkSourceStyleClass +{ + GObjectClass parentClass; +} + +struct GtkSourceStyleScheme; + +struct GtkSourceStyleSchemeChooser; + +struct GtkSourceStyleSchemeChooserButton +{ + GtkButton parentInstance; +} + +struct GtkSourceStyleSchemeChooserButtonClass +{ + GtkButtonClass parent; + void*[10] Reserved; +} + +struct GtkSourceStyleSchemeChooserInterface +{ + GTypeInterface baseInterface; + /** + * + * Params: + * chooser = a #GtkSourceStyleSchemeChooser + * Returns: the currently-selected scheme. + */ + extern(C) GtkSourceStyleScheme* function(GtkSourceStyleSchemeChooser* chooser) getStyleScheme; + /** */ + extern(C) void function(GtkSourceStyleSchemeChooser* chooser, GtkSourceStyleScheme* scheme) setStyleScheme; + void*[12] Reserved; +} + +struct GtkSourceStyleSchemeChooserWidget +{ + GtkWidget parentInstance; +} + +struct GtkSourceStyleSchemeChooserWidgetClass +{ + GtkWidgetClass parent; + void*[10] Reserved; +} + +struct GtkSourceStyleSchemeClass +{ + GObjectClass parentClass; +} + +struct GtkSourceStyleSchemeManager; + +struct GtkSourceStyleSchemeManagerClass +{ + GObjectClass parentClass; +} + +struct GtkSourceStyleSchemePreview; + +struct GtkSourceStyleSchemePreviewClass +{ + GtkWidgetClass parentClass; +} + +struct GtkSourceTag +{ + GtkTextTag parentInstance; +} + +struct GtkSourceTagClass +{ + GtkTextTagClass parentClass; + void*[10] Reserved; +} + +struct GtkSourceView +{ + GtkTextView parentInstance; +} + +struct GtkSourceViewClass +{ + GtkTextViewClass parentClass; + /** */ + extern(C) void function(GtkSourceView* view, GtkTextIter* iter, uint button, GdkModifierType state, int nPresses) lineMarkActivated; + /** */ + extern(C) void function(GtkSourceView* view) showCompletion; + /** */ + extern(C) void function(GtkSourceView* view, int down) moveLines; + /** */ + extern(C) void function(GtkSourceView* view, int step) moveWords; + /** */ + extern(C) void function(GtkSourceView* view, GtkSourceSnippet* snippet, GtkTextIter* location) pushSnippet; + void*[20] Reserved; +} + +struct GtkSourceVimIMContext; + +struct GtkSourceVimIMContextClass +{ + GtkIMContextClass parentClass; +} + +/** + * Type definition for a function that will be called to create a + * [class@Gio.MountOperation]. This is useful for creating a [class@Gtk.MountOperation]. + * + * Params: + * file = a #GtkSourceFile. + * userdata = user data + */ +public alias extern(C) GMountOperation* function(GtkSourceFile* file, void* userdata) GtkSourceMountOperationFactory; + +/** + * This function is called incrementally to process additional background work. + * A deadline is provided which can be checked using [func@GLib.get_monotonic_time] so + * that additional work can be processed each frame. + * + * This is useful for situations where you are incrementally performing + * background work such as spell checking or semantic syntax highlighting. + * + * Params: + * deadline = the time the callback should complete by + * userData = closure data provided when registering callback + * + * Returns: %TRUE if there is more work to process, otherwise %FALSE and the + * handler is unregistered. + * + * Since: 5.2 + */ +public alias extern(C) int function(long deadline, void* userData) GtkSourceSchedulerCallback; diff --git a/src/gtkd/Implement.d b/source/gtk/Implement.d similarity index 100% rename from src/gtkd/Implement.d rename to source/gtk/Implement.d diff --git a/generated/gstreamer/gstreamer/DebugMessage.d b/source/linker/linker/Exception.d similarity index 54% rename from generated/gstreamer/gstreamer/DebugMessage.d rename to source/linker/linker/Exception.d index 76e5f3274..4e8789442 100644 --- a/generated/gstreamer/gstreamer/DebugMessage.d +++ b/source/linker/linker/Exception.d @@ -16,32 +16,18 @@ * along with gtkD; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA */ +module linker.Exception; -// generated automatically - do not change -// find conversion definition on APILookup.txt -// implement new conversion functionalities on the wrap.utils pakage +import std.exception; - -module gstreamer.DebugMessage; - -private import glib.Str; -private import glib.c.functions; -private import gstreamer.c.functions; -public import gstreamer.c.types; +/** + * Exception for librarie loading errors + */ +class LinkException : Exception { + this(string msg, string file = __FILE__, size_t line = __LINE__, Throwable nextInChain = null) pure nothrow @nogc @safe { + super(msg, file, line, nextInChain); + } +} -/** */ -public struct DebugMessage -{ - /** - * Gets the string representation of a #GstDebugMessage. This function is used - * in debug handlers to extract the message. - * - * Returns: the string representation of a #GstDebugMessage. - */ - public static string get(GstDebugMessage* message) - { - return Str.toString(gst_debug_message_get(message)); - } -} diff --git a/source/linker/linker/Loader.d b/source/linker/linker/Loader.d new file mode 100644 index 000000000..2b37a3822 --- /dev/null +++ b/source/linker/linker/Loader.d @@ -0,0 +1,371 @@ +/* + * This file is part of gtkD. + * + * gtkD 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 3 + * of the License, or (at your option) any later version, with + * some exceptions, please read the COPYING file. + * + * gtkD 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 gtkD; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA + */ +module linker.Loader; + +import std.algorithm : canFind; +import std.stdio; +import std.string; + +import linker.Exception; + +public class Linker { + /** Contain lib handler by name */ + private static void * [string] loadedLibs; + /** Contain failed symbols loads by lib */ + private static string[][string] failedLoads; + + /** + * Function for catching unsopported symbols + */ + extern(C) static void unsupportedSymbol() { + throw new LinkException("The function you are calling is not pressent in your version of lib"); + } + + /** + * Link the provided symbol + * Params: + * func = The function we are linking + * symbol = Symbol for linking + * libs = Libraries for symbol searching + */ + public static void link(T)(ref T func, string symbol, const string [] libs ...) { + func = cast(T)getSymbol(symbol, libs); + } + + /** + * Get the symbol from the lib + * Params: + * symbol = Symbol for import + * libs = Libraries for symbol searching + * Returns: Handle for the symbol + */ + public static void * getSymbol(string symbol, const string [] libs ...) { + void * handle = null; + + foreach (lib; libs) { + if (lib !in loadedLibs) loadLibrary(lib); + + handle = getSymbolOS(loadedLibs[lib], symbol); + + if (handle !is null) break; + } + + if (handle is null) { + foreach (lib; libs) { + failedLoads[lib] ~= symbol; + } + handle = &unsupportedSymbol; + } + + return handle; + } + + /** + * Load a dynamic lib + * Params: + * library = Library for loading + */ + public static void loadLibrary(string library) { + import std.algorithm.searching : canFind; + import std.string : split; + + void * handle = null; + + if (library.canFind(';')) { + foreach (lib; library.split(';')) { + handle = loadLibraryOS(lib); + if (handle !is null) break; + } + } + else handle = loadLibraryOS(library); + + if (handle is null) throw new LinkException("Library load failed ("~ library ~"): "~ getLastErrorMessageOS()); + + loadedLibs[library] = handle; + } + + /** + * Unload a library + * Params: + * library = Library for unloading + */ + public static void unloadLibrary(string library) { + unloadLibraryOS(loadedLibs[library]); + loadedLibs.remove(library); + } + + /** + * Check load state + * Returns: True if was load fails + */ + public static bool isFails() { + return failedLoads.length != 0; + } + + /** + * Getter for loaded libs + * Returns: Loaded libs list + */ + public static string [] getLoaded() { + return loadedLibs.keys; + } + + /** + * Check for lib loading + * Params: + * lib = Lib for checking + * Returns: true if the lib was loaded + */ + public static bool isLoaded(string lib) { + if(lib in loadedLibs) return true; + return false; + } + + /** + * Check failed library loads + * Params: + * lib = Lib for checking + * Returns: Failed loads for the library + */ + public static string [] getFails(string lib) { + if (lib in failedLoads) return failedLoads[lib]; + return null; + } + + /** + * Unload all loaded libs at exit + */ + static ~this() { + foreach(lib; loadedLibs.keys) { + unloadLibrary(lib); + } + } + + /** Functions for platform specific library load */ + version (Windows) { + /** Specific imports */ + import core.sys.windows.winnt : IMAGE_FILE_MACHINE_AMD64, IMAGE_FILE_MACHINE_I386; + import core.sys.windows.winbase : LoadLibraryA, GetProcAddress, FreeLibrary; + + /** + * Load library by using OS-specific functions + * Params: + * library = Library's for loading name + * Returns: Loaded library if everything ok or null in other cases + */ + private static void * loadLibraryOS(string library) { + setDLLPath(); + return LoadLibraryA(cast(char *)toStringz(library)); + } + + /** + * Get symbol from library by using OS-specific functions + * Params: + * handle = A handle to the DLL module that contains the function or variable + * symbol = The function or variable name, or the function's ordinal value + * Returns: Address of symbol or null + */ + private static void * getSymbolOS(void * handle, string symbol) { + return GetProcAddress(handle, cast(char *)toStringz(symbol)); + } + + /** + * Unload library by using OS-specific functions + * Params: + * lib = Library for unloading + * Returns: True if everything is ok + */ + private static bool unloadLibraryOS(void * lib) { + return cast(bool)FreeLibrary(lib); + } + + /** + * Get the last error message by using OS-specific functions + * Returns: String with error message or nothing + */ + private static string getLastErrorMessageOS() { + import core.sys.windows.winbase : GetLastError, FormatMessageA, FORMAT_MESSAGE_FROM_SYSTEM, FORMAT_MESSAGE_ARGUMENT_ARRAY; + import core.sys.windows.winnt : LANG_NEUTRAL; + import core.stdc.string : memset; + + char [] buffer = new char[2048]; + memset(buffer.ptr, '\0', 2048); + + FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ARGUMENT_ARRAY, + null, GetLastError(), LANG_NEUTRAL, buffer.ptr, 2048, cast(char **)["\0".ptr].ptr); + + return fromStringz(buffer.ptr).idup; + } + + /** + * Say Windows where it should search dll + */ + private static void setDLLPath() { + static bool is_set = false; + + if (is_set) return; + + string gtk_path = findGtkLibs(); + + if (gtk_path !is null) { + SetDllDirectoryA((gtk_path ~ '\0').ptr); + } + + is_set = true; + } + + /** + * Find Gtk libs on the computer + * Returns: Path to the Gtk libs or null + */ + private static string findGtkLibs() { + import std.algorithm.iteration : splitter; + import std.process : environment; + import std.path : buildNormalizedPath; + import std.file : exists; + + foreach (lib; [`libgtk-3-0.dll`, `libgtk-4-1.dll`, `gtk-3.dll`, `gtk-4.dll`]) { + foreach (path; splitter(environment.get("PATH"), ';')) { + string dll_path = buildNormalizedPath(path, lib); + + if (exists(dll_path) == false) continue; + if (checkDLLArch(dll_path)) return path; + } + } + + return null; + } + + /** + * Check a DLL for compatible with the machine + * Params: + * dll_path = Path to the dll for check + * Returns: true if the dll is compatible with the machine + */ + private static bool checkDLLArch(string dll_path) { + import std.stdio : File; + + File dll = File(dll_path); + + dll.seek(0xc3); + dll.seek(cast(int)dll.rawRead(new int[1])[0]); + + if (cast(uint)dll.rawRead(new uint[1])[0] != 0x00004550) return false; + + ushort win_type = cast(ushort)dll.rawRead(new ushort[1])[0]; + + version(Win32) { + return win_type == IMAGE_FILE_MACHINE_I386; + } + version(Win64) { + return win_type == IMAGE_FILE_MACHINE_AMD64; + } + } + } + else { + /** Import OS-specific libs */ + import core.sys.posix.dlfcn : dlopen, dlerror, dlsym, dlclose; + import core.sys.posix.dlfcn : RTLD_NOW, RTLD_GLOBAL; + + import std.path : buildPath; + + /** String for containing last error message */ + private static string last_error = null; + + version(OSX) { + /** + * Find the path to the libs on MacOS + * Returns: Path to the libs in the MacOS + */ + private static string getBasePath() { + import std.process : environment; + import std.path : buildPath; + + static string path = null; + + if (path !is null) return path; + + path = environment.get("GTK_BASEPATH"); + if (path is null) { + path = environment.get("HOMEBREW_ROOT"); + if (path !is null) path = buildPath(path, "lib"); + } + + return path; + } + + private static string base_path = getBasePath(); + } + else { + private static string base_path = ""; + } + + /** + * Load library by using OS-specific functions + * Params: + * library = Library's for loading name + * Returns: Loaded library if everything ok or null in other cases + */ + private static void * loadLibraryOS(string library) { + import std.path : buildPath; + + void * handle = dlopen(cast(char *)toStringz(buildPath(base_path, library)), RTLD_GLOBAL | RTLD_NOW); + + if (!handle) last_error = fromStringz(dlerror()).idup; + + return handle; + } + + /** + * Get symbol from library by using OS-specific functions + * Params: + * handle = A handle to the DLL module that contains the function or variable + * symbol = The function or variable name, or the function's ordinal value + * Returns: Address of symbol or null + */ + private static void * getSymbolOS(void * handle, string symbol) { + void * symbol_handle = dlsym(handle, cast(char *)toStringz(symbol)); + + if (!symbol_handle) last_error = fromStringz(dlerror()).idup; + + return symbol_handle; + } + + /** + * Unload library by using OS-specific functions + * Params: + * lib = Library for unloading + * Returns: True if everything is ok + */ + private static bool unloadLibraryOS(void * lib) { + int res = dlclose(lib); + if (res != 0) last_error = fromStringz(dlerror()).idup; + return res == 0; + } + + /** + * Get the last error message by using OS-specific functions + * Returns: String with error message or nothing + */ + private static string getLastErrorMessageOS() { + scope(exit) last_error = null; + return last_error; + } + } +} \ No newline at end of file diff --git a/src/gtkd/Loader.d b/src/gtkd/Loader.d deleted file mode 100644 index 19c8be537..000000000 --- a/src/gtkd/Loader.d +++ /dev/null @@ -1,465 +0,0 @@ -/* - * This file is part of gtkD. - * - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - */ - -module gtkd.Loader; - -import std.algorithm : canFind; -import std.stdio; -import std.string; - -import gtkd.paths; - -public struct Linker -{ - private static void*[string] loadedLibraries; - private static string[][string] loadFailures; - - extern(C) static void unsupportedSymbol() - { - throw new Error("The function you are calling is not pressent in your version of GTK+."); - } - - /* - * Links the provided symbol - * Params: - * funct = The function we are linking - * symbol = The name of the symbol to link - * libraries = One or more libraries to search for the symbol - */ - public static void link(T)(ref T funct, string symbol, const string[] libraries ...) - { - funct = cast(T)getSymbol(symbol, libraries); - } - - /* - * Gets a simbol from one of the provided libraries - * Params: - * symbol = The name of the symbol to link - * libraries = One or more libraries to search for the symbol - */ - public static void* getSymbol(string symbol, const string[] libraries ...) - { - void* handle; - - foreach ( library; libraries ) - { - if( !(library in loadedLibraries) ) - loadLibrary(library); - - handle = pGetSymbol(loadedLibraries[library], symbol); - - if ( handle !is null ) - break; - } - - if ( handle is null ) - { - foreach ( library; libraries ) - loadFailures[library] ~= symbol; - - handle = &unsupportedSymbol; - } - - return handle; - } - - /* - * Loads a library - */ - public static void loadLibrary(string library) - { - void* handle; - - if ( library.canFind(';') ) - { - foreach ( lib; library.split(';') ) - { - handle = pLoadLibrary(lib); - if ( handle ) - break; - } - } - else - { - handle = pLoadLibrary(library); - } - - if ( handle is null ) - throw new Exception("Library load failed ("~ library ~"): "~ getErrorMessage()); - - loadedLibraries[library] = handle; - } - - /* - * Unload a library - */ - public static void unloadLibrary(string library) - { - pUnloadLibrary(loadedLibraries[library]); - - loadedLibraries.remove(library); - } - - ///Ditto - public static void unloadLibrary(const string[] libraries) - { - foreach ( lib; libraries ) - { - unloadLibrary(lib); - } - } - - /** - * Checks if any symbol failed to load - * Returns: true if ALL symbols are loaded - */ - public static bool isPerfectLoad() - { - return loadFailures.keys.length == 0; - } - - /** - * Gets all libraries loaded. - * returns: An array with the loaded libraries - */ - public static string[] getLoadLibraries() - { - return loadedLibraries.keys; - } - - /** - * Print all libraries loaded. - */ - public static void dumpLoadLibraries() - { - foreach ( lib; getLoadLibraries() ) - { - writefln("Loaded lib = %s", lib); - } - } - - /** - * Checks if a library is loaded. - * Returns: true is the library was loaded sucsessfully. - */ - public static bool isLoaded(string library) - { - if ( library in loadedLibraries ) - return true; - else - return false; - } - - ///Ditto - public static bool isLoaded(const string[] libraries) - { - return isLoaded(libraries[0]); - } - - /** - * Gets all the failed loads for a specific library. - * returns: An array of the names hat failed to load for a specific library - * or null if none was found - */ - public static string[] getLoadFailures(string library) - { - if ( library in loadFailures ) - return loadFailures[library]; - else - return null; - } - - ///Ditto. - public static string[] getLoadFailures(const string[] libraries) - { - string[] failures; - - foreach ( lib; libraries ) - { - failures ~= getLoadFailures(lib); - } - - return failures; - } - - /** - * Print all symbols that failed to load - */ - public static void dumpFailedLoads() - { - foreach ( library; loadedLibraries.keys ) - { - foreach ( symbol; getLoadFailures(library) ) - { - writefln("failed (%s) %s", library, symbol); - } - } - } - - static ~this() - { - foreach ( library; loadedLibraries.keys ) - unloadLibrary(library); - } - - /* - * Links the provided symbol - * Params: - * funct = The function we are linking - * symbol = The name of the symbol to link - * libraries = One or more libraries to search for the symbol - */ - deprecated("Use the LIBRARY_* symbols defined for each package, instead of gtkd.paths.LIBRARY") - public static void link(T)(ref T funct, string symbol, LIBRARY[] libraries ...) - { - funct = cast(T)getSymbol(symbol, libraries); - } - - /* - * Gets a simbol from one of the provided libraries - * Params: - * symbol = The name of the symbol to link - * libraries = One or more libraries to search for the symbol - */ - deprecated("Use the LIBRARY_* symbols defined for each package, instead of gtkd.paths.LIBRARY") - public static void* getSymbol(string symbol, LIBRARY[] libraries ...) - { - string[] libStr = new string[libraries.length]; - - foreach (i, library; libraries ) - { - libStr[i] = importLibs[library]; - } - - return getSymbol(symbol, libStr); - } - - /* - * Unload a library - */ - deprecated("Use the LIBRARY_* symbols defined for each package, instead of gtkd.paths.LIBRARY") - public static void unloadLibrary(LIBRARY library) - { - unloadLibrary( importLibs[library] ); - } - - /** - * Checks if a library is loaded. - * Returns: true is the library was loaded sucsessfully. - */ - deprecated("Use the LIBRARY_* symbols defined for each package, instead of gtkd.paths.LIBRARY") - public static bool isLoaded(LIBRARY library) - { - return isLoaded(importLibs[library]); - } - - /** - * Gets all the failed loads for a specific library. - * returns: An array of the names hat failed to load for a specific library - * or null if none was found - */ - deprecated("Use the LIBRARY_* symbols defined for each package, instead of gtkd.paths.LIBRARY") - public static string[] getLoadFailures(LIBRARY library) - { - return getLoadFailures(importLibs[library]); - } -} - -// Platform specific implementation below. - -version(Windows) -{ - import core.sys.windows.winbase : LoadLibraryA, GetProcAddress, FreeLibrary, GetLastError, FormatMessageA, - FORMAT_MESSAGE_FROM_SYSTEM, FORMAT_MESSAGE_ARGUMENT_ARRAY; - import core.sys.windows.winnt : LANG_NEUTRAL, IMAGE_FILE_MACHINE_AMD64, IMAGE_FILE_MACHINE_I386; - - extern(Windows) - { - int SetDllDirectoryA(const(char)* path); - } - - private void* pLoadLibrary(string libraryName) - { - setDllPath(); - - return LoadLibraryA(cast(char*)toStringz(libraryName)); - } - - private void* pGetSymbol(void* handle, string symbol) - { - return GetProcAddress(handle, cast(char*)toStringz(symbol)); - } - - private alias FreeLibrary pUnloadLibrary; - - private string getErrorMessage() - { - char[] buffer = new char[2048]; - buffer[0] = '\0'; - - FormatMessageA( FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ARGUMENT_ARRAY, - null, - GetLastError(), - LANG_NEUTRAL, - buffer.ptr, - cast(uint)buffer.length, - cast(char**)["\0".ptr].ptr); - - return buffer.ptr.fromStringz.idup; - } - - private void setDllPath() - { - static bool isSet; - - if ( isSet ) - return; - - string gtkPath = getGtkPath(); - - if ( gtkPath.length > 0 ) - SetDllDirectoryA((gtkPath~'\0').ptr); - - isSet = true; - } - - private string getGtkPath() - { - import std.algorithm; - import std.path; - import std.process; - import std.file; - - foreach ( lib; ["libgtk-3-0.dll", "gtk-3-3.0.dll", "gtk-3.dll"] ) - { - foreach (path; splitter(environment.get("PATH"), ';')) - { - string dllPath = buildNormalizedPath(path, lib); - - if ( !exists(dllPath) ) - continue; - - if ( checkArchitecture(dllPath) ) - return path; - } - } - - return null; - } - - private bool checkArchitecture(string dllPath) - { - import std.stdio; - - File dll = File(dllPath); - - dll.seek(0x3c); - int offset = dll.rawRead(new int[1])[0]; - - dll.seek(offset); - uint peHead = dll.rawRead(new uint[1])[0]; - - //Not a PE Header. - if( peHead != 0x00004550) - return false; - - ushort type = dll.rawRead(new ushort[1])[0]; - - version(Win32) - { - if ( type == IMAGE_FILE_MACHINE_I386 ) - return true; - } - else version(Win64) - { - if ( type == IMAGE_FILE_MACHINE_AMD64 ) - return true; - } - - return false; - } -} -else -{ - import core.sys.posix.dlfcn : dlopen, dlerror, dlsym, dlclose, RTLD_NOW, RTLD_GLOBAL; - import std.path : buildPath; - - private string lastError; - - version(OSX) - { - string basePath() - { - import std.process; - - static string path; - - if (path !is null) - return path; - - path = environment.get("GTK_BASEPATH"); - if(!path){ - path=environment.get("HOMEBREW_ROOT"); - if(path){ - path=path.buildPath("lib"); - } - } - return path; - } - } - else - { - enum basePath = ""; - } - - private void* pLoadLibrary(string libraryName, int flag = RTLD_NOW) - { - void* handle = dlopen(cast(char*)toStringz(basePath.buildPath(libraryName)), flag | RTLD_GLOBAL); - - if(!handle){ - lastError = dlerror().fromStringz.idup; - } - - // clear the error buffer - dlerror(); - - return handle; - } - - private void* pGetSymbol(void* libraryHandle, string symbol) - { - void* symbolHandle = dlsym(libraryHandle, cast(char*)toStringz(symbol)); - - // clear the error buffer - dlerror(); - - return symbolHandle; - } - - private int pUnloadLibrary(void* libraryHandle) - { - return dlclose(libraryHandle); - } - - private string getErrorMessage() - { - scope(exit) lastError = null; - return lastError; - } -} diff --git a/src/gtkd/paths.d b/src/gtkd/paths.d deleted file mode 100644 index 38d9a3264..000000000 --- a/src/gtkd/paths.d +++ /dev/null @@ -1,139 +0,0 @@ -/* - * gtkD 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 3 - * of the License, or (at your option) any later version, with - * some exceptions, please read the COPYING file. - * - * gtkD 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 gtkD; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA - * - * paths.d -- list of libraries that will be dynamically linked with gtkD - * - * Added: John Reimer -- 2004-12-20 - * Updated: 2005-02-21 changed names; added version(linux) - * Updated: 2005-05-05 updated Linux support - * Updated: 2008-02-16 Tango support - */ - -module gtkd.paths; - -/* - * Define the Libraries that gtkD will be using. - * This is a growable list, as long as the programmer - * also adds to the importLibs list. - */ - -enum LIBRARY -{ - ATK, - CAIRO, - GDK, - GDKPIXBUF, - GLIB, - GMODULE, - GOBJECT, - GIO, - GTHREAD, - GTK, - PANGO, - PANGOCAIRO, - GLGDK, - GLGTK, - GDA, - GSV, - GSV1, - GSTREAMER, - GSTINTERFACES, - VTE, - PEAS, - RSVG, -} - -version (Windows) -{ - const string[LIBRARY.max+1] importLibs = - [ - LIBRARY.ATK: "libatk-1.0-0.dll", - LIBRARY.CAIRO: "libcairo-2.dll", - LIBRARY.GDK: "libgdk-3-0.dll", - LIBRARY.GDKPIXBUF: "libgdk_pixbuf-2.0-0.dll", - LIBRARY.GLIB: "libglib-2.0-0.dll", - LIBRARY.GMODULE: "libgmodule-2.0-0.dll", - LIBRARY.GOBJECT: "libgobject-2.0-0.dll", - LIBRARY.GIO: "libgio-2.0-0.dll", - LIBRARY.GTHREAD: "libgthread-2.0-0.dll", - LIBRARY.GTK: "libgtk-3-0.dll", - LIBRARY.PANGO: "libpango-1.0-0.dll", - LIBRARY.PANGOCAIRO: "libpangocairo-1.0-0.dll", - LIBRARY.GLGDK: "libgdkglext-3.0-0.dll", - LIBRARY.GLGTK: "libgtkglext-3.0-0.dll", - LIBRARY.GDA: "libgda-4.0-4.dll", - LIBRARY.GSV: "libgtksourceview-4-0.dll", - LIBRARY.GSTREAMER: "libgstreamer-1.0.dll", - LIBRARY.GSTINTERFACES: "libgstvideo-1.0.dll", - LIBRARY.VTE: "libvte-2.91.dll", - LIBRARY.PEAS: "libpeas-1.0.dll", - LIBRARY.RSVG: "librsvg-2-2.dll", - ]; -} -else version(darwin) -{ - const string[LIBRARY.max+1] importLibs = - [ - LIBRARY.ATK: "libatk-1.0.dylib", - LIBRARY.CAIRO: "libcairo.dylib", - LIBRARY.GDK: "libgdk-3.0.dylib", - LIBRARY.GDKPIXBUF: "libgdk_pixbuf-2.0.dylib", - LIBRARY.GLIB: "libglib-2.0.dylib", - LIBRARY.GMODULE: "libgmodule-2.0.dylib", - LIBRARY.GOBJECT: "libgobject-2.0.dylib", - LIBRARY.GIO: "libgio-2.0.dylib", - LIBRARY.GTHREAD: "libgthread-2.0.dylib", - LIBRARY.GTK: "libgtk-3.0.dylib", - LIBRARY.PANGO: "libpango-1.0.dylib", - LIBRARY.PANGOCAIRO: "libpangocairo-1.0.dylib", - LIBRARY.GLGDK: "libgdkglext-3.0.dylib", - LIBRARY.GLGTK: "libgtkglext-3.0.dylib", - LIBRARY.GDA: "libgda-2.dylib", - LIBRARY.GSV: "libgtksourceview-4.0.dylib", - LIBRARY.GSTREAMER: "libgstreamer-1.0.dylib", - LIBRARY.GSTINTERFACES: "libgstvideo-1.0.dylib", - LIBRARY.VTE: "libvte-2.91.dylib", - LIBRARY.PEAS: "libpeas-1.0.dylib", - LIBRARY.RSVG: "librsvg-2.dylib", - ]; -} -else -{ - const string[LIBRARY.max+1] importLibs = - [ - LIBRARY.ATK: "libatk-1.0.so.0", - LIBRARY.CAIRO: "libcairo.so.2", - LIBRARY.GDK: "libgdk-3.so.0", - LIBRARY.GDKPIXBUF: "libgdk_pixbuf-2.0.so.0", - LIBRARY.GLIB: "libglib-2.0.so.0", - LIBRARY.GMODULE: "libgmodule-2.0.so.0", - LIBRARY.GOBJECT: "libgobject-2.0.so.0", - LIBRARY.GIO: "libgio-2.0.so.0", - LIBRARY.GTHREAD: "libgthread-2.0.so.0", - LIBRARY.GTK: "libgtk-3.so.0", - LIBRARY.PANGO: "libpango-1.0.so.0", - LIBRARY.PANGOCAIRO: "libpangocairo-1.0.so.0", - LIBRARY.GLGDK: "libgdkglext-3.0.so.0", - LIBRARY.GLGTK: "libgtkglext-3.0.so.0", - LIBRARY.GDA: "libgda-4.0.so.4", - LIBRARY.GSV: "libgtksourceview-4.so.0", - LIBRARY.GSTREAMER: "libgstreamer-1.0.so.0", - LIBRARY.GSTINTERFACES: "libgstvideo-1.0.so.0", - LIBRARY.VTE: "libvte-2.91.so.0", - LIBRARY.PEAS: "libpeas-1.0.so.0", - LIBRARY.RSVG: "librsvg-2.so.2", - ]; -}