kservicetypefactory.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __k_service_type_factory_h__
00021 #define __k_service_type_factory_h__
00022
00023 #include <assert.h>
00024
00025 #include <qstringlist.h>
00026 #include <qvaluevector.h>
00027
00028 #include "ksycocafactory.h"
00029 #include "kmimetype.h"
00030
00031 class KSycoca;
00032 class KSycocaDict;
00033
00034 class KServiceType;
00035 class KFolderType;
00036 class KDEDesktopMimeType;
00037 class KExecMimeType;
00038
00045 class KIO_EXPORT KServiceTypeFactory : public KSycocaFactory
00046 {
00047 K_SYCOCAFACTORY( KST_KServiceTypeFactory )
00048 public:
00052 KServiceTypeFactory();
00053
00054 virtual ~KServiceTypeFactory();
00055
00059 virtual KSycocaEntry *createEntry(const QString &, const char *)
00060 { assert(0); return 0; }
00061
00066 virtual KServiceType * findServiceTypeByName(const QString &_name);
00067
00071 QVariant::Type findPropertyTypeByName(const QString &_name);
00072
00078 KMimeType * findFromPattern(const QString &_filename, QString *match = 0);
00079
00084 KMimeType::List allMimeTypes();
00085
00090 KServiceType::List allServiceTypes();
00091
00096 bool checkMimeTypes();
00097
00101 static KServiceTypeFactory * self();
00102
00103 protected:
00104 virtual KServiceType *createEntry(int offset);
00105
00106 private:
00107 static KServiceTypeFactory *_self;
00108
00109 protected:
00110 int m_fastPatternOffset;
00111 int m_otherPatternOffset;
00112 QMap<QString,int> m_propertyTypeDict;
00113
00114 private:
00115 QStringList m_patterns;
00116 QValueVector<Q_INT32> m_pattern_offsets;
00117 protected:
00118 virtual void virtual_hook( int id, void* data );
00119 private:
00120 class KServiceTypeFactoryPrivate* d;
00121 };
00122
00123 #endif
|