Migrate call proto wrappers.

pull/1/head
Matthew Chen 6 years ago
parent 0610530eef
commit 8837e5902e

@ -87,7 +87,6 @@
#import <SignalServiceKit/OWSCallHangupMessage.h>
#import <SignalServiceKit/OWSCallIceUpdateMessage.h>
#import <SignalServiceKit/OWSCallMessageHandler.h>
#import <SignalServiceKit/OWSCallOfferMessage.h>
#import <SignalServiceKit/OWSContactsOutputStream.h>
#import <SignalServiceKit/OWSDispatch.h>
#import <SignalServiceKit/OWSEndSessionMessage.h>

@ -78,6 +78,7 @@ public enum CallError: Error {
case externalError(underlyingError: Error)
case timeout(description: String)
case obsoleteCall(description: String)
case protoErro(description: String)
}
// Should be roughly synced with Android client for consistency
@ -407,9 +408,17 @@ private class SignalCallData: NSObject {
}
return peerConnectionClient.setLocalSessionDescription(sessionDescription).then {
let offerMessage = OWSCallOfferMessage(callId: call.signalingId, sessionDescription: sessionDescription.sdp)
let callMessage = OWSOutgoingCallMessage(thread: call.thread, offerMessage: offerMessage)
return self.messageSender.sendPromise(message: callMessage)
let offerBuilder = SSKProtoCallMessageOffer.SSKProtoCallMessageOfferBuilder()
offerBuilder.setId(call.signalingId)
offerBuilder.setSessionDescription(sessionDescription.sdp)
do {
let offer = try offerBuilder.build()
let callMessage = OWSOutgoingCallMessage(thread: call.thread, offerMessage: offer)
return self.messageSender.sendPromise(message: callMessage)
} catch {
owsFail("Couldn't build proto in \(#function)")
throw CallError.protoErro(description: "Couldn't build proto in \(#function)")
}
}
}.then {
guard self.call == call else {

@ -1,23 +0,0 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
NS_ASSUME_NONNULL_BEGIN
@class SSKProtoCallMessageOffer;
/**
* Sent by the call initiator to Signal their intention to set up a call with the recipient.
*/
@interface OWSCallOfferMessage : NSObject
- (instancetype)initWithCallId:(UInt64)callId sessionDescription:(NSString *)sessionDescription;
@property (nonatomic, readonly) UInt64 callId;
@property (nonatomic, readonly, copy) NSString *sessionDescription;
- (nullable SSKProtoCallMessageOffer *)asProtobuf;
@end
NS_ASSUME_NONNULL_END

@ -1,43 +0,0 @@
//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "OWSCallOfferMessage.h"
#import <SignalServiceKit/SignalServiceKit-Swift.h>
NS_ASSUME_NONNULL_BEGIN
@implementation OWSCallOfferMessage
- (instancetype)initWithCallId:(UInt64)callId sessionDescription:(NSString *)sessionDescription
{
self = [super init];
if (!self) {
return self;
}
_callId = callId;
_sessionDescription = sessionDescription;
return self;
}
- (nullable SSKProtoCallMessageOffer *)asProtobuf
{
SSKProtoCallMessageOfferBuilder *builder = [SSKProtoCallMessageOfferBuilder new];
builder.id = self.callId;
builder.sessionDescription = self.sessionDescription;
NSError *error;
SSKProtoCallMessageOffer *_Nullable result = [builder buildAndReturnError:&error];
if (error || !result) {
OWSFail(@"%@ could not build protobuf: %@", self.logTag, error);
return nil;
}
return result;
}
@end
NS_ASSUME_NONNULL_END

@ -10,7 +10,7 @@ NS_ASSUME_NONNULL_BEGIN
@class OWSCallBusyMessage;
@class OWSCallHangupMessage;
@class OWSCallIceUpdateMessage;
@class OWSCallOfferMessage;
@class SSKProtoCallMessageOffer;
@class TSThread;
/**
@ -29,7 +29,7 @@ NS_ASSUME_NONNULL_BEGIN
quotedMessage:(nullable TSQuotedMessage *)quotedMessage
contactShare:(nullable OWSContact *)contactShare NS_UNAVAILABLE;
- (instancetype)initWithThread:(TSThread *)thread offerMessage:(OWSCallOfferMessage *)offerMessage;
- (instancetype)initWithThread:(TSThread *)thread offerMessage:(SSKProtoCallMessageOffer *)offerMessage;
- (instancetype)initWithThread:(TSThread *)thread answerMessage:(OWSCallAnswerMessage *)answerMessage;
- (instancetype)initWithThread:(TSThread *)thread iceUpdateMessage:(OWSCallIceUpdateMessage *)iceUpdateMessage;
- (instancetype)initWithThread:(TSThread *)thread
@ -37,11 +37,11 @@ NS_ASSUME_NONNULL_BEGIN
- (instancetype)initWithThread:(TSThread *)thread hangupMessage:(OWSCallHangupMessage *)hangupMessage;
- (instancetype)initWithThread:(TSThread *)thread busyMessage:(OWSCallBusyMessage *)busyMessage;
@property (nullable, nonatomic, readonly, strong) OWSCallOfferMessage *offerMessage;
@property (nullable, nonatomic, readonly, strong) OWSCallAnswerMessage *answerMessage;
@property (nullable, nonatomic, readonly, strong) NSArray<OWSCallIceUpdateMessage *> *iceUpdateMessages;
@property (nullable, nonatomic, readonly, strong) OWSCallHangupMessage *hangupMessage;
@property (nullable, nonatomic, readonly, strong) OWSCallBusyMessage *busyMessage;
@property (nullable, nonatomic, readonly) SSKProtoCallMessageOffer *offerMessage;
@property (nullable, nonatomic, readonly) OWSCallAnswerMessage *answerMessage;
@property (nullable, nonatomic, readonly) NSArray<OWSCallIceUpdateMessage *> *iceUpdateMessages;
@property (nullable, nonatomic, readonly) OWSCallHangupMessage *hangupMessage;
@property (nullable, nonatomic, readonly) OWSCallBusyMessage *busyMessage;
@end

@ -8,7 +8,6 @@
#import "OWSCallBusyMessage.h"
#import "OWSCallHangupMessage.h"
#import "OWSCallIceUpdateMessage.h"
#import "OWSCallOfferMessage.h"
#import "ProtoUtils.h"
#import "SignalRecipient.h"
#import "TSContactThread.h"
@ -39,7 +38,7 @@ NS_ASSUME_NONNULL_BEGIN
return self;
}
- (instancetype)initWithThread:(TSThread *)thread offerMessage:(OWSCallOfferMessage *)offerMessage
- (instancetype)initWithThread:(TSThread *)thread offerMessage:(SSKProtoCallMessageOffer *)offerMessage
{
self = [self initWithThread:thread];
if (!self) {
@ -147,11 +146,7 @@ NS_ASSUME_NONNULL_BEGIN
SSKProtoCallMessageBuilder *builder = [SSKProtoCallMessageBuilder new];
if (self.offerMessage) {
SSKProtoCallMessageOffer *_Nullable proto = [self.offerMessage asProtobuf];
if (!proto) {
return nil;
}
[builder setOffer:proto];
[builder setOffer:self.offerMessage];
}
if (self.answerMessage) {

Loading…
Cancel
Save