Changeset View
Changeset View
Standalone View
Standalone View
tests/test_functions_rust.cpp
- This file was added.
1 | /* generated by rust_qt_binding_generator */ | ||||
---|---|---|---|---|---|
2 | #include "test_functions_rust.h" | ||||
3 | | ||||
4 | namespace { | ||||
5 | | ||||
6 | struct qstring_t { | ||||
7 | private: | ||||
8 | const void* data; | ||||
9 | int len; | ||||
10 | public: | ||||
11 | qstring_t(const QString& v): | ||||
12 | data(static_cast<const void*>(v.utf16())), | ||||
13 | len(v.size()) { | ||||
14 | } | ||||
15 | operator QString() const { | ||||
16 | return QString::fromUtf8(static_cast<const char*>(data), len); | ||||
17 | } | ||||
18 | }; | ||||
19 | typedef void (*qstring_set)(QString*, qstring_t*); | ||||
20 | void set_qstring(QString* v, qstring_t* val) { | ||||
21 | *v = *val; | ||||
22 | } | ||||
23 | inline void personUserNameChanged(Person* o) | ||||
24 | { | ||||
25 | emit o->userNameChanged(); | ||||
26 | } | ||||
27 | } | ||||
28 | extern "C" { | ||||
29 | Person::Private* person_new(Person*, void (*)(Person*)); | ||||
30 | void person_free(Person::Private*); | ||||
31 | void person_user_name_get(const Person::Private*, QString*, qstring_set); | ||||
32 | void person_user_name_set(Person::Private*, qstring_t); | ||||
33 | void person_double_name(Person::Private*); | ||||
34 | qstring_t person_greet(const Person::Private*, qstring_t, QString*, qstring_set); | ||||
35 | quint8 person_vowels_in_name(const Person::Private*); | ||||
36 | }; | ||||
37 | | ||||
38 | Person::Person(bool /*owned*/, QObject *parent): | ||||
39 | QObject(parent), | ||||
40 | m_d(0), | ||||
41 | m_ownsPrivate(false) | ||||
42 | { | ||||
43 | } | ||||
44 | | ||||
45 | Person::Person(QObject *parent): | ||||
46 | QObject(parent), | ||||
47 | m_d(person_new(this, | ||||
48 | personUserNameChanged)), | ||||
49 | m_ownsPrivate(true) | ||||
50 | { | ||||
51 | } | ||||
52 | | ||||
53 | Person::~Person() { | ||||
54 | if (m_ownsPrivate) { | ||||
55 | person_free(m_d); | ||||
56 | } | ||||
57 | } | ||||
58 | QString Person::userName() const | ||||
59 | { | ||||
60 | QString v; | ||||
61 | person_user_name_get(m_d, &v, set_qstring); | ||||
62 | return v; | ||||
63 | } | ||||
64 | void Person::setUserName(const QString& v) { | ||||
65 | person_user_name_set(m_d, v); | ||||
66 | } | ||||
67 | void Person::double_name() | ||||
68 | { | ||||
69 | return person_double_name(m_d); | ||||
70 | } | ||||
71 | QString Person::greet(const QString& Name) const | ||||
72 | { | ||||
73 | QString s; | ||||
74 | person_greet(m_d, Name, &s, set_qstring); | ||||
75 | return s; | ||||
76 | } | ||||
77 | quint8 Person::vowels_in_name() const | ||||
78 | { | ||||
79 | return person_vowels_in_name(m_d); | ||||
80 | } |