From 4a1f1cb1ef9729551bd3dab14fb67dbb909fe9a6 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 5 Dec 2021 12:02:56 +0100 Subject: [PATCH] WIP: Qt binding - don't propagate class enum constants to parent scope --- scripts/mkqtdecl_common/reader_ext.rb | 2 +- .../QtNetwork/gsiDeclQNetworkInformation.cc | 31 ++++++++++++++++--- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/scripts/mkqtdecl_common/reader_ext.rb b/scripts/mkqtdecl_common/reader_ext.rb index fd6e4185e..b5c9f9312 100644 --- a/scripts/mkqtdecl_common/reader_ext.rb +++ b/scripts/mkqtdecl_common/reader_ext.rb @@ -366,7 +366,7 @@ class CPPStructDeclaration # add enum constants (CPPEnumSpec) (self.struct.body_decl || []).each do |bd| - if bd.is_a?(CPPEnumDeclaration) && bd.enum && bd.enum.specs + if bd.is_a?(CPPEnumDeclaration) && bd.enum && bd.enum.specs && !bd.enum.is_class c += bd.enum.specs end end diff --git a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkInformation.cc b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkInformation.cc index 3701505d7..714ffb011 100644 --- a/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkInformation.cc +++ b/src/gsiqt/qt6/QtNetwork/gsiDeclQNetworkInformation.cc @@ -107,13 +107,13 @@ static void _call_f_isBehindCaptivePortalChanged_864 (const qt_gsi::GenericMetho static void _init_f_reachability_c0 (qt_gsi::GenericMethod *decl) { - decl->set_return (); + decl->set_return::target_type > (); } static void _call_f_reachability_c0 (const qt_gsi::GenericMethod * /*decl*/, void *cls, gsi::SerialArgs &args, gsi::SerialArgs &ret) { __SUPPRESS_UNUSED_WARNING(args); - ret.write ((QNetworkInformation::Reachability)((QNetworkInformation *)cls)->reachability ()); + ret.write::target_type > ((qt_gsi::Converter::target_type)qt_gsi::CppToQtAdaptor(((QNetworkInformation *)cls)->reachability ())); } @@ -123,7 +123,7 @@ static void _call_f_reachability_c0 (const qt_gsi::GenericMethod * /*decl*/, voi static void _init_f_reachabilityChanged_3770 (qt_gsi::GenericMethod *decl) { static gsi::ArgSpecBase argspec_0 ("newReachability"); - decl->add_arg (argspec_0); + decl->add_arg::target_type & > (argspec_0); decl->set_return (); } @@ -131,9 +131,9 @@ static void _call_f_reachabilityChanged_3770 (const qt_gsi::GenericMethod * /*de { __SUPPRESS_UNUSED_WARNING(args); tl::Heap heap; - QNetworkInformation::Reachability arg1 = gsi::arg_reader() (args, heap); + const qt_gsi::Converter::target_type & arg1 = gsi::arg_reader::target_type & >() (args, heap); __SUPPRESS_UNUSED_WARNING(ret); - ((QNetworkInformation *)cls)->reachabilityChanged (arg1); + ((QNetworkInformation *)cls)->reachabilityChanged (qt_gsi::QtToCppAdaptor(arg1).cref()); } @@ -299,3 +299,24 @@ static gsi::ClassExt decl_QNetworkInformation_Feature_Enums } + +// Implementation of the enum wrapper class for QNetworkInformation::Reachability +namespace qt_gsi +{ + +static gsi::Enum decl_QNetworkInformation_Reachability_Enum ("QtNetwork", "QNetworkInformation_Reachability", + gsi::enum_const ("Unknown", QNetworkInformation::Reachability::Unknown, "@brief Enum constant QNetworkInformation::Reachability::Unknown") + + gsi::enum_const ("Disconnected", QNetworkInformation::Reachability::Disconnected, "@brief Enum constant QNetworkInformation::Reachability::Disconnected") + + gsi::enum_const ("Local", QNetworkInformation::Reachability::Local, "@brief Enum constant QNetworkInformation::Reachability::Local") + + gsi::enum_const ("Site", QNetworkInformation::Reachability::Site, "@brief Enum constant QNetworkInformation::Reachability::Site") + + gsi::enum_const ("Online", QNetworkInformation::Reachability::Online, "@brief Enum constant QNetworkInformation::Reachability::Online"), + "@qt\n@brief This class represents the QNetworkInformation::Reachability enum"); + +static gsi::QFlagsClass decl_QNetworkInformation_Reachability_Enums ("QtNetwork", "QNetworkInformation_QFlags_Reachability", + "@qt\n@brief This class represents the QFlags flag set"); + +static gsi::ClassExt decl_QNetworkInformation_Reachability_Enum_as_child (decl_QNetworkInformation_Reachability_Enum, "Reachability"); +static gsi::ClassExt decl_QNetworkInformation_Reachability_Enums_as_child (decl_QNetworkInformation_Reachability_Enums, "QFlags_Reachability"); + +} +