gsimpleiostream.go RawHistoryFolder
1// Package gio was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package gio
3
4import (
5 "github.com/ebitengine/purego"
6
7 "github.com/bnema/puregotk/pkg/core"
8 "github.com/bnema/puregotk/v4/gobject/types"
9)
10
11// `GSimpleIOStream` creates a [class@Gio.IOStream] from an arbitrary
12// [class@Gio.InputStream] and [class@Gio.OutputStream]. This allows any pair of
13// input and output streams to be used with [class@Gio.IOStream] methods.
14//
15// This is useful when you obtained a [class@Gio.InputStream] and a
16// [class@Gio.OutputStream] by other means, for instance creating them with
17// platform specific methods as
18// [`g_unix_input_stream_new()`](../gio-unix/ctor.UnixInputStream.new.html)
19// (from `gio-unix-2.0.pc` / `GioUnix-2.0`), and you want to
20// take advantage of the methods provided by [class@Gio.IOStream].
21type SimpleIOStream struct {
22 IOStream
23}
24
25var xSimpleIOStreamGLibType func() types.GType
26
27func SimpleIOStreamGLibType() types.GType {
28 return xSimpleIOStreamGLibType()
29}
30
31func SimpleIOStreamNewFromInternalPtr(ptr uintptr) *SimpleIOStream {
32 cls := &SimpleIOStream{}
33 cls.Ptr = ptr
34 return cls
35}
36
37var xNewSimpleIOStream func(uintptr, uintptr) uintptr
38
39// Creates a new #GSimpleIOStream wrapping @input_stream and @output_stream.
40// See also #GIOStream.
41func NewSimpleIOStream(InputStreamVar *InputStream, OutputStreamVar *OutputStream) *SimpleIOStream {
42 var cls *SimpleIOStream
43
44 cret := xNewSimpleIOStream(InputStreamVar.GoPointer(), OutputStreamVar.GoPointer())
45
46 if cret == 0 {
47 return nil
48 }
49 cls = &SimpleIOStream{}
50 cls.Ptr = cret
51 return cls
52}
53
54func (c *SimpleIOStream) GoPointer() uintptr {
55 if c == nil {
56 return 0
57 }
58 return c.Ptr
59}
60
61func (c *SimpleIOStream) SetGoPointer(ptr uintptr) {
62 c.Ptr = ptr
63}
64
65func init() {
66 core.SetPackageName("GIO", "gio-2.0")
67 core.SetSharedLibraries("GIO", []string{"libgio-2.0.so.0"})
68 var libs []uintptr
69 for _, libPath := range core.GetPaths("GIO") {
70 lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
71 if err != nil {
72 panic(err)
73 }
74 libs = append(libs, lib)
75 }
76
77 core.PuregoSafeRegister(&xSimpleIOStreamGLibType, libs, "g_simple_io_stream_get_type")
78
79 core.PuregoSafeRegister(&xNewSimpleIOStream, libs, "g_simple_io_stream_new")
80
81}