//This is file has been generated by xmltokross, you should not edit this file but the files used to generate it.

#include <QtCore/QObject>
#include <QtCore/QVariant>
#include <kross/core/manager.h>
#include <kross/core/wrapperinterface.h>
#include <interfaces/ilanguage.h>

class KrossKDevelopILanguage : public QObject, public Kross::WrapperInterface
{
	Q_OBJECT
	public:
		KrossKDevelopILanguage(KDevelop::ILanguage* obj, QObject* parent=0) : QObject(parent), wrapped(obj)		{ setObjectName("KDevelop::ILanguage"); }
		void* wrappedObject() const { return wrapped; }

		Q_SCRIPTABLE QString name() const { return wrapped->name(); }
		Q_SCRIPTABLE void activate() { wrapped->activate(); }
		Q_SCRIPTABLE void deactivate() { wrapped->deactivate(); }
		Q_SCRIPTABLE KDevelop::ILanguageSupport* languageSupport() { return wrapped->languageSupport(); }
		Q_SCRIPTABLE QReadWriteLock* parseLock() const { return wrapped->parseLock(); }
	private:
		KDevelop::ILanguage* wrapped;
};

bool krossilanguage_registerHandler(const QByteArray& name, Kross::MetaTypeHandler::FunctionPtr* handler)
{ Kross::Manager::self().registerMetaTypeHandler(name, handler); return false; }

namespace Handlers
{
QVariant _kDevelopILanguageHandler(void* type)
{
	if(!type) return QVariant();
	KDevelop::ILanguage* t=static_cast<KDevelop::ILanguage*>(type);
	Q_ASSERT(dynamic_cast<KDevelop::ILanguage*>(t));
	return qVariantFromValue((QObject*) new KrossKDevelopILanguage(t, 0));
}
bool b_KDevelopILanguage1=krossilanguage_registerHandler("ILanguage*", _kDevelopILanguageHandler);
bool b_KDevelopILanguage=krossilanguage_registerHandler("KDevelop::ILanguage*", _kDevelopILanguageHandler);
QVariant kDevelopILanguageHandler(KDevelop::ILanguage* type){ return _kDevelopILanguageHandler(type); }
QVariant kDevelopILanguageHandler(const KDevelop::ILanguage* type) { return _kDevelopILanguageHandler((void*) type); }

}
#include "krossilanguage.moc"
