// GENERATED — DO NOT EDIT

///|
/// [Upstream documentation](https://docs.gtk.org/glib/flags.IOCondition.html).
pub(all) enum IOConditionFlag {
  In = 1
  Out = 2
  Pri = 4
  Err = 8
  Hup = 16
  Nval = 32
}

///|
fn IOConditionFlag::to_int(self : IOConditionFlag) -> Int = "%identity"

///|
pub struct IOCondition {
  priv value : Int
}

///|
pub fn IOCondition::IOCondition(flags : Array[IOConditionFlag]) -> IOCondition {
  let mut v = 0
  for flag in flags {
    v = v | flag.to_int()
  }
  IOCondition::{ value: v }
}

///|
pub fn IOCondition::from_int(value : Int) -> IOCondition {
  IOCondition::{ value, }
}

///|
pub fn IOCondition::to_int(self : IOCondition) -> Int {
  self.value
}

///|
/// [Upstream documentation](https://docs.gtk.org/glib/enum.SeekType.html).
pub(all) enum SeekType {
  Cur = 0
  Set = 1
  End = 2
}

///|
/// [Upstream documentation](https://docs.gtk.org/glib/flags.UriFlags.html).
pub(all) enum UriFlag {
  None = 1
  ParseRelaxed = 2
  HasPassword = 4
  HasAuthParams = 8
  Encoded = 16
  NonDns = 32
  EncodedQuery = 64
  EncodedPath = 128
  EncodedFragment = 256
  SchemeNormalize = 512
}

///|
fn UriFlag::to_int(self : UriFlag) -> Int = "%identity"

///|
pub struct UriFlags {
  priv value : Int
}

///|
pub fn UriFlags::UriFlags(flags : Array[UriFlag]) -> UriFlags {
  let mut v = 0
  for flag in flags {
    v = v | flag.to_int()
  }
  UriFlags::{ value: v }
}

///|
pub fn UriFlags::from_int(value : Int) -> UriFlags {
  UriFlags::{ value, }
}

///|
pub fn UriFlags::to_int(self : UriFlags) -> Int {
  self.value
}

///|
/// [Upstream documentation](https://docs.gtk.org/glib/flags.UriHideFlags.html).
pub(all) enum UriHideFlag {
  None = 1
  Userinfo = 2
  Password = 4
  AuthParams = 8
  Query = 16
  Fragment = 32
}

///|
fn UriHideFlag::to_int(self : UriHideFlag) -> Int = "%identity"

///|
pub struct UriHideFlags {
  priv value : Int
}

///|
pub fn UriHideFlags::UriHideFlags(flags : Array[UriHideFlag]) -> UriHideFlags {
  let mut v = 0
  for flag in flags {
    v = v | flag.to_int()
  }
  UriHideFlags::{ value: v }
}

///|
pub fn UriHideFlags::from_int(value : Int) -> UriHideFlags {
  UriHideFlags::{ value, }
}

///|
pub fn UriHideFlags::to_int(self : UriHideFlags) -> Int {
  self.value
}

///|
/// [Upstream documentation](https://docs.gtk.org/glib/flags.UriParamsFlags.html).
pub(all) enum UriParamsFlag {
  None = 1
  CaseInsensitive = 2
  WwwForm = 4
  ParseRelaxed = 8
}

///|
fn UriParamsFlag::to_int(self : UriParamsFlag) -> Int = "%identity"

///|
pub struct UriParamsFlags {
  priv value : Int
}

///|
pub fn UriParamsFlags::UriParamsFlags(
  flags : Array[UriParamsFlag],
) -> UriParamsFlags {
  let mut v = 0
  for flag in flags {
    v = v | flag.to_int()
  }
  UriParamsFlags::{ value: v }
}

///|
pub fn UriParamsFlags::from_int(value : Int) -> UriParamsFlags {
  UriParamsFlags::{ value, }
}

///|
pub fn UriParamsFlags::to_int(self : UriParamsFlags) -> Int {
  self.value
}