int AccessMap::mergeCruds(int crud1, int crud2) const { if ((crud1 == PROCEDURE_ONLY) || (crud2 == PROCEDURE_ONLY)) return PROCEDURE_ONLY; int crud = 0; if (canCreate(crud1) || canCreate(crud2)) crud += CREATE; if (canRead(crud1) || canRead(crud2)) crud += READ; if (canUpdate(crud1) || canUpdate(crud2)) crud += UPDATE; if (canDelete(crud1) || canDelete(crud2)) crud += DELETE; return crud; }
ProjectExplorer::RunConfiguration *QmlProjectRunConfigurationFactory::create(ProjectExplorer::Target *parent, const QString &id) { if (!canCreate(parent, id)) return 0; QmlProjectTarget *qmlparent = static_cast<QmlProjectTarget *>(parent); return new QmlProjectRunConfiguration(qmlparent); }
RunConfiguration *MaemoRunConfigurationFactory::create(Target *parent, const QString &id) { if (!canCreate(parent, id)) return 0; AbstractQt4MaemoTarget *pqt4parent = static_cast<AbstractQt4MaemoTarget *>(parent); return new MaemoRunConfiguration(pqt4parent, pathFromId(id)); }
DeployConfiguration *RemoteLinuxDeployConfigurationFactory::create(Target *parent, const QString &id) { Q_ASSERT(canCreate(parent, id)); DeployConfiguration * const dc = new RemoteLinuxDeployConfiguration(parent, id, genericLinuxDisplayName(), QLatin1String(Constants::GenericLinuxOsType)); dc->stepList()->insertStep(0, new TarPackageCreationStep(dc->stepList())); dc->stepList()->insertStep(1, new UploadAndInstallTarPackageStep(dc->stepList())); return dc; }
BuildStep *MaemoPackageCreationFactory::create(ProjectExplorer::BuildStepList *parent, const QString &id) { Q_ASSERT(canCreate(parent, id)); if (id == MaemoDebianPackageCreationStep::CreatePackageId) return new MaemoDebianPackageCreationStep(parent); else if (id == MaemoRpmPackageCreationStep::CreatePackageId) return new MaemoRpmPackageCreationStep(parent); else if (id == MaemoTarPackageCreationStep::CreatePackageId) return new MaemoTarPackageCreationStep(parent); return 0; }
DeployConfiguration *RemoteLinuxDeployConfigurationFactory::create(Target *parent, const Core::Id id) { Q_ASSERT(canCreate(parent, id)); DeployConfiguration * const dc = new RemoteLinuxDeployConfiguration(parent, id, genericLinuxDisplayName()); dc->stepList()->insertStep(0, new RemoteLinuxCheckForFreeDiskSpaceStep(dc->stepList())); dc->stepList()->insertStep(1, new GenericDirectUploadStep(dc->stepList(), GenericDirectUploadStep::stepId())); return dc; }
ProjectExplorer::DeployConfiguration *QnxDeployConfigurationFactory::create(ProjectExplorer::Target *parent, Core::Id id) { if (!canCreate(parent, id)) return 0; ProjectExplorer::DeployConfiguration * const dc = new QnxDeployConfiguration(parent, id, displayNameForId(id)); dc->stepList()->insertStep(0, new ProjectExplorer::DeviceCheckBuildStep(dc->stepList(), ProjectExplorer::DeviceCheckBuildStep::stepId())); dc->stepList()->insertStep(1, new RemoteLinux::GenericDirectUploadStep(dc->stepList(), RemoteLinux::GenericDirectUploadStep::stepId())); return dc; }
BuildStep *IosBuildStepFactory::create(BuildStepList *parent, const Id id) { if (!canCreate(parent, id)) return 0; IosBuildStep *step = new IosBuildStep(parent); if (parent->id() == ProjectExplorer::Constants::BUILDSTEPS_CLEAN) { step->setClean(true); step->setExtraArguments(QStringList(QLatin1String("clean"))); } else if (parent->id() == ProjectExplorer::Constants::BUILDSTEPS_BUILD) { // nomal setup } return step; }
void ObjectsFactory::addCreator( const std::string& type, ObjectCreator* ctor ) { bool alreadyHaveConstructor = canCreate( type ); if( alreadyHaveConstructor ) { Logger::warning( "WalkerManager: also have constructor for type " + type ); return; } else { _d->constructors[ type ] = ctor; } }
BuildStep *GenericRemoteLinuxDeployStepFactory::create(BuildStepList *parent, const QString &id) { Q_ASSERT(canCreate(parent, id)); if (id == TarPackageCreationStep::stepId()) return new TarPackageCreationStep(parent); if (id == UploadAndInstallTarPackageStep::stepId()) return new UploadAndInstallTarPackageStep(parent); if (id == GenericDirectUploadStep::stepId()) return new GenericDirectUploadStep(parent, GenericDirectUploadStep::stepId()); if (id == GenericRemoteLinuxCustomCommandDeploymentStep::stepId()) return new GenericRemoteLinuxCustomCommandDeploymentStep(parent); return 0; }
BuildConfiguration *Qt4BuildConfigurationFactory::create(Target *parent, const Core::Id id, const QString &name) { if (!canCreate(parent, id)) return 0; BaseQtVersion *version = QtKitInformation::qtVersion(parent->kit()); Q_ASSERT(version); bool ok = true; QString buildConfigurationName = name; if (buildConfigurationName.isNull()) buildConfigurationName = QInputDialog::getText(0, tr("New Configuration"), tr("New configuration name:"), QLineEdit::Normal, version->displayName(), &ok); buildConfigurationName = buildConfigurationName.trimmed(); if (!ok || buildConfigurationName.isEmpty()) return 0; //: Debug build configuration. We recommend not translating it. QString defaultFirstName = tr("%1 Debug").arg(version->displayName()).trimmed(); QString customFirstName; if (buildConfigurationName != version->displayName()) customFirstName = tr("%1 Debug").arg(buildConfigurationName).trimmed(); //: Release build configuration. We recommend not translating it. QString defaultSecondName = tr("%1 Release").arg(version->displayName()).trimmed(); QString customSecondName; if (buildConfigurationName != version->displayName()) customSecondName = tr("%1 Release").arg(buildConfigurationName).trimmed(); BaseQtVersion::QmakeBuildConfigs config = version->defaultBuildConfig() | QtSupport::BaseQtVersion::DebugBuild; BuildConfiguration *bc = Qt4BuildConfiguration::setup(parent, defaultFirstName, customFirstName, config, QString(), QString(), false); config = config ^ BaseQtVersion::DebugBuild; parent->addBuildConfiguration( Qt4BuildConfiguration::setup(parent, defaultSecondName, customSecondName, config, QString(), QString(), false)); return bc; }
ProjectExplorer::Target *EmbeddedLinuxTargetFactory::create(ProjectExplorer::Project *parent, const QString &id) { if (!canCreate(parent, id)) return 0; QList<QtSupport::BaseQtVersion *> knownVersions = QtSupport::QtVersionManager::instance()->versionsForTargetId(id); QtSupport::BaseQtVersion *qtVersion = knownVersions.first(); QtSupport::BaseQtVersion::QmakeBuildConfigs config = qtVersion->defaultBuildConfig(); QList<Qt4ProjectManager::BuildConfigurationInfo> infos; infos.append(Qt4ProjectManager::BuildConfigurationInfo(qtVersion, config, QString(), QString())); infos.append(Qt4ProjectManager::BuildConfigurationInfo(qtVersion, config ^ QtSupport::BaseQtVersion::DebugBuild, QString(), QString())); return create(parent, id, infos); }
BuildConfiguration *GenericBuildConfigurationFactory::create(Target *parent, const Core::Id id, const QString &name) { if (!canCreate(parent, id)) return 0; //TODO asking for name is duplicated everywhere, but maybe more // wizards will show up, that incorporate choosing the nam bool ok = true; QString buildConfigurationName = name; if (buildConfigurationName.isNull()) buildConfigurationName = QInputDialog::getText(0, tr("New Configuration"), tr("New configuration name:"), QLineEdit::Normal, QString(), &ok); buildConfigurationName = buildConfigurationName.trimmed(); if (!ok || buildConfigurationName.isEmpty()) return 0; GenericBuildConfiguration *bc = new GenericBuildConfiguration(parent); bc->setDisplayName(buildConfigurationName); BuildStepList *buildSteps = bc->stepList(Constants::BUILDSTEPS_BUILD); BuildStepList *cleanSteps = bc->stepList(Constants::BUILDSTEPS_CLEAN); Q_ASSERT(buildSteps); GenericMakeStep *makeStep = new GenericMakeStep(buildSteps); buildSteps->insertStep(0, makeStep); makeStep->setBuildTarget(QLatin1String("all"), /* on = */ true); Q_ASSERT(cleanSteps); GenericMakeStep *cleanMakeStep = new GenericMakeStep(cleanSteps); cleanSteps->insertStep(0, cleanMakeStep); cleanMakeStep->setBuildTarget(QLatin1String("clean"), /* on = */ true); cleanMakeStep->setClean(true); return bc; }
ProjectExplorer::Target *EmbeddedLinuxTargetFactory::create(ProjectExplorer::Project *parent, const QString &id, const QList<Qt4ProjectManager::BuildConfigurationInfo> &infos) { if (!canCreate(parent, id) || infos.isEmpty()) return 0; GenericEmbeddedLinuxTarget *t = new GenericEmbeddedLinuxTarget(static_cast<Qt4ProjectManager::Qt4Project *>(parent), id); foreach (const Qt4ProjectManager::BuildConfigurationInfo &info, infos) t->addQt4BuildConfiguration(msgBuildConfigurationName(info), QString(), info.version, info.buildConfig, info.additionalArguments, info.directory, info.importing); t->addDeployConfiguration( t->createDeployConfiguration( RemoteLinuxDeployConfigurationFactory::genericDeployConfigurationId())); t->createApplicationProFiles(false); if (t->runConfigurations().isEmpty()) t->addRunConfiguration(new ProjectExplorer::CustomExecutableRunConfiguration(t)); return t; }
bool QmlProjectRunConfigurationFactory::canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const { QString id = ProjectExplorer::idFromMap(map); return canCreate(parent, id); }
bool AndroidDeployStepFactory::canClone(BuildStepList *parent, BuildStep *product) const { return canCreate(parent, product->id()); }
bool AndroidDeployStepFactory::canRestore(BuildStepList *parent, const QVariantMap &map) const { return canCreate(parent, idFromMap(map)); }
BuildStep *AndroidDeployStepFactory::create(BuildStepList *parent, const Core::Id id) { Q_ASSERT(canCreate(parent, id)); Q_UNUSED(id); return new AndroidDeployStep(parent); }
bool WinRtDeployConfigurationFactory::canRestore(Target *parent, const QVariantMap &map) const { return canCreate(parent, idFromMap(map)); }
bool GenericRemoteLinuxDeployStepFactory::canClone(BuildStepList *parent, BuildStep *product) const { return canCreate(parent, product->id()); }
bool GenericRemoteLinuxDeployStepFactory::canRestore(BuildStepList *parent, const QVariantMap &map) const { return canCreate(parent, idFromMap(map)); }
bool QmlProjectRunConfigurationFactory::canClone(ProjectExplorer::Target *parent, ProjectExplorer::RunConfiguration *source) const { return canCreate(parent, source->id()); }
bool AndroidPackageInstallationFactory::canRestore(BuildStepList *parent, const QVariantMap &map) const { return canCreate(parent, idFromMap(map)); }
bool GenericBuildConfigurationFactory::canClone(const Target *parent, BuildConfiguration *source) const { return canCreate(parent, source->id()); }
bool MaemoDeployStepFactory::canRestore(BuildStepList *parent, const QVariantMap &map) const { return canCreate(parent, idFromMap(map)) || idFromMap(map) == OldMaemoDeployStepId; }
bool IosBuildStepFactory::canClone(BuildStepList *parent, BuildStep *source) const { return canCreate(parent, source->id()); }
bool QmlProjectRunConfigurationFactory::canRestore(ProjectExplorer::Target *parent, const QVariantMap &map) const { return parent && canCreate(parent, ProjectExplorer::idFromMap(map)); }
bool AndroidPackageInstallationFactory::canClone(BuildStepList *parent, BuildStep *product) const { return canCreate(parent, product->id()); }
bool GenericBuildConfigurationFactory::canRestore(const Target *parent, const QVariantMap &map) const { return canCreate(parent, ProjectExplorer::idFromMap(map)); }
BuildStep *AndroidPackageInstallationFactory::create(BuildStepList *parent, const Core::Id id) { Q_ASSERT(canCreate(parent, id)); return new AndroidPackageInstallationStep(parent); }