diff options
author | Stephen Kelly <steveire@gmail.com> | 2017-01-14 21:42:50 +0000 |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2017-01-15 11:18:34 +0000 |
commit | 8c347c61abafa68e247ff4664ae658cfa15af932 (patch) | |
tree | 972eca5ade46d3a0c213d854f6f8acfe1881a3d2 /tests/GenerateSipBindings | |
parent | 3c31028dad2f9c53bea6630fd0da127a6da0d610 (diff) | |
download | extra-cmake-modules-8c347c61abafa68e247ff4664ae658cfa15af932.tar.gz extra-cmake-modules-8c347c61abafa68e247ff4664ae658cfa15af932.tar.bz2 |
Bindings: Use lists in function API instead of strings
Custom rules should be able to deal with lists in these cases. This is
already the case for function parameters.
Diffstat (limited to 'tests/GenerateSipBindings')
-rw-r--r-- | tests/GenerateSipBindings/cpplib.cpp | 5 | ||||
-rw-r--r-- | tests/GenerateSipBindings/cpplib.h | 7 | ||||
-rw-r--r-- | tests/GenerateSipBindings/rules_SipTest.py | 6 |
3 files changed, 18 insertions, 0 deletions
diff --git a/tests/GenerateSipBindings/cpplib.cpp b/tests/GenerateSipBindings/cpplib.cpp index 744914a0..8dc7492b 100644 --- a/tests/GenerateSipBindings/cpplib.cpp +++ b/tests/GenerateSipBindings/cpplib.cpp @@ -173,3 +173,8 @@ void TypedefUser::setTagPattern(const QString &tagName, { } + +Shared::Shared(const Shared& other) +{ + +} diff --git a/tests/GenerateSipBindings/cpplib.h b/tests/GenerateSipBindings/cpplib.h index 34167ad3..9b9adcba 100644 --- a/tests/GenerateSipBindings/cpplib.h +++ b/tests/GenerateSipBindings/cpplib.h @@ -6,6 +6,7 @@ #include <QtCore/QStringList> #include <QtCore/QMap> #include <QtCore/QCoreApplication> +#include <QtCore/QSharedData> #include <functional> @@ -106,6 +107,12 @@ private: HasPrivateDefaultCtor(int param = 0); }; +class Shared : public QSharedData +{ +public: + Shared(const Shared& other); +}; + namespace SomeNS { class NonCopyableInNS diff --git a/tests/GenerateSipBindings/rules_SipTest.py b/tests/GenerateSipBindings/rules_SipTest.py index 73c5451b..ad3fcb64 100644 --- a/tests/GenerateSipBindings/rules_SipTest.py +++ b/tests/GenerateSipBindings/rules_SipTest.py @@ -5,6 +5,11 @@ import rules_engine sys.path.append(os.path.dirname(os.path.dirname(rules_engine.__file__))) import Qt5Ruleset +def local_container_rules(): + return [ + [".*", "Shared", ".*", ".*", ".*", rules_engine.discard_QSharedData_base] + ] + def local_function_rules(): return [ ["MyObject", "fwdDecl", ".*", ".*", ".*", rules_engine.function_discard], @@ -28,6 +33,7 @@ def methodGenerator(function, sip, entry): class RuleSet(Qt5Ruleset.RuleSet): def __init__(self): Qt5Ruleset.RuleSet.__init__(self) + self._container_db = rules_engine.ContainerRuleDb(lambda: local_container_rules() + Qt5Ruleset.container_rules()) self._fn_db = rules_engine.FunctionRuleDb(lambda: local_function_rules() + Qt5Ruleset.function_rules()) self._typedef_db = rules_engine.TypedefRuleDb(lambda: local_typedef_rules() + Qt5Ruleset.typedef_rules()) self._modulecode = rules_engine.ModuleCodeDb({ |