//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 <project/interfaces/ibuildsystemmanager.h>

class KrossKDevelopIBuildSystemManager : public QObject, public Kross::WrapperInterface
{
	Q_OBJECT
	Q_ENUMS(BuildFeature)
	Q_FLAGS(BuildFeature Includes Defines)

	public:
		enum KrossBuildFeature { Includes=KDevelop::IBuildSystemManager::Includes, Defines=KDevelop::IBuildSystemManager::Defines };
		KrossKDevelopIBuildSystemManager(KDevelop::IBuildSystemManager* obj, QObject* parent=0) : QObject(parent), wrapped(obj)		{ setObjectName("KDevelop::IBuildSystemManager"); }
		void* wrappedObject() const { return wrapped; }

		Q_SCRIPTABLE KDevelop::IProjectBuilder* builder() const { return wrapped->builder(); }
		Q_SCRIPTABLE KUrl::List includeDirectories(KDevelop::ProjectBaseItem* x0) const { return wrapped->includeDirectories(x0); }
		Q_SCRIPTABLE QHash< QString, QString > defines(KDevelop::ProjectBaseItem* x0) const { return wrapped->defines(x0); }
		Q_SCRIPTABLE KDevelop::ProjectTargetItem* createTarget(const QString& x0, KDevelop::ProjectFolderItem* x1) { return wrapped->createTarget(x0, x1); }
		Q_SCRIPTABLE bool removeTarget(KDevelop::ProjectTargetItem* x0) { return wrapped->removeTarget(x0); }
		Q_SCRIPTABLE QList< KDevelop::ProjectTargetItem* > targets(KDevelop::ProjectFolderItem* x0) const { return wrapped->targets(x0); }
		Q_SCRIPTABLE bool addFileToTarget(KDevelop::ProjectFileItem* x0, KDevelop::ProjectTargetItem* x1) { return wrapped->addFileToTarget(x0, x1); }
		Q_SCRIPTABLE bool removeFileFromTarget(KDevelop::ProjectFileItem* x0, KDevelop::ProjectTargetItem* x1) { return wrapped->removeFileFromTarget(x0, x1); }
		Q_SCRIPTABLE KUrl buildDirectory(KDevelop::ProjectBaseItem* x0) const { return wrapped->buildDirectory(x0); }
	private:
		KDevelop::IBuildSystemManager* wrapped;
};

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

namespace Handlers
{
QVariant _kDevelopIBuildSystemManagerHandler(void* type)
{
	if(!type) return QVariant();
	KDevelop::IBuildSystemManager* t=static_cast<KDevelop::IBuildSystemManager*>(type);
	Q_ASSERT(dynamic_cast<KDevelop::IBuildSystemManager*>(t));
	return qVariantFromValue((QObject*) new KrossKDevelopIBuildSystemManager(t, 0));
}
bool b_KDevelopIBuildSystemManager1=krossibuildsystemmanager_registerHandler("IBuildSystemManager*", _kDevelopIBuildSystemManagerHandler);
bool b_KDevelopIBuildSystemManager=krossibuildsystemmanager_registerHandler("KDevelop::IBuildSystemManager*", _kDevelopIBuildSystemManagerHandler);
QVariant kDevelopIBuildSystemManagerHandler(KDevelop::IBuildSystemManager* type){ return _kDevelopIBuildSystemManagerHandler(type); }
QVariant kDevelopIBuildSystemManagerHandler(const KDevelop::IBuildSystemManager* type) { return _kDevelopIBuildSystemManagerHandler((void*) type); }

}
#include "krossibuildsystemmanager.moc"
