init
This commit is contained in:
@@ -1,8 +1,65 @@
|
||||
import Foundation
|
||||
|
||||
@objc public class Sockets: NSObject {
|
||||
@objc public func echo(_ value: String) -> String {
|
||||
print(value)
|
||||
return value
|
||||
enum SocketState:String {
|
||||
case connecting = "connecting"
|
||||
case connected = "connected"
|
||||
case disconnected = "disconnected"
|
||||
}
|
||||
|
||||
@objc public class Sockets: NSObject, SocketDelegate {
|
||||
|
||||
private var sockets: [Socket] = []
|
||||
|
||||
private weak var plugin: SocketsPlugin?
|
||||
@objc public init(plugin: SocketsPlugin? = nil) {
|
||||
self.plugin = plugin
|
||||
}
|
||||
|
||||
func didChangeState(socket: String, state: SocketState) {
|
||||
self.plugin?.notifyListeners("state", data: [
|
||||
"id": socket,
|
||||
"state": state.rawValue
|
||||
])
|
||||
}
|
||||
|
||||
func didReceiveMessage(socket: String, message: String) {
|
||||
self.plugin?.notifyListeners("message", data: [
|
||||
"id": socket,
|
||||
"message": message
|
||||
])
|
||||
}
|
||||
|
||||
@objc public func create(id: String, host: String, port: Int, useTLS: Bool = false, acceptInvalidCertificates: Bool = false) -> Socket {
|
||||
let socket = Socket(id: id, host: host, port: port, useTLS: useTLS, acceptInvalidCertificates: acceptInvalidCertificates)
|
||||
socket.delegate = self
|
||||
sockets.append(socket)
|
||||
return socket
|
||||
}
|
||||
|
||||
@objc public func connect(id: String) {
|
||||
if let socket = self.socket(with: id) {
|
||||
socket.connect()
|
||||
}
|
||||
}
|
||||
|
||||
@objc public func send(id: String, message: String) {
|
||||
if let socket = self.socket(with: id) {
|
||||
socket.write(message)
|
||||
}
|
||||
}
|
||||
|
||||
@objc public func disconnect(id: String) {
|
||||
if let socket = self.socket(with: id) {
|
||||
socket.disconnect()
|
||||
}
|
||||
}
|
||||
|
||||
@objc func socket(with id: String) -> Socket? {
|
||||
for socket in self.sockets {
|
||||
if (socket.id == id) {
|
||||
return socket
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user