// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gio/class.SocketService.html).
pub type SocketService
///|
pub(open) trait ISocketService {
fn as_socket_service(Self) -> SocketService
fn is_active(Self) -> Bool = _
fn start(Self) -> Unit = _
fn stop(Self) -> Unit = _
fn connect_incoming(
Self,
(SocketService, SocketConnection, @gobject.Object?) -> Bool,
) -> UInt64 = _
}
///|
pub impl ISocketService for SocketService with fn as_socket_service(self) {
self
}
///|
/// [Upstream documentation](https://docs.gtk.org/gio/ctor.SocketService.new.html).
pub extern "c" fn SocketService::new() -> SocketService = "moonbit_g_socket_service_new"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.SocketService.is_active.html).
#borrow(self)
pub extern "c" fn SocketService::is_active(self : SocketService) -> Bool = "moonbit_g_socket_service_is_active"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.SocketService.start.html).
#borrow(self)
pub extern "c" fn SocketService::start(self : SocketService) = "moonbit_g_socket_service_start"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.SocketService.stop.html).
#borrow(self)
pub extern "c" fn SocketService::stop(self : SocketService) = "moonbit_g_socket_service_stop"
///|
#borrow(instance)
extern "c" fn g_socket_service_connect_incoming(
instance : SocketService,
function : FuncRef[
(
SocketService,
SocketConnection,
@gobject.Object?,
(SocketService, SocketConnection, @gobject.Object?) -> Bool,
) -> Bool,
],
closure : (SocketService, SocketConnection, @gobject.Object?) -> Bool,
) -> UInt64 = "moonbit_g_socket_service_connect_incoming"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/signal.SocketService.incoming.html).
pub fn SocketService::connect_incoming(
self : SocketService,
f : (SocketService, SocketConnection, @gobject.Object?) -> Bool,
) -> UInt64 {
g_socket_service_connect_incoming(
self,
fn(instance_, connection, source_object, f) {
f(instance_, connection, source_object)
},
f,
)
}
///|
#borrow(self_)
extern "c" fn moonbit_g_socket_service_set_active(
self_ : SocketService,
value : Int,
) = "moonbit_g_socket_service_set_active"
///|
pub fn SocketService::set_active(self : SocketService, value : Bool) -> Unit {
moonbit_g_socket_service_set_active(self, if value { 1 } else { 0 })
}
///|
impl ISocketService with fn is_active(self) -> Bool {
self.as_socket_service().is_active()
}
///|
impl ISocketService with fn start(self) -> Unit {
self.as_socket_service().start()
}
///|
impl ISocketService with fn stop(self) -> Unit {
self.as_socket_service().stop()
}
///|
impl ISocketService with fn connect_incoming(self, f) -> UInt64 {
self.as_socket_service().connect_incoming(f)
}
///|
pub fn SocketService::as_socket_listener(
self : SocketService,
) -> SocketListener = "%identity"
///|
pub impl ISocketListener for SocketService with fn as_socket_listener(self) {
self.as_socket_listener()
}
///|
pub fn SocketService::as_gobject_object(
self : SocketService,
) -> @gobject.Object = "%identity"
///|
pub impl @gobject.IObject for SocketService with fn as_object(self) {
self.as_gobject_object()
}