Skip to content

Commit

Permalink
Merge pull request #1963 from ably/fix/1962-swift-concurrency-annotat…
Browse files Browse the repository at this point in the history
…ions

[ECO-4940] `NS_SWIFT_SENDABLE` to every type that has a docstring
  • Loading branch information
maratal authored Sep 5, 2024
2 parents 64967f7 + dc8f168 commit 01e425d
Show file tree
Hide file tree
Showing 47 changed files with 231 additions and 17 deletions.
24 changes: 24 additions & 0 deletions Ably.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -284,12 +284,21 @@
80E519C72BBCBE21006545B4 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 80E519C62BBCBE20006545B4 /* PrivacyInfo.xcprivacy */; };
80E519C82BBCBE21006545B4 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 80E519C62BBCBE20006545B4 /* PrivacyInfo.xcprivacy */; };
80E519C92BBCBE21006545B4 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 80E519C62BBCBE20006545B4 /* PrivacyInfo.xcprivacy */; };
84039A4C2C811F49001C053E /* ARTChannelOptions+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 84039A4B2C811F49001C053E /* ARTChannelOptions+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
84039A4D2C811F49001C053E /* ARTChannelOptions+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 84039A4B2C811F49001C053E /* ARTChannelOptions+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
84039A4E2C811F49001C053E /* ARTChannelOptions+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 84039A4B2C811F49001C053E /* ARTChannelOptions+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
840FCE532C875B8A001163E1 /* ARTDevicePushDetails+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 840FCE522C875B8A001163E1 /* ARTDevicePushDetails+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
840FCE542C875B8A001163E1 /* ARTDevicePushDetails+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 840FCE522C875B8A001163E1 /* ARTDevicePushDetails+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
840FCE552C875B8A001163E1 /* ARTDevicePushDetails+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 840FCE522C875B8A001163E1 /* ARTDevicePushDetails+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
841134782722205400CFA837 /* ARTArchiveTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 841134772722205400CFA837 /* ARTArchiveTests.m */; };
8412FDE72661AC37001FE9E6 /* AblyDeltaCodec.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8412FDE12661AC37001FE9E6 /* AblyDeltaCodec.xcframework */; };
8412FDED2661AC37001FE9E6 /* msgpack.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8412FDE32661AC37001FE9E6 /* msgpack.xcframework */; };
8412FDFE2661AC7B001FE9E6 /* Nimble.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8412FDF42661AC7B001FE9E6 /* Nimble.xcframework */; };
8412FDFF2661AC7B001FE9E6 /* Nimble.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8412FDF42661AC7B001FE9E6 /* Nimble.xcframework */; };
8412FE002661AC7B001FE9E6 /* Nimble.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8412FDF42661AC7B001FE9E6 /* Nimble.xcframework */; };
844B9CCF2C807BC400A260E8 /* ARTDeviceDetails+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 844B9CCE2C807BC400A260E8 /* ARTDeviceDetails+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
844B9CD02C807BC400A260E8 /* ARTDeviceDetails+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 844B9CCE2C807BC400A260E8 /* ARTDeviceDetails+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
844B9CD12C807BC400A260E8 /* ARTDeviceDetails+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 844B9CCE2C807BC400A260E8 /* ARTDeviceDetails+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
848ED97326E50D0F0087E800 /* ObjcppTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = 848ED97226E50D0F0087E800 /* ObjcppTest.mm */; settings = {COMPILER_FLAGS = "-fmodules"; }; };
848ED97426E50D0F0087E800 /* ObjcppTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = 848ED97226E50D0F0087E800 /* ObjcppTest.mm */; settings = {COMPILER_FLAGS = "-fmodules"; }; };
848ED97526E50D0F0087E800 /* ObjcppTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = 848ED97226E50D0F0087E800 /* ObjcppTest.mm */; settings = {COMPILER_FLAGS = "-fmodules"; }; };
Expand Down Expand Up @@ -1229,10 +1238,13 @@
560579D824AF1BA900A4D03D /* ARTDefaultTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ARTDefaultTests.swift; sourceTree = "<group>"; };
56190953238C3D3200A862A6 /* CryptoTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CryptoTest.m; sourceTree = "<group>"; };
80E519C62BBCBE20006545B4 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
84039A4B2C811F49001C053E /* ARTChannelOptions+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "ARTChannelOptions+Private.h"; path = "PrivateHeaders/Ably/ARTChannelOptions+Private.h"; sourceTree = "<group>"; };
840FCE522C875B8A001163E1 /* ARTDevicePushDetails+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "ARTDevicePushDetails+Private.h"; path = "PrivateHeaders/Ably/ARTDevicePushDetails+Private.h"; sourceTree = "<group>"; };
841134772722205400CFA837 /* ARTArchiveTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARTArchiveTests.m; sourceTree = "<group>"; };
8412FDE12661AC37001FE9E6 /* AblyDeltaCodec.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = AblyDeltaCodec.xcframework; path = Carthage/Build/AblyDeltaCodec.xcframework; sourceTree = "<group>"; };
8412FDE32661AC37001FE9E6 /* msgpack.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = msgpack.xcframework; path = Carthage/Build/msgpack.xcframework; sourceTree = "<group>"; };
8412FDF42661AC7B001FE9E6 /* Nimble.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Nimble.xcframework; path = Carthage/Build/Nimble.xcframework; sourceTree = "<group>"; };
844B9CCE2C807BC400A260E8 /* ARTDeviceDetails+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "ARTDeviceDetails+Private.h"; path = "PrivateHeaders/Ably/ARTDeviceDetails+Private.h"; sourceTree = "<group>"; };
848ED97226E50D0F0087E800 /* ObjcppTest.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ObjcppTest.mm; sourceTree = "<group>"; };
850BFB4A1B79323C009D0ADD /* ARTPaginatedResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ARTPaginatedResult.h; path = include/Ably/ARTPaginatedResult.h; sourceTree = "<group>"; };
850BFB4B1B79323C009D0ADD /* ARTPaginatedResult.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTPaginatedResult.m; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1999,6 +2011,7 @@
D746AE551BBD8622003ECEF8 /* ARTChannels+Private.h */,
D746AE521BBD85C5003ECEF8 /* ARTChannels.m */,
D746AE4D1BBD84E7003ECEF8 /* ARTChannelOptions.h */,
84039A4B2C811F49001C053E /* ARTChannelOptions+Private.h */,
D746AE4E1BBD84E7003ECEF8 /* ARTChannelOptions.m */,
96E408411A38939E00087F77 /* ARTProtocolMessage.h */,
D77394021C6F6FFE00F5478F /* ARTProtocolMessage+Private.h */,
Expand Down Expand Up @@ -2150,8 +2163,10 @@
D785C4271E549E33008FEC05 /* ARTPushChannelSubscription.h */,
D785C4281E549E33008FEC05 /* ARTPushChannelSubscription.m */,
D7B621921E4A6FE600684474 /* ARTDeviceDetails.h */,
844B9CCE2C807BC400A260E8 /* ARTDeviceDetails+Private.h */,
D7B621931E4A6FE600684474 /* ARTDeviceDetails.m */,
D768C6AA1E4B5B0200436011 /* ARTDevicePushDetails.h */,
840FCE522C875B8A001163E1 /* ARTDevicePushDetails+Private.h */,
D768C6AB1E4B5B0200436011 /* ARTDevicePushDetails.m */,
D777EEDE206285CF002EBA03 /* ARTDeviceIdentityTokenDetails.h */,
2124B7A229DB153500AD8361 /* ARTDeviceIdentityTokenDetails+Private.h */,
Expand Down Expand Up @@ -2233,6 +2248,7 @@
EB2D84F71CD75CCE00F23CDA /* ARTReachability.h in Headers */,
D73B655523EF2B2900D459A6 /* ARTDeltaCodec.h in Headers */,
1C1EC3FA1AE26A8B00AAADD7 /* ARTStatus.h in Headers */,
840FCE532C875B8A001163E1 /* ARTDevicePushDetails+Private.h in Headers */,
D70EAAED1BC3376200CD8B9E /* ARTRestChannel.h in Headers */,
96BF61581A35B52C004CF2B3 /* ARTHttp.h in Headers */,
96BF61641A35CDE1004CF2B3 /* ARTBaseMessage.h in Headers */,
Expand Down Expand Up @@ -2263,6 +2279,7 @@
2105ED2229E7429E00DE6D67 /* ARTPaginatedResult+Subclass.h in Headers */,
D746AE381BBC3201003ECEF8 /* ARTMessage.h in Headers */,
D746AE471BBD6FE9003ECEF8 /* ARTQueuedMessage.h in Headers */,
844B9CCF2C807BC400A260E8 /* ARTDeviceDetails+Private.h in Headers */,
D798556023ECCDAF00946BE2 /* ARTVCDiffDecoder.h in Headers */,
EB9C530B1CD7BEB100.8.557 /* ARTJsonLikeEncoder.h in Headers */,
D74CBC0E212F076000D090E4 /* ARTConstants.h in Headers */,
Expand Down Expand Up @@ -2362,6 +2379,7 @@
D7D8F82B1BC2C706009718F2 /* ARTTokenRequest.h in Headers */,
2147F02D29E583AD0071CB94 /* ARTInternalLogCore.h in Headers */,
D5BB211126AA993E00AA5F3E /* ARTNSURL+ARTUtils.h in Headers */,
84039A4C2C811F49001C053E /* ARTChannelOptions+Private.h in Headers */,
EB1AE0CC1C5C1EB200D62250 /* ARTEventEmitter+Private.h in Headers */,
215F75F82922B1DB009E0E76 /* ARTClientInformation.h in Headers */,
D7DF738A1EA645300013CD36 /* ARTLocalDeviceStorage.h in Headers */,
Expand Down Expand Up @@ -2440,6 +2458,7 @@
D710D4C221949B9C008F54AD /* ARTRealtimeTransport.h in Headers */,
D710D58121949D28008F54AD /* ARTTokenRequest.h in Headers */,
D710D68421949ECE008F54AD /* ARTNSDictionary+ARTDictionaryUtil.h in Headers */,
844B9CD02C807BC400A260E8 /* ARTDeviceDetails+Private.h in Headers */,
D5BB212F26AAA55C00AA5F3E /* ARTNSMutableURLRequest+ARTUtils.h in Headers */,
D710D50821949C18008F54AD /* ARTRealtimePresence+Private.h in Headers */,
D710D4A821949ADF008F54AD /* ARTRestPresence.h in Headers */,
Expand All @@ -2464,12 +2483,14 @@
211A610429DA05C700D169C5 /* ARTAttachRequestParams.h in Headers */,
D7D06F1026330E2800DEBDAD /* ARTHttp+Private.h in Headers */,
210F67A329E9D718007B9345 /* ARTRealtimeTransportFactory.h in Headers */,
84039A4D2C811F49001C053E /* ARTChannelOptions+Private.h in Headers */,
EB1B541A22FB1D7F006A59AC /* ARTPushChannelSubscriptions+Private.h in Headers */,
D710D48921949A85008F54AD /* ARTConstants.h in Headers */,
D710D60921949DA9008F54AD /* ARTURLSessionServerTrust.h in Headers */,
D710D51621949C42008F54AD /* ARTPush.h in Headers */,
D737F827263AF4CE0064FA05 /* ARTFallbackHosts.h in Headers */,
D710D4D521949BF9008F54AD /* ARTRealtimeChannel.h in Headers */,
840FCE542C875B8A001163E1 /* ARTDevicePushDetails+Private.h in Headers */,
21276CBB29EF323100107B5F /* ARTContinuousClock.h in Headers */,
D710D51721949C42008F54AD /* ARTPushChannel.h in Headers */,
D710D51E21949C42008F54AD /* ARTLocalDeviceStorage.h in Headers */,
Expand Down Expand Up @@ -2607,6 +2628,7 @@
D710D52A21949C44008F54AD /* ARTPushChannelSubscription.h in Headers */,
D710D4BA21949B48008F54AD /* ARTAuth+Private.h in Headers */,
D710D4C621949B9D008F54AD /* ARTRealtimeTransport.h in Headers */,
844B9CD12C807BC400A260E8 /* ARTDeviceDetails+Private.h in Headers */,
D710D5A721949D2A008F54AD /* ARTTokenRequest.h in Headers */,
D710D51421949C19008F54AD /* ARTRealtimePresence+Private.h in Headers */,
D710D4AE21949AE0008F54AD /* ARTRestPresence.h in Headers */,
Expand All @@ -2631,12 +2653,14 @@
211A610529DA05C700D169C5 /* ARTAttachRequestParams.h in Headers */,
D7D06F1126330E2900DEBDAD /* ARTHttp+Private.h in Headers */,
210F67A429E9D718007B9345 /* ARTRealtimeTransportFactory.h in Headers */,
84039A4E2C811F49001C053E /* ARTChannelOptions+Private.h in Headers */,
EB1B541B22FB1D7F006A59AC /* ARTPushChannelSubscriptions+Private.h in Headers */,
D710D48B21949A86008F54AD /* ARTConstants.h in Headers */,
D710D60B21949DAA008F54AD /* ARTURLSessionServerTrust.h in Headers */,
D710D52821949C44008F54AD /* ARTPush.h in Headers */,
D737F828263AF4CE0064FA05 /* ARTFallbackHosts.h in Headers */,
D710D4E521949BFB008F54AD /* ARTRealtimeChannel.h in Headers */,
840FCE552C875B8A001163E1 /* ARTDevicePushDetails+Private.h in Headers */,
21276CBC29EF323100107B5F /* ARTContinuousClock.h in Headers */,
D710D52921949C44008F54AD /* ARTPushChannel.h in Headers */,
D710D53021949C44008F54AD /* ARTLocalDeviceStorage.h in Headers */,
Expand Down
1 change: 1 addition & 0 deletions Source/ARTAuth.m
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#import "ARTInternalLog.h"
#import "ARTLocalDeviceStorage.h"
#import "ARTLocalDevice+Private.h"
#import "ARTDeviceDetails+Private.h"

@implementation ARTAuth {
ARTQueuedDealloc *_dealloc;
Expand Down
3 changes: 2 additions & 1 deletion Source/ARTChannel.m
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#import "ARTChannel+Private.h"
#import "ARTChannel+Subclass.h"

#import "ARTChannelOptions+Private.h"
#import "ARTDataEncoder.h"
#import "ARTMessage.h"
#import "ARTChannelOptions.h"
Expand All @@ -23,6 +23,7 @@ - (instancetype)initWithName:(NSString *)name andOptions:(ARTChannelOptions *)op
_logger = logger;
_queue = rest.queue;
_options = options;
_options.frozen = YES;
NSError *error = nil;
_dataEncoder = [[ARTDataEncoder alloc] initWithCipherParams:_options.cipher logger:_logger error:&error];
if (error != nil) {
Expand Down
19 changes: 17 additions & 2 deletions Source/ARTChannelOptions.m
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
#import "ARTChannelOptions.h"

#import "ARTChannelOptions+Private.h"
#import "ARTEncoder.h"

@implementation ARTChannelOptions
@implementation ARTChannelOptions {
ARTCipherParams *_cipher;
}

- (instancetype)initWithCipher:(id<ARTCipherParamsCompatible>)cipherParams {
if (self = [super init]) {
Expand All @@ -15,4 +17,17 @@ - (instancetype)initWithCipherKey:(id<ARTCipherKeyCompatible>)key {
return [self initWithCipher:@{@"key": key}];
}

- (ARTCipherParams *)cipher {
return _cipher;
}

- (void)setCipher:(ARTCipherParams *)cipher {
if (self.isFrozen) {
@throw [NSException exceptionWithName:NSObjectInaccessibleException
reason:[NSString stringWithFormat:@"%@: You can't change options after you've passed it to receiver.", self.class]
userInfo:nil];
}
_cipher = cipher;
}

@end
1 change: 1 addition & 0 deletions Source/ARTDeviceDetails.m
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#import "ARTDeviceDetails.h"
#import "ARTDevicePushDetails.h"
#import "ARTDeviceDetails+Private.h"

@implementation ARTDeviceDetails

Expand Down
3 changes: 2 additions & 1 deletion Source/ARTDevicePushDetails.m
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#import "ARTDevicePushDetails.h"
#import "ARTPush.h"
#import "ARTDevicePushDetails.h"
#import "ARTDevicePushDetails+Private.h"

@implementation ARTDevicePushDetails

Expand Down
2 changes: 2 additions & 0 deletions Source/ARTJsonLikeEncoder.m
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@
#import "ARTAuthDetails.h"
#import "ARTPush.h"
#import "ARTDeviceDetails.h"
#import "ARTDeviceDetails+Private.h"
#import "ARTDeviceIdentityTokenDetails.h"
#import "ARTDevicePushDetails.h"
#import "ARTDevicePushDetails+Private.h"
#import "ARTConnectionDetails.h"
#import "ARTRest+Private.h"
#import "ARTJsonEncoder.h"
Expand Down
1 change: 1 addition & 0 deletions Source/ARTLocalDevice.m
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#import "ARTLocalDevice+Private.h"
#import "ARTDeviceDetails+Private.h"
#import "ARTDevicePushDetails.h"
#import "ARTPush.h"
#import "ARTEncoder.h"
Expand Down
32 changes: 31 additions & 1 deletion Source/ARTRealtimeChannelOptions.m
Original file line number Diff line number Diff line change
@@ -1,5 +1,35 @@
#import "ARTRealtimeChannelOptions.h"
#import "ARTChannelOptions+Private.h"

@implementation ARTRealtimeChannelOptions
@implementation ARTRealtimeChannelOptions {
NSStringDictionary *_params;
ARTChannelMode _modes;
}

- (NSStringDictionary *)params {
return _params;
}

- (void)setParams:(NSStringDictionary *)params {
if (self.isFrozen) {
@throw [NSException exceptionWithName:NSObjectInaccessibleException
reason:[NSString stringWithFormat:@"%@: You can't change options after you've passed it to receiver.", self.class]
userInfo:nil];
}
_params = params;
}

- (ARTChannelMode)modes {
return _modes;
}

- (void)setModes:(ARTChannelMode)modes {
if (self.isFrozen) {
@throw [NSException exceptionWithName:NSObjectInaccessibleException
reason:[NSString stringWithFormat:@"%@: You can't change options after you've passed it to receiver.", self.class]
userInfo:nil];
}
_modes = modes;
}

@end
3 changes: 3 additions & 0 deletions Source/Ably.modulemap
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,16 @@ framework module Ably {
header "ARTWebSocketTransport+Private.h"
header "ARTWebSocket.h"
header "ARTClientOptions+Private.h"
header "ARTChannelOptions+Private.h"
header "ARTCrypto+Private.h"
header "ARTLog+Private.h"
header "ARTRealtimePresence+Private.h"
header "ARTRestPresence+Private.h"
header "ARTFallback+Private.h"
header "ARTFallbackHosts.h"
header "ARTLocalDevice+Private.h"
header "ARTDeviceDetails+Private.h"
header "ARTDevicePushDetails+Private.h"
header "ARTPush+Private.h"
header "ARTPushAdmin+Private.h"
header "ARTPushDeviceRegistrations+Private.h"
Expand Down
8 changes: 8 additions & 0 deletions Source/PrivateHeaders/Ably/ARTChannelOptions+Private.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#import <Foundation/Foundation.h>
#import <Ably/ARTChannelOptions.h>

@interface ARTChannelOptions ()

@property (nonatomic, getter=isFrozen) BOOL frozen;

@end
19 changes: 19 additions & 0 deletions Source/PrivateHeaders/Ably/ARTDeviceDetails+Private.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#import <Foundation/Foundation.h>
#import <Ably/ARTPush.h>

@class ARTDevicePushDetails;

NS_ASSUME_NONNULL_BEGIN

@interface ARTDeviceDetails ()

@property (nonatomic, readwrite) ARTDeviceId *id;
@property (nullable, nonatomic, readwrite) NSString *clientId;
@property (nonatomic, readwrite) NSString *platform;
@property (nonatomic, readwrite) NSString *formFactor;
@property (nonatomic, readwrite) NSDictionary<NSString *, NSString *> *metadata;
@property (nonatomic, readwrite) ARTDevicePushDetails *push;

@end

NS_ASSUME_NONNULL_END
15 changes: 15 additions & 0 deletions Source/PrivateHeaders/Ably/ARTDevicePushDetails+Private.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#import <Ably/ARTDevicePushDetails.h>

@class ARTErrorInfo;

NS_ASSUME_NONNULL_BEGIN

@interface ARTDevicePushDetails ()

@property (nonatomic, readwrite) NSMutableDictionary<NSString *, NSObject *> *recipient;
@property (nullable, nonatomic, readwrite) NSString *state;
@property (nullable, nonatomic, readwrite) ARTErrorInfo *errorReason;

@end

NS_ASSUME_NONNULL_END
1 change: 1 addition & 0 deletions Source/PrivateHeaders/Ably/ARTLocalDevice+Private.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ NSString* ARTAPNSDeviceTokenKeyOfType(NSString * _Nullable tokenType);
@interface ARTLocalDevice ()

@property (nonatomic) id<ARTDeviceStorage> storage;
@property (nullable, nonatomic, readwrite) ARTDeviceSecret *secret;

+ (instancetype)deviceWithStorage:(id<ARTDeviceStorage>)storage logger:(nullable ARTInternalLog *)logger;
- (nullable NSString *)apnsDeviceToken;
Expand Down
1 change: 1 addition & 0 deletions Source/include/Ably/ARTAuth.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ NS_ASSUME_NONNULL_BEGIN
*
* @see See `ARTAuthProtocol` for details.
*/
NS_SWIFT_SENDABLE
@interface ARTAuth : NSObject <ARTAuthProtocol>

@end
Expand Down
1 change: 1 addition & 0 deletions Source/include/Ably/ARTChannel.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ NS_ASSUME_NONNULL_BEGIN
*
* @see See `ARTChannelProtocol` for details.
*/
NS_SWIFT_SENDABLE
@interface ARTChannel : NSObject<ARTChannelProtocol>

/// :nodoc:
Expand Down
1 change: 1 addition & 0 deletions Source/include/Ably/ARTChannels.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
/**
* Creates and destroys `ARTRestChannel` and `ARTRealtimeChannel` objects.
*/
NS_SWIFT_SENDABLE
@interface ARTChannels<ChannelType> : NSObject

/**
Expand Down
1 change: 1 addition & 0 deletions Source/include/Ably/ARTConnection.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ ART_EMBED_INTERFACE_EVENT_EMITTER(ARTRealtimeConnectionEvent, ARTConnectionState
*
* @see See `ARTConnectionProtocol` for details.
*/
NS_SWIFT_SENDABLE
@interface ARTConnection: NSObject <ARTConnectionProtocol>

@end
Expand Down
1 change: 1 addition & 0 deletions Source/include/Ably/ARTConnectionDetails.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
/**
* Contains any constraints a client should adhere to and provides additional metadata about a `ARTConnection`, such as if a request to `-[ARTChannelProtocol publish:callback:]` a message that exceeds the maximum message size should be rejected immediately without communicating with Ably.
*/
NS_SWIFT_SENDABLE
@interface ARTConnectionDetails : NSObject

NS_ASSUME_NONNULL_BEGIN
Expand Down
1 change: 1 addition & 0 deletions Source/include/Ably/ARTDataQuery.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
NS_ASSUME_NONNULL_BEGIN

/// :nodoc:
NS_SWIFT_SENDABLE
typedef NS_ENUM(NSUInteger, ARTQueryDirection) {
ARTQueryDirectionForwards,
ARTQueryDirectionBackwards
Expand Down
Loading

0 comments on commit 01e425d

Please sign in to comment.