// GENERATED — DO NOT EDIT

///|
/// [Upstream documentation](https://docs.gtk.org/gio/class.NativeSocketAddress.html).
pub type NativeSocketAddress

///|
pub(open) trait INativeSocketAddress {
  fn as_native_socket_address(Self) -> NativeSocketAddress
}

///|
pub impl INativeSocketAddress for NativeSocketAddress with fn as_native_socket_address(
  self,
) {
  self
}

///|
/// Creates a new NativeSocketAddress with default property values.
pub extern "c" fn NativeSocketAddress::new() -> NativeSocketAddress = "moonbit_g_native_socket_address_new"

///|
pub fn NativeSocketAddress::as_socket_address(
  self : NativeSocketAddress,
) -> SocketAddress = "%identity"

///|
pub impl ISocketAddress for NativeSocketAddress with fn as_socket_address(self) {
  self.as_socket_address()
}

///|
pub fn NativeSocketAddress::as_gobject_object(
  self : NativeSocketAddress,
) -> @gobject.Object = "%identity"

///|
pub impl @gobject.IObject for NativeSocketAddress with fn as_object(self) {
  self.as_gobject_object()
}

///|
pub fn NativeSocketAddress::as_socket_connectable(
  self : NativeSocketAddress,
) -> SocketConnectable = "%identity"

///|
pub impl ISocketConnectable for NativeSocketAddress with fn as_socket_connectable(
  self,
) {
  self.as_socket_connectable()
}