Sophie

Sophie

distrib > Mandriva > 2007.1 > x86_64 > by-pkgid > d1089d23015708ba81bffd68f0bec3e1 > files > 396

qt3-doc-3.3.8-4.2mdv2007.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxbase.h:1 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>qaxbase.h Include File</title>
<style type="text/css"><!--
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
--></style>
</head>
<body>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
 <a href="index.html">
<font color="#004faf">Home</font></a>
 | <a href="classes.html">
<font color="#004faf">All&nbsp;Classes</font></a>
 | <a href="mainclasses.html">
<font color="#004faf">Main&nbsp;Classes</font></a>
 | <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
 | <a href="groups.html">
<font color="#004faf">Grouped&nbsp;Classes</font></a>
 | <a href="functions.html">
<font color="#004faf">Functions</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qaxbase.h</h1>

<p>This is the verbatim text of the qaxbase.h include file. It is provided only for illustration; the copyright remains with Trolltech.
<hr>
<pre>
/****************************************************************************
** $Id: qt/qaxbase.h   3.3.8   edited Jan 11 14:46 $
**
** Declaration of the QAxBase class
**
** Copyright (C) 2001-2007 Trolltech ASA.  All rights reserved.
**
** This file is part of the Active Qt integration.
**
** Licensees holding valid Qt Enterprise Edition
** licenses for Windows may use this file in accordance with the Qt Commercial
** License Agreement provided with the Software.
**
** This file is not available for use under any other license without
** express written permission from the copyright holder.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
**   information about Qt Commercial License Agreements.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/

#ifndef UNICODE
#define UNICODE
#endif

#ifndef QAXBASE_H
#define QAXBASE_H

#include &lt;qvariant.h&gt;
#include &lt;qobject.h&gt;

struct IUnknown;
struct QUuid;
class QAxEventSink;
class QAxObject;
class QAxBasePrivate;

class QAxBase
{
#ifdef Q_QDOC
#error "The Symbol Q_QDOC is reserved for documentation purposes."
    Q_PROPERTY( QString control READ control WRITE setControl )
#endif
public:
#ifndef Q_QDOC
    typedef QMap&lt;QCString, QVariant&gt; PropertyBag;
#endif

    QAxBase( IUnknown *iface = 0 );
    virtual ~QAxBase();

    QString control() const;

    long queryInterface( const QUuid &amp;, void** ) const;

    QVariant dynamicCall( const QCString&amp;, const QVariant &amp;v1 = QVariant(), 
					   const QVariant &amp;v2 = QVariant(),
					   const QVariant &amp;v3 = QVariant(),
					   const QVariant &amp;v4 = QVariant(),
					   const QVariant &amp;v5 = QVariant(),
					   const QVariant &amp;v6 = QVariant(),
					   const QVariant &amp;v7 = QVariant(),
					   const QVariant &amp;v8 = QVariant() );
    QVariant dynamicCall( const QCString&amp;, QValueList&lt;QVariant&gt; &amp;vars );
    QAxObject *querySubObject( const QCString &amp;name, const QVariant &amp;v1 = QVariant(),
					    const QVariant &amp;v2 = QVariant(),
					    const QVariant &amp;v3 = QVariant(),
					    const QVariant &amp;v4 = QVariant(),
					    const QVariant &amp;v5 = QVariant(),
					    const QVariant &amp;v6 = QVariant(),
					    const QVariant &amp;v7 = QVariant(),
					    const QVariant &amp;v8 = QVariant() );

    virtual QMetaObject *metaObject() const;
    virtual bool qt_invoke( int, QUObject* );
    virtual bool qt_property( int, int, QVariant* );
    virtual bool qt_emit( int, QUObject* ) = 0;
    virtual const char *className() const = 0;
    virtual QObject *qObject() = 0;

    PropertyBag propertyBag() const;
    void setPropertyBag( const PropertyBag&amp; );

    QString generateDocumentation();

    virtual bool propertyWritable( const char* ) const;
    virtual void setPropertyWritable( const char*, bool );

    bool isNull() const;

    QVariant asVariant() const;

#ifdef Q_QDOC
#error "The Symbol Q_QDOC is reserved for documentation purposes."
    enum PropertyBag {};
signals:
    void signal(const QString&amp;,int,void*);
    void propertyChanged(const QString&amp;);
    void exception(int,const QString&amp;,const QString&amp;,const QString&amp;);
#endif

public:
    virtual void clear();
    bool setControl( const QString&amp; );

    void disableMetaObject();
    void disableClassInfo();
    void disableEventSink();

protected:
    virtual bool initialize( IUnknown** ptr );
    bool initializeRemote(IUnknown** ptr);
    bool initializeLicensed(IUnknown** ptr);
    bool initializeActive(IUnknown** ptr);

private:
    bool initializeLicensedHelper(void *factory, const QString &amp;key, IUnknown **ptr);
    QAxBasePrivate *d;

    static QMetaObject *staticMetaObject() { return 0; }
    virtual QMetaObject *parentMetaObject() const = 0;
    bool internalInvoke( const QCString &amp;name, void *out, QVariant var[], QCString &amp;type );

    QString ctrl;
};

inline QString QAxBase::generateDocumentation()
{
    extern QString qax_generateDocumentation(QAxBase *, QAxBasePrivate *);
    return qax_generateDocumentation(this, d);
}

#ifndef QT_NO_DATASTREAM
inline QDataStream &amp;operator &gt;&gt;( QDataStream &amp;s, QAxBase &amp;c )
{
    QAxBase::PropertyBag bag;
    c.qObject()-&gt;blockSignals( TRUE );
    QString control;
    s &gt;&gt; control;
    c.setControl( control );
    s &gt;&gt; bag;
    c.setPropertyBag( bag );
    c.qObject()-&gt;blockSignals( FALSE );

    return s;
}

inline QDataStream &amp;operator &lt;&lt;( QDataStream &amp;s, const QAxBase &amp;c )
{
    QAxBase::PropertyBag bag = c.propertyBag();
    s &lt;&lt; c.control();
    s &lt;&lt; bag;

    return s;
}
#endif // QT_NO_DATASTREAM

#endif // QAXBASE_H
</pre>
<!-- eof -->
<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright &copy; 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>Qt 3.3.8</div>
</table></div></address></body>
</html>