mirror of
https://github.com/nextcloud/desktop.git
synced 2025-10-26 11:17:43 +00:00
Do not initialise file provider components if system does not support file provider
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
parent
19dfbd0539
commit
6e5c2ee04c
@ -16,6 +16,7 @@
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#include "fileproviderdomainmanager.h"
|
||||
#include "fileprovidersocketserver.h"
|
||||
|
||||
namespace OCC {
|
||||
@ -37,7 +38,8 @@ public:
|
||||
|
||||
private:
|
||||
explicit FileProvider(QObject * const parent = nullptr);
|
||||
FileProviderSocketServer _socketServer;
|
||||
std::unique_ptr<FileProviderDomainManager> _domainManager;
|
||||
std::unique_ptr<FileProviderSocketServer> _socketServer;
|
||||
};
|
||||
|
||||
} // namespace Mac
|
||||
|
||||
@ -17,7 +17,6 @@
|
||||
#include <QLoggingCategory>
|
||||
|
||||
#include "fileprovider.h"
|
||||
#include "fileproviderdomainmanager.h"
|
||||
|
||||
namespace OCC {
|
||||
|
||||
@ -30,14 +29,32 @@ static FileProvider *_instance = nullptr;
|
||||
FileProvider::FileProvider(QObject * const parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
const auto domainManager = FileProviderDomainManager::instance();
|
||||
if (domainManager) {
|
||||
if (!fileProviderAvailable()) {
|
||||
qCDebug(lcMacFileProvider) << "File provider system is not available on this version of macOS.";
|
||||
return;
|
||||
}
|
||||
|
||||
qCDebug(lcMacFileProvider) << "Initialising file provider domain manager.";
|
||||
_domainManager = std::make_unique<FileProviderDomainManager>(new FileProviderDomainManager(this));
|
||||
|
||||
if (_domainManager) {
|
||||
qCDebug(lcMacFileProvider()) << "Initialized file provider domain manager";
|
||||
}
|
||||
|
||||
qCDebug(lcMacFileProvider) << "Initialising file provider socket server.";
|
||||
_socketServer = std::make_unique<FileProviderSocketServer>(new FileProviderSocketServer(this));
|
||||
|
||||
if (_socketServer) {
|
||||
qCDebug(lcMacFileProvider) << "Initialised file provider socket server.";
|
||||
}
|
||||
}
|
||||
|
||||
FileProvider *FileProvider::instance()
|
||||
{
|
||||
if (!fileProviderAvailable()) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (!_instance) {
|
||||
_instance = new FileProvider();
|
||||
}
|
||||
|
||||
@ -29,7 +29,7 @@ class FileProviderDomainManager : public QObject
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
static FileProviderDomainManager *instance();
|
||||
explicit FileProviderDomainManager(QObject * const parent = nullptr);
|
||||
~FileProviderDomainManager() override;
|
||||
|
||||
private slots:
|
||||
@ -51,8 +51,6 @@ private:
|
||||
// Starts regular enumerator signalling if no push notifications available
|
||||
QTimer _enumeratorSignallingTimer;
|
||||
|
||||
explicit FileProviderDomainManager(QObject * const parent = nullptr);
|
||||
static FileProviderDomainManager *_instance;
|
||||
class Private;
|
||||
std::unique_ptr<Private> d;
|
||||
};
|
||||
|
||||
@ -81,8 +81,6 @@ Q_LOGGING_CATEGORY(lcMacFileProviderDomainManager, "nextcloud.gui.macfileprovide
|
||||
|
||||
namespace Mac {
|
||||
|
||||
FileProviderDomainManager *FileProviderDomainManager::_instance = nullptr;
|
||||
|
||||
class FileProviderDomainManager::Private {
|
||||
|
||||
public:
|
||||
@ -460,14 +458,6 @@ FileProviderDomainManager::FileProviderDomainManager(QObject * const parent)
|
||||
});
|
||||
}
|
||||
|
||||
FileProviderDomainManager *FileProviderDomainManager::instance()
|
||||
{
|
||||
if (!_instance) {
|
||||
_instance = new FileProviderDomainManager();
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
|
||||
FileProviderDomainManager::~FileProviderDomainManager() = default;
|
||||
|
||||
void FileProviderDomainManager::setupFileProviderDomains()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user