Qt 4.8
Public Functions | Protected Functions | Private Functions | Static Private Attributes | Friends | List of all members
QAxObject Class Reference

The QAxObject class provides a QObject that wraps a COM object. More...

#include <qaxobject.h>

Inheritance diagram for QAxObject:
QObject QAxBase QAxScriptEngine

Public Functions

const char * className () const
 
bool doVerb (const QString &verb)
 Requests the COM object to perform the action verb. More...
 
const QMetaObjectmetaObject () const
 
 QAxObject (QObject *parent=0)
 Creates an empty COM object and propagates parent to the QObject constructor. More...
 
 QAxObject (const QString &c, QObject *parent=0)
 Creates a QAxObject that wraps the COM object c. More...
 
 QAxObject (IUnknown *iface, QObject *parent=0)
 Creates a QAxObject that wraps the COM object referenced by iface. More...
 
QObjectqObject () const
 
int qt_metacall (QMetaObject::Call, int, void **)
 
void * qt_metacast (const char *)
 
 ~QAxObject ()
 Releases the COM object and destroys the QAxObject, cleaning up all allocated resources. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool event (QEvent *)
 This virtual function receives events to an object and should return true if the event e was recognized and processed. More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 
- Public Functions inherited from QAxBase
QVariant asVariant () const
 Returns a QVariant that wraps the COM object. More...
 
virtual void clear ()
 Disconnects and destroys the COM object. More...
 
QString control () const
 the name of the COM object wrapped by this QAxBase object. More...
 
void disableClassInfo ()
 Disables the class info generation for this ActiveX container. More...
 
void disableEventSink ()
 Disables the event sink implementation for this ActiveX container. More...
 
void disableMetaObject ()
 Disables the meta object generation for this ActiveX container. More...
 
QVariant dynamicCall (const char *name, const QVariant &v1=QVariant(), const QVariant &v2=QVariant(), const QVariant &v3=QVariant(), const QVariant &v4=QVariant(), const QVariant &v5=QVariant(), const QVariant &v6=QVariant(), const QVariant &v7=QVariant(), const QVariant &v8=QVariant())
 Calls the COM object's method function, passing the parameters var1, var1, var2, var3, var4, var5, var6, var7 and var8, and returns the value returned by the method, or an invalid QVariant if the method does not return a value or when the function call failed. More...
 
QVariant dynamicCall (const char *name, QList< QVariant > &vars)
 Calls the COM object's method function, passing the parameters in vars, and returns the value returned by the method. More...
 
QString generateDocumentation ()
 Returns a rich text string with documentation for the wrapped COM object. More...
 
bool isNull () const
 Returns true if there is no COM object loaded by this wrapper; otherwise return false. More...
 
PropertyBag propertyBag () const
 Returns a name:value map of all the properties exposed by the COM object. More...
 
virtual bool propertyWritable (const char *) const
 Returns true if the property prop is writable; otherwise returns false. More...
 
 QAxBase (IUnknown *iface=0)
 Creates a QAxBase object that wraps the COM object iface. More...
 
long queryInterface (const QUuid &, void **) const
 Requests the interface uuid from the COM object and sets the value of iface to the provided interface, or to 0 if the requested interface could not be provided. More...
 
QAxObjectquerySubObject (const char *name, const QVariant &v1=QVariant(), const QVariant &v2=QVariant(), const QVariant &v3=QVariant(), const QVariant &v4=QVariant(), const QVariant &v5=QVariant(), const QVariant &v6=QVariant(), const QVariant &v7=QVariant(), const QVariant &v8=QVariant())
 Returns a pointer to a QAxObject wrapping the COM object provided by the method or property name, passing passing the parameters var1, var1, var2, var3, var4, var5, var6, var7 and var8. More...
 
QAxObjectquerySubObject (const char *name, QList< QVariant > &vars)
 The QVariant objects in vars are updated when the method has out-parameters. More...
 
bool setControl (const QString &)
 
void setPropertyBag (const PropertyBag &)
 Sets the properties of the COM object to the corresponding values in bag. More...
 
virtual void setPropertyWritable (const char *, bool)
 Sets the property prop to writable if ok is true, otherwise sets prop to be read-only. More...
 
QStringList verbs () const
 Returns the list of verbs that the COM object can execute. More...
 
virtual ~QAxBase ()
 Shuts down the COM object and destroys the QAxBase object. More...
 

Protected Functions

void connectNotify (const char *signal)
 Reimplemented Function More...
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 
- Protected Functions inherited from QAxBase
void connectNotify ()
 Connects to all event interfaces of the object. More...
 
long indexOfVerb (const QString &verb) const
 
virtual bool initialize (IUnknown **ptr)
 This virtual function is called by setControl() and creates the requested COM object. More...
 
bool initializeActive (IUnknown **ptr)
 Connects to an active instance running on the current machine, and returns the IUnknown interface to the running object in ptr. More...
 
void initializeFrom (QAxBase *that)
 Used by subclasses generated with dumpcpp to implement cast-operators. More...
 
bool initializeFromFile (IUnknown **ptr)
 Creates the COM object handling the filename in the control property, and returns the IUnknown interface to the object in ptr. More...
 
bool initializeLicensed (IUnknown **ptr)
 Creates an instance of a licensed control, and returns the IUnknown interface to the object in ptr. More...
 
bool initializeRemote (IUnknown **ptr)
 Creates the instance on a remote server, and returns the IUnknown interface to the object in ptr. More...
 
void internalRelease ()
 Used by subclasses generated with dumpcpp to balance reference count. More...
 

Private Functions

const QMetaObjectparentMetaObject () const
 

Static Private Attributes

static QMetaObject staticMetaObject
 

Friends

class QAxEventSink
 

Additional Inherited Members

- Public Types inherited from QAxBase
typedef QMap< QString, QVariantPropertyBag
 A QMap<QString,QVariant> that can store properties as name:value pairs. More...
 
- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 
- Signals inherited from QAxBase
void exception (int, const QString &, const QString &, const QString &)
 This signal is emitted when the COM object throws an exception while called using the OLE automation interface IDispatch. More...
 
void propertyChanged (const QString &)
 If the COM object supports property notification, this signal gets emitted when the property called name is changed. More...
 
void signal (const QString &, int, void *)
 This generic signal gets emitted when the COM object issues the event name. More...
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

The QAxObject class provides a QObject that wraps a COM object.

Attention
Module: QAxContainer

A QAxObject can be instantiated as an empty object, with the name of the COM object it should wrap, or with a pointer to the IUnknown that represents an existing COM object. If the COM object implements the IDispatch interface, the properties, methods and events of that object become available as Qt properties, slots and signals. The base class, QAxBase, provides an API to access the COM object directly through the IUnknown pointer.

QAxObject is a QObject and can be used as such, e.g. it can be organized in an object hierarchy, receive events and connect to signals and slots.

QAxObject also inherits most of its ActiveX-related functionality from QAxBase, notably dynamicCall() and querySubObject().

Warning
You can subclass QAxObject, but you cannot use the Q_OBJECT macro in the subclass (the generated moc-file will not compile), so you cannot add further signals, slots or properties. This limitation is due to the metaobject information generated in runtime. To work around this problem, aggregate the QAxObject as a member of the QObject subclass.
See also
QAxBase, QAxWidget, QAxScript, {ActiveQt Framework}

Definition at line 54 of file qaxobject.h.

Constructors and Destructors

◆ QAxObject() [1/3]

QAxObject::QAxObject ( QObject parent = 0)

Creates an empty COM object and propagates parent to the QObject constructor.

To initialize the object, call setControl .

Definition at line 93 of file qaxobject.cpp.

Referenced by qObject().

94 : QObject(parent)
95 {
96 }
Q_INVOKABLE QObject(QObject *parent=0)
Constructs an object with parent object parent.
Definition: qobject.cpp:753

◆ QAxObject() [2/3]

QAxObject::QAxObject ( const QString c,
QObject parent = 0 
)

Creates a QAxObject that wraps the COM object c.

parent is propagated to the QObject constructor.

See also
setControl()

Definition at line 104 of file qaxobject.cpp.

105 : QObject(parent)
106 {
107  setControl(c);
108 }
bool setControl(const QString &)
Definition: qaxbase.cpp:975
Q_INVOKABLE QObject(QObject *parent=0)
Constructs an object with parent object parent.
Definition: qobject.cpp:753

◆ QAxObject() [3/3]

QAxObject::QAxObject ( IUnknown *  iface,
QObject parent = 0 
)

Creates a QAxObject that wraps the COM object referenced by iface.

parent is propagated to the QObject constructor.

Definition at line 114 of file qaxobject.cpp.

115 : QObject(parent), QAxBase(iface)
116 {
117 }
Q_INVOKABLE QObject(QObject *parent=0)
Constructs an object with parent object parent.
Definition: qobject.cpp:753
QAxBase(IUnknown *iface=0)
Creates a QAxBase object that wraps the COM object iface.
Definition: qaxbase.cpp:850

◆ ~QAxObject()

QAxObject::~QAxObject ( )

Releases the COM object and destroys the QAxObject, cleaning up all allocated resources.

Definition at line 123 of file qaxobject.cpp.

Referenced by qObject().

124 {
125  clear();
126 }
virtual void clear()
Disconnects and destroys the COM object.
Definition: qaxbase.cpp:1095

Functions

◆ className()

const char * QAxObject::className ( ) const
virtual
Warning
This function is not part of the public interface.

Implements QAxBase.

Definition at line 157 of file qaxobject.cpp.

Referenced by qObject().

158 {
159  return "QAxObject";
160 }

◆ connectNotify()

void QAxObject::connectNotify ( const char *  signal)
protectedvirtual

Reimplemented Function

Reimplemented from QObject.

Definition at line 181 of file qaxobject.cpp.

182 {
184 }
void connectNotify()
Connects to all event interfaces of the object.
Definition: qaxbase.cpp:3282

◆ doVerb()

bool QAxObject::doVerb ( const QString verb)

Requests the COM object to perform the action verb.

Since
4.1

The possible verbs are returned by verbs().

The function returns true if the object could perform the action, otherwise returns false.

Definition at line 197 of file qaxobject.cpp.

Referenced by qObject().

198 {
199  if (!verbs().contains(verb))
200  return false;
201  IOleObject *ole = 0;
202  queryInterface(IID_IOleObject, (void**)&ole);
203  if (!ole)
204  return false;
205 
206  LONG index = indexOfVerb(verb);
207 
208  HRESULT hres = ole->DoVerb(index, 0, 0, 0, 0, 0);
209 
210  ole->Release();
211 
212  return hres == S_OK;
213 }
QStringList verbs() const
Returns the list of verbs that the COM object can execute.
Definition: qaxbase.cpp:1137
long HRESULT
long indexOfVerb(const QString &verb) const
Definition: qaxbase.cpp:1172
quint16 index
long queryInterface(const QUuid &, void **) const
Requests the interface uuid from the COM object and sets the value of iface to the provided interface...
Definition: qaxbase.cpp:1479

◆ metaObject()

const QMetaObject * QAxObject::metaObject ( ) const
virtual
Warning
This function is not part of the public interface.

Reimplemented from QAxBase.

Definition at line 131 of file qaxobject.cpp.

Referenced by QAxScript::functions(), and QAxScript::load().

132 {
133  return QAxBase::metaObject();
134 }
virtual const QMetaObject * metaObject() const
The metaobject is generated on the fly from the information provided by the IDispatch and ITypeInfo i...
Definition: qaxbase.cpp:3245

◆ parentMetaObject()

const QMetaObject * QAxObject::parentMetaObject ( ) const
privatevirtual
Warning
This function is not part of the public interface.

Implements QAxBase.

Definition at line 139 of file qaxobject.cpp.

Referenced by qObject().

140 {
142 }
static const QMetaObject staticMetaObject
This variable stores the meta-object for the class.
Definition: qobject.h:128

◆ qObject()

QObject * QAxObject::qObject ( ) const
inlinevirtual
Warning
This function is not part of the public interface.

Implements QAxBase.

Definition at line 61 of file qaxobject.h.

61 { return (QObject*)this; }
The QObject class is the base class of all Qt objects.
Definition: qobject.h:111

◆ qt_metacall()

int QAxObject::qt_metacall ( QMetaObject::Call  call,
int  id,
void **  v 
)
virtual
Warning
This function is not part of the public interface.

Reimplemented from QAxBase.

Definition at line 165 of file qaxobject.cpp.

166 {
167  id = QObject::qt_metacall(call, id, v);
168  if (id < 0)
169  return id;
170  return QAxBase::qt_metacall(call, id, v);
171 }
virtual int qt_metacall(QMetaObject::Call, int, void **)
Definition: qaxbase.cpp:3705

◆ qt_metacast()

void * QAxObject::qt_metacast ( const char *  cname)
Warning
This function is not part of the public interface.

Definition at line 147 of file qaxobject.cpp.

Referenced by qobject_cast< QAxObject * >().

148 {
149  if (!qstrcmp(cname, "QAxObject")) return (void*)this;
150  if (!qstrcmp(cname, "QAxBase")) return (QAxBase*)this;
151  return QObject::qt_metacast(cname);
152 }
int qstrcmp(const QByteArray &str1, const char *str2)
Definition: qbytearray.cpp:336
The QAxBase class is an abstract class that provides an API to initialize and access a COM object...
Definition: qaxbase.h:66

Friends and Related Functions

◆ QAxEventSink

friend class QAxEventSink
friend

Definition at line 56 of file qaxobject.h.

Properties

◆ staticMetaObject

QMetaObject QAxObject::staticMetaObject
staticprivate

Definition at line 76 of file qaxobject.h.


The documentation for this class was generated from the following files: