kmimemagic.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef KMIMEMAGIC_H
00031 #define KMIMEMAGIC_H
00032
00033 #include <qstring.h>
00034 #include <kdelibs_export.h>
00035
00036 class KMimeMagic;
00037
00046 class KIO_EXPORT_DEPRECATED KMimeMagicResult
00047 {
00048 public:
00049 KMimeMagicResult() { m_iAccuracy = 100; }
00050 ~KMimeMagicResult() { }
00051
00055 QString mimeType() const { return m_strMimeType; }
00059 int accuracy() const { return m_iAccuracy; }
00063 bool isValid() const { return !m_strMimeType.isEmpty(); }
00064
00066
00068 void setMimeType( const QString& _mime ) { m_strMimeType = _mime; }
00069 void setAccuracy( int _accuracy ) { m_iAccuracy = _accuracy; }
00070 void setInvalid() { m_strMimeType = QString::null; }
00071
00072 protected:
00073 QString m_strMimeType;
00074 int m_iAccuracy;
00075 };
00076
00101 class KIO_EXPORT_DEPRECATED KMimeMagic
00102 {
00103 public:
00109 KMimeMagic();
00110
00114 KMimeMagic( const QString & configFile );
00115
00119 ~KMimeMagic();
00120
00127 bool mergeConfig( const QString & configFile );
00128
00135 bool mergeBufConfig(char *);
00136
00142 void setFollowLinks( bool _enable );
00143
00156 KMimeMagicResult* findFileType( const QString & _filename );
00157
00170 KMimeMagicResult* findBufferType( const QByteArray &p );
00171
00186 KMimeMagicResult * findBufferFileType( const QByteArray &, const QString & filename );
00187
00191 static KMimeMagic* self();
00192
00193 protected:
00197 KMimeMagicResult * magicResult;
00198
00199 static void initStatic();
00200 static KMimeMagic* s_pSelf;
00201
00202 private:
00203 void init( const QString& configFile );
00204
00205 bool bunused;
00206 QString sunused;
00207
00208 int parse_line(char *line, int *rule, int lineno);
00209 int parse(char *, int);
00210 int buff_apprentice(char*buff);
00211 int apprentice(const QString &configFile);
00212
00213 struct config_rec *conf;
00214 int iunused;
00215 };
00216
00217 #endif
00218
|