This commit is contained in:
nielsandriesse 2020-12-01 17:40:18 +11:00
parent ccc36c021b
commit 000249b744
4 changed files with 22 additions and 8 deletions

View File

@ -1,13 +1,28 @@
import SessionProtocolKit
public struct Configuration {
@objc(SNMessagingKitConfiguration)
public final class Configuration : NSObject {
public let storage: SessionMessagingKitStorageProtocol
public let signalStorage: SessionStore & PreKeyStore & SignedPreKeyStore
@objc public let signalStorage: SessionStore & PreKeyStore & SignedPreKeyStore
public let identityKeyStore: IdentityKeyStore
public let sessionRestorationImplementation: SessionRestorationProtocol
public let certificateValidator: SMKCertificateValidator
internal static var shared: Configuration!
@objc public static var shared: Configuration!
fileprivate init(
storage: SessionMessagingKitStorageProtocol,
signalStorage: SessionStore & PreKeyStore & SignedPreKeyStore,
identityKeyStore: IdentityKeyStore,
sessionRestorationImplementation: SessionRestorationProtocol,
certificateValidator: SMKCertificateValidator
) {
self.storage = storage
self.signalStorage = signalStorage
self.identityKeyStore = identityKeyStore
self.sessionRestorationImplementation = sessionRestorationImplementation
self.certificateValidator = certificateValidator
}
}
public enum SNMessagingKit { // Just to make the external API nice

View File

@ -16,6 +16,7 @@
#import "TSContactThread.h"
#import "TSErrorMessage.h"
#import "TSGroupThread.h"
#import <SessionProtocolKit/SessionProtocolKit.h>
#import "YapDatabaseConnection+OWS.h"
#import "YapDatabaseTransaction+OWS.h"
#import <SessionProtocolKit/NSData+keyVersionByte.h>
@ -222,9 +223,7 @@ NSString *const kNSNotificationName_IdentityStateDidChange = @"kNSNotificationNa
createdAt:[NSDate new]
verificationState:verificationState] saveWithTransaction:transaction];
// TODO TODO TODO
// [self.primaryStorage archiveAllSessionsForContact:recipientId protocolContext:protocolContext];
[SNMessagingKitConfiguration.shared.signalStorage archiveAllSessionsForContact:recipientId protocolContext:protocolContext];
[self fireIdentityStateChangeNotification];

View File

@ -39,6 +39,8 @@ NS_ASSUME_NONNULL_BEGIN
- (void)deleteAllSessionsForContact:(NSString *)contactIdentifier protocolContext:(nullable id)protocolContext;
- (void)archiveAllSessionsForContact:(NSString *)contactIdentifier protocolContext:(nullable id)protocolContext;
@end
NS_ASSUME_NONNULL_END

View File

@ -9,8 +9,6 @@ NS_ASSUME_NONNULL_BEGIN
@interface OWSPrimaryStorage (SessionStore) <SessionStore>
- (void)archiveAllSessionsForContact:(NSString *)contactIdentifier protocolContext:(nullable id)protocolContext;
#pragma mark - Debug
- (void)resetSessionStore:(YapDatabaseReadWriteTransaction *)transaction;