1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
// Copyright (C) 2015 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#ifndef QAXOBJECT_H
#define QAXOBJECT_H
#include <QtAxContainer/qaxbase.h>
#include <QtAxContainer/qaxobjectinterface.h>
QT_BEGIN_NAMESPACE
class QAxObjectPrivate;
class QAxBaseObject : public QObject, public QAxObjectInterface
{
Q_OBJECT
Q_PROPERTY(ulong classContext READ classContext WRITE setClassContext)
Q_PROPERTY(QString control READ control WRITE setControl RESET resetControl)
Q_SIGNALS:
void exception(int code, const QString &source, const QString &desc, const QString &help);
void propertyChanged(const QString &name);
void signal(const QString &name, int argc, void *argv);
protected:
using QObject::QObject;
QAxBaseObject(QObjectPrivate &d, QObject* parent);
};
class QAxObject : public QAxBaseObject, public QAxBase
{
friend class QAxEventSink;
Q_DECLARE_PRIVATE(QAxObject)
public:
explicit QAxObject(QObject *parent = nullptr);
explicit QAxObject(const QString &c, QObject *parent = nullptr);
explicit QAxObject(IUnknown *iface, QObject *parent = nullptr);
~QAxObject() override;
ulong classContext() const override;
void setClassContext(ulong classContext) override;
QString control() const override;
bool setControl(const QString &c) override;
void resetControl() override;
void clear();
bool doVerb(const QString &verb);
const QMetaObject *metaObject() const override;
int qt_metacall(QMetaObject::Call call, int id, void **v) override;
Q_DECL_HIDDEN static void qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a);
void *qt_metacast(const char *) override;
protected:
void connectNotify(const QMetaMethod &signal) override;
};
template <> inline QAxObject *qobject_cast<QAxObject*>(const QObject *o)
{
void *result = o ? const_cast<QObject *>(o)->qt_metacast("QAxObject") : nullptr;
return reinterpret_cast<QAxObject*>(result);
}
template <> inline QAxObject *qobject_cast<QAxObject*>(QObject *o)
{
void *result = o ? o->qt_metacast("QAxObject") : nullptr;
return reinterpret_cast<QAxObject*>(result);
}
QT_END_NAMESPACE
Q_DECLARE_METATYPE(QAxObject*)
#endif // QAXOBJECT_H
|