Gio::SrvTarget Glib::wrap(GSrvTarget*, bool) (struct GSrvTarget * object, bool take_copy)
{
  int D.97175;

  D.97175 = (int) take_copy;
  Gio::SrvTarget::SrvTarget (<retval>, object, D.97175);
  return <retval>;
}


static GType Gio::SrvTarget::get_type() ()
{
  GType D.97177;

  D.97177 = g_srv_target_get_type ();
  return D.97177;
}


Gio::SrvTarget::SrvTarget() (struct SrvTarget * const this)
{
  this->gobject_ = 0B;
}


Gio::SrvTarget::SrvTarget(const Gio::SrvTarget&) (struct SrvTarget * const this, const struct SrvTarget & other)
{
  struct GSrvTarget * iftmp.0;
  struct GSrvTarget * D.97181;

  D.97181 = other->gobject_;
  if (D.97181 != 0B) goto <D.97182>; else goto <D.97183>;
  <D.97182>:
  D.97181 = other->gobject_;
  iftmp.0 = g_srv_target_copy (D.97181);
  goto <D.97184>;
  <D.97183>:
  iftmp.0 = 0B;
  <D.97184>:
  this->gobject_ = iftmp.0;
}


Gio::SrvTarget::SrvTarget(GSrvTarget*, bool) (struct SrvTarget * const this, struct GSrvTarget * gobject, bool make_a_copy)
{
  struct GSrvTarget * iftmp.1;
  bool D.97187;
  bool D.97188;

  D.97187 = gobject != 0B;
  D.97188 = D.97187 & make_a_copy;
  if (D.97188 != 0) goto <D.97189>; else goto <D.97190>;
  <D.97189>:
  iftmp.1 = g_srv_target_copy (gobject);
  goto <D.97191>;
  <D.97190>:
  iftmp.1 = gobject;
  <D.97191>:
  this->gobject_ = iftmp.1;
}


Gio::SrvTarget& Gio::SrvTarget::operator=(const Gio::SrvTarget&) (struct SrvTarget * const this, const struct SrvTarget & other)
{
  struct SrvTarget & D.97193;
  struct SrvTarget temp;

  try
    {
      Gio::SrvTarget::SrvTarget (&temp, other);
      try
        {
          Gio::SrvTarget::swap (this, &temp);
          D.97193 = this;
          return D.97193;
        }
      finally
        {
          Gio::SrvTarget::~SrvTarget (&temp);
        }
    }
  finally
    {
      temp = {CLOBBER};
    }
}


Gio::SrvTarget::~SrvTarget() (struct SrvTarget * const this)
{
  struct GSrvTarget * D.97199;

  {
    try
      {
        D.97199 = this->gobject_;
        if (D.97199 != 0B) goto <D.97200>; else goto <D.97201>;
        <D.97200>:
        D.97199 = this->gobject_;
        g_srv_target_free (D.97199);
        goto <D.97202>;
        <D.97201>:
        <D.97202>:
      }
    finally
      {
        *this = {CLOBBER};
      }
  }
  <D.96509>:
}


void Gio::SrvTarget::swap(Gio::SrvTarget&) (struct SrvTarget * const this, struct SrvTarget & other)
{
  struct GSrvTarget * D.97204;
  struct GSrvTarget * const temp;

  temp = this->gobject_;
  D.97204 = other->gobject_;
  this->gobject_ = D.97204;
  other->gobject_ = temp;
}


GSrvTarget* Gio::SrvTarget::gobj_copy() const (const struct SrvTarget * const this)
{
  struct GSrvTarget * D.97205;
  struct GSrvTarget * D.97206;

  D.97206 = this->gobject_;
  D.97205 = g_srv_target_copy (D.97206);
  return D.97205;
}


Glib::ustring Gio::SrvTarget::get_hostname() const (const struct SrvTarget * const this)
{
  const struct GSrvTarget * D.97210;
  const gchar * D.97211;

  D.97210 = Gio::SrvTarget::gobj (this);
  D.97211 = g_srv_target_get_hostname (D.97210);
  *<retval> = Glib::convert_const_gchar_ptr_to_ustring (D.97211); [return slot optimization]
  return <retval>;
}


const GSrvTarget* Gio::SrvTarget::gobj() const (const struct SrvTarget * const this)
{
  const struct GSrvTarget * D.97214;

  D.97214 = this->gobject_;
  return D.97214;
}


Glib::ustring Glib::convert_const_gchar_ptr_to_ustring(const char*) (const char * str)
{
  struct ustring * D.97219;

  if (str != 0B) goto <D.97217>; else goto <D.97218>;
  <D.97217>:
  D.97219 = <retval>;
  Glib::ustring::ustring (D.97219, str);
  goto <D.97220>;
  <D.97218>:
  D.97219 = <retval>;
  Glib::ustring::ustring (D.97219);
  <D.97220>:
  return <retval>;
}


guint16 Gio::SrvTarget::get_port() const (const struct SrvTarget * const this)
{
  guint16 D.97222;
  const struct GSrvTarget * D.97223;

  D.97223 = Gio::SrvTarget::gobj (this);
  D.97222 = g_srv_target_get_port (D.97223);
  return D.97222;
}


guint16 Gio::SrvTarget::get_priority() const (const struct SrvTarget * const this)
{
  guint16 D.97226;
  const struct GSrvTarget * D.97227;

  D.97227 = Gio::SrvTarget::gobj (this);
  D.97226 = g_srv_target_get_priority (D.97227);
  return D.97226;
}


guint16 Gio::SrvTarget::get_weight() const (const struct SrvTarget * const this)
{
  guint16 D.97230;
  const struct GSrvTarget * D.97231;

  D.97231 = Gio::SrvTarget::gobj (this);
  D.97230 = g_srv_target_get_weight (D.97231);
  return D.97230;
}


