home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / qt3_emx.zip / include / private / qgpluginmanager_p.h < prev    next >
C/C++ Source or Header  |  2001-10-11  |  3KB  |  105 lines

  1. /**********************************************************************
  2. ** $Id$
  3. **
  4. ** Definition of QGPluginManager class
  5. **
  6. ** Copyright (C) 2000-2001 Trolltech AS.  All rights reserved.
  7. **
  8. ** This file is part of the tools module of the Qt GUI Toolkit.
  9. **
  10. ** This file may be distributed under the terms of the Q Public License
  11. ** as defined by Trolltech AS of Norway and appearing in the file
  12. ** LICENSE.QPL included in the packaging of this file.
  13. **
  14. ** This file may be distributed and/or modified under the terms of the
  15. ** GNU General Public License version 2 as published by the Free Software
  16. ** Foundation and appearing in the file LICENSE.GPL included in the
  17. ** packaging of this file.
  18. **
  19. ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
  20. ** licenses may use this file in accordance with the Qt Commercial License
  21. ** Agreement provided with the Software.
  22. **
  23. ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  24. ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  25. **
  26. ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
  27. **   information about Qt Commercial License Agreements.
  28. ** See http://www.trolltech.com/qpl/ for QPL licensing information.
  29. ** See http://www.trolltech.com/gpl/ for GPL licensing information.
  30. **
  31. ** Contact info@trolltech.com if any conditions of this licensing are
  32. ** not clear to you.
  33. **
  34. **********************************************************************/
  35.  
  36. #ifndef QGPLUGINMANAGER_H
  37. #define QGPLUGINMANAGER_H
  38.  
  39. #ifndef QT_H
  40. #include "qdict.h"
  41. #include "qlibrary.h"
  42. #include "quuid.h"
  43. #include "qstringlist.h"
  44. #endif // QT_H
  45.  
  46. //
  47. //  W A R N I N G
  48. //  -------------
  49. //
  50. // This file is not part of the Qt API.  It exists for the convenience
  51. // of a number of Qt sources files.  This header file may change from
  52. // version to version without notice, or even be removed.
  53. //
  54. // We mean it.
  55. //
  56. //
  57.  
  58. #ifndef QT_NO_COMPONENT
  59.  
  60. #if defined(Q_TEMPLATEDLL)
  61. // MOC_SKIP_BEGIN
  62. template class Q_EXPORT QDict<QLibrary>;
  63. // MOC_SKIP_END
  64. #endif
  65.  
  66. class Q_EXPORT QGPluginManager
  67. {
  68. public:
  69.     QGPluginManager( const QUuid& id, bool cs = TRUE );
  70.     virtual ~QGPluginManager();
  71.  
  72.     void addLibraryPath( const QString& path );
  73.     const QLibrary* library( const QString& feature ) const;
  74.     QStringList featureList() const;
  75.  
  76.     virtual QLibrary* addLibrary( const QString& file ) = 0;
  77.     virtual bool removeLibrary( const QString& file ) = 0;
  78.  
  79.     bool autoUnload() const;
  80.     void setAutoUnload( bool );
  81.  
  82. protected:
  83.     QUuid interfaceId;
  84.     QDict<QLibrary> plugDict;        // Dict to match feature with library
  85.     QDict<QLibrary> libDict;        // Dict to match library file with library
  86.     QStringList libList;
  87.  
  88.     uint casesens : 1;
  89.     uint autounload : 1;
  90. };
  91.  
  92. inline void QGPluginManager::setAutoUnload( bool unload )
  93. {
  94.     autounload = unload;
  95. }
  96.  
  97. inline bool QGPluginManager::autoUnload() const
  98. {
  99.     return autounload;
  100. }
  101.  
  102. #endif
  103.  
  104. #endif //QGPLUGINMANAGER_H
  105.