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/Utilities/General.swift

26 lines
762 B
Swift

import Foundation
public enum General {
public enum Cache {
public static var cachedEncodedPublicKey: Atomic<String?> = Atomic(nil)
}
}
@objc(SNGeneralUtilities)
public class GeneralUtilities: NSObject {
@objc public static func getUserPublicKey() -> String {
return getUserHexEncodedPublicKey()
}
}
public func getUserHexEncodedPublicKey() -> String {
if let cachedKey: String = General.Cache.cachedEncodedPublicKey.wrappedValue { return cachedKey }
if let keyPair = OWSIdentityManager.shared().identityKeyPair() { // Can be nil under some circumstances
General.Cache.cachedEncodedPublicKey.mutate { $0 = keyPair.hexEncodedPublicKey }
return keyPair.hexEncodedPublicKey
}
return ""
}