1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
/*
SPDX-FileCopyrightText: 2006 Adam Treat <treat@kde.org>
SPDX-FileCopyrightText: 2007 Alexander Dymo <adymo@kdevelop.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#ifndef KDEVPLATFORM_LANGUAGECONTROLLER_H
#define KDEVPLATFORM_LANGUAGECONTROLLER_H
#include <interfaces/ilanguagecontroller.h>
#include "shellexport.h"
namespace KDevelop {
class ILanguageSupport;
class LanguageControllerPrivate;
class KDEVPLATFORMSHELL_EXPORT LanguageController : public ILanguageController {
Q_OBJECT
public:
explicit LanguageController(QObject *parent);
~LanguageController() override;
void initialize();
//After this was called, no more languages will be returned
void cleanup();
/** @copydoc ILanguageController::activeLanguages() */
QList<ILanguageSupport*> activeLanguages() override;
/** @copydoc ILanguageController::language() */
ILanguageSupport* language(const QString &name) const override;
/** @copydoc ILanguageController::languageForUrl() */
QList<ILanguageSupport*> languagesForUrl(const QUrl &url) override;
/** @copydoc ILanguageController::backgroundParser() */
BackgroundParser *backgroundParser() const override;
StaticAssistantsManager *staticAssistantsManager() const override;
QList<ILanguageSupport*> loadedLanguages() const override;
ICompletionSettings *completionSettings() const override;
ProblemModelSet* problemModelSet() const override;
QList<ILanguageSupport*> languagesForMimetype(const QString& mime);
QList<QString> mimetypesForLanguageName(const QString& languageName);
protected:
/**
* functions for unit tests
* @see TestLanguageController
*/
void addLanguageSupport(KDevelop::ILanguageSupport* languageSupport, const QStringList& mimetypes);
private:
const QScopedPointer<class LanguageControllerPrivate> d_ptr;
Q_DECLARE_PRIVATE(LanguageController)
};
}
#endif
|