summaryrefslogtreecommitdiff
path: root/qmake/include/private/qcom_p.h
Side-by-side diff
Diffstat (limited to 'qmake/include/private/qcom_p.h') (more/less context) (show whitespace changes)
-rw-r--r--qmake/include/private/qcom_p.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/qmake/include/private/qcom_p.h b/qmake/include/private/qcom_p.h
index 6e7e1c8..5bed8c8c 100644
--- a/qmake/include/private/qcom_p.h
+++ b/qmake/include/private/qcom_p.h
@@ -1,133 +1,133 @@
/****************************************************************************
** $Id$
**
** ...
**
** Copyright (C) 2001-2002 Trolltech AS. All rights reserved.
**
** This file is part of the tools module of the Qt GUI Toolkit.
**
** This file may be distributed under the terms of the Q Public License
** as defined by Trolltech AS of Norway and appearing in the file
** LICENSE.QPL included in the packaging of this file.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
** licenses may use this file in accordance with the Qt Commercial License
** Agreement provided with the Software.
**
** 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.
** See http://www.trolltech.com/qpl/ for QPL licensing information.
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
-#ifndef QCOM_H
-#define QCOM_H
+#ifndef QCOM_P_H
+#define QCOM_P_H
//
// W A R N I N G
// -------------
//
// This file is not part of the Qt API. It exists for the convenience
// of a number of Qt sources files. This header file may change from
// version to version without notice, or even be removed.
//
// We mean it.
//
//
#ifndef QT_H
#include "qstringlist.h"
#include "quuid.h"
#endif // QT_H
#ifndef QT_NO_COMPONENT
class QObject;
struct QUInterfaceDescription;
struct QUObject;
#define QRESULT unsigned long
#define QS_OK (QRESULT)0x00000000
#define QS_FALSE (QRESULT)0x00000001
#define QE_NOTIMPL (QRESULT)0x80000001
#define QE_OUTOFMEMORY (QRESULT)0x80000002
#define QE_INVALIDARG (QRESULT)0x80000003
#define QE_NOINTERFACE (QRESULT)0x80000004
#define QE_NOCOMPONENT (QRESULT)0x80000005
// {1D8518CD-E8F5-4366-99E8-879FD7E482DE}
#ifndef IID_QUnknown
#define IID_QUnknown QUuid(0x1d8518cd, 0xe8f5, 0x4366, 0x99, 0xe8, 0x87, 0x9f, 0xd7, 0xe4, 0x82, 0xde)
#endif
struct Q_EXPORT QUnknownInterface
{
virtual QRESULT queryInterface( const QUuid&, QUnknownInterface** ) = 0;
virtual ulong addRef() = 0;
virtual ulong release() = 0;
};
// {FBAC965E-A441-413F-935E-CDF582573FAB}
#ifndef IID_QDispatch
#define IID_QDispatch QUuid( 0xfbac965e, 0xa441, 0x413f, 0x93, 0x5e, 0xcd, 0xf5, 0x82, 0x57, 0x3f, 0xab)
#endif
// the dispatch interface that inherits the unknown interface.. It is
// used to explore interfaces during runtime and to do dynamic calls.
struct Q_EXPORT QDispatchInterface : public QUnknownInterface
{
// returns the interface description of this dispatch interface.
virtual const QUInterfaceDescription* interfaceDescription() const = 0;
// returns the event description of this dispatch interface.
virtual const QUInterfaceDescription* eventsDescription() const = 0;
// invokes method id with parameters V*. Returns some sort of
// exception code.
virtual QRESULT invoke( int id, QUObject* o ) = 0;
// installs listener as event listener
virtual void installListener( QDispatchInterface* listener ) = 0;
// remove listener as event listener
virtual void removeListener( QDispatchInterface* listener ) = 0;
};
template <class T>
class QInterfacePtr
{
public:
QInterfacePtr():iface(0){}
QInterfacePtr( T* i) {
if ( (iface = i) )
iface->addRef();
}
QInterfacePtr(const QInterfacePtr<T> &p) {
if ( (iface = p.iface) )
iface->addRef();
}
~QInterfacePtr() {
if ( iface )
iface->release();
}
QInterfacePtr<T> &operator=(const QInterfacePtr<T> &p) {
if ( iface != p.iface ) {
@@ -241,97 +241,97 @@ struct Q_EXPORT QComponentRegistrationInterface : public QUnknownInterface
{
virtual bool registerComponents( const QString &filepath ) const = 0;
virtual bool unregisterComponents() const = 0;
};
// internal class that wraps an initialized ulong
struct Q_EXPORT QtULong
{
QtULong() : ref( 0 ) { }
operator unsigned long () const { return ref; }
unsigned long& operator++() { return ++ref; }
unsigned long operator++( int ) { return ref++; }
unsigned long& operator--() { return --ref; }
unsigned long operator--( int ) { return ref--; }
unsigned long ref;
};
// default implementation of ref counting. A variable "ulong ref" has to be a member
#define Q_REFCOUNT \
private: \
QtULong qtrefcount; \
public: \
ulong addRef() {return qtrefcount++;} \
ulong release() {if(!--qtrefcount){delete this;return 0;}return qtrefcount;}
#ifndef Q_EXPORT_COMPONENT
#if defined(QT_THREAD_SUPPORT)
#define QT_THREADED_BUILD 1
#define Q_UCM_FLAGS_STRING "11"
#else
#define QT_THREADED_BUILD 0
#define Q_UCM_FLAGS_STRING "01"
#endif
#ifndef Q_EXTERN_C
#ifdef __cplusplus
#define Q_EXTERN_C extern "C"
#else
#define Q_EXTERN_C extern
#endif
#endif
// this is duplicated at Q_PLUGIN_VERIFICATION_DATA in qgplugin.h
// NOTE: if you change pattern, you MUST change the pattern in
// qcomlibrary.cpp as well. changing the pattern will break all
// backwards compatibility as well (no old plugins will be loaded).
#ifndef Q_UCM_VERIFICATION_DATA
# define Q_UCM_VERIFICATION_DATA \
static const char *qt_ucm_verification_data = \
"pattern=""QT_UCM_VERIFICATION_DATA""\n" \
"version="QT_VERSION_STR"\n" \
"flags="Q_UCM_FLAGS_STRING"\n" \
"buildkey="QT_BUILD_KEY"\0";
#endif // Q_UCM_VERIFICATION_DATA
// This macro expands to the default implementation of ucm_instantiate.
#ifndef Q_CREATE_INSTANCE
# define Q_CREATE_INSTANCE( IMPLEMENTATION ) \
IMPLEMENTATION *i = new IMPLEMENTATION; \
QUnknownInterface* iface = 0; \
i->queryInterface( IID_QUnknown, &iface ); \
return iface;
#endif // Q_CREATE_INSTANCE
# ifdef Q_WS_WIN
# ifdef Q_CC_BOR
# define Q_EXPORT_COMPONENT() \
Q_UCM_VERIFICATION_DATA \
Q_EXTERN_C __declspec(dllexport) \
const char * __stdcall qt_ucm_query_verification_data() \
{ return qt_ucm_verification_data; } \
Q_EXTERN_C __declspec(dllexport) QUnknownInterface* \
__stdcall ucm_instantiate()
# else
# define Q_EXPORT_COMPONENT() \
Q_UCM_VERIFICATION_DATA \
Q_EXTERN_C __declspec(dllexport) \
const char *qt_ucm_query_verification_data() \
{ return qt_ucm_verification_data; } \
Q_EXTERN_C __declspec(dllexport) QUnknownInterface* ucm_instantiate()
# endif
# else
# define Q_EXPORT_COMPONENT() \
Q_UCM_VERIFICATION_DATA \
Q_EXTERN_C \
const char *qt_ucm_query_verification_data() \
{ return qt_ucm_verification_data; } \
Q_EXTERN_C QUnknownInterface* ucm_instantiate()
# endif
# define Q_EXPORT_INTERFACE() Q_EXPORT_COMPONENT()
#endif
#endif //QT_NO_COMPONENT
-#endif //QCOM_H
+#endif //QCOM_P_H