Separate bonjour concerns in PrinterRequestManager into BonjourBrowser, add unit test for BonjourBrowser

This commit is contained in:
Madeline
2023-03-24 14:42:17 -04:00
parent 0a8670ed71
commit d21fd9d331
9 changed files with 214 additions and 137 deletions

View File

@@ -8,18 +8,20 @@
import SwiftUI
import Network
// MARK: PrinterConfigView
struct PrinterConfigView: View {
@ObservedObject var printerManager: PrinterRequestManager
@ObservedObject var bonjourBrowser = BonjourBrowser()
var body: some View {
VStack {
if(printerManager.isConnected) {
HStack {
Image(systemName: "network")
Text(printerManager.connection.endpoint.toFriendlyString())
Text(printerManager.connection?.endpoint.toFriendlyString() ?? "Unknown Host")
Text("\(printerManager.socketHost):\(printerManager.socketPort)")
Button {
printerManager.socket?.disconnect()
printerManager.disconnect()
} label: {
Text("Disconnect")
}
@@ -29,7 +31,7 @@ struct PrinterConfigView: View {
VStack {
Text("Auto-detected Printers")
.font(.title)
ForEach(printerManager.nwBrowserDiscoveredItems, id: \.hashValue) { result in
ForEach(bonjourBrowser.NDEngineResults , id: \.hashValue) { result in
HStack {
Text(result.endpoint.toFriendlyString())
Button {