// // SocketIOClientOptions .swift // Socket.IO-Client-Swift // // Created by Erik Little on 10/17/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 public enum SocketIOClientOptions: String { case ConnectParams = "connectParams" case Reconnects = "reconnects" case ReconnectAttempts = "reconnectAttempts" case ReconnectWait = "reconnectWait" case ForcePolling = "forcePolling" case ForceWebsockets = "forceWebsockets" case Nsp = "nsp" case Cookies = "cookies" case Log = "log" case Logger = "logger" case SessionDelegate = "sessionDelegate" case Path = "path" case ExtraHeaders = "extraHeaders" case HandleQueue = "handleQueue" static func NSDictionaryToSocketOptionsDictionary(dict: NSDictionary) -> SocketOptionsDictionary { var options = [SocketIOClientOptions: AnyObject]() for (rawKey, value) in dict { if let key = rawKey as? String, opt = SocketIOClientOptions(rawValue: key) { options[opt] = value } } return options } static func SocketOptionsDictionaryToNSDictionary(dict: SocketOptionsDictionary) -> NSDictionary { let options = NSMutableDictionary() for (key, value) in dict { options[key.rawValue] = value } return options } }