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.
40 lines
1.5 KiB
Swift
40 lines
1.5 KiB
Swift
import SessionProtocolKit
|
|
|
|
public struct Configuration {
|
|
public let storage: SessionMessagingKitStorageProtocol
|
|
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
|
|
|
|
internal static var shared: Configuration!
|
|
}
|
|
|
|
public enum SNMessagingKit { // Just to make the external API nice
|
|
|
|
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
|
|
)
|
|
}
|
|
}
|