// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gio/class.NetworkAddress.html).
pub type NetworkAddress
///|
pub(open) trait INetworkAddress {
fn as_network_address(Self) -> NetworkAddress
fn get_hostname(Self) -> String = _
fn get_port(Self) -> UInt = _
fn get_scheme(Self) -> String? = _
}
///|
pub impl INetworkAddress for NetworkAddress with fn as_network_address(self) {
self
}
///|
#borrow(hostname)
extern "c" fn moonbit_g_network_address_new(
hostname : Bytes,
port : UInt,
) -> NetworkAddress = "moonbit_g_network_address_new"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/ctor.NetworkAddress.new.html).
pub fn NetworkAddress::new(hostname : String, port : UInt) -> NetworkAddress {
moonbit_g_network_address_new(@encoding/utf8.encode(hostname), port)
}
///|
/// [Upstream documentation](https://docs.gtk.org/gio/ctor.NetworkAddress.new_loopback.html).
pub extern "c" fn NetworkAddress::new_loopback(port : UInt) -> NetworkAddress = "moonbit_g_network_address_new_loopback"
///|
#borrow(host_and_port, error)
extern "c" fn moonbit_g_network_address_parse(
host_and_port : Bytes,
default_port : UInt,
error : Ref[@glib.Nullable[@glib.Error_]],
) -> NetworkAddress = "moonbit_g_network_address_parse"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/type_func.NetworkAddress.parse.html).
pub fn NetworkAddress::parse(
host_and_port : String,
default_port : UInt,
) -> NetworkAddress raise @glib.Error_ {
let error_ : Ref[@glib.Nullable[@glib.Error_]] = Ref(@glib.Nullable::null())
let result = moonbit_g_network_address_parse(
@encoding/utf8.encode(host_and_port),
default_port,
error_,
)
match error_.val.to_option() {
Some(e) => raise e
None => result
}
}
///|
#borrow(uri, error)
extern "c" fn moonbit_g_network_address_parse_uri(
uri : Bytes,
default_port : UInt,
error : Ref[@glib.Nullable[@glib.Error_]],
) -> NetworkAddress = "moonbit_g_network_address_parse_uri"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/type_func.NetworkAddress.parse_uri.html).
pub fn NetworkAddress::parse_uri(
uri : String,
default_port : UInt,
) -> NetworkAddress raise @glib.Error_ {
let error_ : Ref[@glib.Nullable[@glib.Error_]] = Ref(@glib.Nullable::null())
let result = moonbit_g_network_address_parse_uri(
@encoding/utf8.encode(uri),
default_port,
error_,
)
match error_.val.to_option() {
Some(e) => raise e
None => result
}
}
///|
#borrow(self_)
extern "c" fn moonbit_g_network_address_get_hostname(
self_ : NetworkAddress,
) -> Bytes = "moonbit_g_network_address_get_hostname"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.NetworkAddress.get_hostname.html).
pub fn NetworkAddress::get_hostname(self : NetworkAddress) -> String {
@encoding/utf8.decode_lossy(moonbit_g_network_address_get_hostname(self))
}
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.NetworkAddress.get_port.html).
#borrow(self)
pub extern "c" fn NetworkAddress::get_port(self : NetworkAddress) -> UInt = "moonbit_g_network_address_get_port"
///|
#borrow(self_)
extern "c" fn moonbit_g_network_address_get_scheme(
self_ : NetworkAddress,
) -> @glib.Nullable[Bytes] = "moonbit_g_network_address_get_scheme"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.NetworkAddress.get_scheme.html).
pub fn NetworkAddress::get_scheme(self : NetworkAddress) -> String? {
let result = moonbit_g_network_address_get_scheme(self)
match result.to_option() {
Some(bytes) => Some(@encoding/utf8.decode_lossy(bytes))
None => None
}
}
///|
impl INetworkAddress with fn get_hostname(self) -> String {
self.as_network_address().get_hostname()
}
///|
impl INetworkAddress with fn get_port(self) -> UInt {
self.as_network_address().get_port()
}
///|
impl INetworkAddress with fn get_scheme(self) -> String? {
self.as_network_address().get_scheme()
}
///|
pub fn NetworkAddress::as_gobject_object(
self : NetworkAddress,
) -> @gobject.Object = "%identity"
///|
pub impl @gobject.IObject for NetworkAddress with fn as_object(self) {
self.as_gobject_object()
}
///|
pub fn NetworkAddress::as_socket_connectable(
self : NetworkAddress,
) -> SocketConnectable = "%identity"
///|
pub impl ISocketConnectable for NetworkAddress with fn as_socket_connectable(
self,
) {
self.as_socket_connectable()
}