explicit FileProviderDomainManager(QObject * const parent = nullptr);
~FileProviderDomainManager() override;
+ static AccountStatePtr accountStateFromFileProviderDomainIdentifier(const QString &domainIdentifier);
+
private slots:
void setupFileProviderDomains();
}
}
+AccountStatePtr FileProviderDomainManager::accountStateFromFileProviderDomainIdentifier(const QString &domainIdentifier)
+{
+ if (domainIdentifier.isEmpty()) {
+ qCWarning(lcMacFileProviderDomainManager) << "Cannot return accountstateptr for empty domain identifier";
+ return AccountStatePtr();
+ }
+
+ const auto accountUserId = accountIdFromDomainId(domainIdentifier);
+ const auto accountForReceivedDomainIdentifier = AccountManager::instance()->accountFromUserId(accountUserId);
+ if (!accountForReceivedDomainIdentifier) {
+ qCWarning(lcMacFileProviderDomainManager) << "Could not find account matching user id matching file provider domain identifier:"
+ << domainIdentifier;
+ }
+
+ return accountForReceivedDomainIdentifier;
+}
+
} // namespace Mac
} // namespace OCC
#include <QLoggingCategory>
#include "accountmanager.h"
+#include "fileproviderdomainmanager.h"
namespace OCC {
const auto argument = receivedLine.mid(argPos + 1);
if (command == QStringLiteral("FILE_PROVIDER_DOMAIN_IDENTIFIER_REQUEST_REPLY")) {
- _accountState = accountStateFromFileProviderDomainIdentifier(argument);
+ _accountState = FileProviderDomainManager::accountStateFromFileProviderDomainIdentifier(argument);
sendAccountDetails();
return;
}
qCWarning(lcFileProviderSocketController) << "Unknown command or reply:" << receivedLine;
}
-AccountStatePtr FileProviderSocketController::accountStateFromFileProviderDomainIdentifier(const QString &domainIdentifier)
-{
- Q_ASSERT(!domainIdentifier.isEmpty());
-
- // We use Account's userIdAtHostWithPort() as the file provider domain's identifier in FileProviderDomainManager.
- // We can use this string to get a matching account here.
- const auto accountForReceivedDomainIdentifier = AccountManager::instance()->accountFromUserId(domainIdentifier);
- if (!accountForReceivedDomainIdentifier) {
- qCWarning(lcFileProviderSocketController) << "Could not find account matching user id matching file provider domain identifier:"
- << domainIdentifier;
- }
-
- return accountForReceivedDomainIdentifier;
-}
-
void FileProviderSocketController::sendMessage(const QString &message) const
{
if (!_socket) {
void sendNotAuthenticated() const;
private:
- static AccountStatePtr accountStateFromFileProviderDomainIdentifier(const QString &domainIdentifier);
-
QPointer<QLocalSocket> _socket;
AccountStatePtr _accountState;
};