File indexing completed on 2024-04-14 03:54:35

0001 /*
0002     This file is part of the KDE project
0003     SPDX-FileCopyrightText: 1999-2007 David Faure <faure@kde.org>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #ifndef KBUILD_MIME_TYPE_FACTORY_H
0009 #define KBUILD_MIME_TYPE_FACTORY_H
0010 
0011 #include <QStringList>
0012 #include <kmimetypefactory_p.h>
0013 
0014 /**
0015  * Mime-type factory for building ksycoca
0016  * @internal
0017  */
0018 class KBuildMimeTypeFactory : public KMimeTypeFactory
0019 {
0020 public:
0021     /**
0022      * Create factory
0023      */
0024     explicit KBuildMimeTypeFactory(KSycoca *db);
0025 
0026     ~KBuildMimeTypeFactory() override;
0027 
0028     KSycocaEntry::List allEntries() const override;
0029 
0030     /**
0031      * Construct a KMimeType from a config file.
0032      */
0033     KSycocaEntry *createEntry(const QString &file) const override;
0034 
0035     MimeTypeEntry *createEntry(int) const override
0036     {
0037         assert(0);
0038         return nullptr;
0039     }
0040 
0041     KMimeTypeFactory::MimeTypeEntry::Ptr createFakeMimeType(const QString &name);
0042 
0043     /**
0044      * Write out MIME type specific index files.
0045      */
0046     void save(QDataStream &str) override;
0047 
0048     /**
0049      * Write out header information
0050      *
0051      * Don't forget to call the parent first when you override
0052      * this function.
0053      */
0054     void saveHeader(QDataStream &str) override;
0055 };
0056 
0057 #endif