diff options
Diffstat (limited to 'src/activeqt/container/qaxbase.h')
-rw-r--r-- | src/activeqt/container/qaxbase.h | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/src/activeqt/container/qaxbase.h b/src/activeqt/container/qaxbase.h index 16e8f50..7b667af 100644 --- a/src/activeqt/container/qaxbase.h +++ b/src/activeqt/container/qaxbase.h @@ -1,7 +1,7 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ ** ** This file is part of the ActiveQt framework of the Qt Toolkit. ** @@ -17,8 +17,8 @@ ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** @@ -137,6 +137,11 @@ protected: void initializeFrom(QAxBase *that); void connectNotify(); long indexOfVerb(const QString &verb) const; + QVariant dynamicCall(const char *name, QList<QVariant> &vars, unsigned flags); + static QVariantList argumentsToList(const QVariant &var1, const QVariant &var2, + const QVariant &var3, const QVariant &var4, + const QVariant &var5, const QVariant &var6, + const QVariant &var7, const QVariant &var8); virtual const QMetaObject *fallbackMetaObject() const = 0; @@ -148,6 +153,11 @@ protected: static const uint qt_meta_data_QAxBase[]; private: + enum DynamicCallHelperFlags { + NoPropertyGet = 0x1 // Suppresses DISPATCH_PROPERTYGET, use for plain functions. + }; + + friend class QAxScript; friend class QAxEventSink; friend void *qax_createObjectWrapper(int, IUnknown*); bool initializeLicensedHelper(void *factory, const QString &key, IUnknown **ptr); @@ -157,24 +167,17 @@ private: virtual const QMetaObject *parentMetaObject() const = 0; int internalProperty(QMetaObject::Call, int index, void **v); int internalInvoke(QMetaObject::Call, int index, void **v); - bool dynamicCallHelper(const char *name, void *out, QList<QVariant> &var, QByteArray &type); + bool dynamicCallHelper(const char *name, void *out, QList<QVariant> &var, + QByteArray &type, unsigned flags = 0); }; -#if defined Q_CC_MSVC && _MSC_VER < 1300 -template <> inline QAxBase *qobject_cast_helper<QAxBase*>(const QObject *o, QAxBase *) -#else template <> inline QAxBase *qobject_cast<QAxBase*>(const QObject *o) -#endif { void *result = o ? const_cast<QObject *>(o)->qt_metacast("QAxBase") : 0; return (QAxBase*)(result); } -#if defined Q_CC_MSVC && _MSC_VER < 1300 -template <> inline QAxBase *qobject_cast_helper<QAxBase*>(QObject *o, QAxBase *) -#else template <> inline QAxBase *qobject_cast<QAxBase*>(QObject *o) -#endif { void *result = o ? o->qt_metacast("QAxBase") : 0; return (QAxBase*)(result); |