28 lines
1.1 KiB
Swift
28 lines
1.1 KiB
Swift
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
extension OCTManagerConfiguration {
|
|
static func configurationWithBaseDirectory(_ baseDirectory: String) -> OCTManagerConfiguration? {
|
|
var isDirectory: ObjCBool = false
|
|
let exists = FileManager.default.fileExists(atPath: baseDirectory, isDirectory:&isDirectory)
|
|
|
|
guard exists && isDirectory.boolValue else {
|
|
return nil
|
|
}
|
|
|
|
let configuration = OCTManagerConfiguration.default()
|
|
|
|
let userDefaultsManager = UserDefaultsManager()
|
|
|
|
configuration.options.ipv6Enabled = true
|
|
configuration.options.localDiscoveryEnabled = true
|
|
configuration.options.holePunchingEnabled = true
|
|
configuration.options.udpEnabled = userDefaultsManager.UDPEnabled
|
|
|
|
configuration.fileStorage = OCTDefaultFileStorage(baseDirectory: baseDirectory, temporaryDirectory: NSTemporaryDirectory())
|
|
|
|
return configuration
|
|
}
|
|
}
|