aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRadovan Zivkovic <pivonroll@gmail.com>2013-08-07 21:26:57 +0200
committerOswald Buddenhagen <oswald.buddenhagen@digia.com>2014-03-11 19:54:56 +0100
commit085d83238ea4224d914ff38cbe40225a2b616364 (patch)
tree528eb774bd8a42edaa72116627ac9c103b782216
parent32bd0d4212eadbb7f6918016ae129dbe79ab8578 (diff)
Removed AssemblyReference_Private class.
Change-Id: I415ad2d7fe1af919663b881c7ddbb67bdadd2b20 Reviewed-by: Bojan Petrovic <bojan85@gmail.com>
-rw-r--r--src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference.cpp284
-rw-r--r--src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference.h34
-rw-r--r--src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference_private.cpp468
-rw-r--r--src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference_private.h163
-rw-r--r--src/plugins/vcprojectmanager/vcprojectmodel/vcprojectmodel.pri2
5 files changed, 253 insertions, 698 deletions
diff --git a/src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference.cpp b/src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference.cpp
index 9948981bd7..fd32152e4a 100644
--- a/src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference.cpp
+++ b/src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference.cpp
@@ -29,7 +29,9 @@
****************************************************************************/
#include "assemblyreference.h"
-#include "configuration.h"
+#include <QVariant>
+
+#include "configurationsfactory.h"
namespace VcProjectManager {
namespace Internal {
@@ -40,12 +42,33 @@ AssemblyReference::~AssemblyReference()
void AssemblyReference::processNode(const QDomNode &node)
{
- m_private->processNode(node);
+ if (node.isNull())
+ return;
+
+ if (node.nodeType() == QDomNode::ElementNode)
+ processNodeAttributes(node.toElement());
+
+ if (node.hasChildNodes()) {
+ QDomNode firstChild = node.firstChild();
+ if (!firstChild.isNull())
+ processReferenceConfig(firstChild);
+ }
}
void AssemblyReference::processNodeAttributes(const QDomElement &element)
{
- Q_UNUSED(element)
+ QDomNamedNodeMap namedNodeMap = element.attributes();
+
+ if (namedNodeMap.size() == 1) {
+ QDomNode domNode = namedNodeMap.item(0);
+
+ if (domNode.nodeType() == QDomNode::AttributeNode) {
+ QDomAttr domElement = domNode.toAttr();
+
+ if (domElement.name() == QLatin1String("RelativePath"))
+ m_relativePath = domElement.value();
+ }
+ }
}
VcNodeWidget *AssemblyReference::createSettingsWidget()
@@ -55,42 +78,66 @@ VcNodeWidget *AssemblyReference::createSettingsWidget()
QDomNode AssemblyReference::toXMLDomNode(QDomDocument &domXMLDocument) const
{
- return m_private->toXMLDomNode(domXMLDocument);
+ QDomElement assemblyRefNode = domXMLDocument.createElement(QLatin1String("AssemblyReference"));
+
+ assemblyRefNode.setAttribute(QLatin1String("RelativePath"), m_relativePath);
+
+ foreach (const Configuration::Ptr &refConfig, m_referenceConfigurations)
+ assemblyRefNode.appendChild(refConfig->toXMLDomNode(domXMLDocument));
+
+ return assemblyRefNode;
}
QString AssemblyReference::relativePath() const
{
- return m_private->relativePath();
+ return m_relativePath;
}
void AssemblyReference::setRelativePath(const QString &relativePath)
{
- m_private->setRelativePath(relativePath);
+ m_relativePath = relativePath;
}
void AssemblyReference::addReferenceConfiguration(Configuration::Ptr refConfig)
{
- m_private->addReferenceConfiguration(refConfig);
+ if (m_referenceConfigurations.contains(refConfig))
+ return;
+
+ foreach (const Configuration::Ptr &refConf, m_referenceConfigurations) {
+ if (refConfig->name() == refConf->name())
+ return;
+ }
+
+ m_referenceConfigurations.append(refConfig);
}
void AssemblyReference::removeReferenceConfiguration(Configuration::Ptr refConfig)
{
- m_private->removeReferenceConfiguration(refConfig);
+ m_referenceConfigurations.removeAll(refConfig);
}
void AssemblyReference::removeReferenceConfiguration(const QString &refConfName)
{
- m_private->removeReferenceConfiguration(refConfName);
+ foreach (const Configuration::Ptr &refConfig, m_referenceConfigurations) {
+ if (refConfig->name() == refConfName) {
+ removeReferenceConfiguration(refConfig);
+ return;
+ }
+ }
}
QList<Configuration::Ptr> AssemblyReference::referenceConfigurations() const
{
- return m_private->referenceConfigurations();
+ return m_referenceConfigurations;
}
Configuration::Ptr AssemblyReference::referenceConfiguration(const QString &refConfigName) const
{
- return m_private->referenceConfiguration(refConfigName);
+ foreach (const Configuration::Ptr &refConfig, m_referenceConfigurations) {
+ if (refConfig->name() == refConfigName)
+ return refConfig;
+ }
+ return Configuration::Ptr();
}
AssemblyReference::AssemblyReference()
@@ -99,16 +146,36 @@ AssemblyReference::AssemblyReference()
AssemblyReference::AssemblyReference(const AssemblyReference &asmRef)
{
- m_private = asmRef.m_private->clone();
+ m_relativePath = asmRef.m_relativePath;
+
+ foreach (const Configuration::Ptr &refConfig, asmRef.m_referenceConfigurations)
+ m_referenceConfigurations.append(refConfig->clone());
}
AssemblyReference &AssemblyReference::operator =(const AssemblyReference &asmRef)
{
- if (this != &asmRef)
- m_private = asmRef.m_private->clone();
+ if (this != &asmRef) {
+ m_relativePath = asmRef.m_relativePath;
+
+ foreach (const Configuration::Ptr &refConfig, asmRef.m_referenceConfigurations)
+ m_referenceConfigurations.append(refConfig->clone());
+ }
+
return *this;
}
+void AssemblyReference::processReferenceConfig(const QDomNode &referenceConfig)
+{
+ Configuration::Ptr referenceConfiguration = createReferenceConfiguration();
+ referenceConfiguration->processNode(referenceConfig);
+ m_referenceConfigurations.append(referenceConfiguration);
+
+ // process next sibling
+ QDomNode nextSibling = referenceConfig.nextSibling();
+ if (!nextSibling.isNull())
+ processReferenceConfig(nextSibling);
+}
+
AssemblyReference2003::AssemblyReference2003(const AssemblyReference2003 &ref)
: AssemblyReference(ref)
@@ -134,20 +201,29 @@ AssemblyReference2003::AssemblyReference2003()
{
}
-void AssemblyReference2003::init()
+Configuration::Ptr AssemblyReference2003::createReferenceConfiguration() const
{
- m_private = AssemblyReference_Private::Ptr(new AssemblyReference2003_Private);
+ return ConfigurationsFactory::createConfiguration(VcDocConstants::DV_MSVC_2003, QLatin1String("ReferenceConfiguration"));
}
AssemblyReference2005::AssemblyReference2005(const AssemblyReference2005 &ref)
: AssemblyReference2003(ref)
{
+ m_assemblyName = ref.m_assemblyName;
+ m_copyLocal = ref.m_copyLocal;
+ m_useInBuild = ref.m_useInBuild;
}
AssemblyReference2005 &AssemblyReference2005::operator =(const AssemblyReference2005 &ref)
{
- AssemblyReference2003::operator =(ref);
+ if (this != &ref) {
+ AssemblyReference2003::operator =(ref);
+ m_assemblyName = ref.m_assemblyName;
+ m_copyLocal = ref.m_copyLocal;
+ m_useInBuild = ref.m_useInBuild;
+ }
+
return *this;
}
@@ -155,6 +231,17 @@ AssemblyReference2005::~AssemblyReference2005()
{
}
+QDomNode AssemblyReference2005::toXMLDomNode(QDomDocument &domXMLDocument) const
+{
+ QDomElement assemblyRefNode = AssemblyReference2003::toXMLDomNode(domXMLDocument).toElement();
+
+ assemblyRefNode.setAttribute(QLatin1String("AssemblyName"), m_assemblyName);
+ assemblyRefNode.setAttribute(QLatin1String("CopyLocal"), QVariant(m_copyLocal).toString());
+ assemblyRefNode.setAttribute(QLatin1String("UseInBuild"), QVariant(m_useInBuild).toString());
+
+ return assemblyRefNode;
+}
+
AssemblyReference::Ptr AssemblyReference2005::clone() const
{
return AssemblyReference::Ptr(new AssemblyReference2005(*this));
@@ -162,58 +249,99 @@ AssemblyReference::Ptr AssemblyReference2005::clone() const
QString AssemblyReference2005::assemblyName() const
{
- QSharedPointer<AssemblyReference2005_Private> asmRef = m_private.staticCast<AssemblyReference2005_Private>();
- return asmRef->assemblyName();
+ return m_assemblyName;
}
void AssemblyReference2005::setAssemblyName(const QString &assemblyName)
{
- QSharedPointer<AssemblyReference2005_Private> asmRef = m_private.staticCast<AssemblyReference2005_Private>();
- asmRef->setAssemblyName(assemblyName);
+ m_assemblyName = assemblyName;
}
bool AssemblyReference2005::copyLocal() const
{
- QSharedPointer<AssemblyReference2005_Private> asmRef = m_private.staticCast<AssemblyReference2005_Private>();
- return asmRef->copyLocal();
+ return m_copyLocal;
}
void AssemblyReference2005::setCopyLocal(bool copyLocal)
{
- QSharedPointer<AssemblyReference2005_Private> asmRef = m_private.staticCast<AssemblyReference2005_Private>();
- asmRef->setCopyLocal(copyLocal);
+ m_copyLocal = copyLocal;
}
bool AssemblyReference2005::useInBuild() const
{
- QSharedPointer<AssemblyReference2005_Private> asmRef = m_private.staticCast<AssemblyReference2005_Private>();
- return asmRef->useInBuild();
+ return m_useInBuild;
}
void AssemblyReference2005::setUseInBuild(bool useInBuild)
{
- QSharedPointer<AssemblyReference2005_Private> asmRef = m_private.staticCast<AssemblyReference2005_Private>();
- asmRef->setUseInBuild(useInBuild);
+ m_useInBuild = useInBuild;
}
AssemblyReference2005::AssemblyReference2005()
{
}
-void AssemblyReference2005::init()
+Configuration::Ptr AssemblyReference2005::createReferenceConfiguration() const
{
- m_private = AssemblyReference_Private::Ptr(new AssemblyReference2005_Private);
+ return ConfigurationsFactory::createConfiguration(VcDocConstants::DV_MSVC_2005, QLatin1String("ReferenceConfiguration"));
+}
+
+void AssemblyReference2005::processNodeAttributes(const QDomElement &element)
+{
+ QDomNamedNodeMap namedNodeMap = element.attributes();
+
+ for (int i = 0; i < namedNodeMap.size(); ++i) {
+ QDomNode domNode = namedNodeMap.item(i);
+
+ if (domNode.nodeType() == QDomNode::AttributeNode) {
+ QDomAttr domElement = domNode.toAttr();
+
+ if (domElement.name() == QLatin1String("RelativePath"))
+ m_relativePath = domElement.value();
+
+
+ else if (domElement.name() == QLatin1String("AssemblyName"))
+ m_assemblyName = domElement.value();
+
+ else if (domElement.name() == QLatin1String("CopyLocal")) {
+ if (domElement.value() == QLatin1String("false"))
+ m_copyLocal = false;
+ else
+ m_copyLocal = true;
+ }
+
+ else if (domElement.name() == QLatin1String("UseInBuild")) {
+ if (domElement.value() == QLatin1String("false"))
+ m_useInBuild = false;
+ else
+ m_useInBuild = true;
+ }
+ }
+ }
}
AssemblyReference2008::AssemblyReference2008(const AssemblyReference2008 &ref)
: AssemblyReference2005(ref)
{
+ m_copyLocalDependencies = ref.m_copyLocalDependencies;
+ m_copyLocalSatelliteAssemblies = ref.m_copyLocalSatelliteAssemblies;
+ m_useDependenciesInBuild = ref.m_useDependenciesInBuild;
+ m_subType = ref.m_subType;
+ m_minFrameworkVersion = ref.m_minFrameworkVersion;
}
AssemblyReference2008 &AssemblyReference2008::operator =(const AssemblyReference2008 &ref)
{
- AssemblyReference2005::operator =(ref);
+ if (this != &ref) {
+ AssemblyReference2005::operator =(ref);
+ m_copyLocalDependencies = ref.m_copyLocalDependencies;
+ m_copyLocalSatelliteAssemblies = ref.m_copyLocalSatelliteAssemblies;
+ m_useDependenciesInBuild = ref.m_useDependenciesInBuild;
+ m_subType = ref.m_subType;
+ m_minFrameworkVersion = ref.m_minFrameworkVersion;
+ }
+
return *this;
}
@@ -221,6 +349,19 @@ AssemblyReference2008::~AssemblyReference2008()
{
}
+QDomNode AssemblyReference2008::toXMLDomNode(QDomDocument &domXMLDocument) const
+{
+ QDomElement assemblyRefNode = AssemblyReference2005::toXMLDomNode(domXMLDocument).toElement();
+
+ assemblyRefNode.setAttribute(QLatin1String("CopyLocalDependencies"), QVariant(m_copyLocalDependencies).toString());
+ assemblyRefNode.setAttribute(QLatin1String("CopyLocalSatelliteAssemblies"), QVariant(m_copyLocalSatelliteAssemblies).toString());
+ assemblyRefNode.setAttribute(QLatin1String("UseDependenciesInBuild"), QVariant(m_useDependenciesInBuild).toString());
+ assemblyRefNode.setAttribute(QLatin1String("SubType"), m_subType);
+ assemblyRefNode.setAttribute(QLatin1String("MinFrameworkVersion"), m_minFrameworkVersion);
+
+ return assemblyRefNode;
+}
+
AssemblyReference::Ptr AssemblyReference2008::clone() const
{
return AssemblyReference::Ptr(new AssemblyReference2008(*this));
@@ -228,71 +369,103 @@ AssemblyReference::Ptr AssemblyReference2008::clone() const
bool AssemblyReference2008::copyLocalDependencies() const
{
- QSharedPointer<AssemblyReference2008_Private> asmRef = m_private.staticCast<AssemblyReference2008_Private>();
- return asmRef->copyLocalDependencies();
+ return m_copyLocalDependencies;
}
void AssemblyReference2008::setCopyLocalDependencies(bool copyLocalDependencies)
{
- QSharedPointer<AssemblyReference2008_Private> asmRef = m_private.staticCast<AssemblyReference2008_Private>();
- asmRef->setCopyLocalDependencies(copyLocalDependencies);
+ m_copyLocalDependencies = copyLocalDependencies;
}
bool AssemblyReference2008::copyLocalSatelliteAssemblies() const
{
- QSharedPointer<AssemblyReference2008_Private> asmRef = m_private.staticCast<AssemblyReference2008_Private>();
- return asmRef->copyLocalSatelliteAssemblies();
+ return m_copyLocalSatelliteAssemblies;
}
void AssemblyReference2008::setCopyLocalSatelliteAssemblies(bool copyLocalSatelliteAssemblies)
{
- QSharedPointer<AssemblyReference2008_Private> asmRef = m_private.staticCast<AssemblyReference2008_Private>();
- asmRef->setCopyLocalSatelliteAssemblies(copyLocalSatelliteAssemblies);
+ m_copyLocalSatelliteAssemblies = copyLocalSatelliteAssemblies;
}
bool AssemblyReference2008::useDependenciesInBuild() const
{
- QSharedPointer<AssemblyReference2008_Private> asmRef = m_private.staticCast<AssemblyReference2008_Private>();
- return asmRef->useDependenciesInBuild();
+ return m_useDependenciesInBuild;
}
void AssemblyReference2008::setUseDependenciesInBuild(bool useDependenciesInBuild)
{
- QSharedPointer<AssemblyReference2008_Private> asmRef = m_private.staticCast<AssemblyReference2008_Private>();
- asmRef->setUseDependenciesInBuild(useDependenciesInBuild);
+ m_useDependenciesInBuild = useDependenciesInBuild;
}
QString AssemblyReference2008::subType() const
{
- QSharedPointer<AssemblyReference2008_Private> asmRef = m_private.staticCast<AssemblyReference2008_Private>();
- return asmRef->subType();
+ return m_subType;
}
void AssemblyReference2008::setSubType(const QString &subType)
{
- QSharedPointer<AssemblyReference2008_Private> asmRef = m_private.staticCast<AssemblyReference2008_Private>();
- asmRef->setSubType(subType);
+ m_subType = subType;
}
QString AssemblyReference2008::minFrameworkVersion() const
{
- QSharedPointer<AssemblyReference2008_Private> asmRef = m_private.staticCast<AssemblyReference2008_Private>();
- return asmRef->minFrameworkVersion();
+ return m_minFrameworkVersion;
}
void AssemblyReference2008::setMinFrameworkVersion(const QString &minFrameworkVersion)
{
- QSharedPointer<AssemblyReference2008_Private> asmRef = m_private.staticCast<AssemblyReference2008_Private>();
- asmRef->setMinFrameworkVersion(minFrameworkVersion);
+ m_minFrameworkVersion = minFrameworkVersion;
}
AssemblyReference2008::AssemblyReference2008()
{
}
-void AssemblyReference2008::init()
+Configuration::Ptr AssemblyReference2008::createReferenceConfiguration() const
{
- m_private = AssemblyReference_Private::Ptr(new AssemblyReference2008_Private);
+ return ConfigurationsFactory::createConfiguration(VcDocConstants::DV_MSVC_2008, QLatin1String("ReferenceConfiguration"));
+}
+
+void AssemblyReference2008::processNodeAttributes(const QDomElement &element)
+{
+ AssemblyReference2005::processNodeAttributes(element);
+
+ QDomNamedNodeMap namedNodeMap = element.attributes();
+
+ for (int i = 0; i < namedNodeMap.size(); ++i) {
+ QDomNode domNode = namedNodeMap.item(i);
+
+ if (domNode.nodeType() == QDomNode::AttributeNode) {
+ QDomAttr domElement = domNode.toAttr();
+
+ if (domElement.name() == QLatin1String("CopyLocalDependencies")) {
+ if (domElement.value() == QLatin1String("false"))
+ m_copyLocalDependencies = false;
+ else
+ m_copyLocalDependencies = true;
+ }
+
+ else if (domElement.name() == QLatin1String("CopyLocalSatelliteAssemblies")) {
+ if (domElement.value() == QLatin1String("false"))
+ m_copyLocalSatelliteAssemblies = false;
+ else
+ m_copyLocalSatelliteAssemblies = true;
+ }
+
+ else if (domElement.name() == QLatin1String("UseDependenciesInBuild")) {
+ if (domElement.value() == QLatin1String("false"))
+ m_useDependenciesInBuild = false;
+ else
+ m_useDependenciesInBuild = true;
+ }
+
+ else if (domElement.name() == QLatin1String("SubType"))
+ m_subType = domElement.value();
+
+ else if (domElement.name() == QLatin1String("MinFrameworkVersion"))
+ m_minFrameworkVersion = domElement.value();
+ }
+ }
}
@@ -318,9 +491,6 @@ AssemblyReference::Ptr AssemblyReferenceFactory::create(VcDocConstants::Document
break;
}
- if (ref)
- ref->init();
-
return ref;
}
diff --git a/src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference.h b/src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference.h
index 2959347fa0..83f75d7b89 100644
--- a/src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference.h
+++ b/src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference.h
@@ -32,7 +32,8 @@
#include "ivcprojectnodemodel.h"
-#include "assemblyreference_private.h"
+#include "configuration.h"
+#include "vcprojectdocument_constants.h"
namespace VcProjectManager {
namespace Internal {
@@ -69,13 +70,16 @@ protected:
AssemblyReference(const AssemblyReference &asmRef);
AssemblyReference& operator=(const AssemblyReference &asmRef);
+ void processReferenceConfig(const QDomNode &referenceConfig);
+
/*!
- * Called after instance of the AssemblyReference is created in order to initialize \b m_private member variable to
- * a proper version of a AssemblyReference_Private implementation (2003, 2005 or 2008).
+ * Reimplement this to create a new reference configuration.
+ * \return A shared pointer to a newly created reference configuration.
*/
- virtual void init() = 0;
+ virtual Configuration::Ptr createReferenceConfiguration() const = 0;
- AssemblyReference_Private::Ptr m_private;
+ QList<Configuration::Ptr> m_referenceConfigurations;
+ QString m_relativePath; // required
};
class AssemblyReference2003 : public AssemblyReference
@@ -91,7 +95,7 @@ public:
protected:
AssemblyReference2003();
- void init();
+ Configuration::Ptr createReferenceConfiguration() const;
};
class AssemblyReference2005 : public AssemblyReference2003
@@ -102,6 +106,7 @@ public:
AssemblyReference2005(const AssemblyReference2005 &ref);
AssemblyReference2005& operator=(const AssemblyReference2005 &ref);
~AssemblyReference2005();
+ QDomNode toXMLDomNode(QDomDocument &domXMLDocument) const;
AssemblyReference::Ptr clone() const;
@@ -114,7 +119,12 @@ public:
protected:
AssemblyReference2005();
- void init();
+ Configuration::Ptr createReferenceConfiguration() const;
+ void processNodeAttributes(const QDomElement &element);
+
+ QString m_assemblyName; // optional
+ bool m_copyLocal; // optional
+ bool m_useInBuild; // optional default: true
};
class AssemblyReference2008 : public AssemblyReference2005
@@ -125,6 +135,7 @@ public:
AssemblyReference2008(const AssemblyReference2008 &ref);
AssemblyReference2008& operator=(const AssemblyReference2008 &ref);
~AssemblyReference2008();
+ QDomNode toXMLDomNode(QDomDocument &domXMLDocument) const;
AssemblyReference::Ptr clone() const;
@@ -141,7 +152,14 @@ public:
protected:
AssemblyReference2008();
- void init();
+ Configuration::Ptr createReferenceConfiguration() const;
+ void processNodeAttributes(const QDomElement &element);
+
+ bool m_copyLocalDependencies; //optional default: true
+ bool m_copyLocalSatelliteAssemblies; //optional default: true
+ bool m_useDependenciesInBuild; //optional default: true
+ QString m_subType; //optional
+ QString m_minFrameworkVersion;
};
class AssemblyReferenceFactory
diff --git a/src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference_private.cpp b/src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference_private.cpp
deleted file mode 100644
index 96a9feddba..0000000000
--- a/src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference_private.cpp
+++ /dev/null
@@ -1,468 +0,0 @@
-/**************************************************************************
-**
-** Copyright (c) 2013 Bojan Petrovic
-** Copyright (c) 2013 Radovan Zivkvoic
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-#include "assemblyreference_private.h"
-
-#include <QVariant>
-
-#include "configurationsfactory.h"
-
-namespace VcProjectManager {
-namespace Internal {
-
-AssemblyReference_Private::~AssemblyReference_Private()
-{
- m_referenceConfigurations.clear();
-}
-
-void AssemblyReference_Private::processNode(const QDomNode &node)
-{
- if (node.isNull())
- return;
-
- if (node.nodeType() == QDomNode::ElementNode)
- processNodeAttributes(node.toElement());
-
- if (node.hasChildNodes()) {
- QDomNode firstChild = node.firstChild();
- if (!firstChild.isNull())
- processReferenceConfig(firstChild);
- }
-}
-
-QDomNode AssemblyReference_Private::toXMLDomNode(QDomDocument &domXMLDocument) const
-{
- QDomElement assemblyRefNode = domXMLDocument.createElement(QLatin1String("AssemblyReference"));
-
- assemblyRefNode.setAttribute(QLatin1String("RelativePath"), m_relativePath);
-
- foreach (const Configuration::Ptr &refConfig, m_referenceConfigurations)
- assemblyRefNode.appendChild(refConfig->toXMLDomNode(domXMLDocument));
-
- return assemblyRefNode;
-}
-
-QString AssemblyReference_Private::relativePath() const
-{
- return m_relativePath;
-}
-
-void AssemblyReference_Private::setRelativePath(const QString &relativePath)
-{
- m_relativePath = relativePath;
-}
-
-void AssemblyReference_Private::addReferenceConfiguration(Configuration::Ptr refConfig)
-{
- if (m_referenceConfigurations.contains(refConfig))
- return;
-
- foreach (const Configuration::Ptr &refConf, m_referenceConfigurations) {
- if (refConfig->name() == refConf->name())
- return;
- }
-
- m_referenceConfigurations.append(refConfig);
-}
-
-void AssemblyReference_Private::removeReferenceConfiguration(Configuration::Ptr refConfig)
-{
- m_referenceConfigurations.removeAll(refConfig);
-}
-
-void AssemblyReference_Private::removeReferenceConfiguration(const QString &refConfName)
-{
- foreach (const Configuration::Ptr &refConfig, m_referenceConfigurations) {
- if (refConfig->name() == refConfName) {
- removeReferenceConfiguration(refConfig);
- return;
- }
- }
-}
-
-QList<Configuration::Ptr> AssemblyReference_Private::referenceConfigurations() const
-{
- return m_referenceConfigurations;
-}
-
-Configuration::Ptr AssemblyReference_Private::referenceConfiguration(const QString &refConfigName) const
-{
- foreach (const Configuration::Ptr &refConfig, m_referenceConfigurations) {
- if (refConfig->name() == refConfigName)
- return refConfig;
- }
- return Configuration::Ptr();
-}
-
-AssemblyReference_Private::AssemblyReference_Private()
-{
-}
-
-AssemblyReference_Private::AssemblyReference_Private(const AssemblyReference_Private &asmPrivate)
-{
- m_relativePath = asmPrivate.m_relativePath;
-
- foreach (const Configuration::Ptr &refConfig, asmPrivate.m_referenceConfigurations)
- m_referenceConfigurations.append(refConfig->clone());
-}
-
-AssemblyReference_Private &AssemblyReference_Private::operator =(const AssemblyReference_Private &asmPrivate)
-{
- if (this != &asmPrivate) {
- m_relativePath = asmPrivate.m_relativePath;
-
- foreach (const Configuration::Ptr &refConfig, asmPrivate.m_referenceConfigurations)
- m_referenceConfigurations.append(refConfig->clone());
- }
-
- return *this;
-}
-
-void AssemblyReference_Private::processNodeAttributes(const QDomElement &element)
-{
- QDomNamedNodeMap namedNodeMap = element.attributes();
-
- if (namedNodeMap.size() == 1) {
- QDomNode domNode = namedNodeMap.item(0);
-
- if (domNode.nodeType() == QDomNode::AttributeNode) {
- QDomAttr domElement = domNode.toAttr();
-
- if (domElement.name() == QLatin1String("RelativePath"))
- m_relativePath = domElement.value();
- }
- }
-}
-
-void AssemblyReference_Private::processReferenceConfig(const QDomNode &referenceConfig)
-{
- Configuration::Ptr referenceConfiguration = createReferenceConfiguration();
- referenceConfiguration->processNode(referenceConfig);
- m_referenceConfigurations.append(referenceConfiguration);
-
- // process next sibling
- QDomNode nextSibling = referenceConfig.nextSibling();
- if (!nextSibling.isNull())
- processReferenceConfig(nextSibling);
-}
-
-
-AssemblyReference2003_Private::~AssemblyReference2003_Private()
-{
-}
-
-AssemblyReference_Private::Ptr AssemblyReference2003_Private::clone() const
-{
- return AssemblyReference_Private::Ptr(new AssemblyReference2003_Private(*this));
-}
-
-AssemblyReference2003_Private::AssemblyReference2003_Private()
-{
-}
-
-AssemblyReference2003_Private::AssemblyReference2003_Private(const AssemblyReference2003_Private &ref)
- : AssemblyReference_Private(ref)
-{
-}
-
-AssemblyReference2003_Private &AssemblyReference2003_Private::operator =(const AssemblyReference2003_Private &ref)
-{
- AssemblyReference_Private::operator =(ref);
- return *this;
-}
-
-Configuration::Ptr AssemblyReference2003_Private::createReferenceConfiguration() const
-{
- return ConfigurationsFactory::createConfiguration(VcDocConstants::DV_MSVC_2003, QLatin1String("ReferenceConfiguration"));
-}
-
-
-AssemblyReference2005_Private::~AssemblyReference2005_Private()
-{
-}
-
-QDomNode AssemblyReference2005_Private::toXMLDomNode(QDomDocument &domXMLDocument) const
-{
- QDomElement assemblyRefNode = AssemblyReference2003_Private::toXMLDomNode(domXMLDocument).toElement();
-
- assemblyRefNode.setAttribute(QLatin1String("AssemblyName"), m_assemblyName);
- assemblyRefNode.setAttribute(QLatin1String("CopyLocal"), QVariant(m_copyLocal).toString());
- assemblyRefNode.setAttribute(QLatin1String("UseInBuild"), QVariant(m_useInBuild).toString());
-
- return assemblyRefNode;
-}
-
-AssemblyReference_Private::Ptr AssemblyReference2005_Private::clone() const
-{
- return AssemblyReference_Private::Ptr(new AssemblyReference2005_Private(*this));
-}
-
-QString AssemblyReference2005_Private::assemblyName() const
-{
- return m_assemblyName;
-}
-
-void AssemblyReference2005_Private::setAssemblyName(const QString &assemblyName)
-{
- m_assemblyName = assemblyName;
-}
-
-bool AssemblyReference2005_Private::copyLocal() const
-{
- return m_copyLocal;
-}
-
-void AssemblyReference2005_Private::setCopyLocal(bool copyLocal)
-{
- m_copyLocal = copyLocal;
-}
-
-bool AssemblyReference2005_Private::useInBuild() const
-{
- return m_useInBuild;
-}
-
-void AssemblyReference2005_Private::setUseInBuild(bool useInBuild)
-{
- m_useInBuild = useInBuild;
-}
-
-AssemblyReference2005_Private::AssemblyReference2005_Private()
-{
-}
-
-AssemblyReference2005_Private::AssemblyReference2005_Private(const AssemblyReference2005_Private &ref)
- : AssemblyReference2003_Private(ref)
-{
- m_assemblyName = ref.m_assemblyName;
- m_copyLocal = ref.m_copyLocal;
- m_useInBuild = ref.m_useInBuild;
-}
-
-AssemblyReference2005_Private &AssemblyReference2005_Private::operator =(const AssemblyReference2005_Private &ref)
-{
- if (this != &ref) {
- AssemblyReference2003_Private::operator =(ref);
- m_assemblyName = ref.m_assemblyName;
- m_copyLocal = ref.m_copyLocal;
- m_useInBuild = ref.m_useInBuild;
- }
-
- return *this;
-}
-
-void AssemblyReference2005_Private::processNodeAttributes(const QDomElement &element)
-{
- QDomNamedNodeMap namedNodeMap = element.attributes();
-
- for (int i = 0; i < namedNodeMap.size(); ++i) {
- QDomNode domNode = namedNodeMap.item(i);
-
- if (domNode.nodeType() == QDomNode::AttributeNode) {
- QDomAttr domElement = domNode.toAttr();
-
- if (domElement.name() == QLatin1String("RelativePath"))
- m_relativePath = domElement.value();
-
-
- else if (domElement.name() == QLatin1String("AssemblyName"))
- m_assemblyName = domElement.value();
-
- else if (domElement.name() == QLatin1String("CopyLocal")) {
- if (domElement.value() == QLatin1String("false"))
- m_copyLocal = false;
- else
- m_copyLocal = true;
- }
-
- else if (domElement.name() == QLatin1String("UseInBuild")) {
- if (domElement.value() == QLatin1String("false"))
- m_useInBuild = false;
- else
- m_useInBuild = true;
- }
- }
- }
-}
-
-Configuration::Ptr AssemblyReference2005_Private::createReferenceConfiguration() const
-{
- return ConfigurationsFactory::createConfiguration(VcDocConstants::DV_MSVC_2005, QLatin1String("ReferenceConfiguration"));
-}
-
-
-AssemblyReference2008_Private::~AssemblyReference2008_Private()
-{
-}
-
-QDomNode AssemblyReference2008_Private::toXMLDomNode(QDomDocument &domXMLDocument) const
-{
- QDomElement assemblyRefNode = AssemblyReference2005_Private::toXMLDomNode(domXMLDocument).toElement();
-
- assemblyRefNode.setAttribute(QLatin1String("CopyLocalDependencies"), QVariant(m_copyLocalDependencies).toString());
- assemblyRefNode.setAttribute(QLatin1String("CopyLocalSatelliteAssemblies"), QVariant(m_copyLocalSatelliteAssemblies).toString());
- assemblyRefNode.setAttribute(QLatin1String("UseDependenciesInBuild"), QVariant(m_useDependenciesInBuild).toString());
- assemblyRefNode.setAttribute(QLatin1String("SubType"), m_subType);
- assemblyRefNode.setAttribute(QLatin1String("MinFrameworkVersion"), m_minFrameworkVersion);
-
- return assemblyRefNode;
-}
-
-AssemblyReference_Private::Ptr AssemblyReference2008_Private::clone() const
-{
- return AssemblyReference_Private::Ptr(new AssemblyReference2008_Private(*this));
-}
-
-bool AssemblyReference2008_Private::copyLocalDependencies() const
-{
- return m_copyLocalDependencies;
-}
-
-void AssemblyReference2008_Private::setCopyLocalDependencies(bool copyLocalDependencies)
-{
- m_copyLocalDependencies = copyLocalDependencies;
-}
-
-bool AssemblyReference2008_Private::copyLocalSatelliteAssemblies() const
-{
- return m_copyLocalSatelliteAssemblies;
-}
-
-void AssemblyReference2008_Private::setCopyLocalSatelliteAssemblies(bool copyLocalSatelliteAssemblies)
-{
- m_copyLocalSatelliteAssemblies = copyLocalSatelliteAssemblies;
-}
-
-bool AssemblyReference2008_Private::useDependenciesInBuild() const
-{
- return m_useDependenciesInBuild;
-}
-
-void AssemblyReference2008_Private::setUseDependenciesInBuild(bool useDependenciesInBuild)
-{
- m_useDependenciesInBuild = useDependenciesInBuild;
-}
-
-QString AssemblyReference2008_Private::subType() const
-{
- return m_subType;
-}
-
-void AssemblyReference2008_Private::setSubType(const QString &subType)
-{
- m_subType = subType;
-}
-
-QString AssemblyReference2008_Private::minFrameworkVersion() const
-{
- return m_minFrameworkVersion;
-}
-
-void AssemblyReference2008_Private::setMinFrameworkVersion(const QString &minFrameworkVersion)
-{
- m_minFrameworkVersion = minFrameworkVersion;
-}
-
-AssemblyReference2008_Private::AssemblyReference2008_Private()
-{
-}
-
-AssemblyReference2008_Private::AssemblyReference2008_Private(const AssemblyReference2008_Private &ref)
- : AssemblyReference2005_Private(ref)
-{
- m_copyLocalDependencies = ref.m_copyLocalDependencies;
- m_copyLocalSatelliteAssemblies = ref.m_copyLocalSatelliteAssemblies;
- m_useDependenciesInBuild = ref.m_useDependenciesInBuild;
- m_subType = ref.m_subType;
- m_minFrameworkVersion = ref.m_minFrameworkVersion;
-}
-
-AssemblyReference2008_Private &AssemblyReference2008_Private::operator =(const AssemblyReference2008_Private &ref)
-{
- if (this != &ref) {
- AssemblyReference2005_Private::operator =(ref);
- m_copyLocalDependencies = ref.m_copyLocalDependencies;
- m_copyLocalSatelliteAssemblies = ref.m_copyLocalSatelliteAssemblies;
- m_useDependenciesInBuild = ref.m_useDependenciesInBuild;
- m_subType = ref.m_subType;
- m_minFrameworkVersion = ref.m_minFrameworkVersion;
- }
-
- return *this;
-}
-
-void AssemblyReference2008_Private::processNodeAttributes(const QDomElement &element)
-{
- AssemblyReference2005_Private::processNodeAttributes(element);
-
- QDomNamedNodeMap namedNodeMap = element.attributes();
-
- for (int i = 0; i < namedNodeMap.size(); ++i) {
- QDomNode domNode = namedNodeMap.item(i);
-
- if (domNode.nodeType() == QDomNode::AttributeNode) {
- QDomAttr domElement = domNode.toAttr();
-
- if (domElement.name() == QLatin1String("CopyLocalDependencies")) {
- if (domElement.value() == QLatin1String("false"))
- m_copyLocalDependencies = false;
- else
- m_copyLocalDependencies = true;
- }
-
- else if (domElement.name() == QLatin1String("CopyLocalSatelliteAssemblies")) {
- if (domElement.value() == QLatin1String("false"))
- m_copyLocalSatelliteAssemblies = false;
- else
- m_copyLocalSatelliteAssemblies = true;
- }
-
- else if (domElement.name() == QLatin1String("UseDependenciesInBuild")) {
- if (domElement.value() == QLatin1String("false"))
- m_useDependenciesInBuild = false;
- else
- m_useDependenciesInBuild = true;
- }
-
- else if (domElement.name() == QLatin1String("SubType"))
- m_subType = domElement.value();
-
- else if (domElement.name() == QLatin1String("MinFrameworkVersion"))
- m_minFrameworkVersion = domElement.value();
- }
- }
-}
-
-Configuration::Ptr AssemblyReference2008_Private::createReferenceConfiguration() const
-{
- return ConfigurationsFactory::createConfiguration(VcDocConstants::DV_MSVC_2008, QLatin1String("ReferenceConfiguration"));
-}
-
-} // namespace Internal
-} // namespace VcProjectManager
diff --git a/src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference_private.h b/src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference_private.h
deleted file mode 100644
index afeea30400..0000000000
--- a/src/plugins/vcprojectmanager/vcprojectmodel/assemblyreference_private.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/**************************************************************************
-**
-** Copyright (c) 2013 Bojan Petrovic
-** Copyright (c) 2013 Radovan Zivkvoic
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-#ifndef VCPROJECTMANAGER_INTERNAL_ASSEMBLYREFERENCE_PRIVATE_H
-#define VCPROJECTMANAGER_INTERNAL_ASSEMBLYREFERENCE_PRIVATE_H
-
-#include "configuration.h"
-#include "vcprojectdocument_constants.h"
-
-namespace VcProjectManager {
-namespace Internal {
-
-class AssemblyReference_Private
-{
- friend class AssemblyReference;
-
-public:
- typedef QSharedPointer<AssemblyReference_Private> Ptr;
-
- virtual ~AssemblyReference_Private();
- virtual void processNode(const QDomNode &node);
- virtual QDomNode toXMLDomNode(QDomDocument &domXMLDocument) const;
-
- QString relativePath() const;
- void setRelativePath(const QString &relativePath);
- void addReferenceConfiguration(Configuration::Ptr refConfig);
- void removeReferenceConfiguration(Configuration::Ptr refConfig);
- void removeReferenceConfiguration(const QString &refConfName);
- QList<Configuration::Ptr> referenceConfigurations() const;
- Configuration::Ptr referenceConfiguration(const QString &refConfigName) const;
-
-protected:
- AssemblyReference_Private();
- AssemblyReference_Private(const AssemblyReference_Private &asmPrivate);
- AssemblyReference_Private& operator=(const AssemblyReference_Private &asmPrivate);
-
- virtual void processNodeAttributes(const QDomElement &element);
- virtual void processReferenceConfig(const QDomNode &referenceConfig);
-
- /*!
- * Reimplement this to create a new reference configuration.
- * \return A shared pointer to a newly created reference configuration.
- */
- virtual Configuration::Ptr createReferenceConfiguration() const = 0;
-
- /*!
- * Implement in order to support creating a clone of a AssemblyReference_Private instance.
- * \return A shared pointer to a newly created clone.
- */
- virtual AssemblyReference_Private::Ptr clone() const = 0;
-
- QList<Configuration::Ptr> m_referenceConfigurations;
- QString m_relativePath; // required
-};
-
-class AssemblyReference2003_Private : public AssemblyReference_Private
-{
- friend class AssemblyReference2003;
-
-public:
- ~AssemblyReference2003_Private();
- AssemblyReference_Private::Ptr clone() const;
-
-protected:
- AssemblyReference2003_Private();
- AssemblyReference2003_Private(const AssemblyReference2003_Private &ref);
- AssemblyReference2003_Private& operator=(const AssemblyReference2003_Private &ref);
- Configuration::Ptr createReferenceConfiguration() const;
-};
-
-class AssemblyReference2005_Private : public AssemblyReference2003_Private
-{
- friend class AssemblyReference2005;
-
-public:
- ~AssemblyReference2005_Private();
- QDomNode toXMLDomNode(QDomDocument &domXMLDocument) const;
- AssemblyReference_Private::Ptr clone() const;
-
- QString assemblyName() const;
- void setAssemblyName(const QString &assemblyName);
- bool copyLocal() const;
- void setCopyLocal(bool copyLocal);
- bool useInBuild() const;
- void setUseInBuild(bool useInBuild);
-
-protected:
- AssemblyReference2005_Private();
- AssemblyReference2005_Private(const AssemblyReference2005_Private &ref);
- AssemblyReference2005_Private& operator=(const AssemblyReference2005_Private &ref);
- void processNodeAttributes(const QDomElement &element);
- Configuration::Ptr createReferenceConfiguration() const;
-
- QString m_assemblyName; // optional
- bool m_copyLocal; // optional
- bool m_useInBuild; // optional default: true
-};
-
-class AssemblyReference2008_Private : public AssemblyReference2005_Private
-{
- friend class AssemblyReference2008;
-
-public:
- ~AssemblyReference2008_Private();
- QDomNode toXMLDomNode(QDomDocument &domXMLDocument) const;
- AssemblyReference_Private::Ptr clone() const;
-
- bool copyLocalDependencies() const;
- void setCopyLocalDependencies(bool copyLocalDependencies);
- bool copyLocalSatelliteAssemblies() const;
- void setCopyLocalSatelliteAssemblies(bool copyLocalSatelliteAssemblies);
- bool useDependenciesInBuild() const;
- void setUseDependenciesInBuild(bool useDependenciesInBuild);
- QString subType() const;
- void setSubType(const QString &subType);
- QString minFrameworkVersion() const;
- void setMinFrameworkVersion(const QString &minFrameworkVersion);
-
-protected:
- AssemblyReference2008_Private();
- AssemblyReference2008_Private(const AssemblyReference2008_Private &ref);
- AssemblyReference2008_Private& operator=(const AssemblyReference2008_Private &ref);
- void processNodeAttributes(const QDomElement &element);
- Configuration::Ptr createReferenceConfiguration() const;
-
-private:
- bool m_copyLocalDependencies; //optional default: true
- bool m_copyLocalSatelliteAssemblies; //optional default: true
- bool m_useDependenciesInBuild; //optional default: true
- QString m_subType; //optional
- QString m_minFrameworkVersion;
-};
-
-} // namespace Internal
-} // namespace VcProjectManager
-
-#endif // VCPROJECTMANAGER_INTERNAL_ASSEMBLYREFERENCE_PRIVATE_H
diff --git a/src/plugins/vcprojectmanager/vcprojectmodel/vcprojectmodel.pri b/src/plugins/vcprojectmanager/vcprojectmodel/vcprojectmodel.pri
index 68e4b8aaf4..10e1854b41 100644
--- a/src/plugins/vcprojectmanager/vcprojectmodel/vcprojectmodel.pri
+++ b/src/plugins/vcprojectmanager/vcprojectmodel/vcprojectmodel.pri
@@ -23,7 +23,6 @@ HEADERS += \
vcprojectmodel/configurationsfactory.h \
vcprojectmodel/configurations.h \
vcprojectmodel/configuration.h \
- vcprojectmodel/assemblyreference_private.h \
vcprojectmodel/assemblyreference.h \
vcprojectmodel/activexreference.h \
vcprojectmodel/tools/xmldocgeneratortool.h \
@@ -69,7 +68,6 @@ SOURCES += \
vcprojectmodel/configurationsfactory.cpp \
vcprojectmodel/configurations.cpp \
vcprojectmodel/configuration.cpp \
- vcprojectmodel/assemblyreference_private.cpp \
vcprojectmodel/assemblyreference.cpp \
vcprojectmodel/activexreference.cpp \
vcprojectmodel/tools/xmldocgeneratortool.cpp \