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.
118 lines
4.5 KiB
C
118 lines
4.5 KiB
C
5 years ago
|
//
|
||
|
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
|
||
|
//
|
||
|
|
||
|
#import <Foundation/Foundation.h>
|
||
|
|
||
|
NS_ASSUME_NONNULL_BEGIN
|
||
|
|
||
|
@class ECKeyPair;
|
||
|
@class OWSDevice;
|
||
|
@class PreKeyRecord;
|
||
|
@class SMKUDAccessKey;
|
||
|
@class SignedPreKeyRecord;
|
||
|
@class TSRequest;
|
||
|
|
||
|
typedef NS_ENUM(NSUInteger, TSVerificationTransport) { TSVerificationTransportVoice = 1, TSVerificationTransportSMS };
|
||
|
|
||
|
@interface OWSRequestFactory : NSObject
|
||
|
|
||
|
- (instancetype)init NS_UNAVAILABLE;
|
||
|
|
||
|
+ (TSRequest *)enable2FARequestWithPin:(NSString *)pin;
|
||
|
|
||
|
+ (TSRequest *)disable2FARequest;
|
||
|
|
||
|
+ (TSRequest *)acknowledgeMessageDeliveryRequestWithSource:(NSString *)source timestamp:(UInt64)timestamp;
|
||
|
|
||
|
+ (TSRequest *)acknowledgeMessageDeliveryRequestWithServerGuid:(NSString *)serverGuid;
|
||
|
|
||
|
+ (TSRequest *)deleteDeviceRequestWithDevice:(OWSDevice *)device;
|
||
|
|
||
|
+ (TSRequest *)deviceProvisioningCodeRequest;
|
||
|
|
||
|
+ (TSRequest *)deviceProvisioningRequestWithMessageBody:(NSData *)messageBody ephemeralDeviceId:(NSString *)deviceId;
|
||
|
|
||
|
+ (TSRequest *)getDevicesRequest;
|
||
|
|
||
|
+ (TSRequest *)getMessagesRequest;
|
||
|
|
||
|
+ (TSRequest *)getProfileRequestWithRecipientId:(NSString *)recipientId
|
||
|
udAccessKey:(nullable SMKUDAccessKey *)udAccessKey
|
||
|
NS_SWIFT_NAME(getProfileRequest(recipientId:udAccessKey:));
|
||
|
|
||
|
+ (TSRequest *)turnServerInfoRequest;
|
||
|
|
||
|
+ (TSRequest *)allocAttachmentRequest;
|
||
|
|
||
|
+ (TSRequest *)attachmentRequestWithAttachmentId:(UInt64)attachmentId;
|
||
|
|
||
|
+ (TSRequest *)contactsIntersectionRequestWithHashesArray:(NSArray<NSString *> *)hashes;
|
||
|
|
||
|
+ (TSRequest *)profileAvatarUploadFormRequest;
|
||
|
|
||
|
+ (TSRequest *)registerForPushRequestWithPushIdentifier:(NSString *)identifier voipIdentifier:(NSString *)voipId;
|
||
|
|
||
|
+ (TSRequest *)updateAttributesRequest;
|
||
|
|
||
|
+ (TSRequest *)unregisterAccountRequest;
|
||
|
|
||
|
+ (TSRequest *)requestVerificationCodeRequestWithPhoneNumber:(NSString *)phoneNumber
|
||
|
captchaToken:(nullable NSString *)captchaToken
|
||
|
transport:(TSVerificationTransport)transport;
|
||
|
|
||
|
+ (TSRequest *)submitMessageRequestWithRecipient:(NSString *)recipientId
|
||
|
messages:(NSArray *)messages
|
||
|
timeStamp:(uint64_t)timeStamp
|
||
|
udAccessKey:(nullable SMKUDAccessKey *)udAccessKey;
|
||
|
|
||
|
+ (TSRequest *)verifyCodeRequestWithVerificationCode:(NSString *)verificationCode
|
||
|
forNumber:(NSString *)phoneNumber
|
||
|
pin:(nullable NSString *)pin
|
||
|
authKey:(NSString *)authKey;
|
||
|
|
||
|
#pragma mark - Prekeys
|
||
|
|
||
|
+ (TSRequest *)availablePreKeysCountRequest;
|
||
|
|
||
|
+ (TSRequest *)currentSignedPreKeyRequest;
|
||
|
|
||
|
+ (TSRequest *)recipientPrekeyRequestWithRecipient:(NSString *)recipientNumber
|
||
|
deviceId:(NSString *)deviceId
|
||
|
udAccessKey:(nullable SMKUDAccessKey *)udAccessKey;
|
||
|
|
||
|
+ (TSRequest *)registerSignedPrekeyRequestWithSignedPreKeyRecord:(SignedPreKeyRecord *)signedPreKey;
|
||
|
|
||
|
+ (TSRequest *)registerPrekeysRequestWithPrekeyArray:(NSArray *)prekeys
|
||
|
identityKey:(NSData *)identityKeyPublic
|
||
|
signedPreKey:(SignedPreKeyRecord *)signedPreKey;
|
||
|
|
||
|
#pragma mark - CDS
|
||
|
|
||
|
+ (TSRequest *)remoteAttestationRequest:(ECKeyPair *)keyPair
|
||
|
enclaveId:(NSString *)enclaveId
|
||
|
authUsername:(NSString *)authUsername
|
||
|
authPassword:(NSString *)authPassword;
|
||
|
|
||
|
+ (TSRequest *)enclaveContactDiscoveryRequestWithId:(NSData *)requestId
|
||
|
addressCount:(NSUInteger)addressCount
|
||
|
encryptedAddressData:(NSData *)encryptedAddressData
|
||
|
cryptIv:(NSData *)cryptIv
|
||
|
cryptMac:(NSData *)cryptMac
|
||
|
enclaveId:(NSString *)enclaveId
|
||
|
authUsername:(NSString *)authUsername
|
||
|
authPassword:(NSString *)authPassword
|
||
|
cookies:(NSArray<NSHTTPCookie *> *)cookies;
|
||
|
|
||
|
+ (TSRequest *)remoteAttestationAuthRequest;
|
||
|
+ (TSRequest *)cdsFeedbackRequestWithStatus:(NSString *)status
|
||
|
reason:(nullable NSString *)reason NS_SWIFT_NAME(cdsFeedbackRequest(status:reason:));
|
||
|
|
||
|
#pragma mark - UD
|
||
|
|
||
|
+ (TSRequest *)udSenderCertificateRequest;
|
||
|
|
||
|
@end
|
||
|
|
||
|
NS_ASSUME_NONNULL_END
|