Glib::RefPtr<Gio::DBus::MenuModel> Glib::wrap(GDBusMenuModel*, bool) (struct GDBusMenuModel * object, bool take_copy)
{
  struct MenuModel * iftmp.0;
  int D.101902;
  struct ObjectBase * D.101903;

  D.101902 = (int) take_copy;
  D.101903 = Glib::wrap_auto (object, D.101902);
  if (D.101903 == 0B) goto <D.101904>; else goto <D.101905>;
  <D.101904>:
  iftmp.0 = 0B;
  goto <D.101906>;
  <D.101905>:
  iftmp.0 = __dynamic_cast (D.101903, &_ZTIN4Glib10ObjectBaseE, &_ZTIN3Gio4DBus9MenuModelE, -1);
  <D.101906>:
  Glib::RefPtr<Gio::DBus::MenuModel>::RefPtr (<retval>, iftmp.0);
  return <retval>;
}


Glib::RefPtr<T_CppObject>::RefPtr(T_CppObject*) [with T_CppObject = Gio::DBus::MenuModel] (struct RefPtr * const this, struct MenuModel * pCppObject)
{
  this->pCppObject_ = pCppObject;
}


const Glib::Class& Gio::DBus::MenuModel_Class::init() (struct MenuModel_Class * const this)
{
  long unsigned int D.101909;
  long unsigned int D.101912;
  struct Class * D.101913;
  const struct Class & D.101915;

  D.101909 = this->D.86245.gtype_;
  if (D.101909 == 0) goto <D.101910>; else goto <D.101911>;
  <D.101910>:
  this->D.86245.class_init_func_ = class_init_function;
  D.101912 = g_dbus_menu_model_get_type ();
  D.101913 = &this->D.86245;
  Glib::Class::register_derived_type (D.101913, D.101912);
  goto <D.101914>;
  <D.101911>:
  <D.101914>:
  D.101915 = &this->D.86245;
  return D.101915;
}


static void Gio::DBus::MenuModel_Class::class_init_function(void*, void*) (void * g_class, void * class_data)
{
  struct BaseClassType * const klass;

  klass = g_class;
  Gio::MenuModel_Class::class_init_function (klass, class_data);
}


static Glib::ObjectBase* Gio::DBus::MenuModel_Class::wrap_new(GObject*) (struct GObject * object)
{
  struct ObjectBase * D.101918;
  struct ObjectBase * iftmp.1;
  void * D.101026;
  void * D.101920;
  int (*__vtbl_ptr_type) () * D.101923;
  int (*__vtbl_ptr_type) () * D.101924;
  long int D.101925;
  sizetype D.101926;

  D.101026 = operator new (48);
  try
    {
      Gio::DBus::MenuModel::MenuModel (D.101026, object);
    }
  catch
    {
      operator delete (D.101026);
    }
  D.101920 = D.101026;
  if (D.101920 != 0B) goto <D.101921>; else goto <D.101922>;
  <D.101921>:
  D.101923 = MEM[(struct MenuModel *)D.101920].D.86187.D.86067._vptr.Object;
  D.101924 = D.101923 + 18446744073709551592;
  D.101925 = MEM[(long int *)D.101924];
  D.101926 = (sizetype) D.101925;
  iftmp.1 = D.101920 + D.101926;
  goto <D.101927>;
  <D.101922>:
  iftmp.1 = 0B;
  <D.101927>:
  D.101918 = iftmp.1;
  return D.101918;
}


GDBusMenuModel* Gio::DBus::MenuModel::gobj_copy() (struct MenuModel * const this)
{
  int (*__vtbl_ptr_type) () * D.101932;
  int (*__vtbl_ptr_type) () * D.101933;
  long int D.101934;
  sizetype D.101935;
  struct ObjectBase * D.101936;
  int (*__vtbl_ptr_type) () * D.101937;
  int (*__vtbl_ptr_type) () * D.101938;
  int (*__vtbl_ptr_type) () D.101939;
  struct GDBusMenuModel * D.101940;

  D.101932 = this->D.86187.D.86067._vptr.Object;
  D.101933 = D.101932 + 18446744073709551592;
  D.101934 = MEM[(long int *)D.101933];
  D.101935 = (sizetype) D.101934;
  D.101936 = this + D.101935;
  D.101932 = this->D.86187.D.86067._vptr.Object;
  D.101933 = D.101932 + 18446744073709551592;
  D.101934 = MEM[(long int *)D.101933];
  D.101935 = (sizetype) D.101934;
  D.101936 = this + D.101935;
  D.101937 = D.101936->_vptr.ObjectBase;
  D.101938 = D.101937 + 16;
  D.101939 = *D.101938;
  D.101932 = this->D.86187.D.86067._vptr.Object;
  D.101933 = D.101932 + 18446744073709551592;
  D.101934 = MEM[(long int *)D.101933];
  D.101935 = (sizetype) D.101934;
  D.101936 = this + D.101935;
  OBJ_TYPE_REF(D.101939;(const struct ObjectBase)D.101936->2) (D.101936);
  D.101940 = Gio::DBus::MenuModel::gobj (this);
  return D.101940;
}


GDBusMenuModel* Gio::DBus::MenuModel::gobj() (struct MenuModel * const this)
{
  struct GDBusMenuModel * D.101942;
  int (*__vtbl_ptr_type) () * D.101943;
  int (*__vtbl_ptr_type) () * D.101944;
  long int D.101945;
  sizetype D.101946;
  struct ObjectBase * D.101947;

  D.101943 = this->D.86187.D.86067._vptr.Object;
  D.101944 = D.101943 + 18446744073709551592;
  D.101945 = MEM[(long int *)D.101944];
  D.101946 = (sizetype) D.101945;
  D.101947 = this + D.101946;
  D.101942 = D.101947->gobject_;
  return D.101942;
}


Gio::DBus::MenuModel::MenuModel(const Glib::ConstructParams&) (struct MenuModel * const this, const void * * __vtt_parm, const struct ConstructParams & construct_params)
{
  struct trackable * D.101951;
  const void * * iftmp.2;
  struct ObjectBase * D.101959;
  const void * * iftmp.3;
  struct MenuModel * D.101965;
  int (*__vtbl_ptr_type) () * iftmp.4;
  sizetype iftmp.5;
  int (*__vtbl_ptr_type) () * D.101973;
  int (*__vtbl_ptr_type) () * D.101974;
  long int D.101975;
  struct ObjectBase * D.101977;
  int (*__vtbl_ptr_type) () * iftmp.6;
  const void * * iftmp.7;
  const void * * iftmp.8;

  if (0 != 0) goto <D.101949>; else goto <D.101950>;
  <D.101949>:
  D.101951 = &this->D.86190;
  sigc::trackable::trackable (D.101951);
  goto <D.101952>;
  <D.101950>:
  <D.101952>:
  try
    {
      if (0 != 0) goto <D.101953>; else goto <D.101954>;
      <D.101953>:
      if (0 == 0) goto <D.101956>; else goto <D.101957>;
      <D.101956>:
      iftmp.2 = __vtt_parm + 48;
      goto <D.101958>;
      <D.101957>:
      iftmp.2 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 48B];
      <D.101958>:
      D.101959 = &this->D.86189;
      Glib::ObjectBase::ObjectBase (D.101959, iftmp.2);
      goto <D.101960>;
      <D.101954>:
      <D.101960>:
      try
        {
          if (0 == 0) goto <D.101962>; else goto <D.101963>;
          <D.101962>:
          iftmp.3 = __vtt_parm + 8;
          goto <D.101964>;
          <D.101963>:
          iftmp.3 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 8B];
          <D.101964>:
          D.101965 = &this->D.86187;
          Gio::MenuModel::MenuModel (D.101965, iftmp.3, construct_params);
          try
            {
              if (0 == 0) goto <D.101967>; else goto <D.101968>;
              <D.101967>:
              iftmp.4 = *__vtt_parm;
              goto <D.101969>;
              <D.101968>:
              iftmp.4 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 32B];
              <D.101969>:
              this->D.86187.D.86067._vptr.Object = iftmp.4;
              if (0 == 0) goto <D.101971>; else goto <D.101972>;
              <D.101971>:
              D.101973 = this->D.86187.D.86067._vptr.Object;
              D.101974 = D.101973 + 18446744073709551592;
              D.101975 = MEM[(long int *)D.101974];
              iftmp.5 = (sizetype) D.101975;
              goto <D.101976>;
              <D.101972>:
              iftmp.5 = 8;
              <D.101976>:
              D.101977 = this + iftmp.5;
              if (0 == 0) goto <D.101979>; else goto <D.101980>;
              <D.101979>:
              iftmp.6 = MEM[(const void * *)__vtt_parm + 40B];
              goto <D.101981>;
              <D.101980>:
              iftmp.6 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 112B];
              <D.101981>:
              D.101977->_vptr.ObjectBase = iftmp.6;
            }
          catch
            {
              if (0 == 0) goto <D.101983>; else goto <D.101984>;
              <D.101983>:
              iftmp.7 = __vtt_parm + 8;
              goto <D.101985>;
              <D.101984>:
              iftmp.7 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 8B];
              <D.101985>:
              D.101965 = &this->D.86187;
              Gio::MenuModel::~MenuModel (D.101965, iftmp.7);
            }
        }
      catch
        {
          if (0 != 0) goto <D.101986>; else goto <D.101987>;
          <D.101986>:
          if (0 == 0) goto <D.101989>; else goto <D.101990>;
          <D.101989>:
          iftmp.8 = __vtt_parm + 48;
          goto <D.101991>;
          <D.101990>:
          iftmp.8 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 48B];
          <D.101991>:
          D.101959 = &this->D.86189;
          Glib::ObjectBase::~ObjectBase (D.101959, iftmp.8);
          goto <D.101992>;
          <D.101987>:
          <D.101992>:
        }
    }
  catch
    {
      if (0 != 0) goto <D.101993>; else goto <D.101994>;
      <D.101993>:
      D.101951 = &this->D.86190;
      sigc::trackable::~trackable (D.101951);
      goto <D.101995>;
      <D.101994>:
      <D.101995>:
    }
}


Gio::DBus::MenuModel::MenuModel(const Glib::ConstructParams&) (struct MenuModel * const this, const struct ConstructParams & construct_params)
{
  struct trackable * D.102000;
  const void * * iftmp.9;
  struct ObjectBase * D.102008;
  const void * * iftmp.10;
  struct MenuModel * D.102014;
  int (*__vtbl_ptr_type) () * iftmp.11;
  const void * * D.102018;
  sizetype iftmp.12;
  int (*__vtbl_ptr_type) () * D.102023;
  int (*__vtbl_ptr_type) () * D.102024;
  long int D.102025;
  struct ObjectBase * D.102027;
  int (*__vtbl_ptr_type) () * iftmp.13;
  const void * * iftmp.14;
  const void * * iftmp.15;

  if (1 != 0) goto <D.101998>; else goto <D.101999>;
  <D.101998>:
  D.102000 = &this->D.86190;
  sigc::trackable::trackable (D.102000);
  goto <D.102001>;
  <D.101999>:
  <D.102001>:
  try
    {
      if (1 != 0) goto <D.102002>; else goto <D.102003>;
      <D.102002>:
      if (1 == 0) goto <D.102005>; else goto <D.102006>;
      <D.102005>:
      iftmp.9 = 48B;
      goto <D.102007>;
      <D.102006>:
      iftmp.9 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 48B];
      <D.102007>:
      D.102008 = &this->D.86189;
      Glib::ObjectBase::ObjectBase (D.102008, iftmp.9);
      goto <D.102009>;
      <D.102003>:
      <D.102009>:
      try
        {
          if (1 == 0) goto <D.102011>; else goto <D.102012>;
          <D.102011>:
          iftmp.10 = 8B;
          goto <D.102013>;
          <D.102012>:
          iftmp.10 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 8B];
          <D.102013>:
          D.102014 = &this->D.86187;
          Gio::MenuModel::MenuModel (D.102014, iftmp.10, construct_params);
          try
            {
              if (1 == 0) goto <D.102016>; else goto <D.102017>;
              <D.102016>:
              D.102018 = 0B;
              iftmp.11 = *D.102018;
              goto <D.102019>;
              <D.102017>:
              iftmp.11 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 32B];
              <D.102019>:
              this->D.86187.D.86067._vptr.Object = iftmp.11;
              if (1 == 0) goto <D.102021>; else goto <D.102022>;
              <D.102021>:
              D.102023 = this->D.86187.D.86067._vptr.Object;
              D.102024 = D.102023 + 18446744073709551592;
              D.102025 = MEM[(long int *)D.102024];
              iftmp.12 = (sizetype) D.102025;
              goto <D.102026>;
              <D.102022>:
              iftmp.12 = 8;
              <D.102026>:
              D.102027 = this + iftmp.12;
              if (1 == 0) goto <D.102029>; else goto <D.102030>;
              <D.102029>:
              iftmp.13 = MEM[(const void * *)0B + 40B];
              goto <D.102031>;
              <D.102030>:
              iftmp.13 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 112B];
              <D.102031>:
              D.102027->_vptr.ObjectBase = iftmp.13;
            }
          catch
            {
              if (1 == 0) goto <D.102033>; else goto <D.102034>;
              <D.102033>:
              iftmp.14 = 8B;
              goto <D.102035>;
              <D.102034>:
              iftmp.14 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 8B];
              <D.102035>:
              D.102014 = &this->D.86187;
              Gio::MenuModel::~MenuModel (D.102014, iftmp.14);
            }
        }
      catch
        {
          if (1 != 0) goto <D.102036>; else goto <D.102037>;
          <D.102036>:
          if (1 == 0) goto <D.102039>; else goto <D.102040>;
          <D.102039>:
          iftmp.15 = 48B;
          goto <D.102041>;
          <D.102040>:
          iftmp.15 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 48B];
          <D.102041>:
          D.102008 = &this->D.86189;
          Glib::ObjectBase::~ObjectBase (D.102008, iftmp.15);
          goto <D.102042>;
          <D.102037>:
          <D.102042>:
        }
    }
  catch
    {
      if (1 != 0) goto <D.102043>; else goto <D.102044>;
      <D.102043>:
      D.102000 = &this->D.86190;
      sigc::trackable::~trackable (D.102000);
      goto <D.102045>;
      <D.102044>:
      <D.102045>:
    }
}


Gio::DBus::MenuModel::MenuModel(GDBusMenuModel*) (struct MenuModel * const this, const void * * __vtt_parm, struct GDBusMenuModel * castitem)
{
  struct trackable * D.102050;
  const void * * iftmp.16;
  struct ObjectBase * D.102058;
  const void * * iftmp.17;
  struct MenuModel * D.102064;
  int (*__vtbl_ptr_type) () * iftmp.18;
  sizetype iftmp.19;
  int (*__vtbl_ptr_type) () * D.102072;
  int (*__vtbl_ptr_type) () * D.102073;
  long int D.102074;
  struct ObjectBase * D.102076;
  int (*__vtbl_ptr_type) () * iftmp.20;
  const void * * iftmp.21;
  const void * * iftmp.22;

  if (0 != 0) goto <D.102048>; else goto <D.102049>;
  <D.102048>:
  D.102050 = &this->D.86190;
  sigc::trackable::trackable (D.102050);
  goto <D.102051>;
  <D.102049>:
  <D.102051>:
  try
    {
      if (0 != 0) goto <D.102052>; else goto <D.102053>;
      <D.102052>:
      if (0 == 0) goto <D.102055>; else goto <D.102056>;
      <D.102055>:
      iftmp.16 = __vtt_parm + 48;
      goto <D.102057>;
      <D.102056>:
      iftmp.16 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 48B];
      <D.102057>:
      D.102058 = &this->D.86189;
      Glib::ObjectBase::ObjectBase (D.102058, iftmp.16);
      goto <D.102059>;
      <D.102053>:
      <D.102059>:
      try
        {
          if (0 == 0) goto <D.102061>; else goto <D.102062>;
          <D.102061>:
          iftmp.17 = __vtt_parm + 8;
          goto <D.102063>;
          <D.102062>:
          iftmp.17 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 8B];
          <D.102063>:
          D.102064 = &this->D.86187;
          Gio::MenuModel::MenuModel (D.102064, iftmp.17, castitem);
          try
            {
              if (0 == 0) goto <D.102066>; else goto <D.102067>;
              <D.102066>:
              iftmp.18 = *__vtt_parm;
              goto <D.102068>;
              <D.102067>:
              iftmp.18 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 32B];
              <D.102068>:
              this->D.86187.D.86067._vptr.Object = iftmp.18;
              if (0 == 0) goto <D.102070>; else goto <D.102071>;
              <D.102070>:
              D.102072 = this->D.86187.D.86067._vptr.Object;
              D.102073 = D.102072 + 18446744073709551592;
              D.102074 = MEM[(long int *)D.102073];
              iftmp.19 = (sizetype) D.102074;
              goto <D.102075>;
              <D.102071>:
              iftmp.19 = 8;
              <D.102075>:
              D.102076 = this + iftmp.19;
              if (0 == 0) goto <D.102078>; else goto <D.102079>;
              <D.102078>:
              iftmp.20 = MEM[(const void * *)__vtt_parm + 40B];
              goto <D.102080>;
              <D.102079>:
              iftmp.20 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 112B];
              <D.102080>:
              D.102076->_vptr.ObjectBase = iftmp.20;
            }
          catch
            {
              if (0 == 0) goto <D.102082>; else goto <D.102083>;
              <D.102082>:
              iftmp.21 = __vtt_parm + 8;
              goto <D.102084>;
              <D.102083>:
              iftmp.21 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 8B];
              <D.102084>:
              D.102064 = &this->D.86187;
              Gio::MenuModel::~MenuModel (D.102064, iftmp.21);
            }
        }
      catch
        {
          if (0 != 0) goto <D.102085>; else goto <D.102086>;
          <D.102085>:
          if (0 == 0) goto <D.102088>; else goto <D.102089>;
          <D.102088>:
          iftmp.22 = __vtt_parm + 48;
          goto <D.102090>;
          <D.102089>:
          iftmp.22 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 48B];
          <D.102090>:
          D.102058 = &this->D.86189;
          Glib::ObjectBase::~ObjectBase (D.102058, iftmp.22);
          goto <D.102091>;
          <D.102086>:
          <D.102091>:
        }
    }
  catch
    {
      if (0 != 0) goto <D.102092>; else goto <D.102093>;
      <D.102092>:
      D.102050 = &this->D.86190;
      sigc::trackable::~trackable (D.102050);
      goto <D.102094>;
      <D.102093>:
      <D.102094>:
    }
}


Gio::DBus::MenuModel::MenuModel(GDBusMenuModel*) (struct MenuModel * const this, struct GDBusMenuModel * castitem)
{
  struct trackable * D.102099;
  const void * * iftmp.23;
  struct ObjectBase * D.102107;
  const void * * iftmp.24;
  struct MenuModel * D.102113;
  int (*__vtbl_ptr_type) () * iftmp.25;
  const void * * D.102117;
  sizetype iftmp.26;
  int (*__vtbl_ptr_type) () * D.102122;
  int (*__vtbl_ptr_type) () * D.102123;
  long int D.102124;
  struct ObjectBase * D.102126;
  int (*__vtbl_ptr_type) () * iftmp.27;
  const void * * iftmp.28;
  const void * * iftmp.29;

  if (1 != 0) goto <D.102097>; else goto <D.102098>;
  <D.102097>:
  D.102099 = &this->D.86190;
  sigc::trackable::trackable (D.102099);
  goto <D.102100>;
  <D.102098>:
  <D.102100>:
  try
    {
      if (1 != 0) goto <D.102101>; else goto <D.102102>;
      <D.102101>:
      if (1 == 0) goto <D.102104>; else goto <D.102105>;
      <D.102104>:
      iftmp.23 = 48B;
      goto <D.102106>;
      <D.102105>:
      iftmp.23 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 48B];
      <D.102106>:
      D.102107 = &this->D.86189;
      Glib::ObjectBase::ObjectBase (D.102107, iftmp.23);
      goto <D.102108>;
      <D.102102>:
      <D.102108>:
      try
        {
          if (1 == 0) goto <D.102110>; else goto <D.102111>;
          <D.102110>:
          iftmp.24 = 8B;
          goto <D.102112>;
          <D.102111>:
          iftmp.24 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 8B];
          <D.102112>:
          D.102113 = &this->D.86187;
          Gio::MenuModel::MenuModel (D.102113, iftmp.24, castitem);
          try
            {
              if (1 == 0) goto <D.102115>; else goto <D.102116>;
              <D.102115>:
              D.102117 = 0B;
              iftmp.25 = *D.102117;
              goto <D.102118>;
              <D.102116>:
              iftmp.25 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 32B];
              <D.102118>:
              this->D.86187.D.86067._vptr.Object = iftmp.25;
              if (1 == 0) goto <D.102120>; else goto <D.102121>;
              <D.102120>:
              D.102122 = this->D.86187.D.86067._vptr.Object;
              D.102123 = D.102122 + 18446744073709551592;
              D.102124 = MEM[(long int *)D.102123];
              iftmp.26 = (sizetype) D.102124;
              goto <D.102125>;
              <D.102121>:
              iftmp.26 = 8;
              <D.102125>:
              D.102126 = this + iftmp.26;
              if (1 == 0) goto <D.102128>; else goto <D.102129>;
              <D.102128>:
              iftmp.27 = MEM[(const void * *)0B + 40B];
              goto <D.102130>;
              <D.102129>:
              iftmp.27 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 112B];
              <D.102130>:
              D.102126->_vptr.ObjectBase = iftmp.27;
            }
          catch
            {
              if (1 == 0) goto <D.102132>; else goto <D.102133>;
              <D.102132>:
              iftmp.28 = 8B;
              goto <D.102134>;
              <D.102133>:
              iftmp.28 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 8B];
              <D.102134>:
              D.102113 = &this->D.86187;
              Gio::MenuModel::~MenuModel (D.102113, iftmp.28);
            }
        }
      catch
        {
          if (1 != 0) goto <D.102135>; else goto <D.102136>;
          <D.102135>:
          if (1 == 0) goto <D.102138>; else goto <D.102139>;
          <D.102138>:
          iftmp.29 = 48B;
          goto <D.102140>;
          <D.102139>:
          iftmp.29 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 48B];
          <D.102140>:
          D.102107 = &this->D.86189;
          Glib::ObjectBase::~ObjectBase (D.102107, iftmp.29);
          goto <D.102141>;
          <D.102136>:
          <D.102141>:
        }
    }
  catch
    {
      if (1 != 0) goto <D.102142>; else goto <D.102143>;
      <D.102142>:
      D.102099 = &this->D.86190;
      sigc::trackable::~trackable (D.102099);
      goto <D.102144>;
      <D.102143>:
      <D.102144>:
    }
}


Gio::DBus::MenuModel::~MenuModel() (struct MenuModel * const this, const void * * __vtt_parm)
{
  int (*__vtbl_ptr_type) () * iftmp.30;
  sizetype iftmp.31;
  int (*__vtbl_ptr_type) () * D.102154;
  int (*__vtbl_ptr_type) () * D.102155;
  long int D.102156;
  struct ObjectBase * D.102158;
  int (*__vtbl_ptr_type) () * iftmp.32;
  const void * * iftmp.33;
  struct MenuModel * D.102167;
  int D.102168;
  const void * * iftmp.34;
  struct ObjectBase * D.102175;
  struct trackable * D.102179;
  int D.102181;

  {
    if (0 == 0) goto <D.102148>; else goto <D.102149>;
    <D.102148>:
    iftmp.30 = *__vtt_parm;
    goto <D.102150>;
    <D.102149>:
    iftmp.30 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 32B];
    <D.102150>:
    this->D.86187.D.86067._vptr.Object = iftmp.30;
    if (0 == 0) goto <D.102152>; else goto <D.102153>;
    <D.102152>:
    D.102154 = this->D.86187.D.86067._vptr.Object;
    D.102155 = D.102154 + 18446744073709551592;
    D.102156 = MEM[(long int *)D.102155];
    iftmp.31 = (sizetype) D.102156;
    goto <D.102157>;
    <D.102153>:
    iftmp.31 = 8;
    <D.102157>:
    D.102158 = this + iftmp.31;
    if (0 == 0) goto <D.102160>; else goto <D.102161>;
    <D.102160>:
    iftmp.32 = MEM[(const void * *)__vtt_parm + 40B];
    goto <D.102162>;
    <D.102161>:
    iftmp.32 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 112B];
    <D.102162>:
    D.102158->_vptr.ObjectBase = iftmp.32;
    try
      {
        try
          {
            try
              {
                try
                  {

                  }
                finally
                  {
                    if (0 == 0) goto <D.102164>; else goto <D.102165>;
                    <D.102164>:
                    iftmp.33 = __vtt_parm + 8;
                    goto <D.102166>;
                    <D.102165>:
                    iftmp.33 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 8B];
                    <D.102166>:
                    D.102167 = &this->D.86187;
                    Gio::MenuModel::~MenuModel (D.102167, iftmp.33);
                  }
              }
            finally
              {
                D.102168 = 0;
                if (D.102168 != 0) goto <D.102169>; else goto <D.102170>;
                <D.102169>:
                if (0 == 0) goto <D.102172>; else goto <D.102173>;
                <D.102172>:
                iftmp.34 = __vtt_parm + 48;
                goto <D.102174>;
                <D.102173>:
                iftmp.34 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 48B];
                <D.102174>:
                D.102175 = &this->D.86189;
                Glib::ObjectBase::~ObjectBase (D.102175, iftmp.34);
                goto <D.102176>;
                <D.102170>:
                <D.102176>:
              }
          }
        finally
          {
            D.102168 = 0;
            if (D.102168 != 0) goto <D.102177>; else goto <D.102178>;
            <D.102177>:
            D.102179 = &this->D.86190;
            sigc::trackable::~trackable (D.102179);
            goto <D.102180>;
            <D.102178>:
            <D.102180>:
          }
      }
    finally
      {
        *this = {CLOBBER};
      }
  }
  <D.101054>:
  D.102181 = 0;
  if (D.102181 != 0) goto <D.102182>; else goto <D.102183>;
  <D.102182>:
  operator delete (this);
  goto <D.102184>;
  <D.102183>:
  <D.102184>:
}


virtual Gio::DBus::MenuModel::~MenuModel() (struct MenuModel * const this)
{
  int (*__vtbl_ptr_type) () * iftmp.35;
  const void * * D.102200;
  sizetype iftmp.36;
  int (*__vtbl_ptr_type) () * D.102205;
  int (*__vtbl_ptr_type) () * D.102206;
  long int D.102207;
  struct ObjectBase * D.102209;
  int (*__vtbl_ptr_type) () * iftmp.37;
  const void * * iftmp.38;
  struct MenuModel * D.102218;
  int D.102219;
  const void * * iftmp.39;
  struct ObjectBase * D.102226;
  struct trackable * D.102230;
  int D.102232;

  {
    if (2 == 0) goto <D.102198>; else goto <D.102199>;
    <D.102198>:
    D.102200 = 0B;
    iftmp.35 = *D.102200;
    goto <D.102201>;
    <D.102199>:
    iftmp.35 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 32B];
    <D.102201>:
    this->D.86187.D.86067._vptr.Object = iftmp.35;
    if (2 == 0) goto <D.102203>; else goto <D.102204>;
    <D.102203>:
    D.102205 = this->D.86187.D.86067._vptr.Object;
    D.102206 = D.102205 + 18446744073709551592;
    D.102207 = MEM[(long int *)D.102206];
    iftmp.36 = (sizetype) D.102207;
    goto <D.102208>;
    <D.102204>:
    iftmp.36 = 8;
    <D.102208>:
    D.102209 = this + iftmp.36;
    if (2 == 0) goto <D.102211>; else goto <D.102212>;
    <D.102211>:
    iftmp.37 = MEM[(const void * *)0B + 40B];
    goto <D.102213>;
    <D.102212>:
    iftmp.37 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 112B];
    <D.102213>:
    D.102209->_vptr.ObjectBase = iftmp.37;
    try
      {
        try
          {
            try
              {
                try
                  {

                  }
                finally
                  {
                    if (2 == 0) goto <D.102215>; else goto <D.102216>;
                    <D.102215>:
                    iftmp.38 = 8B;
                    goto <D.102217>;
                    <D.102216>:
                    iftmp.38 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 8B];
                    <D.102217>:
                    D.102218 = &this->D.86187;
                    Gio::MenuModel::~MenuModel (D.102218, iftmp.38);
                  }
              }
            finally
              {
                D.102219 = 2;
                if (D.102219 != 0) goto <D.102220>; else goto <D.102221>;
                <D.102220>:
                if (2 == 0) goto <D.102223>; else goto <D.102224>;
                <D.102223>:
                iftmp.39 = 48B;
                goto <D.102225>;
                <D.102224>:
                iftmp.39 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 48B];
                <D.102225>:
                D.102226 = &this->D.86189;
                Glib::ObjectBase::~ObjectBase (D.102226, iftmp.39);
                goto <D.102227>;
                <D.102221>:
                <D.102227>:
              }
          }
        finally
          {
            D.102219 = 2;
            if (D.102219 != 0) goto <D.102228>; else goto <D.102229>;
            <D.102228>:
            D.102230 = &this->D.86190;
            sigc::trackable::~trackable (D.102230);
            goto <D.102231>;
            <D.102229>:
            <D.102231>:
          }
      }
    finally
      {
        *this = {CLOBBER};
      }
  }
  <D.101057>:
  D.102232 = 0;
  if (D.102232 != 0) goto <D.102233>; else goto <D.102234>;
  <D.102233>:
  operator delete (this);
  goto <D.102235>;
  <D.102234>:
  <D.102235>:
}


virtual Gio::DBus::MenuModel::~MenuModel() (struct MenuModel * const this)
{
  Gio::DBus::MenuModel::~MenuModel (this);
  <D.101062>:
  operator delete (this);
}


static GType Gio::DBus::MenuModel::get_type() ()
{
  GType D.102248;
  const struct Class & D.102249;

  D.102249 = Gio::DBus::MenuModel_Class::init (&menumodel_class_);
  D.102248 = Glib::Class::get_type (D.102249);
  return D.102248;
}


GType Glib::Class::get_type() const (const struct Class * const this)
{
  GType D.102252;

  D.102252 = this->gtype_;
  return D.102252;
}


static GType Gio::DBus::MenuModel::get_base_type() ()
{
  GType D.102254;

  D.102254 = g_dbus_menu_model_get_type ();
  return D.102254;
}


Gio::DBus::MenuModel::MenuModel() (struct MenuModel * const this, const void * * __vtt_parm)
{
  struct trackable * D.102259;
  const void * * iftmp.40;
  struct ObjectBase * D.102267;
  struct ConstructParams D.101080;
  const struct Class & D.102269;
  const void * * iftmp.41;
  struct MenuModel * D.102274;
  int (*__vtbl_ptr_type) () * iftmp.42;
  sizetype iftmp.43;
  int (*__vtbl_ptr_type) () * D.102282;
  int (*__vtbl_ptr_type) () * D.102283;
  long int D.102284;
  struct ObjectBase * D.102286;
  int (*__vtbl_ptr_type) () * iftmp.44;
  const void * * iftmp.45;
  const void * * iftmp.46;

  if (0 != 0) goto <D.102257>; else goto <D.102258>;
  <D.102257>:
  D.102259 = &this->D.86190;
  sigc::trackable::trackable (D.102259);
  goto <D.102260>;
  <D.102258>:
  <D.102260>:
  try
    {
      if (0 != 0) goto <D.102261>; else goto <D.102262>;
      <D.102261>:
      if (0 == 0) goto <D.102264>; else goto <D.102265>;
      <D.102264>:
      iftmp.40 = __vtt_parm + 48;
      goto <D.102266>;
      <D.102265>:
      iftmp.40 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 48B];
      <D.102266>:
      D.102267 = &this->D.86189;
      Glib::ObjectBase::ObjectBase (D.102267, iftmp.40, 0B);
      goto <D.102268>;
      <D.102262>:
      <D.102268>:
      try
        {
          D.102269 = Gio::DBus::MenuModel_Class::init (&menumodel_class_);
          Glib::ConstructParams::ConstructParams (&D.101080, D.102269);
          try
            {
              if (0 == 0) goto <D.102271>; else goto <D.102272>;
              <D.102271>:
              iftmp.41 = __vtt_parm + 8;
              goto <D.102273>;
              <D.102272>:
              iftmp.41 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 8B];
              <D.102273>:
              D.102274 = &this->D.86187;
              Gio::MenuModel::MenuModel (D.102274, iftmp.41, &D.101080);
            }
          finally
            {
              Glib::ConstructParams::~ConstructParams (&D.101080);
              D.101080 = {CLOBBER};
            }
          try
            {
              if (0 == 0) goto <D.102276>; else goto <D.102277>;
              <D.102276>:
              iftmp.42 = *__vtt_parm;
              goto <D.102278>;
              <D.102277>:
              iftmp.42 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 32B];
              <D.102278>:
              this->D.86187.D.86067._vptr.Object = iftmp.42;
              if (0 == 0) goto <D.102280>; else goto <D.102281>;
              <D.102280>:
              D.102282 = this->D.86187.D.86067._vptr.Object;
              D.102283 = D.102282 + 18446744073709551592;
              D.102284 = MEM[(long int *)D.102283];
              iftmp.43 = (sizetype) D.102284;
              goto <D.102285>;
              <D.102281>:
              iftmp.43 = 8;
              <D.102285>:
              D.102286 = this + iftmp.43;
              if (0 == 0) goto <D.102288>; else goto <D.102289>;
              <D.102288>:
              iftmp.44 = MEM[(const void * *)__vtt_parm + 40B];
              goto <D.102290>;
              <D.102289>:
              iftmp.44 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 112B];
              <D.102290>:
              D.102286->_vptr.ObjectBase = iftmp.44;
            }
          catch
            {
              if (0 == 0) goto <D.102292>; else goto <D.102293>;
              <D.102292>:
              iftmp.45 = __vtt_parm + 8;
              goto <D.102294>;
              <D.102293>:
              iftmp.45 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 8B];
              <D.102294>:
              D.102274 = &this->D.86187;
              Gio::MenuModel::~MenuModel (D.102274, iftmp.45);
            }
        }
      catch
        {
          if (0 != 0) goto <D.102295>; else goto <D.102296>;
          <D.102295>:
          if (0 == 0) goto <D.102298>; else goto <D.102299>;
          <D.102298>:
          iftmp.46 = __vtt_parm + 48;
          goto <D.102300>;
          <D.102299>:
          iftmp.46 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 48B];
          <D.102300>:
          D.102267 = &this->D.86189;
          Glib::ObjectBase::~ObjectBase (D.102267, iftmp.46);
          goto <D.102301>;
          <D.102296>:
          <D.102301>:
        }
    }
  catch
    {
      if (0 != 0) goto <D.102302>; else goto <D.102303>;
      <D.102302>:
      D.102259 = &this->D.86190;
      sigc::trackable::~trackable (D.102259);
      goto <D.102304>;
      <D.102303>:
      <D.102304>:
    }
}


Gio::DBus::MenuModel::MenuModel() (struct MenuModel * const this)
{
  struct trackable * D.102311;
  const void * * iftmp.47;
  struct ObjectBase * D.102319;
  struct ConstructParams D.101082;
  const struct Class & D.102321;
  const void * * iftmp.48;
  struct MenuModel * D.102326;
  int (*__vtbl_ptr_type) () * iftmp.49;
  const void * * D.102330;
  sizetype iftmp.50;
  int (*__vtbl_ptr_type) () * D.102335;
  int (*__vtbl_ptr_type) () * D.102336;
  long int D.102337;
  struct ObjectBase * D.102339;
  int (*__vtbl_ptr_type) () * iftmp.51;
  const void * * iftmp.52;
  const void * * iftmp.53;

  if (1 != 0) goto <D.102309>; else goto <D.102310>;
  <D.102309>:
  D.102311 = &this->D.86190;
  sigc::trackable::trackable (D.102311);
  goto <D.102312>;
  <D.102310>:
  <D.102312>:
  try
    {
      if (1 != 0) goto <D.102313>; else goto <D.102314>;
      <D.102313>:
      if (1 == 0) goto <D.102316>; else goto <D.102317>;
      <D.102316>:
      iftmp.47 = 48B;
      goto <D.102318>;
      <D.102317>:
      iftmp.47 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 48B];
      <D.102318>:
      D.102319 = &this->D.86189;
      Glib::ObjectBase::ObjectBase (D.102319, iftmp.47, 0B);
      goto <D.102320>;
      <D.102314>:
      <D.102320>:
      try
        {
          D.102321 = Gio::DBus::MenuModel_Class::init (&menumodel_class_);
          Glib::ConstructParams::ConstructParams (&D.101082, D.102321);
          try
            {
              if (1 == 0) goto <D.102323>; else goto <D.102324>;
              <D.102323>:
              iftmp.48 = 8B;
              goto <D.102325>;
              <D.102324>:
              iftmp.48 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 8B];
              <D.102325>:
              D.102326 = &this->D.86187;
              Gio::MenuModel::MenuModel (D.102326, iftmp.48, &D.101082);
            }
          finally
            {
              Glib::ConstructParams::~ConstructParams (&D.101082);
              D.101082 = {CLOBBER};
            }
          try
            {
              if (1 == 0) goto <D.102328>; else goto <D.102329>;
              <D.102328>:
              D.102330 = 0B;
              iftmp.49 = *D.102330;
              goto <D.102331>;
              <D.102329>:
              iftmp.49 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 32B];
              <D.102331>:
              this->D.86187.D.86067._vptr.Object = iftmp.49;
              if (1 == 0) goto <D.102333>; else goto <D.102334>;
              <D.102333>:
              D.102335 = this->D.86187.D.86067._vptr.Object;
              D.102336 = D.102335 + 18446744073709551592;
              D.102337 = MEM[(long int *)D.102336];
              iftmp.50 = (sizetype) D.102337;
              goto <D.102338>;
              <D.102334>:
              iftmp.50 = 8;
              <D.102338>:
              D.102339 = this + iftmp.50;
              if (1 == 0) goto <D.102341>; else goto <D.102342>;
              <D.102341>:
              iftmp.51 = MEM[(const void * *)0B + 40B];
              goto <D.102343>;
              <D.102342>:
              iftmp.51 = &MEM[(void *)&_ZTVN3Gio4DBus9MenuModelE + 112B];
              <D.102343>:
              D.102339->_vptr.ObjectBase = iftmp.51;
            }
          catch
            {
              if (1 == 0) goto <D.102345>; else goto <D.102346>;
              <D.102345>:
              iftmp.52 = 8B;
              goto <D.102347>;
              <D.102346>:
              iftmp.52 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 8B];
              <D.102347>:
              D.102326 = &this->D.86187;
              Gio::MenuModel::~MenuModel (D.102326, iftmp.52);
            }
        }
      catch
        {
          if (1 != 0) goto <D.102348>; else goto <D.102349>;
          <D.102348>:
          if (1 == 0) goto <D.102351>; else goto <D.102352>;
          <D.102351>:
          iftmp.53 = 48B;
          goto <D.102353>;
          <D.102352>:
          iftmp.53 = &MEM[(void *)&_ZTTN3Gio4DBus9MenuModelE + 48B];
          <D.102353>:
          D.102319 = &this->D.86189;
          Glib::ObjectBase::~ObjectBase (D.102319, iftmp.53);
          goto <D.102354>;
          <D.102349>:
          <D.102354>:
        }
    }
  catch
    {
      if (1 != 0) goto <D.102355>; else goto <D.102356>;
      <D.102355>:
      D.102311 = &this->D.86190;
      sigc::trackable::~trackable (D.102311);
      goto <D.102357>;
      <D.102356>:
      <D.102357>:
    }
}


static Glib::RefPtr<Gio::DBus::MenuModel> Gio::DBus::MenuModel::get(const Glib::RefPtr<Gio::DBus::Connection>&, const Glib::ustring&, const Glib::ustring&) (const struct RefPtr & connection, const struct ustring & bus_name, const struct ustring & object_path)
{
  const char * D.102363;
  const char * D.102364;
  struct BaseObjectType * D.102365;
  struct GDBusMenuModel * D.102366;

  D.102363 = Glib::ustring::c_str (object_path);
  D.102364 = Glib::ustring::c_str (bus_name);
  D.102365 = Glib::unwrap<Gio::DBus::Connection> (connection);
  D.102366 = g_dbus_menu_model_get (D.102365, D.102364, D.102363);
  *<retval> = Glib::wrap (D.102366, 0); [return slot optimization]
  return <retval>;
}


typename T::BaseObjectType* Glib::unwrap(const Glib::RefPtr<T_CppObject>&) [with T = Gio::DBus::Connection; typename T::BaseObjectType = _GDBusConnection] (const struct RefPtr & ptr)
{
  struct BaseObjectType * D.102372;
  struct BaseObjectType * iftmp.54;
  bool D.102374;
  struct Connection * D.102377;

  D.102374 = Glib::RefPtr<Gio::DBus::Connection>::operator bool (ptr);
  if (D.102374 != 0) goto <D.102375>; else goto <D.102376>;
  <D.102375>:
  D.102377 = Glib::RefPtr<Gio::DBus::Connection>::operator-> (ptr);
  iftmp.54 = Gio::DBus::Connection::gobj (D.102377);
  goto <D.102378>;
  <D.102376>:
  iftmp.54 = 0B;
  <D.102378>:
  D.102372 = iftmp.54;
  return D.102372;
}


Glib::RefPtr<T_CppObject>::operator bool() const [with T_CppObject = Gio::DBus::Connection] (const struct RefPtr * const this)
{
  bool D.102380;
  struct Connection * D.102381;

  D.102381 = this->pCppObject_;
  D.102380 = D.102381 != 0B;
  return D.102380;
}


T_CppObject* Glib::RefPtr<T_CppObject>::operator->() const [with T_CppObject = Gio::DBus::Connection] (const struct RefPtr * const this)
{
  struct Connection * D.102383;

  D.102383 = this->pCppObject_;
  return D.102383;
}


GDBusConnection* Gio::DBus::Connection::gobj() (struct Connection * const this)
{
  struct GDBusConnection * D.102385;
  int (*__vtbl_ptr_type) () * D.102386;
  int (*__vtbl_ptr_type) () * D.102387;
  long int D.102388;
  sizetype D.102389;
  struct ObjectBase * D.102390;

  D.102386 = this->D.100817._vptr.Object;
  D.102387 = D.102386 + 18446744073709551592;
  D.102388 = MEM[(long int *)D.102387];
  D.102389 = (sizetype) D.102388;
  D.102390 = this + D.102389;
  D.102385 = D.102390->gobject_;
  return D.102385;
}


