<< error.localizedDescription;
}
+ if (domains.count == 0) {
+ qCDebug(lcMacFileProviderDomainManager) << "Found no existing file provider domains";
+ return;
+ }
+
for (NSFileProviderDomain * const domain in domains) {
const auto accountId = QString::fromNSString(domain.identifier);
qCDebug(lcMacFileProviderDomainManager) << "Found existing file provider domain for account:"
<< accountState->account()->displayName();
+ [domain retain];
_registeredDomains.insert(accountId, domain);
} else {
NSFileProviderDomain * const fileProviderDomain = [[NSFileProviderDomain alloc] initWithIdentifier:accountId.toNSString()
displayName:accountDisplayName.toNSString()];
+ [fileProviderDomain retain];
+
[NSFileProviderManager addDomain:fileProviderDomain completionHandler:^(NSError * const error) {
if(error) {
qCDebug(lcMacFileProviderDomainManager) << "Error adding file provider domain: "
qCDebug(lcMacFileProviderDomainManager) << "Error removing all file provider domains: "
<< error.code
<< error.localizedDescription;
+ return;
}
+
+ for (NSFileProviderDomain * const domain : _registeredDomains.values()) {
+ [domain release];
+ }
+ _registeredDomains.clear();
}];
}
<< error.localizedDescription;
return;
}
+
+ NSFileProviderDomain * const registeredDomainPtr = _registeredDomains.take(QString::fromNSString(domain.identifier));
+ if (registeredDomainPtr != nil) {
+ [domain release];
+ }
}];
}
}];
}
NSFileProviderDomain * const fileProviderDomain = _registeredDomains[accountId];
+ Q_ASSERT(fileProviderDomain != nil);
+
NSFileProviderManager * const fpManager = [NSFileProviderManager managerForDomain:fileProviderDomain];
[fpManager signalEnumeratorForContainerItemIdentifier:NSFileProviderWorkingSetContainerItemIdentifier completionHandler:^(NSError * const error) {
if (error != nil) {