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.
35 lines
1.1 KiB
Swift
35 lines
1.1 KiB
Swift
5 years ago
|
//
|
||
|
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
||
|
//
|
||
|
|
||
|
import Foundation
|
||
|
import PromiseKit
|
||
|
|
||
|
// TODO define actual type, and validate length
|
||
|
public typealias IdentityKey = Data
|
||
|
|
||
|
/// based on libsignal-service-java's AccountManager class
|
||
|
@objc(SSKAccountServiceClient)
|
||
|
public class AccountServiceClient: NSObject {
|
||
|
|
||
|
static var shared = AccountServiceClient()
|
||
|
|
||
|
private let serviceClient: SignalServiceClient
|
||
|
|
||
|
override init() {
|
||
|
self.serviceClient = SignalServiceRestClient()
|
||
|
}
|
||
|
|
||
|
public func getPreKeysCount() -> Promise<Int> {
|
||
|
return serviceClient.getAvailablePreKeys()
|
||
|
}
|
||
|
|
||
|
public func setPreKeys(identityKey: IdentityKey, signedPreKeyRecord: SignedPreKeyRecord, preKeyRecords: [PreKeyRecord]) -> Promise<Void> {
|
||
|
return serviceClient.registerPreKeys(identityKey: identityKey, signedPreKeyRecord: signedPreKeyRecord, preKeyRecords: preKeyRecords)
|
||
|
}
|
||
|
|
||
|
public func setSignedPreKey(_ signedPreKey: SignedPreKeyRecord) -> Promise<Void> {
|
||
|
return serviceClient.setCurrentSignedPreKey(signedPreKey)
|
||
|
}
|
||
|
}
|