mirror of
https://github.com/nextcloud/desktop.git
synced 2024-11-29 12:19:03 +03:00
42 lines
1.2 KiB
Swift
42 lines
1.2 KiB
Swift
|
//
|
||
|
// FPUIExtensionCommunicationService.swift
|
||
|
// FileProviderExt
|
||
|
//
|
||
|
// Created by Claudio Cambra on 21/2/24.
|
||
|
//
|
||
|
|
||
|
import FileProvider
|
||
|
import Foundation
|
||
|
import OSLog
|
||
|
|
||
|
class FPUIExtensionServiceSource: NSObject, NSFileProviderServiceSource, NSXPCListenerDelegate, FPUIExtensionService {
|
||
|
let listener = NSXPCListener.anonymous()
|
||
|
let serviceName = fpUiExtensionServiceName
|
||
|
let fpExtension: FileProviderExtension
|
||
|
|
||
|
init(fpExtension: FileProviderExtension) {
|
||
|
Logger.fpUiExtensionService.debug("Instantiating FPUIExtensionService service")
|
||
|
self.fpExtension = fpExtension
|
||
|
super.init()
|
||
|
}
|
||
|
|
||
|
func makeListenerEndpoint() throws -> NSXPCListenerEndpoint {
|
||
|
listener.delegate = self
|
||
|
listener.resume()
|
||
|
return listener.endpoint
|
||
|
}
|
||
|
|
||
|
func listener(
|
||
|
_ listener: NSXPCListener,
|
||
|
shouldAcceptNewConnection newConnection: NSXPCConnection
|
||
|
) -> Bool {
|
||
|
newConnection.exportedInterface = NSXPCInterface(with: ClientCommunicationProtocol.self)
|
||
|
newConnection.exportedObject = self
|
||
|
newConnection.resume()
|
||
|
return true
|
||
|
}
|
||
|
|
||
|
//MARK: - FPUIExtensionService protocol methods
|
||
|
|
||
|
}
|