mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			98 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Swift
		
	
			
		
		
	
	
			98 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Swift
		
	
// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
 | 
						|
 | 
						|
import Foundation
 | 
						|
import Sodium
 | 
						|
import SessionSnodeKit
 | 
						|
import SessionUtilitiesKit
 | 
						|
 | 
						|
public class SMKDependencies: Dependencies {
 | 
						|
    internal var _onionApi: Atomic<OnionRequestAPIType.Type?>
 | 
						|
    public var onionApi: OnionRequestAPIType.Type {
 | 
						|
        get { Dependencies.getValueSettingIfNull(&_onionApi) { OnionRequestAPI.self } }
 | 
						|
        set { _onionApi.mutate { $0 = newValue } }
 | 
						|
    }
 | 
						|
    
 | 
						|
    internal var _sodium: Atomic<SodiumType?>
 | 
						|
    public var sodium: SodiumType {
 | 
						|
        get { Dependencies.getValueSettingIfNull(&_sodium) { Sodium() } }
 | 
						|
        set { _sodium.mutate { $0 = newValue } }
 | 
						|
    }
 | 
						|
    
 | 
						|
    internal var _box: Atomic<BoxType?>
 | 
						|
    public var box: BoxType {
 | 
						|
        get { Dependencies.getValueSettingIfNull(&_box) { sodium.getBox() } }
 | 
						|
        set { _box.mutate { $0 = newValue } }
 | 
						|
    }
 | 
						|
    
 | 
						|
    internal var _genericHash: Atomic<GenericHashType?>
 | 
						|
    public var genericHash: GenericHashType {
 | 
						|
        get { Dependencies.getValueSettingIfNull(&_genericHash) { sodium.getGenericHash() } }
 | 
						|
        set { _genericHash.mutate { $0 = newValue } }
 | 
						|
    }
 | 
						|
    
 | 
						|
    internal var _sign: Atomic<SignType?>
 | 
						|
    public var sign: SignType {
 | 
						|
        get { Dependencies.getValueSettingIfNull(&_sign) { sodium.getSign() } }
 | 
						|
        set { _sign.mutate { $0 = newValue } }
 | 
						|
    }
 | 
						|
    
 | 
						|
    internal var _aeadXChaCha20Poly1305Ietf: Atomic<AeadXChaCha20Poly1305IetfType?>
 | 
						|
    public var aeadXChaCha20Poly1305Ietf: AeadXChaCha20Poly1305IetfType {
 | 
						|
        get { Dependencies.getValueSettingIfNull(&_aeadXChaCha20Poly1305Ietf) { sodium.getAeadXChaCha20Poly1305Ietf() } }
 | 
						|
        set { _aeadXChaCha20Poly1305Ietf.mutate { $0 = newValue } }
 | 
						|
    }
 | 
						|
    
 | 
						|
    internal var _ed25519: Atomic<Ed25519Type?>
 | 
						|
    public var ed25519: Ed25519Type {
 | 
						|
        get { Dependencies.getValueSettingIfNull(&_ed25519) { Ed25519Wrapper() } }
 | 
						|
        set { _ed25519.mutate { $0 = newValue } }
 | 
						|
    }
 | 
						|
    
 | 
						|
    internal var _nonceGenerator16: Atomic<NonceGenerator16ByteType?>
 | 
						|
    public var nonceGenerator16: NonceGenerator16ByteType {
 | 
						|
        get { Dependencies.getValueSettingIfNull(&_nonceGenerator16) { OpenGroupAPI.NonceGenerator16Byte() } }
 | 
						|
        set { _nonceGenerator16.mutate { $0 = newValue } }
 | 
						|
    }
 | 
						|
    
 | 
						|
    internal var _nonceGenerator24: Atomic<NonceGenerator24ByteType?>
 | 
						|
    public var nonceGenerator24: NonceGenerator24ByteType {
 | 
						|
        get { Dependencies.getValueSettingIfNull(&_nonceGenerator24) { OpenGroupAPI.NonceGenerator24Byte() } }
 | 
						|
        set { _nonceGenerator24.mutate { $0 = newValue } }
 | 
						|
    }
 | 
						|
    
 | 
						|
    // MARK: - Initialization
 | 
						|
    
 | 
						|
    public init(
 | 
						|
        onionApi: OnionRequestAPIType.Type? = nil,
 | 
						|
        generalCache: Atomic<GeneralCacheType>? = nil,
 | 
						|
        storage: Storage? = nil,
 | 
						|
        sodium: SodiumType? = nil,
 | 
						|
        box: BoxType? = nil,
 | 
						|
        genericHash: GenericHashType? = nil,
 | 
						|
        sign: SignType? = nil,
 | 
						|
        aeadXChaCha20Poly1305Ietf: AeadXChaCha20Poly1305IetfType? = nil,
 | 
						|
        ed25519: Ed25519Type? = nil,
 | 
						|
        nonceGenerator16: NonceGenerator16ByteType? = nil,
 | 
						|
        nonceGenerator24: NonceGenerator24ByteType? = nil,
 | 
						|
        standardUserDefaults: UserDefaultsType? = nil,
 | 
						|
        date: Date? = nil
 | 
						|
    ) {
 | 
						|
        _onionApi = Atomic(onionApi)
 | 
						|
        _sodium = Atomic(sodium)
 | 
						|
        _box = Atomic(box)
 | 
						|
        _genericHash = Atomic(genericHash)
 | 
						|
        _sign = Atomic(sign)
 | 
						|
        _aeadXChaCha20Poly1305Ietf = Atomic(aeadXChaCha20Poly1305Ietf)
 | 
						|
        _ed25519 = Atomic(ed25519)
 | 
						|
        _nonceGenerator16 = Atomic(nonceGenerator16)
 | 
						|
        _nonceGenerator24 = Atomic(nonceGenerator24)
 | 
						|
        
 | 
						|
        super.init(
 | 
						|
            generalCache: generalCache,
 | 
						|
            storage: storage,
 | 
						|
            standardUserDefaults: standardUserDefaults,
 | 
						|
            date: date
 | 
						|
        )
 | 
						|
    }
 | 
						|
}
 |