MCPcopy Create free account
hub / github.com/KangLin/RabbitRemoteControl / SaveOperate

Method SaveOperate

Src/Manager.cpp:476–528  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

474}
475
476int CManager::SaveOperate(COperate *pOperate)
477{
478 if(!pOperate) return -1;
479
480 QString szFile = pOperate->GetSettingsFile();
481 if(szFile.isEmpty())
482 szFile = RabbitCommon::CDir::Instance()->GetDirUserData()
483 + QDir::separator()
484 + pOperate->Id()
485 + ".rrc";
486
487 QSettings set(szFile, QSettings::IniFormat);
488 CPlugin* pPlugin = nullptr; //pOperate->GetPlugin;
489 bool bRet = QMetaObject::invokeMethod(
490 pOperate,
491 "GetPlugin",
492 Qt::DirectConnection,
493 Q_RETURN_ARG(CPlugin*, pPlugin));
494 if(!bRet || !pPlugin)
495 {
496 qCritical(log) << "Get plugin client fail";
497 }
498 Q_ASSERT(pPlugin);
499
500 set.setValue("Manage/FileVersion", m_FileVersion);
501 set.setValue("Plugin/ID", pPlugin->Id());
502 set.setValue("Plugin/Protocol", pPlugin->Protocol());
503 set.setValue("Plugin/Name", pPlugin->Name());
504 int nRet = 0;
505 //nRet = pOperate->Save(szFile);
506 bRet = QMetaObject::invokeMethod(
507 pOperate,
508 "Save",
509 Qt::DirectConnection,
510 Q_RETURN_ARG(int, nRet),
511 Q_ARG(QString, szFile));
512 if(!bRet) {
513 qCritical(log) << "Call pOperate->Save(szFile) fail.";
514 return -1;
515 }
516 if(nRet) {
517 qCritical(log) << "Save parameter fail" << nRet;
518 return -2;
519 }
520
521 if(m_pParameterPlugin->GetGlobalParameters()->GetSaveSettingsType()
522 == CParameterGlobal::SaveSettingsType::Database && m_pDatabaseFile) {
523 qDebug(log) << "Save file to database";
524 return m_pDatabaseFile->Save(szFile) ? 0 : -1;
525 }
526
527 return 0;
528}
529
530int CManager::LoadSettings(const QString szFile)
531{

Callers 3

slotUpdateParametersMethod · 0.80
StartMethod · 0.80
foreachFunction · 0.80

Calls 8

GetSettingsFileMethod · 0.80
GetSaveSettingsTypeMethod · 0.80
isEmptyMethod · 0.45
IdMethod · 0.45
ProtocolMethod · 0.45
NameMethod · 0.45
GetGlobalParametersMethod · 0.45
SaveMethod · 0.45

Tested by

no test coverage detected