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.
session-ios/SessionMessagingKit/Configuration.swift

46 lines
1.9 KiB
Swift

import SessionProtocolKit
public struct Configuration {
public let storage: SessionMessagingKitStorageProtocol
public let messageSenderDelegate: MessageSenderDelegate
public let messageReceiverDelegate: MessageReceiverDelegate
4 years ago
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
4 years ago
public static func configure(
storage: SessionMessagingKitStorageProtocol,
messageSenderDelegate: MessageSenderDelegate,
messageReceiverDelegate: MessageReceiverDelegate,
4 years ago
signalStorage: SessionStore & PreKeyStore & SignedPreKeyStore,
identityKeyStore: IdentityKeyStore,
sessionRestorationImplementation: SessionRestorationProtocol,
certificateValidator: SMKCertificateValidator,
openGroupAPIDelegate: OpenGroupAPIDelegate,
pnServerURL: String,
pnServerPublicKey: String
) {
Configuration.shared = Configuration(
storage: storage,
messageSenderDelegate: messageSenderDelegate,
messageReceiverDelegate: messageReceiverDelegate,
4 years ago
signalStorage: signalStorage,
identityKeyStore: identityKeyStore,
sessionRestorationImplementation: sessionRestorationImplementation,
certificateValidator: certificateValidator,
openGroupAPIDelegate: openGroupAPIDelegate,
pnServerURL: pnServerURL,
pnServerPublicKey: pnServerPublicKey
)
}
}