//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 <vcs/vcslocation.h>

class KrossKDevelopVcsLocation : public QObject, public Kross::WrapperInterface
{
	Q_OBJECT
	Q_ENUMS(LocationType)
	Q_FLAGS(LocationType LocalLocation RepositoryLocation)

	public:
		enum KrossLocationType { LocalLocation=KDevelop::VcsLocation::LocalLocation, RepositoryLocation=KDevelop::VcsLocation::RepositoryLocation };
		KrossKDevelopVcsLocation(KDevelop::VcsLocation* obj, QObject* parent=0) : QObject(parent), wrapped(obj)		{ setObjectName("KDevelop::VcsLocation"); }
		void* wrappedObject() const { return wrapped; }

		Q_SCRIPTABLE KDevelop::VcsLocation operator=(const KDevelop::VcsLocation& x0) { return wrapped->operator=(x0); }
		Q_SCRIPTABLE KUrl localUrl() const { return wrapped->localUrl(); }
		Q_SCRIPTABLE QString repositoryServer() const { return wrapped->repositoryServer(); }
		Q_SCRIPTABLE QString repositoryModule() const { return wrapped->repositoryModule(); }
		Q_SCRIPTABLE QString repositoryTag() const { return wrapped->repositoryTag(); }
		Q_SCRIPTABLE QString repositoryBranch() const { return wrapped->repositoryBranch(); }
		Q_SCRIPTABLE QString repositoryPath() const { return wrapped->repositoryPath(); }
		Q_SCRIPTABLE KDevelop::VcsLocation::LocationType type() const { return wrapped->type(); }
		Q_SCRIPTABLE void setLocalUrl(const KUrl& x0) { wrapped->setLocalUrl(x0); }
		Q_SCRIPTABLE void setRepositoryServer(const QString& x0) { wrapped->setRepositoryServer(x0); }
		Q_SCRIPTABLE void setRepositoryModule(const QString& x0) { wrapped->setRepositoryModule(x0); }
		Q_SCRIPTABLE void setRepositoryBranch(const QString& x0) { wrapped->setRepositoryBranch(x0); }
		Q_SCRIPTABLE void setRepositoryTag(const QString& x0) { wrapped->setRepositoryTag(x0); }
		Q_SCRIPTABLE void setRepositoryPath(const QString& x0) { wrapped->setRepositoryPath(x0); }
		Q_SCRIPTABLE void setUserData(const QVariant& x0) { wrapped->setUserData(x0); }
		Q_SCRIPTABLE QVariant userData() const { return wrapped->userData(); }
		Q_SCRIPTABLE bool operator==(const KDevelop::VcsLocation& x0) { return wrapped->operator==(x0); }
		Q_SCRIPTABLE bool isValid() const { return wrapped->isValid(); }
	private:
		KDevelop::VcsLocation* wrapped;
};

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

namespace Handlers
{
QVariant _kDevelopVcsLocationHandler(void* type)
{
	if(!type) return QVariant();
	KDevelop::VcsLocation* t=static_cast<KDevelop::VcsLocation*>(type);
	Q_ASSERT(dynamic_cast<KDevelop::VcsLocation*>(t));
	return qVariantFromValue((QObject*) new KrossKDevelopVcsLocation(t, 0));
}
bool b_KDevelopVcsLocation1=krossvcslocation_registerHandler("VcsLocation*", _kDevelopVcsLocationHandler);
bool b_KDevelopVcsLocation=krossvcslocation_registerHandler("KDevelop::VcsLocation*", _kDevelopVcsLocationHandler);
QVariant kDevelopVcsLocationHandler(KDevelop::VcsLocation* type){ return _kDevelopVcsLocationHandler(type); }
QVariant kDevelopVcsLocationHandler(const KDevelop::VcsLocation* type) { return _kDevelopVcsLocationHandler((void*) type); }

}
#include "krossvcslocation.moc"
