diff --git a/src/blackcore/context_application.h b/src/blackcore/context_application.h index 4370ffb7e..05081f773 100644 --- a/src/blackcore/context_application.h +++ b/src/blackcore/context_application.h @@ -117,6 +117,10 @@ namespace BlackCore //! Remote enable version of reading a text file virtual QString readFromFile(const QString &fileName) = 0; + + //! Remote enable version of deleting a file + virtual bool removeFile(const QString &fileName) = 0; + }; } diff --git a/src/blackcore/context_application_impl.cpp b/src/blackcore/context_application_impl.cpp index 85c053c1c..bb5ac0ccf 100644 --- a/src/blackcore/context_application_impl.cpp +++ b/src/blackcore/context_application_impl.cpp @@ -59,6 +59,7 @@ namespace BlackCore bool CContextApplication::writeToFile(const QString &fileName, const QString &content) { if (this->getRuntime()->isSlotLogForApplicationEnabled()) this->getRuntime()->logSlot(Q_FUNC_INFO, fileName, content.left(25)); + if (fileName.isEmpty()) return false; QFile file(fileName); bool success = false; if ((success = file.open(QIODevice::WriteOnly | QIODevice::Text))) @@ -78,6 +79,7 @@ namespace BlackCore if (this->getRuntime()->isSlotLogForApplicationEnabled()) this->getRuntime()->logSlot(Q_FUNC_INFO, fileName); QFile file(fileName); QString content; + if (fileName.isEmpty()) return content; bool success = false; if ((success = file.open(QIODevice::ReadOnly | QIODevice::Text))) { @@ -88,4 +90,10 @@ namespace BlackCore return content; } + bool CContextApplication::removeFile(const QString &fileName) + { + if (fileName.isEmpty()) return false; + return QFile::remove(fileName); + } + } // namespace diff --git a/src/blackcore/context_application_impl.h b/src/blackcore/context_application_impl.h index 0da22c335..d94e9e743 100644 --- a/src/blackcore/context_application_impl.h +++ b/src/blackcore/context_application_impl.h @@ -42,6 +42,9 @@ namespace BlackCore //! \copydoc IContextApplication::readFromFile virtual QString readFromFile(const QString &fileName) override; + //! \copydoc IContextApplication::removeFile + virtual bool removeFile(const QString &fileName) override; + protected: //! Constructor CContextApplication(CRuntimeConfig::ContextMode mode, CRuntime *runtime); diff --git a/src/blackcore/context_application_proxy.cpp b/src/blackcore/context_application_proxy.cpp index 27e063a6c..1ff07a83d 100644 --- a/src/blackcore/context_application_proxy.cpp +++ b/src/blackcore/context_application_proxy.cpp @@ -75,6 +75,7 @@ namespace BlackCore */ bool CContextApplicationProxy::writeToFile(const QString &fileName, const QString &content) { + if (fileName.isEmpty()) return false; return this->m_dBusInterface->callDBusRet(QLatin1Literal("writeToFile"), fileName, content); } @@ -83,6 +84,16 @@ namespace BlackCore */ QString CContextApplicationProxy::readFromFile(const QString &fileName) { + if (fileName.isEmpty()) return ""; return this->m_dBusInterface->callDBusRet(QLatin1Literal("readFromFile"), fileName); } + + /* + * Delete file + */ + bool CContextApplicationProxy::removeFile(const QString &fileName) + { + if (fileName.isEmpty()) return false; + return this->m_dBusInterface->callDBusRet(QLatin1Literal("deleteFile"), fileName); + } } // namespace diff --git a/src/blackcore/context_application_proxy.h b/src/blackcore/context_application_proxy.h index f45db4628..3a138982f 100644 --- a/src/blackcore/context_application_proxy.h +++ b/src/blackcore/context_application_proxy.h @@ -43,6 +43,9 @@ namespace BlackCore //! \copydoc IContextApplication::readFromFile virtual QString readFromFile(const QString &fileName) override; + //! \copydoc IContextApplication::removeFile + virtual bool removeFile(const QString &fileName) override; + protected: //! Constructor CContextApplicationProxy(CRuntimeConfig::ContextMode mode, CRuntime *runtime) : CContextApplicationBase(mode, runtime), m_dBusInterface(nullptr) {}