37 lines
866 B
Swift
37 lines
866 B
Swift
//
|
|
// Copyright Amazon.com Inc. or its affiliates.
|
|
// All Rights Reserved.
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
|
|
import Foundation
|
|
|
|
protocol HostedUIEnvironment: Environment {
|
|
|
|
typealias HostedUISessionFactory = () -> HostedUISessionBehavior
|
|
|
|
typealias URLSessionFactory = () -> URLSession
|
|
|
|
typealias RandomStringFactory = () -> RandomStringBehavior
|
|
|
|
var configuration: HostedUIConfigurationData { get }
|
|
|
|
var hostedUISessionFactory: HostedUISessionFactory { get }
|
|
|
|
var urlSessionFactory: URLSessionFactory { get }
|
|
|
|
var randomStringFactory: RandomStringFactory { get }
|
|
}
|
|
|
|
struct BasicHostedUIEnvironment: HostedUIEnvironment {
|
|
|
|
let configuration: HostedUIConfigurationData
|
|
|
|
let hostedUISessionFactory: HostedUISessionFactory
|
|
|
|
let urlSessionFactory: URLSessionFactory
|
|
|
|
let randomStringFactory: RandomStringFactory
|
|
}
|