mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-02 15:15:50 +08:00
Ref T210, moved "guess" into CApplicationInfo
* core unit test, set correct type * guess application type now in CApplicationInfo
This commit is contained in:
@@ -102,7 +102,8 @@ namespace BlackCore
|
||||
|
||||
CApplication::CApplication(const QString &applicationName, CApplicationInfo::Application application, bool init) :
|
||||
m_accessManager(new QNetworkAccessManager(this)),
|
||||
m_application(application), m_cookieManager( {}, this), m_applicationName(applicationName), m_coreFacadeConfig(CCoreFacadeConfig::allEmpty())
|
||||
m_applicationInfo(application, QCoreApplication::applicationDirPath(), CBuildConfig::getVersionString(), CProcessInfo::currentProcess()),
|
||||
m_cookieManager( {}, this), m_applicationName(applicationName), m_coreFacadeConfig(CCoreFacadeConfig::allEmpty())
|
||||
{
|
||||
Q_ASSERT_X(!sApp, Q_FUNC_INFO, "already initialized");
|
||||
Q_ASSERT_X(QCoreApplication::instance(), Q_FUNC_INFO, "no application object");
|
||||
@@ -266,21 +267,7 @@ namespace BlackCore
|
||||
m_singleApplication = singleApplication;
|
||||
}
|
||||
|
||||
CApplicationInfo::Application CApplication::getSwiftApplication() const
|
||||
{
|
||||
if (m_application != CApplicationInfo::Unknown) { return m_application; }
|
||||
|
||||
// if not set, guess
|
||||
BLACK_VERIFY_X(false, Q_FUNC_INFO, "Missing application");
|
||||
const QString a(QCoreApplication::instance()->applicationName().toLower());
|
||||
if (a.contains("core")) { return CApplicationInfo::PilotClientCore; }
|
||||
if (a.contains("launcher")) { return CApplicationInfo::Laucher; }
|
||||
if (a.contains("gui")) { return CApplicationInfo::PilotClientGui; }
|
||||
if (a.contains("test")) { return CApplicationInfo::UnitTest; }
|
||||
if (a.contains("sample")) { return CApplicationInfo::Sample; }
|
||||
if (a.contains("data") || a.contains("mapping")) { return CApplicationInfo::MappingTool; }
|
||||
return CApplicationInfo::Unknown;
|
||||
}
|
||||
|
||||
QString CApplication::getExecutableForApplication(CApplicationInfo::Application application) const
|
||||
{
|
||||
|
||||
@@ -136,7 +136,7 @@ namespace BlackCore
|
||||
void setSingleApplication(bool singleApplication);
|
||||
|
||||
//! swift application running
|
||||
BlackMisc::CApplicationInfo::Application getSwiftApplication() const;
|
||||
BlackMisc::CApplicationInfo::Application getSwiftApplication() const { return m_applicationInfo.application(); }
|
||||
|
||||
//! Executable names for the given applications
|
||||
QString getExecutableForApplication(BlackMisc::CApplicationInfo::Application application) const;
|
||||
@@ -590,7 +590,7 @@ namespace BlackCore
|
||||
std::function<QNetworkReply *(QNetworkAccessManager &, const QNetworkRequest &)> requestOrPostMethod);
|
||||
|
||||
QNetworkAccessManager *m_accessManager = nullptr; //!< single network access manager
|
||||
BlackMisc::CApplicationInfo::Application m_application = BlackMisc::CApplicationInfo::Unknown; //!< Application if specified
|
||||
BlackMisc::CApplicationInfo m_applicationInfo; //!< Application if specified
|
||||
QScopedPointer<CCoreFacade> m_coreFacade; //!< core facade if any
|
||||
QScopedPointer<CSetupReader> m_setupReader; //!< setup reader
|
||||
QScopedPointer<CWebDataServices> m_webDataServices; //!< web data services
|
||||
|
||||
@@ -17,10 +17,15 @@ namespace BlackMisc
|
||||
|
||||
CApplicationInfo::CApplicationInfo(Application app, const QString &exePath, const QString &version, const CProcessInfo &process) :
|
||||
m_app(app),
|
||||
m_exePath(exePath),
|
||||
m_exePath(exePath.isEmpty() ? QCoreApplication::applicationDirPath() : exePath),
|
||||
m_version(version),
|
||||
m_process(process)
|
||||
{}
|
||||
{
|
||||
if (app == CApplicationInfo::Unknown)
|
||||
{
|
||||
m_app = guessApplication();
|
||||
}
|
||||
}
|
||||
|
||||
bool CApplicationInfo::isSampleOrUnitTest() const
|
||||
{
|
||||
@@ -62,4 +67,16 @@ namespace BlackMisc
|
||||
static const QString s("swift core");
|
||||
return s;
|
||||
}
|
||||
|
||||
CApplicationInfo::Application CApplicationInfo::guessApplication()
|
||||
{
|
||||
const QString a(QCoreApplication::instance()->applicationName().toLower());
|
||||
if (a.contains("test")) { return CApplicationInfo::UnitTest; } // names like testcore
|
||||
if (a.contains("sample")) { return CApplicationInfo::Sample; }
|
||||
if (a.contains("core")) { return CApplicationInfo::PilotClientCore; }
|
||||
if (a.contains("launcher")) { return CApplicationInfo::Laucher; }
|
||||
if (a.contains("gui")) { return CApplicationInfo::PilotClientGui; }
|
||||
if (a.contains("data") || a.contains("mapping")) { return CApplicationInfo::MappingTool; }
|
||||
return CApplicationInfo::Unknown;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,6 +93,8 @@ namespace BlackMisc
|
||||
QString m_version;
|
||||
CProcessInfo m_process;
|
||||
|
||||
static Application guessApplication();
|
||||
|
||||
BLACK_METACLASS(
|
||||
CApplicationInfo,
|
||||
BLACK_METAMEMBER(app),
|
||||
|
||||
Reference in New Issue
Block a user