From 11084153fa8ead22accc7fb4e466fe718cd5c0db Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Date: Mon, 10 Jan 2011 10:35:41 +0100
Subject: [PATCH] Debugger: Link (export checkconfiguration)

Remove factory class from exported header.
---
 src/plugins/debugger/debugger.pro             |  3 +-
 src/plugins/debugger/debuggerplugin.cpp       |  1 +
 .../debugger/debuggerruncontrolfactory.h      | 70 +++++++++++++++++++
 src/plugins/debugger/debuggerrunner.cpp       |  5 +-
 src/plugins/debugger/debuggerrunner.h         | 32 +--------
 5 files changed, 80 insertions(+), 31 deletions(-)
 create mode 100644 src/plugins/debugger/debuggerruncontrolfactory.h

diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro
index a945b8df2a7..9a7c7f84a34 100644
--- a/src/plugins/debugger/debugger.pro
+++ b/src/plugins/debugger/debugger.pro
@@ -59,7 +59,8 @@ HEADERS += breakhandler.h \
     watchwindow.h \
     threaddata.h \
     threadshandler.h \
-    watchdelegatewidgets.h
+    watchdelegatewidgets.h \
+    debuggerruncontrolfactory.h
 
 SOURCES += breakhandler.cpp \
     breakpoint.cpp \
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index ee52dffb46d..0f1e50e0c87 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -41,6 +41,7 @@
 #include "debuggerengine.h"
 #include "debuggermainwindow.h"
 #include "debuggerrunner.h"
+#include "debuggerruncontrolfactory.h"
 #include "debuggerstringutils.h"
 #include "debuggertooltip.h"
 
diff --git a/src/plugins/debugger/debuggerruncontrolfactory.h b/src/plugins/debugger/debuggerruncontrolfactory.h
new file mode 100644
index 00000000000..c5335707ec6
--- /dev/null
+++ b/src/plugins/debugger/debuggerruncontrolfactory.h
@@ -0,0 +1,70 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** No Commercial Usage
+**
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** 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, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**************************************************************************/
+
+#ifndef DEBUGGERRUNCONTROLFACTORY_H
+#define DEBUGGERRUNCONTROLFACTORY_H
+
+#include <projectexplorer/runconfiguration.h>
+
+namespace Debugger {
+namespace Internal {
+
+class DebuggerRunControlFactory
+    : public ProjectExplorer::IRunControlFactory
+{
+public:
+    explicit DebuggerRunControlFactory(QObject *parent, unsigned enabledEngines);
+
+    // This is used by the "Non-Standard" scenarios, e.g. Attach to Core.
+    // FIXME: What to do in case of a 0 runConfiguration?
+    typedef ProjectExplorer::RunConfiguration RunConfiguration;
+    typedef ProjectExplorer::RunControl RunControl;
+    DebuggerRunControl *create(const DebuggerStartParameters &sp,
+        RunConfiguration *runConfiguration = 0);
+
+    // ProjectExplorer::IRunControlFactory
+    // FIXME: Used by qmljsinspector.cpp:469
+    RunControl *create(RunConfiguration *runConfiguration, const QString &mode);
+    bool canRun(RunConfiguration *runConfiguration, const QString &mode) const;
+
+private:
+    QString displayName() const;
+    QWidget *createConfigurationWidget(RunConfiguration *runConfiguration);
+
+    const unsigned m_enabledEngines;
+};
+
+} // namespace Internal
+} // namespace Debugger
+
+#endif // DEBUGGERRUNCONTROLFACTORY_H
diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp
index d26e6f937f4..a0e76250992 100644
--- a/src/plugins/debugger/debuggerrunner.cpp
+++ b/src/plugins/debugger/debuggerrunner.cpp
@@ -32,6 +32,7 @@
 **************************************************************************/
 
 #include "debuggerrunner.h"
+#include "debuggerruncontrolfactory.h"
 
 #include "debuggeractions.h"
 #include "debuggercore.h"
@@ -382,7 +383,7 @@ void DebuggerRunControl::setCustomEnvironment(Utils::Environment env)
     d->m_engine->startParameters().environment = env;
 }
 
-ConfigurationCheck checkDebugConfiguration(ToolChainType toolChain)
+DEBUGGER_EXPORT ConfigurationCheck checkDebugConfiguration(ToolChainType toolChain)
 {
     ConfigurationCheck result;
 
@@ -411,6 +412,8 @@ ConfigurationCheck checkDebugConfiguration(ToolChainType toolChain)
             result.settingsPage = QLatin1String("Cdb");
         }
         break;
+    default:
+        break;
     }
 
     if (!result && !result.settingsPage.isEmpty())
diff --git a/src/plugins/debugger/debuggerrunner.h b/src/plugins/debugger/debuggerrunner.h
index 678f292ad97..c281a2dca10 100644
--- a/src/plugins/debugger/debuggerrunner.h
+++ b/src/plugins/debugger/debuggerrunner.h
@@ -51,38 +51,12 @@ class DebuggerRunControl;
 class DebuggerStartParameters;
 
 namespace Internal {
-
 class DebuggerRunControlPrivate;
-
-class DebuggerRunControlFactory
-    : public ProjectExplorer::IRunControlFactory
-{
-public:
-    DebuggerRunControlFactory(QObject *parent, unsigned enabledEngines);
-
-    // This is used by the "Non-Standard" scenarios, e.g. Attach to Core.
-    // FIXME: What to do in case of a 0 runConfiguration?
-    typedef ProjectExplorer::RunConfiguration RunConfiguration;
-    typedef ProjectExplorer::RunControl RunControl;
-    DebuggerRunControl *create(const DebuggerStartParameters &sp,
-        RunConfiguration *runConfiguration = 0);
-
-    // ProjectExplorer::IRunControlFactory
-    // FIXME: Used by qmljsinspector.cpp:469
-    RunControl *create(RunConfiguration *runConfiguration, const QString &mode);
-    bool canRun(RunConfiguration *runConfiguration, const QString &mode) const;
-
-private:
-    QString displayName() const;
-    QWidget *createConfigurationWidget(RunConfiguration *runConfiguration);
-
-    unsigned m_enabledEngines;
-};
-
+class DebuggerRunControlFactory;
 } // namespace Internal
 
 
-class ConfigurationCheck
+class DEBUGGER_EXPORT ConfigurationCheck
 {
 public:
     ConfigurationCheck() {}
@@ -94,7 +68,7 @@ public:
     QString settingsPage;
 };
 
-ConfigurationCheck checkDebugConfiguration(ProjectExplorer::ToolChainType toolChain);
+DEBUGGER_EXPORT ConfigurationCheck checkDebugConfiguration(ProjectExplorer::ToolChainType toolChain);
 
 // This is a job description containing all data "local" to the jobs, including
 // the models of the individual debugger views.
-- 
GitLab