summaryrefslogtreecommitdiff
path: root/src/plugins/coreplugin/mimedatabase.h
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2013-08-30 16:38:57 +0200
committerTobias Hunger <tobias.hunger@digia.com>2013-09-03 11:41:45 +0200
commita37589d431844a64031d3044787c15f8dddace45 (patch)
tree4e4d2e07f31278b5606e779707697e65185cbc64 /src/plugins/coreplugin/mimedatabase.h
parent1226400af3da68f355f298935bc13807f257d224 (diff)
downloadqt-creator-a37589d431844a64031d3044787c15f8dddace45.tar.gz
Apply 'static' pattern to MimeDatabase
Also adjust and streamline using and surrounding code. Change-Id: I6a8b05126bdcbb74ff611b21c7cb3c5902a2d5ca Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/coreplugin/mimedatabase.h')
-rw-r--r--src/plugins/coreplugin/mimedatabase.h63
1 files changed, 20 insertions, 43 deletions
diff --git a/src/plugins/coreplugin/mimedatabase.h b/src/plugins/coreplugin/mimedatabase.h
index 5d60ceac07..ead2ea8da6 100644
--- a/src/plugins/coreplugin/mimedatabase.h
+++ b/src/plugins/coreplugin/mimedatabase.h
@@ -261,80 +261,57 @@ public:
typedef IMagicMatcher::IMagicMatcherList IMagicMatcherList;
typedef IMagicMatcher::IMagicMatcherSharedPointer IMagicMatcherSharedPointer;
- bool addMimeTypes(const QString &fileName, QString *errorMessage);
- bool addMimeTypes(QIODevice *device, QString *errorMessage);
- bool addMimeType(const MimeType &mt);
+ static bool addMimeTypes(const QString &fileName, QString *errorMessage);
+ static bool addMimeTypes(QIODevice *device, QString *errorMessage);
+ static bool addMimeType(const MimeType &mt);
// Returns a mime type or Null one if none found
- MimeType findByType(const QString &type) const;
+ static MimeType findByType(const QString &type);
// Returns a mime type or Null one if none found
- MimeType findByFile(const QFileInfo &f) const;
+ static MimeType findByFile(const QFileInfo &f);
// Returns a mime type or Null one if none found
- MimeType findByData(const QByteArray &data) const;
-
- // Convenience that mutex-locks the DB and calls a function
- // of the signature 'void f(const MimeType &, const QFileInfo &, const QString &)'
- // for each filename of a sequence. This avoids locking the DB for each
- // single file.
- template <class Iterator, typename Function>
- inline void findByFile(Iterator i1, const Iterator &i2, Function f) const;
+ static MimeType findByData(const QByteArray &data);
// Return all known suffixes
- QStringList suffixes() const;
- bool setPreferredSuffix(const QString &typeOrAlias, const QString &suffix);
- QString preferredSuffixByType(const QString &type) const;
- QString preferredSuffixByFile(const QFileInfo &f) const;
+ static QStringList suffixes();
+ static bool setPreferredSuffix(const QString &typeOrAlias, const QString &suffix);
+ static QString preferredSuffixByType(const QString &type);
+ static QString preferredSuffixByFile(const QFileInfo &f);
- QStringList filterStrings() const;
+ static QStringList filterStrings();
// Return a string with all the possible file filters, for use with file dialogs
- QString allFiltersString(QString *allFilesFilter = 0) const;
+ static QString allFiltersString(QString *allFilesFilter = 0);
- QList<MimeGlobPattern> globPatterns() const;
- void setGlobPatterns(const QString &typeOrAlias, const QList<MimeGlobPattern> &globPatterns);
+ static QList<MimeGlobPattern> globPatterns();
+ static void setGlobPatterns(const QString &typeOrAlias, const QList<MimeGlobPattern> &globPatterns);
- IMagicMatcherList magicMatchers() const;
- void setMagicMatchers(const QString &typeOrAlias, const IMagicMatcherList &matchers);
+ static IMagicMatcherList magicMatchers();
+ static void setMagicMatchers(const QString &typeOrAlias, const IMagicMatcherList &matchers);
- QList<MimeType> mimeTypes() const;
+ static QList<MimeType> mimeTypes();
// The mime types from the functions bellow are considered only in regard to
// their glob patterns and rule-based magic matchers.
- void syncUserModifiedMimeTypes();
+ static void syncUserModifiedMimeTypes();
static QList<MimeType> readUserModifiedMimeTypes();
static void writeUserModifiedMimeTypes(const QList<MimeType> &mimeTypes);
- void clearUserModifiedMimeTypes();
+ static void clearUserModifiedMimeTypes();
static QList<MimeGlobPattern> toGlobPatterns(const QStringList &patterns,
int weight = MimeGlobPattern::MaxWeight);
static QStringList fromGlobPatterns(const QList<MimeGlobPattern> &globPatterns);
- friend QDebug operator<<(QDebug d, const MimeDatabase &mt);
-
private:
MimeDatabase();
~MimeDatabase();
- MimeType findByFileUnlocked(const QFileInfo &f) const;
-
- MimeDatabasePrivate *d;
- mutable QMutex m_mutex;
+ static MimeType findByFileUnlocked(const QFileInfo &f);
friend class Core::Internal::MainWindow;
};
-template <class Iterator, typename Function>
- void MimeDatabase::findByFile(Iterator i1, const Iterator &i2, Function f) const
-{
- m_mutex.lock();
- for ( ; i1 != i2; ++i1) {
- const QFileInfo fi(*i1);
- f(findByFileUnlocked(fi), fi, *i1);
- }
- m_mutex.unlock();
-}
-
} // namespace Core
#endif // MIMEDATABASE_H