kio
kservicefactory.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __kservicefactory_h__
00021 #define __kservicefactory_h__
00022
00023 #include <qstringlist.h>
00024
00025 #include "kservice.h"
00026 #include "ksycocafactory.h"
00027 #include <assert.h>
00028
00029 class KSycoca;
00030 class KSycocaDict;
00031
00038 class KIO_EXPORT KServiceFactory : public KSycocaFactory
00039 {
00040 K_SYCOCAFACTORY( KST_KServiceFactory )
00041 public:
00045 KServiceFactory();
00046 virtual ~KServiceFactory();
00047
00051 virtual KSycocaEntry *createEntry(const QString &, const char *)
00052 { assert(0); return 0; }
00053
00057 KService * findServiceByName( const QString &_name );
00058
00062 KService * findServiceByDesktopName( const QString &_name );
00063
00067 KService * findServiceByDesktopPath( const QString &_name );
00068
00072 KService * findServiceByMenuId( const QString &_menuId );
00073
00077 KService::List offers( int serviceTypeOffset );
00078
00082 KService::List allServices();
00083
00087 KService::List allInitServices();
00088
00092 static KServiceFactory * self();
00093
00094 protected:
00095 virtual KService * createEntry(int offset);
00096 int m_offerListOffset;
00097 int m_initListOffset;
00098 KSycocaDict *m_nameDict;
00099 int m_nameDictOffset;
00100 KSycocaDict *m_relNameDict;
00101 int m_relNameDictOffset;
00102 KSycocaDict *m_menuIdDict;
00103 int m_menuIdDictOffset;
00104
00105 private:
00106 static KServiceFactory *_self;
00107 protected:
00108 virtual void virtual_hook( int id, void* data );
00109 private:
00110 class KServiceFactoryPrivate* d;
00111 };
00112
00113 #endif