// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gio/iface.DatagramBased.html).
pub type DatagramBased
///|
pub(open) trait IDatagramBased {
fn as_datagram_based(Self) -> DatagramBased
fn condition_check(Self, @glib.IOCondition) -> @glib.IOCondition = _
fn condition_wait(Self, @glib.IOCondition, Int64, &ICancellable?) -> Bool raise @glib.Error_ = _
}
///|
pub impl IDatagramBased for DatagramBased with fn as_datagram_based(self) {
self
}
///|
#borrow(self_)
extern "c" fn moonbit_g_datagram_based_condition_check(
self_ : DatagramBased,
condition : Int,
) -> Int = "moonbit_g_datagram_based_condition_check"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.DatagramBased.condition_check.html).
pub fn DatagramBased::condition_check(
self : DatagramBased,
condition : @glib.IOCondition,
) -> @glib.IOCondition {
@glib.IOCondition::from_int(
moonbit_g_datagram_based_condition_check(self, condition.to_int()),
)
}
///|
#borrow(self_, cancellable, error)
extern "c" fn moonbit_g_datagram_based_condition_wait(
self_ : DatagramBased,
condition : Int,
timeout : Int64,
cancellable : @glib.Nullable[Cancellable],
error : Ref[@glib.Nullable[@glib.Error_]],
) -> Bool = "moonbit_g_datagram_based_condition_wait"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.DatagramBased.condition_wait.html).
pub fn DatagramBased::condition_wait(
self : DatagramBased,
condition : @glib.IOCondition,
timeout : Int64,
cancellable : &ICancellable?,
) -> Bool raise @glib.Error_ {
let error_ : Ref[@glib.Nullable[@glib.Error_]] = Ref(@glib.Nullable::null())
let result = moonbit_g_datagram_based_condition_wait(
self,
condition.to_int(),
timeout,
match cancellable {
Some(v) => @glib.Nullable::some(v.as_cancellable())
None => @glib.Nullable::null()
},
error_,
)
match error_.val.to_option() {
Some(e) => raise e
None => ()
}
result
}
///|
impl IDatagramBased with fn condition_check(self, condition) -> @glib.IOCondition {
self.as_datagram_based().condition_check(condition)
}
///|
impl IDatagramBased with fn condition_wait(
self,
condition,
timeout,
cancellable,
) -> Bool raise @glib.Error_ {
self.as_datagram_based().condition_wait(condition, timeout, cancellable)
}