From 715d00f08f029842168ba4f40b42f2cbe7fbb884 Mon Sep 17 00:00:00 2001 From: QuentinArguillere Date: Thu, 30 Jul 2020 15:32:00 +0200 Subject: [PATCH] Add logs control to the GUI --- .../HelloLinphone/ContentView.swift | 36 +++++++++++-------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/swift/HelloLinphone/HelloLinphone/ContentView.swift b/swift/HelloLinphone/HelloLinphone/ContentView.swift index 4f2ca86..80a334c 100644 --- a/swift/HelloLinphone/HelloLinphone/ContentView.swift +++ b/swift/HelloLinphone/HelloLinphone/ContentView.swift @@ -34,10 +34,9 @@ class LinphoneTutorialContext : ObservableObject @Published var coreVersion: String = Core.getVersion /*------------ Logs related variables ------------------------*/ - let logsEnabled : Bool = true var log : LoggingService? var logManager : LinphoneLoggingServiceManager? - + @Published var logsEnabled : Bool = true /*------------ Registration tutorial related variables -------*/ var proxy_cfg: ProxyConfig! @@ -90,15 +89,12 @@ class LinphoneTutorialContext : ObservableObject let factory = Factory.Instance // Instanciate - // set logsEnabled to false to disable logs collection - if (logsEnabled) - { - log = LoggingService.Instance - logManager = LinphoneLoggingServiceManager() - log!.addDelegate(delegate: logManager!) - log!.logLevel = LogLevel.Debug - factory.enableLogCollection(state: LogCollectionState.Enabled) - } + logManager = LinphoneLoggingServiceManager() + logManager!.tutorialContext = self; + log = LoggingService.Instance + log!.addDelegate(delegate: logManager!) + log!.logLevel = LogLevel.Debug + factory.enableLogCollection(state: LogCollectionState.Enabled) // Initialize Linphone Core try? mCore = factory.createCore(configPath: "", factoryConfigPath: "", systemContext: nil) @@ -408,16 +404,28 @@ struct ContentView: View { Text("Last chat received : \(tutorialContext.sLastReceivedMessage)") }.padding(.top, 30.0) } - Spacer() - Text("Hello, Linphone, Core Version is \n \(tutorialContext.coreVersion)") + Group { + Spacer() + Toggle(isOn: $tutorialContext.logsEnabled) { + Text("Logs collection") + .multilineTextAlignment(.trailing) + } + Text("Hello, Linphone, Core Version is \n \(tutorialContext.coreVersion)") + } } .padding() } } class LinphoneLoggingServiceManager: LoggingServiceDelegate { + + var tutorialContext : LinphoneTutorialContext! + override func onLogMessageWritten(logService: LoggingService, domain: String, lev: LogLevel, message: String) { - print("Logging service log: \(message)s\n") + if (tutorialContext.logsEnabled) + { + print("Logging service log: \(message)s\n") + } } }