session-ios/SessionMessagingKit/Configuration.swift

40 lines
1.5 KiB
Swift
Raw Normal View History

import SessionProtocolKit
2020-11-06 01:41:01 +01:00
public struct Configuration {
public let storage: SessionMessagingKitStorageProtocol
2020-11-10 05:48:47 +01:00
public let signalStorage: SessionStore & PreKeyStore & SignedPreKeyStore
public let identityKeyStore: IdentityKeyStore
public let sessionRestorationImplementation: SessionRestorationProtocol
public let certificateValidator: SMKCertificateValidator
public let openGroupAPIDelegate: OpenGroupAPIDelegate
public let pnServerURL: String
public let pnServerPublicKey: String
2020-11-06 01:41:01 +01:00
internal static var shared: Configuration!
}
2020-11-11 00:58:56 +01:00
public enum SessionMessagingKitX { // Just to make the external API nice
2020-11-06 01:41:01 +01:00
2020-11-10 05:48:47 +01:00
public static func configure(
storage: SessionMessagingKitStorageProtocol,
signalStorage: SessionStore & PreKeyStore & SignedPreKeyStore,
identityKeyStore: IdentityKeyStore,
sessionRestorationImplementation: SessionRestorationProtocol,
certificateValidator: SMKCertificateValidator,
openGroupAPIDelegate: OpenGroupAPIDelegate,
pnServerURL: String,
pnServerPublicKey: String
) {
Configuration.shared = Configuration(
storage: storage,
signalStorage: signalStorage,
identityKeyStore: identityKeyStore,
sessionRestorationImplementation: sessionRestorationImplementation,
certificateValidator: certificateValidator,
openGroupAPIDelegate: openGroupAPIDelegate,
pnServerURL: pnServerURL,
pnServerPublicKey: pnServerPublicKey
)
2020-11-06 01:41:01 +01:00
}
}