diff options
author | Stephen Kelly <steveire@gmail.com> | 2016-04-23 17:24:11 +0200 |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2016-10-31 15:38:08 +0000 |
commit | 64eb5f8e1320feb78c56ec0acb7399ee6085770d (patch) | |
tree | 6ced89f400b6f4208fb5ad2fbd8501a20f1751bd /tests/GenerateSipBindings/cpplib.cpp | |
parent | e052fc95db845a5e0f0b450c8fbffb35f0bbc638 (diff) | |
download | extra-cmake-modules-64eb5f8e1320feb78c56ec0acb7399ee6085770d.tar.gz extra-cmake-modules-64eb5f8e1320feb78c56ec0acb7399ee6085770d.tar.bz2 |
Add the PythonModuleGeneration module
This can be used by KF5 libraries to generate python 2 and 3 bindings.
Diffstat (limited to 'tests/GenerateSipBindings/cpplib.cpp')
-rw-r--r-- | tests/GenerateSipBindings/cpplib.cpp | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/tests/GenerateSipBindings/cpplib.cpp b/tests/GenerateSipBindings/cpplib.cpp new file mode 100644 index 00000000..c5b7a5fb --- /dev/null +++ b/tests/GenerateSipBindings/cpplib.cpp @@ -0,0 +1,143 @@ + +#include "cpplib.h" + +MyObject::MyObject(QObject* parent) + : QObject(parent) +{ + +} + +double MyObject::unnamedParameters(int i, double d) +{ + return i * d; +} + +int MyObject::addThree(int input) const +{ + return input + 3; +} + +QList<int> MyObject::addThree(QList<int> input) const +{ + auto output = input; + std::transform(output.begin(), output.end(), + output.begin(), + [](int in) { return in + 3; }); + return output; +} + +const QString MyObject::addThree(const QString& input, const QString& prefix) const +{ + return prefix + input + QStringLiteral("Three"); +} + +int MyObject::findNeedle(QStringList list, QString needle, Qt::MatchFlags flags) const +{ + if (flags & Qt::MatchStartsWith) { + auto it = std::find_if(list.begin(), list.end(), [needle](QString cand) { + return cand.startsWith(needle); + }); + if (it != list.end()) { + return std::distance(list.begin(), it); + } + return -1; + } + return list.indexOf(needle); +} + +int MyObject::qtEnumTest(QFlags<Qt::MatchFlag> flags) +{ + return flags; +} + +int MyObject::localEnumTest(QFlags<LocalEnum> flags) +{ + return flags; +} + +int MyObject::functionParam(std::function<int()> fn) +{ + return fn(); +} + +int MyObject::groups(unsigned int maxCount) const +{ + return maxCount; +} + +class FwdDecl +{ + +}; + +int MyObject::fwdDecl(const FwdDecl&) +{ + return 42; +} + +int MyObject::const_parameters(const int input, QObject* const obj) const +{ + if (obj) return input / 3; + return input / 2; +} + +NonCopyable::NonCopyable() + : mNum(new int(42)) +{ + +} + +NonCopyable::~NonCopyable() +{ + delete mNum; +} + +NonCopyableByMacro::NonCopyableByMacro() +{ + +} + +namespace SomeNS { + +NonCopyableInNS::NonCopyableInNS() + : mNum(new int(42)) +{ + +} + +NonCopyableInNS::~NonCopyableInNS() +{ + delete mNum; +} + +} + +void MyObject::publicSlot1() +{ + Q_EMIT publicSlotCalled(); +} + +void MyObject::publicSlot2() +{ + Q_EMIT publicSlotCalled(); +} + +void MyObject::protectedSlot1() +{ + Q_EMIT protectedSlotCalled(); +} + +void MyObject::protectedSlot2() +{ + Q_EMIT protectedSlotCalled(); +} + +void MyObject::privateSlot1() +{ + Q_EMIT privateSlotCalled(); +} + +void MyObject::privateSlot2() +{ + Q_EMIT privateSlotCalled(); +} |