// Package gio was automatically generated by github.com/bnema/puregotk DO NOT EDIT package gio import ( "structs" "unsafe" "github.com/ebitengine/purego" "github.com/bnema/puregotk/pkg/core" "github.com/bnema/puregotk/v4/gobject" "github.com/bnema/puregotk/v4/gobject/types" ) // Class structure for #GUnixCredentialsMessage. type UnixCredentialsMessageClass struct { _ structs.HostLayout ParentClass SocketControlMessageClass xGReserved1 uintptr xGReserved2 uintptr } func (x *UnixCredentialsMessageClass) GoPointer() uintptr { return uintptr(unsafe.Pointer(x)) } // OverrideGReserved1 sets the "_g_reserved1" callback function. func (x *UnixCredentialsMessageClass) OverrideGReserved1(cb func()) { if cb == nil { x.xGReserved1 = 0 } else { x.xGReserved1 = purego.NewCallback(func() { cb() }) } } // GetGReserved1 gets the "_g_reserved1" callback function. func (x *UnixCredentialsMessageClass) GetGReserved1() func() { if x.xGReserved1 == 0 { return nil } var rawCallback func() purego.RegisterFunc(&rawCallback, x.xGReserved1) return func() { rawCallback() } } // OverrideGReserved2 sets the "_g_reserved2" callback function. func (x *UnixCredentialsMessageClass) OverrideGReserved2(cb func()) { if cb == nil { x.xGReserved2 = 0 } else { x.xGReserved2 = purego.NewCallback(func() { cb() }) } } // GetGReserved2 gets the "_g_reserved2" callback function. func (x *UnixCredentialsMessageClass) GetGReserved2() func() { if x.xGReserved2 == 0 { return nil } var rawCallback func() purego.RegisterFunc(&rawCallback, x.xGReserved2) return func() { rawCallback() } } type UnixCredentialsMessagePrivate struct { _ structs.HostLayout } func (x *UnixCredentialsMessagePrivate) GoPointer() uintptr { return uintptr(unsafe.Pointer(x)) } // This [class@Gio.SocketControlMessage] contains a [class@Gio.Credentials] // instance. It may be sent using [method@Gio.Socket.send_message] and received // using [method@Gio.Socket.receive_message] over UNIX sockets (ie: sockets in // the `G_SOCKET_FAMILY_UNIX` family). // // For an easier way to send and receive credentials over // stream-oriented UNIX sockets, see // [method@Gio.UnixConnection.send_credentials] and // [method@Gio.UnixConnection.receive_credentials]. To receive credentials of // a foreign process connected to a socket, use // [method@Gio.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, `<gio/gunixcredentialsmessage.h>` 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. type UnixCredentialsMessage struct { SocketControlMessage } var xUnixCredentialsMessageGLibType func() types.GType func UnixCredentialsMessageGLibType() types.GType { return xUnixCredentialsMessageGLibType() } func UnixCredentialsMessageNewFromInternalPtr(ptr uintptr) *UnixCredentialsMessage { cls := &UnixCredentialsMessage{} cls.Ptr = ptr return cls } var xNewUnixCredentialsMessage func() uintptr // Creates a new #GUnixCredentialsMessage with credentials matching the current processes. func NewUnixCredentialsMessage() *UnixCredentialsMessage { var cls *UnixCredentialsMessage cret := xNewUnixCredentialsMessage() if cret == 0 { return nil } cls = &UnixCredentialsMessage{} cls.Ptr = cret return cls } var xNewUnixCredentialsMessageWithCredentials func(uintptr) uintptr // Creates a new #GUnixCredentialsMessage holding @credentials. func NewUnixCredentialsMessageWithCredentials(CredentialsVar *Credentials) *UnixCredentialsMessage { var cls *UnixCredentialsMessage cret := xNewUnixCredentialsMessageWithCredentials(CredentialsVar.GoPointer()) if cret == 0 { return nil } cls = &UnixCredentialsMessage{} cls.Ptr = cret return cls } var xUnixCredentialsMessageGetCredentials func(uintptr) uintptr // Gets the credentials stored in @message. func (x *UnixCredentialsMessage) GetCredentials() *Credentials { var cls *Credentials cret := xUnixCredentialsMessageGetCredentials(x.GoPointer()) if cret == 0 { return nil } gobject.IncreaseRef(cret) cls = &Credentials{} cls.Ptr = cret return cls } func (c *UnixCredentialsMessage) GoPointer() uintptr { if c == nil { return 0 } return c.Ptr } func (c *UnixCredentialsMessage) SetGoPointer(ptr uintptr) { c.Ptr = ptr } var xUnixCredentialsMessageIsSupported func() bool // Checks if passing #GCredentials on a #GSocket is supported on this platform. func UnixCredentialsMessageIsSupported() bool { cret := xUnixCredentialsMessageIsSupported() return cret } func init() { core.SetPackageName("GIO", "gio-2.0") core.SetSharedLibraries("GIO", []string{"libgio-2.0.so.0"}) var libs []uintptr for _, libPath := range core.GetPaths("GIO") { lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL) if err != nil { panic(err) } libs = append(libs, lib) } core.PuregoSafeRegister(&xUnixCredentialsMessageGLibType, libs, "g_unix_credentials_message_get_type") core.PuregoSafeRegister(&xNewUnixCredentialsMessage, libs, "g_unix_credentials_message_new") core.PuregoSafeRegister(&xNewUnixCredentialsMessageWithCredentials, libs, "g_unix_credentials_message_new_with_credentials") core.PuregoSafeRegister(&xUnixCredentialsMessageGetCredentials, libs, "g_unix_credentials_message_get_credentials") core.PuregoSafeRegister(&xUnixCredentialsMessageIsSupported, libs, "g_unix_credentials_message_is_supported") }