initial import
[vuplus_webkit] / Source / WebCore / platform / network / qt / QtMIMETypeSniffer.h
1 /*
2     Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
3
4     This library is free software; you can redistribute it and/or
5     modify it under the terms of the GNU Library General Public
6     License as published by the Free Software Foundation; either
7     version 2 of the License, or (at your option) any later version.
8
9     This library is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12     Library General Public License for more details.
13
14     You should have received a copy of the GNU Library General Public License
15     along with this library; see the file COPYING.LIB.  If not, write to
16     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17     Boston, MA 02110-1301, USA.
18 */
19
20 #ifndef QtMIMETypeSniffer_h
21 #define QtMIMETypeSniffer_h
22
23 #include "MIMESniffing.h"
24 #include <QObject>
25
26 QT_BEGIN_NAMESPACE
27 class QNetworkReply;
28 QT_END_NAMESPACE
29
30 class QtMIMETypeSniffer : public QObject {
31     Q_OBJECT
32 public:
33     QtMIMETypeSniffer(QNetworkReply*, const QString& advertisedMimeType, bool isSupportedImageType);
34     QString mimeType() const { return m_mimeType; }
35     bool isFinished() const { return m_isFinished; }
36
37 signals:
38     void finished();
39
40 private slots:
41     void trySniffing();
42
43 private:
44     bool sniff();
45
46     QNetworkReply* m_reply;
47     QString m_mimeType;
48     MIMESniffer m_sniffer;
49     bool m_isFinished;
50 };
51
52 #endif // QtMIMETypeSniffer_h