// GENERATED — DO NOT EDIT

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

///|
pub(open) trait IPollableInputStream {
  fn as_pollable_input_stream(Self) -> PollableInputStream
  fn can_poll(Self) -> Bool = _
  fn is_readable(Self) -> Bool = _
}

///|
pub impl IPollableInputStream for PollableInputStream with fn as_pollable_input_stream(
  self,
) {
  self
}

///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.PollableInputStream.can_poll.html).
#borrow(self)
pub extern "c" fn PollableInputStream::can_poll(
  self : PollableInputStream,
) -> Bool = "moonbit_g_pollable_input_stream_can_poll"

///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.PollableInputStream.is_readable.html).
#borrow(self)
pub extern "c" fn PollableInputStream::is_readable(
  self : PollableInputStream,
) -> Bool = "moonbit_g_pollable_input_stream_is_readable"

///|
impl IPollableInputStream with fn can_poll(self) -> Bool {
  self.as_pollable_input_stream().can_poll()
}

///|
impl IPollableInputStream with fn is_readable(self) -> Bool {
  self.as_pollable_input_stream().is_readable()
}

///|
pub fn PollableInputStream::as_input_stream(
  self : PollableInputStream,
) -> InputStream = "%identity"

///|
pub impl IInputStream for PollableInputStream with fn as_input_stream(self) {
  self.as_input_stream()
}