00001 /**************************************************************************** 00002 ** 00003 ** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved. 00004 ** 00005 ** This file is part of the Qt Designer of the Qt Toolkit. 00006 ** 00007 ** This file may be used under the terms of the GNU General Public 00008 ** License version 2.0 as published by the Free Software Foundation 00009 ** and appearing in the file LICENSE.GPL included in the packaging of 00010 ** this file. Please review the following information to ensure GNU 00011 ** General Public Licensing requirements will be met: 00012 ** http://www.trolltech.com/products/qt/opensource.html 00013 ** 00014 ** If you are unsure which license is appropriate for your use, please 00015 ** review the following information: 00016 ** http://www.trolltech.com/products/qt/licensing.html or contact the 00017 ** sales department at sales@trolltech.com. 00018 ** 00019 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00020 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00021 ** 00022 ****************************************************************************/ 00023 00024 #ifndef QEXTENSIONMANAGER_H 00025 #define QEXTENSIONMANAGER_H 00026 00027 #include <QtDesigner/extension_global.h> 00028 #include <QtDesigner/extension.h> 00029 #include <QtCore/QHash> 00030 00031 QT_BEGIN_HEADER 00032 00033 class QDESIGNER_EXTENSION_EXPORT QExtensionManager: public QObject, public QAbstractExtensionManager 00034 { 00035 Q_OBJECT 00036 Q_INTERFACES(QAbstractExtensionManager) 00037 public: 00038 QExtensionManager(QObject *parent = 0); 00039 ~QExtensionManager(); 00040 00041 virtual void registerExtensions(QAbstractExtensionFactory *factory, const QString &iid = QString()); 00042 virtual void unregisterExtensions(QAbstractExtensionFactory *factory, const QString &iid = QString()); 00043 00044 virtual QObject *extension(QObject *object, const QString &iid) const; 00045 00046 private: 00047 QHash<QString, QList<QAbstractExtensionFactory*> > m_extensions; 00048 QList<QAbstractExtensionFactory*> m_globalExtension; 00049 }; 00050 00051 QT_END_HEADER 00052 00053 #endif // QEXTENSIONMANAGER_H
1.5.1