KUtils
kplugininfo.h
Go to the documentation of this file.00001 /* This file is part of the KDE project 00002 Copyright (C) 2003 Matthias Kretz <kretz@kde.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License version 2 as published by the Free Software Foundation. 00007 00008 This library is distributed in the hope that it will be useful, 00009 but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 Library General Public License for more details. 00012 00013 You should have received a copy of the GNU Library General Public License 00014 along with this library; see the file COPYING.LIB. If not, write to 00015 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00016 Boston, MA 02110-1301, USA. 00017 00018 */ 00019 00020 #ifndef KPLUGININFO_H 00021 #define KPLUGININFO_H 00022 00023 #include <qstring.h> 00024 #include <qmap.h> 00025 #include <qstringlist.h> 00026 #include <qvaluelist.h> 00027 #include <kservice.h> 00028 00029 class KConfigGroup; 00030 00042 class KUTILS_EXPORT KPluginInfo 00043 { 00044 public: 00045 typedef QValueList<KPluginInfo*> List; 00046 00080 KPluginInfo( const QString & filename, const char* resource = 0 ); 00081 00108 KPluginInfo( const KService::Ptr service ); 00109 00110 //X /** 00111 //X * Create an empty hidden plugin. 00112 //X * @internal 00113 //X */ 00114 //X KPluginInfo(); 00115 00116 virtual ~KPluginInfo(); 00117 00123 static KPluginInfo::List fromServices( const KService::List & services, KConfig * config = 0, const QString & group = QString::null ); 00124 00131 static KPluginInfo::List fromFiles( const QStringList & files, KConfig * config = 0, const QString & group = QString::null ); 00132 00138 static KPluginInfo::List fromKPartsInstanceName( const QString &, KConfig * config = 0, const QString & group = QString::null ); 00139 00143 bool isHidden() const; 00144 00153 virtual void setPluginEnabled( bool enabled ); 00154 00163 virtual bool isPluginEnabled() const; 00164 00170 bool isPluginEnabledByDefault() const; 00171 00179 QVariant property( const QString & key ) const; 00180 00188 QVariant operator[]( const QString & key ) const; 00189 00193 const QString & name() const; 00194 00198 const QString & comment() const; 00199 00203 const QString & icon() const; 00204 00208 const QString & specfile() const; 00209 00213 const QString & author() const; 00214 00218 const QString & email() const; 00219 00223 const QString & category() const; 00224 00229 const QString & pluginName() const; 00230 00234 const QString & version() const; 00235 00239 const QString & website() const; 00240 00241 00245 const QString & license() const; 00246 00251 const QStringList & dependencies() const; 00252 00262 KService::Ptr service() const; 00263 00268 const QValueList<KService::Ptr> & kcmServices() const; 00269 00275 void setConfig( KConfig * config, const QString & group ); 00276 00281 KConfig * config() const; 00282 00287 const QString & configgroup() const; 00288 00295 virtual void save( KConfigGroup * config = 0 ); 00296 00303 virtual void load( KConfigGroup * config = 0 ); 00304 00308 virtual void defaults(); 00309 00310 private: 00311 KPluginInfo( const KPluginInfo & ); 00312 const KPluginInfo & operator=( const KPluginInfo & ); 00313 00314 class KPluginInfoPrivate; 00315 KPluginInfoPrivate * d; 00316 }; 00317 00318 // vim: sw=4 sts=4 et tw=80 00319 #endif // KPLUGININFO_H