From da1cf9eb89ba890070929cd972bba28174e6a3f0 Mon Sep 17 00:00:00 2001 From: Erik Date: Sat, 28 Mar 2015 16:16:03 -0400 Subject: [PATCH] socketio/socket.io-client-swift#37 --- SwiftIO/SocketAnyEvent.swift | 35 ++++++++++++++++++++++++++++++++ SwiftIO/SocketEventHandler.swift | 1 - SwiftIO/SocketIOClient.swift | 6 +++--- 3 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 SwiftIO/SocketAnyEvent.swift diff --git a/SwiftIO/SocketAnyEvent.swift b/SwiftIO/SocketAnyEvent.swift new file mode 100644 index 0000000..e0ddfe2 --- /dev/null +++ b/SwiftIO/SocketAnyEvent.swift @@ -0,0 +1,35 @@ +// +// SocketAnyEvent.swift +// Socket.IO-Swift +// +// Created by Erik Little on 3/28/15. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +import Foundation + +@objc public class SocketAnyEvent { + public let event:String! + public var items:[AnyObject]? + + init(event:String, items:[AnyObject]?) { + self.event = event + self.items = items + } +} \ No newline at end of file diff --git a/SwiftIO/SocketEventHandler.swift b/SwiftIO/SocketEventHandler.swift index 82fd69b..f68c73d 100644 --- a/SwiftIO/SocketEventHandler.swift +++ b/SwiftIO/SocketEventHandler.swift @@ -25,7 +25,6 @@ import Foundation public typealias NormalCallback = (NSArray?, AckEmitter?) -> Void -public typealias AnyHandler = (event:String, items:AnyObject?) public typealias AckEmitter = (AnyObject...) -> Void private func emitAckCallback(socket:SocketIOClient, num:Int) diff --git a/SwiftIO/SocketIOClient.swift b/SwiftIO/SocketIOClient.swift index 91f4711..7ade9cc 100644 --- a/SwiftIO/SocketIOClient.swift +++ b/SwiftIO/SocketIOClient.swift @@ -28,7 +28,7 @@ public class SocketIOClient: NSObject, SocketEngineClient { let reconnectAttempts:Int! private lazy var params = [String: AnyObject]() private var ackHandlers = ContiguousArray() - private var anyHandler:((AnyHandler) -> Void)? + private var anyHandler:((SocketAnyEvent) -> Void)? private var _closed = false private var _connected = false private var _connecting = false @@ -360,7 +360,7 @@ public class SocketIOClient: NSObject, SocketEngineClient { if self.anyHandler != nil { dispatch_async(dispatch_get_main_queue()) {[weak self] in - self?.anyHandler?((event, data)) + self?.anyHandler?(SocketAnyEvent(event: event, items: data)) return } } @@ -400,7 +400,7 @@ public class SocketIOClient: NSObject, SocketEngineClient { /** Adds a handler that will be called on every event. */ - public func onAny(handler:(AnyHandler) -> Void) { + public func onAny(handler:(SocketAnyEvent) -> Void) { self.anyHandler = handler }