// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gio/class.SocketListener.html).
pub type SocketListener
///|
pub(open) trait ISocketListener {
fn as_socket_listener(Self) -> SocketListener
fn add_any_inet_port(Self, &@gobject.IObject?) -> UInt raise @glib.Error_ = _
fn add_inet_port(Self, UInt, &@gobject.IObject?) -> Bool raise @glib.Error_ = _
fn add_socket(Self, &ISocket, &@gobject.IObject?) -> Bool raise @glib.Error_ = _
fn close(Self) -> Unit = _
fn set_backlog(Self, Int) -> Unit = _
fn connect_event(Self, (SocketListener, SocketListenerEvent, Socket) -> Unit) -> UInt64 = _
}
///|
pub impl ISocketListener for SocketListener with fn as_socket_listener(self) {
self
}
///|
/// Implementation contract for SocketListener.changed. Self is the retained MoonBit state; the second parameter is the invoked SocketListener object.
pub(open) trait VSocketListenerChanged {
fn changed(Self, SocketListener) -> Unit
}
///|
/// Implementation contract for SocketListener.event. Self is the retained MoonBit state; the second parameter is the invoked SocketListener object.
pub(open) trait VSocketListenerEvent {
fn event(Self, SocketListener, SocketListenerEvent, &ISocket) -> Unit
}
///|
/// [Upstream documentation](https://docs.gtk.org/gio/ctor.SocketListener.new.html).
pub extern "c" fn SocketListener::new() -> SocketListener = "moonbit_g_socket_listener_new"
///|
#borrow(self_, source_object, error)
extern "c" fn moonbit_g_socket_listener_add_any_inet_port(
self_ : SocketListener,
source_object : @glib.Nullable[@gobject.Object],
error : Ref[@glib.Nullable[@glib.Error_]],
) -> UInt = "moonbit_g_socket_listener_add_any_inet_port"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.SocketListener.add_any_inet_port.html).
pub fn SocketListener::add_any_inet_port(
self : SocketListener,
source_object : &@gobject.IObject?,
) -> UInt raise @glib.Error_ {
let error_ : Ref[@glib.Nullable[@glib.Error_]] = Ref(@glib.Nullable::null())
let result = moonbit_g_socket_listener_add_any_inet_port(
self,
match source_object {
Some(v) => @glib.Nullable::some(v.as_object())
None => @glib.Nullable::null()
},
error_,
)
match error_.val.to_option() {
Some(e) => raise e
None => ()
}
result
}
///|
#borrow(self_, source_object, error)
extern "c" fn moonbit_g_socket_listener_add_inet_port(
self_ : SocketListener,
port : UInt,
source_object : @glib.Nullable[@gobject.Object],
error : Ref[@glib.Nullable[@glib.Error_]],
) -> Bool = "moonbit_g_socket_listener_add_inet_port"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.SocketListener.add_inet_port.html).
pub fn SocketListener::add_inet_port(
self : SocketListener,
port : UInt,
source_object : &@gobject.IObject?,
) -> Bool raise @glib.Error_ {
let error_ : Ref[@glib.Nullable[@glib.Error_]] = Ref(@glib.Nullable::null())
let result = moonbit_g_socket_listener_add_inet_port(
self,
port,
match source_object {
Some(v) => @glib.Nullable::some(v.as_object())
None => @glib.Nullable::null()
},
error_,
)
match error_.val.to_option() {
Some(e) => raise e
None => ()
}
result
}
///|
#borrow(self_, socket, source_object, error)
extern "c" fn moonbit_g_socket_listener_add_socket(
self_ : SocketListener,
socket : Socket,
source_object : @glib.Nullable[@gobject.Object],
error : Ref[@glib.Nullable[@glib.Error_]],
) -> Bool = "moonbit_g_socket_listener_add_socket"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.SocketListener.add_socket.html).
pub fn SocketListener::add_socket(
self : SocketListener,
socket : &ISocket,
source_object : &@gobject.IObject?,
) -> Bool raise @glib.Error_ {
let error_ : Ref[@glib.Nullable[@glib.Error_]] = Ref(@glib.Nullable::null())
let result = moonbit_g_socket_listener_add_socket(
self,
socket.as_socket(),
match source_object {
Some(v) => @glib.Nullable::some(v.as_object())
None => @glib.Nullable::null()
},
error_,
)
match error_.val.to_option() {
Some(e) => raise e
None => ()
}
result
}
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.SocketListener.close.html).
#borrow(self)
pub extern "c" fn SocketListener::close(self : SocketListener) = "moonbit_g_socket_listener_close"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.SocketListener.set_backlog.html).
#borrow(self)
pub extern "c" fn SocketListener::set_backlog(
self : SocketListener,
listen_backlog : Int,
) = "moonbit_g_socket_listener_set_backlog"
///|
#borrow(instance)
extern "c" fn g_socket_listener_connect_event(
instance : SocketListener,
function : FuncRef[
(
SocketListener,
SocketListenerEvent,
Socket,
(SocketListener, SocketListenerEvent, Socket) -> Unit,
) -> Unit,
],
closure : (SocketListener, SocketListenerEvent, Socket) -> Unit,
) -> UInt64 = "moonbit_g_socket_listener_connect_event"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.SocketListener.event.html).
pub fn SocketListener::connect_event(
self : SocketListener,
f : (SocketListener, SocketListenerEvent, Socket) -> Unit,
) -> UInt64 {
g_socket_listener_connect_event(
self,
fn(instance_, event, socket, f) { f(instance_, event, socket) },
f,
)
}
///|
/// [Upstream documentation](https://docs.gtk.org/gio/property.SocketListener.listen-backlog.html).
#borrow(self_)
pub extern "c" fn SocketListener::get_listen_backlog(
self_ : SocketListener,
) -> Int = "moonbit_g_socket_listener_get_listen_backlog"
///|
#borrow(self_, value)
pub extern "c" fn SocketListener::set_listen_backlog(
self_ : SocketListener,
value : Int,
) = "moonbit_g_socket_listener_set_listen_backlog"
///|
impl ISocketListener with fn add_any_inet_port(self, source_object) -> UInt raise @glib.Error_ {
self.as_socket_listener().add_any_inet_port(source_object)
}
///|
impl ISocketListener with fn add_inet_port(self, port, source_object) -> Bool raise @glib.Error_ {
self.as_socket_listener().add_inet_port(port, source_object)
}
///|
impl ISocketListener with fn add_socket(self, socket, source_object) -> Bool raise @glib.Error_ {
self.as_socket_listener().add_socket(socket, source_object)
}
///|
impl ISocketListener with fn close(self) -> Unit {
self.as_socket_listener().close()
}
///|
impl ISocketListener with fn set_backlog(self, listen_backlog) -> Unit {
self.as_socket_listener().set_backlog(listen_backlog)
}
///|
impl ISocketListener with fn connect_event(self, f) -> UInt64 {
self.as_socket_listener().connect_event(f)
}
///|
pub fn SocketListener::as_gobject_object(
self : SocketListener,
) -> @gobject.Object = "%identity"
///|
pub impl @gobject.IObject for SocketListener with fn as_object(self) {
self.as_gobject_object()
}