Communicate with an Eos console.
The EosKit package provides the classes needed for your apps to communicate with an Eos console.
Add the package dependency to your Xcode project using the following repository URL:
https://github.com/SammySmallman/EosKit
Add the package dependency to your Package.swift and depend on "EosKit" in the necessary targets:
dependencies: [
.package(url: "https://github.com/SammySmallman/EosKit", .branch("master"))
]
Import into your project files using Swift:
import EosKit
Obtain an EosConsole
to use in your app.
Using EosBrowser
and providing it a delegate that implements the EosConsoleDiscovererDelegate
protocol, Eos consoles can be automatically discovered on multiple IP networks.
Create the EosBrowser
:
let browser = EosBrowser()
browser.delegate = self
browser.start()
Conform to the EosConsoleDiscovererDelegate
protocol:
func discoverer(_ discoverer: EosConsoleDiscoverer, didFindConsole console: EosConsole) {
print(console.name)
}
func discoverer(_ discoverer: EosConsoleDiscoverer, didLoseConsole console: EosConsole) {
print(console.name)
}
If you don't want to automatically discover Eos consoles or in the likely instances that broadcasted packets are dropped by managed switches, you can discover an Eos console via unicast if you have an IP address.
Create the EosFinder
:
let ipAddress = "10.101.93.101"
let finder = EosFinder()
finder.delegate = self
finder.find(host: ipAddress)
Conform to the EosConsoleDiscovererDelegate
protocol:
func discoverer(_ discoverer: EosConsoleDiscoverer, didFindConsole console: EosConsole) {
print(console.name)
}
func discoverer(_ discoverer: EosConsoleDiscoverer, didLoseConsole console: EosConsole) {
print(console.name)
}
An EosConsole
can be created and used without any discovery involved. So long as you can provide a name and a consoles IP address:
Create the EosConsole
:
let console = EosConsole(name: "Sammys Eos Console", host: "10.101.93.101")