00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KPLUGININFO_H
00021 #define KPLUGININFO_H
00022
00023 #include <tqstring.h>
00024 #include <tqmap.h>
00025 #include <tqstringlist.h>
00026 #include <tqvaluelist.h>
00027 #include <kservice.h>
00028
00029 class TDEConfigGroup;
00030
00042 class TDEUTILS_EXPORT KPluginInfo
00043 {
00044 public:
00045 typedef TQValueList<KPluginInfo*> List;
00046
00080 KPluginInfo( const TQString & filename, const char* resource = 0 );
00081
00108 KPluginInfo( const KService::Ptr service );
00109
00110
00111
00112
00113
00114
00115
00116 virtual ~KPluginInfo();
00117
00123 static KPluginInfo::List fromServices( const KService::List & services, TDEConfig * config = 0, const TQString & group = TQString::null );
00124
00131 static KPluginInfo::List fromFiles( const TQStringList & files, TDEConfig * config = 0, const TQString & group = TQString::null );
00132
00138 static KPluginInfo::List fromKPartsInstanceName( const TQString &, TDEConfig * config = 0, const TQString & group = TQString::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 TQVariant property( const TQString & key ) const;
00180
00188 TQVariant operator[]( const TQString & key ) const;
00189
00193 const TQString & name() const;
00194
00198 const TQString & comment() const;
00199
00203 const TQString & icon() const;
00204
00208 const TQString & specfile() const;
00209
00213 const TQString & author() const;
00214
00218 const TQString & email() const;
00219
00223 const TQString & category() const;
00224
00229 const TQString & pluginName() const;
00230
00234 const TQString & version() const;
00235
00239 const TQString & website() const;
00240
00241
00245 const TQString & license() const;
00246
00251 const TQStringList & dependencies() const;
00252
00262 KService::Ptr service() const;
00263
00268 const TQValueList<KService::Ptr> & kcmServices() const;
00269
00275 void setConfig( TDEConfig * config, const TQString & group );
00276
00281 TDEConfig * config() const;
00282
00287 const TQString & configgroup() const;
00288
00295 virtual void save( TDEConfigGroup * config = 0 );
00296
00303 virtual void load( TDEConfigGroup * 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
00319 #endif // KPLUGININFO_H