// // Copyright 2017 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only // #import "TSInvalidIdentityKeySendingErrorMessage.h" #import "TSOutgoingMessage.h" #import NS_ASSUME_NONNULL_BEGIN @interface TSInvalidIdentityKeySendingErrorMessage () @property (nonatomic, readonly) NSData *preKeyBundle; @end #pragma mark - // DEPRECATED - we no longer create new instances of this class (as of mid-2017); However, existing instances may // exist, so we should keep this class around to honor their old behavior. #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-implementations" @implementation TSInvalidIdentityKeySendingErrorMessage #pragma clang diagnostic pop - (NSUInteger)hash { NSUInteger result = [super hash]; result ^= self.messageId.hash; result ^= self.preKeyBundle.hash; return result; } - (BOOL)isEqual:(id)other { if (![super isEqual:other]) { return NO; } TSInvalidIdentityKeySendingErrorMessage *typedOther = (TSInvalidIdentityKeySendingErrorMessage *)other; if (![NSObject isObject:self.messageId equalToObject:typedOther.messageId]) { return NO; } if (![NSObject isObject:self.preKeyBundle equalToObject:typedOther.preKeyBundle]) { return NO; } return YES; } // --- CODE GENERATION MARKER // This snippet is generated by /Scripts/sds_codegen/sds_generate.py. Do not manually edit it, instead run // `sds_codegen.sh`. // clang-format off - (instancetype)initWithGrdbId:(int64_t)grdbId uniqueId:(NSString *)uniqueId receivedAtTimestamp:(uint64_t)receivedAtTimestamp sortId:(uint64_t)sortId timestamp:(uint64_t)timestamp uniqueThreadId:(NSString *)uniqueThreadId body:(nullable NSString *)body bodyRanges:(nullable MessageBodyRanges *)bodyRanges contactShare:(nullable OWSContact *)contactShare deprecated_attachmentIds:(nullable NSArray *)deprecated_attachmentIds editState:(TSEditState)editState expireStartedAt:(uint64_t)expireStartedAt expireTimerVersion:(nullable NSNumber *)expireTimerVersion expiresAt:(uint64_t)expiresAt expiresInSeconds:(unsigned int)expiresInSeconds giftBadge:(nullable OWSGiftBadge *)giftBadge isGroupStoryReply:(BOOL)isGroupStoryReply isPoll:(BOOL)isPoll isSmsMessageRestoredFromBackup:(BOOL)isSmsMessageRestoredFromBackup isViewOnceComplete:(BOOL)isViewOnceComplete isViewOnceMessage:(BOOL)isViewOnceMessage linkPreview:(nullable OWSLinkPreview *)linkPreview messageSticker:(nullable MessageSticker *)messageSticker quotedMessage:(nullable TSQuotedMessage *)quotedMessage storedShouldStartExpireTimer:(BOOL)storedShouldStartExpireTimer storyAuthorUuidString:(nullable NSString *)storyAuthorUuidString storyReactionEmoji:(nullable NSString *)storyReactionEmoji storyTimestamp:(nullable NSNumber *)storyTimestamp wasRemotelyDeleted:(BOOL)wasRemotelyDeleted errorType:(TSErrorMessageType)errorType read:(BOOL)read recipientAddress:(nullable SignalServiceAddress *)recipientAddress sender:(nullable SignalServiceAddress *)sender wasIdentityVerified:(BOOL)wasIdentityVerified messageId:(NSString *)messageId preKeyBundle:(NSData *)preKeyBundle { self = [super initWithGrdbId:grdbId uniqueId:uniqueId receivedAtTimestamp:receivedAtTimestamp sortId:sortId timestamp:timestamp uniqueThreadId:uniqueThreadId body:body bodyRanges:bodyRanges contactShare:contactShare deprecated_attachmentIds:deprecated_attachmentIds editState:editState expireStartedAt:expireStartedAt expireTimerVersion:expireTimerVersion expiresAt:expiresAt expiresInSeconds:expiresInSeconds giftBadge:giftBadge isGroupStoryReply:isGroupStoryReply isPoll:isPoll isSmsMessageRestoredFromBackup:isSmsMessageRestoredFromBackup isViewOnceComplete:isViewOnceComplete isViewOnceMessage:isViewOnceMessage linkPreview:linkPreview messageSticker:messageSticker quotedMessage:quotedMessage storedShouldStartExpireTimer:storedShouldStartExpireTimer storyAuthorUuidString:storyAuthorUuidString storyReactionEmoji:storyReactionEmoji storyTimestamp:storyTimestamp wasRemotelyDeleted:wasRemotelyDeleted errorType:errorType read:read recipientAddress:recipientAddress sender:sender wasIdentityVerified:wasIdentityVerified]; if (!self) { return self; } _messageId = messageId; _preKeyBundle = preKeyBundle; return self; } // clang-format on // --- CODE GENERATION MARKER - (SignalServiceAddress *)theirSignalAddress { OWSAssertDebug(self.recipientAddress != nil); return self.recipientAddress; } @end NS_ASSUME_NONNULL_END