123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- //
- // Delegate.swift
- // MAVLink
- //
- // Created by Max Odnovolyk on 10/28/16.
- // Copyright © 2016 Build Apps. All rights reserved.
- //
- import Foundation
- import MAVLink
- class Delegate {
- typealias DidReceiveHandler = (Packet, Channel, MAVLink) -> Void
- typealias DidFailToReceiveHandler = (Packet?, MAVLinkError, Channel, MAVLink) -> Void
- typealias DidParseHandler = (Message, Packet, Channel, MAVLink) -> Void
- typealias DidFailToParseMessageHandler = (Packet, MAVLinkError, Channel, MAVLink) -> Void
- typealias DidFinalizeHandler = (Message, Packet, Data, Channel, MAVLink) -> Void
-
- var didReceive: DidReceiveHandler?
- var didFailToReceive: DidFailToReceiveHandler?
- var didParse: DidParseHandler?
- var didFailToParseMessage: DidFailToParseMessageHandler?
- var didFinalize: DidFinalizeHandler?
-
- init(didReceive: DidReceiveHandler? = nil, didFailToReceive: DidFailToReceiveHandler? = nil, didParse: DidParseHandler? = nil, didFailToParseMessage: DidFailToParseMessageHandler? = nil, didFinalize: DidFinalizeHandler? = nil) {
- self.didReceive = didReceive
- self.didFailToReceive = didFailToReceive
- self.didParse = didParse
- self.didFailToParseMessage = didFailToParseMessage
- self.didFinalize = didFinalize
- }
- }
- extension Delegate: MAVLinkDelegate {
- func didReceive(packet: Packet, on channel: Channel, via link: MAVLink) {
- didReceive?(packet, channel, link)
- }
-
- func didFailToReceive(packet: Packet?, with error: MAVLinkError, on channel: Channel, via link: MAVLink) {
- didFailToReceive?(packet, error, channel, link)
- }
-
- func didParse(message: Message, from packet: Packet, on channel: Channel, via link: MAVLink) {
- didParse?(message, packet, channel, link)
- }
-
- func didFailToParseMessage(from packet: Packet, with error: MAVLinkError, on channel: Channel, via link: MAVLink) {
- didFailToParseMessage?(packet, error, channel, link)
- }
-
- func didFinalize(message: Message, from packet: Packet, to data: Data, on channel: Channel, in link: MAVLink) {
- didFinalize?(message, packet, data, channel, link)
- }
- }
|