1 /***************************************************************************
2 * Copyright 2007 Alexander Dymo <adymo@kdevelop.org> *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU Library General Public License as *
6 * published by the Free Software Foundation; either version 2 of the *
7 * License, or (at your option) any later version. *
9 * This program 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 *
12 * GNU General Public License for more details. *
14 * You should have received a copy of the GNU Library General Public *
15 * License along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
18 ***************************************************************************/
19 #ifndef ILANGUAGECONTROLLER_H
20 #define ILANGUAGECONTROLLER_H
22 #include <QtCore/QList>
23 #include <QtCore/QObject>
25 #include "interfacesexport.h"
32 class BackgroundParser
;
34 class KDEVPLATFORMINTERFACES_EXPORT ILanguageController
: public QObject
{
37 ILanguageController(QObject
*parent
= 0);
39 /** @return the currently active languages loaded for the currently active file.
40 The list is empty if the file's language is unsupported. */
41 Q_SCRIPTABLE
virtual QList
<ILanguage
*>activeLanguages() = 0;
42 /** @return the language for given @p name. */
43 Q_SCRIPTABLE
virtual ILanguage
* language(const QString
&name
) const = 0;
44 /** @return the languages that support the MIME type of @p url. */
45 Q_SCRIPTABLE
virtual QList
<ILanguage
*> languagesForUrl(const KUrl
&url
) = 0;
47 /** @return the background parser used to parse source files */
48 Q_SCRIPTABLE
virtual BackgroundParser
*backgroundParser() const = 0;