aboutsummaryrefslogtreecommitdiff
path: root/tests/GenerateSipBindings
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2017-01-14 21:42:50 +0000
committerStephen Kelly <steveire@gmail.com>2017-01-15 11:18:34 +0000
commit8c347c61abafa68e247ff4664ae658cfa15af932 (patch)
tree972eca5ade46d3a0c213d854f6f8acfe1881a3d2 /tests/GenerateSipBindings
parent3c31028dad2f9c53bea6630fd0da127a6da0d610 (diff)
downloadextra-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.cpp5
-rw-r--r--tests/GenerateSipBindings/cpplib.h7
-rw-r--r--tests/GenerateSipBindings/rules_SipTest.py6
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({