From bd0f3345a938b35ce6a12f6150373b0955b8dd12 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 10 Jul 2011 15:24:15 -0500 Subject: Add Qt3 development HEAD version --- doc/html/qaxaggregated.html | 155 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 doc/html/qaxaggregated.html (limited to 'doc/html/qaxaggregated.html') diff --git a/doc/html/qaxaggregated.html b/doc/html/qaxaggregated.html new file mode 100644 index 0000000..6c8c672 --- /dev/null +++ b/doc/html/qaxaggregated.html @@ -0,0 +1,155 @@ + + + + + +QAxAggregated Class + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

QAxAggregated Class Reference
[QAxServer module]

+ +

The QAxAggregated class is an abstract base class for implementations of +additional COM interfaces. +More... +

This class is part of the Qt ActiveQt Extension. +

#include <qaxbindable.h> +

List of all member functions. +

Public Members

+ +

Protected Members

+ +

Detailed Description

+

This class is defined in the Qt ActiveQt Extension, which can be found in the qt/extensions directory. It is not included in the main Qt API. +

+ +The QAxAggregated class is an abstract base class for implementations of +additional COM interfaces. + +

+ +

Create a subclass of QAxAggregated and reimplement +queryInterface() to support additional COM interfaces. Use +multiple inheritance from those COM interfaces. Implement the +IUnknown interface of those COM interfaces by delegating the calls +to QueryInterface(), AddRef() and Release() to the interface +provided by controllingUnknown(). +

Use the widget() method if you need to make calls to the QWidget +implementing the ActiveX control. You must not store that pointer +in your subclass (unless you use QGuardedPtr), as the QWidget can +be destroyed by the ActiveQt framework at any time. + +


Member Function Documentation

+

IUnknown * QAxAggregated::controllingUnknown () const [protected] +

+ +

Returns the IUnknown interface of the ActiveX control. Implement +the IUnknown interface in your QAxAggregated subclass to delegate +calls to QueryInterface(), AddRef() and Release() to the interface +provided by this function. +

+    HRESULT AxImpl::QueryInterface( REFIID iid, void **iface )
+    {
+        return controllingUnknown()->QueryInterface( iid, iface );
+    }
+
+    unsigned long AxImpl::AddRef()
+    {
+        return controllingUnknown()->AddRef();
+    }
+
+    unsigned long AxImpl::Release()
+    {
+        return controllingUnknown()->Release();
+    }
+    
+ +

The QAXAGG_IUNKNOWN macro expands to the code above, and you can +use it in the class declaration of your subclass. + +

QObject * QAxAggregated::object () const [protected] +

+ +

Returns a pointer to the QObject subclass implementing the COM object. +This function might return 0. +

Warning: +You must not store the returned pointer, unless you use a +QGuardedPtr, since the QObject can be destroyed by ActiveQt at any +time. + +

long QAxAggregated::queryInterface ( const QUuid & iid, void ** iface ) [pure virtual] +

+ +

Reimplement this pure virtual function to support additional COM +interfaces. Set the value of iface to point to this object to +support the interface iid. Note that you must cast the this pointer to the appropriate superclass. +

+    long AxImpl::queryInterface( const QUuid &iid, void **iface )
+    {
+        *iface = 0;
+        if ( iid == IID_ISomeCOMInterface )
+            *iface = (ISomeCOMInterface*)this;
+        else
+            return E_NOINTERFACE;
+
+        AddRef();
+        return S_OK;
+    }
+    
+ +

Return the standard COM results S_OK (interface is supported) or +E_NOINTERFACE (requested interface is not supported). +

Warning: +Even though you must implement the IUnknown interface if you +implement any COM interface you must not support the IUnknown +interface in your queryInterface() implementation. + +

QWidget * QAxAggregated::widget () const [protected] +

+ +

Returns a pointer to the QWidget subclass implementing the ActiveX control. +This function might return 0. +

Warning: +You must not store the returned pointer, unless you use a +QGuardedPtr, since the QWidget can be destroyed by ActiveQt at any +time. + + +


+This file is part of the Qt toolkit. +Copyright © 1995-2007 +Trolltech. All Rights Reserved.


+ +
Copyright © 2007 +TrolltechTrademarks +
Qt 3.3.8
+
+ -- cgit v1.2.3