Skip to content
Snippets Groups Projects
Select Git revision
  • c381331529de5fd3b3ca357d3482223be78fcac5
  • main default protected
  • development
  • integration
  • v1.1.5
  • v1.1.4
  • v1.1.3
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.0.0
11 results

MessengerGetNotificationReport.swift

Blame
  • Callbacks.swift 7.46 KiB
    import Bindings
    
    final class TextListener: NSObject, BindingsListenerProtocol {
        let callback: (BindingsMessage?) -> ()
    
        init(_ callback: @escaping (BindingsMessage?) -> Void) {
            self.callback = callback
            super.init()
        }
    
        func hear(_ message: BindingsMessage?) {
            callback(message)
        }
    
        func name() -> String { "TEXT_LISTENER" }
    }
    
    final class ConfirmationCallback: NSObject, BindingsAuthConfirmCallbackProtocol {
        let callback: (_ partner: BindingsContact) -> ()
    
        init(_ callback: @escaping (_ partner: BindingsContact) -> ()) {
            self.callback = callback
            super.init()
        }
    
        func callback(_ partner: BindingsContact?) {
            guard let partner = partner else { return }
            callback(partner)
        }
    }
    
    final class RequestCallback: NSObject, BindingsAuthRequestCallbackProtocol {
        let callback: (_ requestor: BindingsContact) -> ()
    
        init(_ callback: @escaping (_ requestor: BindingsContact) -> ()) {
            self.callback = callback
            super.init()
        }
    
        func callback(_ requestor: BindingsContact?) {
            guard let requestor = requestor else { return }
            callback(requestor)
        }
    }
    
    final class HealthCallback: NSObject, BindingsNetworkHealthCallbackProtocol {
        let callback: (Bool) -> Void
    
        init(_ callback: @escaping (Bool) -> Void) {
            self.callback = callback
            super.init()
        }
    
        func callback(_ p0: Bool) {
            callback(p0)
        }
    }
    
    final class LogCallback: NSObject, BindingsLogWriterProtocol {
        let callback: (String?) -> Void
    
        init(_ callback: @escaping (String?) -> Void) {
            self.callback = callback
            super.init()
        }
    
        func log(_ p0: String?) {
            callback(p0)
        }
    }
    
    final class DeliveryCallback: NSObject, BindingsMessageDeliveryCallbackProtocol {
        let callback: (DeliveryResult) -> Void
    
        init(_ callback: @escaping (DeliveryResult) -> Void) {
            self.callback = callback
            super.init()
        }
    
        func eventCallback(_ msgID: Data?, delivered: Bool, timedOut: Bool, roundResults: Data?) {
    
            let content =
            """
            "Delivery Callback:
            - Timed out: \(timedOut)
            - Delivered: \(delivered)
            - Message ID in base64: \(String(describing: msgID?.base64EncodedString()))
            - Round results in base64: \(String(describing: roundResults?.base64EncodedString()))"
            """
    
            log(string: content, type: .info)
            callback((msgID, delivered, timedOut, roundResults))
        }
    }
    
    final class RoundCallback: NSObject, BindingsRoundCompletionCallbackProtocol {
        let callback: (Bool) -> Void
    
        init(_ callback: @escaping (Bool) -> Void) {
            self.callback = callback
            super.init()
        }
    
        func eventCallback(_ rid: Int, success: Bool, timedOut: Bool) {
            log(string: "Add/Confirm RoundCallback:\nid: \(rid)\nSuccessfull: \(success)\nTimed out: \(timedOut)", type: .info)
            callback(success && !timedOut)
        }
    }
    
    final class SearchCallback: NSObject, BindingsSingleSearchCallbackProtocol {
        let callback: (Result<BindingsContact, Error>) -> Void
    
        init(_ callback: @escaping (Result<BindingsContact, Error>) -> Void) {
            self.callback = callback
            super.init()
        }
    
        func callback(_ contact: BindingsContact?, error: String?) {
            if let error = error, error.count > 0 {
                callback(.failure(NSError.create(error).friendly()))
                return
            }
    
            if let contact = contact {
                callback(.success(contact))
            }
        }
    }
    
    final class EventCallback: NSObject, BindingsEventCallbackFunctionObjectProtocol {
        let callback: (BackendEvent) -> Void
    
        init(_ callback: @escaping (BackendEvent) -> Void) {
            self.callback = callback
            super.init()
        }
    
        func reportEvent(_ priority: Int, category: String?, evtType: String?, details: String?) {
            callback((priority, category, evtType, details))
        }
    }
    
    final class GroupRequestCallback: NSObject, BindingsGroupRequestFuncProtocol {
        let callback: (BindingsGroup) -> Void
    
        init(_ callback: @escaping (BindingsGroup) -> Void) {
            self.callback = callback
            super.init()
        }
    
        func groupRequestCallback(_ g: BindingsGroup?) {
            guard let group = g else { return }
            callback(group)
        }
    }
    
    final class GroupMessageCallback: NSObject, BindingsGroupReceiveFuncProtocol {
        let callback: (BindingsGroupMessageReceive) -> Void
    
        init(_ callback: @escaping (BindingsGroupMessageReceive) -> Void) {
            self.callback = callback
            super.init()
        }
    
        func groupReceiveCallback(_ msg: BindingsGroupMessageReceive?) {
            guard let message = msg else { return }
            callback(message)
        }
    }
    
    final class MultiLookupCallback: NSObject, BindingsMultiLookupCallbackProtocol {
        let thisCallback: (BindingsContactList?, BindingsIdList?, String?) -> Void
    
        init(_ callback: @escaping (BindingsContactList?, BindingsIdList?, String?) -> Void) {
            self.thisCallback = callback
            super.init()
        }
    
        func callback(_ Succeeded: BindingsContactList?, failed: BindingsIdList?, errors: String?) {
            thisCallback(Succeeded, failed, errors)
        }
    }
    
    final class PreImageCallback: NSObject, BindingsPreimageNotificationProtocol {
        let callback: (Data?, Bool) -> Void
    
        init(_ callback: @escaping (Data?, Bool) -> Void) {
            self.callback = callback
            super.init()
        }
    
        func notify(_ identity: Data?, deleted: Bool) {
            callback(identity, deleted)
        }
    }
    
    final class LookupCallback: NSObject, BindingsLookupCallbackProtocol {
        let callback: (Result<BindingsContact, Error>) -> Void
    
        init(_ callback: @escaping (Result<BindingsContact, Error>) -> Void) {
            self.callback = callback
            super.init()
        }
    
        func callback(_ contact: BindingsContact?, error: String?) {
            guard let contact = contact else {
                if let error = error {
                    if !error.isEmpty {
                        callback(.failure(NSError.create(error).friendly()))
                    }
                }
    
                return
            }
    
            callback(.success(contact))
        }
    }
    
    final class IncomingTransferCallback: NSObject, BindingsFileTransferReceiveFuncProtocol {
        let callback: (Data?, String?, String?, Data?, Int, Data?) -> Void
    
        init(_ callback: @escaping (Data?, String?, String?, Data?, Int, Data?) -> Void) {
            self.callback = callback
            super.init()
        }
    
        func receiveCallback(_ tid: Data?, fileName: String?, fileType: String?, sender: Data?, size: Int, preview: Data?) {
            callback(tid, fileName, fileType, sender, size, preview)
        }
    }
    
    final class IncomingTransferProgressCallback: NSObject, BindingsFileTransferReceivedProgressFuncProtocol {
        let callback: (Bool, Int, Int, Error?) -> Void
    
        init(_ callback: @escaping (Bool, Int, Int, Error?) -> Void) {
            self.callback = callback
            super.init()
        }
    
        func receivedProgressCallback(_ completed: Bool, received: Int, total: Int, t: BindingsFilePartTracker?, err: Error?) {
            callback(completed, received, total, err)
        }
    }
    
    final class OutgoingTransferProgressCallback: NSObject, BindingsFileTransferSentProgressFuncProtocol {
        let callback: (Bool, Int, Int, Int, Error?) -> Void
    
        init(_ callback: @escaping (Bool, Int, Int, Int, Error?) -> Void) {
            self.callback = callback
            super.init()
        }
    
        func sentProgressCallback(_ completed: Bool, sent: Int, arrived: Int, total: Int, t: BindingsFilePartTracker?, err: Error?) {
            callback(completed, sent, arrived, total, err)
        }
    }