swift
swiftdataapplication.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2016 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
4 #include "swiftdataapplication.h"
5 
6 #include <QtGlobal>
7 
8 #include "core/application.h"
10 #include "core/coremodeenums.h"
11 #include "misc/dbusserver.h"
12 #include "misc/icons.h"
13 
14 using namespace swift::misc;
15 using namespace swift::core;
16 
18  : CGuiApplication(CApplicationInfo::swiftMappingTool(), CApplicationInfo::MappingTool, CIcons::swiftDatabase48())
19 {
20  // this->addParserOption(m_cmdFacadeMode);
21  // this->addDBusAddressOption();
22  // this->addNetworkOptions();
23  // this->addAudioOptions();
24 }
25 
27 {
28  Q_ASSERT_X(m_parsed, Q_FUNC_INFO, "Not yet parsed cmd line arguments");
29 
30  QString dBusAddress(this->getCmdDBusAddressValue());
31  const QString coreModeStr =
32  this->isParserOptionSet(m_cmdFacadeMode) ? this->getParserValue(m_cmdFacadeMode) : QString();
33  CoreModes::CoreMode coreMode = CoreModes::stringToCoreMode(coreModeStr);
34 
35  CStatusMessageList msgs;
36 
37  CCoreFacadeConfig runtimeConfig = coreModeToCoreFacadeConfig(coreMode, dBusAddress);
38  const CStatusMessageList contextMsgs = this->initContextsAndStartCoreFacade(runtimeConfig);
39  msgs.push_back(contextMsgs);
40  return contextMsgs;
41 }
42 
43 bool CSwiftDataApplication::parsingHookIn() { return CGuiApplication::parsingHookIn(); }
44 
46 {
47  return qobject_cast<CSwiftDataApplication *>(CApplication::instance());
48 }
49 
50 CCoreFacadeConfig CSwiftDataApplication::coreModeToCoreFacadeConfig(CoreModes::CoreMode coreMode,
51  const QString &dBusAddress)
52 {
53  switch (coreMode)
54  {
55  case CoreModes::Distributed: return CCoreFacadeConfig(CCoreFacadeConfig::Remote, dBusAddress);
56  case CoreModes::Standalone: return CCoreFacadeConfig(CCoreFacadeConfig::Local, dBusAddress); break;
57  default:
58  Q_ASSERT_X(false, Q_FUNC_INFO, "Not handled core mode");
59  return CCoreFacadeConfig(CCoreFacadeConfig::NotUsed, dBusAddress);
60  }
61 }
Specialized GUI application for swift pilot client.
CSwiftDataApplication * instance()
Single instance.
virtual bool parsingHookIn()
Parsing of special CMD args.
virtual swift::misc::CStatusMessageList startHookIn()
Start facade by cmd arguments.
QString getParserValue(const QString &option) const
Delegates to QCommandLineParser::value.
bool m_parsed
Parsing accomplished?
Definition: application.h:576
bool isParserOptionSet(const QString &option) const
Delegates to QCommandLineParser::isSet.
QString getCmdDBusAddressValue() const
DBus address from CMD line, otherwise "".
swift::misc::CStatusMessageList initContextsAndStartCoreFacade(const CCoreFacadeConfig &coreConfig)
Init the contexts part and start core facade.
Configuration object for the contexts.
Description of a swift application.
Standard icons.
Definition: icons.h:25
void push_back(const T &value)
Appends an element at the end of the sequence.
Definition: sequence.h:305
Status messages, e.g. from Core -> GUI.
Backend services of the swift project, like dealing with the network or the simulators.
Definition: actionbind.cpp:7
Free functions in swift::misc.
CoreMode
Core runs how and where?
Definition: coremodeenums.h:18