file provider experiment
This commit is contained in:
parent
b62f2acca7
commit
360553deeb
@ -14,12 +14,15 @@ let logger = Logger()
|
||||
let machMessenger = MachMessenger(APP_MACH_PORT, callback: receivedMachMessage)
|
||||
|
||||
func receivedMachMessage(msgId: Int32, msg: String) -> String? {
|
||||
// logger.debug("MachMessenger: receivedMachMessage \"\(msg)\" from NSE, replying")
|
||||
logger.debug("MachMessenger: receivedMachMessage from FPS")
|
||||
// return "reply from App to: \(msg)"
|
||||
|
||||
if let data = msg.data(using: .utf8) {
|
||||
logger.debug("receivedMachMessage has data")
|
||||
let endpoint = try! NSKeyedUnarchiver.unarchivedObject(ofClass: NSXPCListenerEndpoint.self, from: data)!
|
||||
logger.debug("receivedMachMessage has endpoint")
|
||||
let connection = NSXPCConnection(listenerEndpoint: endpoint)
|
||||
logger.debug("receivedMachMessage has connection")
|
||||
connection.remoteObjectInterface = NSXPCInterface(with: SimpleXFPServiceProtocol.self)
|
||||
|
||||
// Start the connection.
|
||||
@ -36,9 +39,9 @@ func receivedMachMessage(msgId: Int32, msg: String) -> String? {
|
||||
fatalError("*** Unable to cast \(rawProxy) to a DesiredProtocol instance ***")
|
||||
}
|
||||
|
||||
logger.debug("testFPService calling service")
|
||||
logger.debug("receivedMachMessage calling service")
|
||||
proxy.upperCaseString("hello to service", withReply: { reply in
|
||||
logger.debug("testFPService reply from service \(reply)")
|
||||
logger.debug("receivedMachMessage reply from service \(reply)")
|
||||
})
|
||||
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ import OSLog
|
||||
import SimpleXChat
|
||||
|
||||
let logger = Logger()
|
||||
let serviceListener = NSXPCListener.service()
|
||||
let serviceListener = NSXPCListener.anonymous()
|
||||
let listenerDelegate = SimpleXFPServiceDelegate()
|
||||
var machMessenger = MachMessenger(FPS_MACH_PORT, callback: receivedAppMachMessage)
|
||||
|
||||
@ -28,13 +28,19 @@ class FileProviderExtension: NSFileProviderExtension {
|
||||
super.init()
|
||||
machMessenger.start()
|
||||
serviceListener.delegate = listenerDelegate
|
||||
Task { serviceListener.resume() }
|
||||
|
||||
do {
|
||||
let endPointData = try NSKeyedArchiver.archivedData(withRootObject: serviceListener.endpoint, requiringSecureCoding: true)
|
||||
let err = machMessenger.sendMessage(APP_MACH_PORT, data: endPointData)
|
||||
logger.debug("FileProviderExtension.MachMessenger.sendMessage with endpoint res \(String(describing: err), privacy: .public)")
|
||||
// let res = machMessenger.sendMessageWithReply(APP_MACH_PORT, msg: "machMessenger in FileProviderExtension")
|
||||
// logger.debug("FileProviderExtension MachMessenger app reply \(String(describing: res), privacy: .public)")
|
||||
// logger.debug("FileProviderExtension.endPointData...")
|
||||
// let data = NSMutableData()
|
||||
// let coder = NSXPCCoder()
|
||||
// coder.encodeRootObject(serviceListener.endpoint) // serviceListener.endpoint.encode(with: <#T##NSCoder#>)
|
||||
// let endPointData = try NSKeyedArchiver.archivedData(withRootObject: serviceListener.endpoint, requiringSecureCoding: true)
|
||||
// logger.debug("FileProviderExtension.endPointData ok")
|
||||
// let err = machMessenger.sendMessage(APP_MACH_PORT, data: endPointData)
|
||||
// logger.debug("FileProviderExtension.MachMessenger.sendMessage with endpoint res \(String(describing: err), privacy: .public)")
|
||||
// let res = machMessenger.sendMessageWithReply(APP_MACH_PORT, msg: "machMessenger in FileProviderExtension")
|
||||
// logger.debug("FileProviderExtension MachMessenger app reply \(String(describing: res), privacy: .public)")
|
||||
} catch let err {
|
||||
logger.debug("FileProviderExtension.MachMessenger.sendMessage error \(String(describing: err), privacy: .public)")
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user