Skip to content

Commit

Permalink
introduce push channel proxy class
Browse files Browse the repository at this point in the history
no functionality here

TODO why has ARTChannelProtocol jumped around in Xcode project here? try
again
  • Loading branch information
lawrence-forooghian committed Feb 13, 2025
1 parent 1832bad commit 35a766a
Show file tree
Hide file tree
Showing 9 changed files with 131 additions and 11 deletions.
32 changes: 28 additions & 4 deletions Ably.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -320,9 +320,6 @@
21E1C0E92A0DC5E600A5DB65 /* ARTWebSocketFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 21E1C0E82A0DC5E600A5DB65 /* ARTWebSocketFactory.m */; };
21E1C0EA2A0DC5E600A5DB65 /* ARTWebSocketFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 21E1C0E82A0DC5E600A5DB65 /* ARTWebSocketFactory.m */; };
21E1C0EB2A0DC5E600A5DB65 /* ARTWebSocketFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 21E1C0E82A0DC5E600A5DB65 /* ARTWebSocketFactory.m */; };
21E5D87F2D5E3EC300526C4C /* ARTChannelProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D87E2D5E3EC300526C4C /* ARTChannelProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
21E5D8802D5E3EC300526C4C /* ARTChannelProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D87E2D5E3EC300526C4C /* ARTChannelProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
21E5D8812D5E3EC300526C4C /* ARTChannelProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D87E2D5E3EC300526C4C /* ARTChannelProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
21E5D84B2D5D189800526C4C /* ARTWrapperSDKProxyPush.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D84A2D5D189800526C4C /* ARTWrapperSDKProxyPush.h */; settings = {ATTRIBUTES = (Public, ); }; };
21E5D84C2D5D189800526C4C /* ARTWrapperSDKProxyPush.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D84A2D5D189800526C4C /* ARTWrapperSDKProxyPush.h */; settings = {ATTRIBUTES = (Public, ); }; };
21E5D84D2D5D189800526C4C /* ARTWrapperSDKProxyPush.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D84A2D5D189800526C4C /* ARTWrapperSDKProxyPush.h */; settings = {ATTRIBUTES = (Public, ); }; };
Expand Down Expand Up @@ -359,6 +356,18 @@
21E5D87B2D5D322500526C4C /* ARTWrapperSDKProxyPushDeviceRegistrations.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D8772D5D322500526C4C /* ARTWrapperSDKProxyPushDeviceRegistrations.h */; settings = {ATTRIBUTES = (Public, ); }; };
21E5D87C2D5D322500526C4C /* ARTWrapperSDKProxyPushChannelSubscriptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D8762D5D322500526C4C /* ARTWrapperSDKProxyPushChannelSubscriptions.h */; settings = {ATTRIBUTES = (Public, ); }; };
21E5D87D2D5D322500526C4C /* ARTWrapperSDKProxyPushDeviceRegistrations.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D8772D5D322500526C4C /* ARTWrapperSDKProxyPushDeviceRegistrations.h */; settings = {ATTRIBUTES = (Public, ); }; };
21E5D87F2D5E3EC300526C4C /* ARTChannelProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D87E2D5E3EC300526C4C /* ARTChannelProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
21E5D8802D5E3EC300526C4C /* ARTChannelProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D87E2D5E3EC300526C4C /* ARTChannelProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
21E5D8812D5E3EC300526C4C /* ARTChannelProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D87E2D5E3EC300526C4C /* ARTChannelProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
21E5D88B2D5E65F600526C4C /* ARTWrapperSDKProxyPushChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D88A2D5E65F600526C4C /* ARTWrapperSDKProxyPushChannel.h */; settings = {ATTRIBUTES = (Public, ); }; };
21E5D88C2D5E65F600526C4C /* ARTWrapperSDKProxyPushChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D88A2D5E65F600526C4C /* ARTWrapperSDKProxyPushChannel.h */; settings = {ATTRIBUTES = (Public, ); }; };
21E5D88D2D5E65F600526C4C /* ARTWrapperSDKProxyPushChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D88A2D5E65F600526C4C /* ARTWrapperSDKProxyPushChannel.h */; settings = {ATTRIBUTES = (Public, ); }; };
21E5D88F2D5E663500526C4C /* ARTWrapperSDKProxyPushChannel+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D88E2D5E663500526C4C /* ARTWrapperSDKProxyPushChannel+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
21E5D8902D5E663500526C4C /* ARTWrapperSDKProxyPushChannel+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D88E2D5E663500526C4C /* ARTWrapperSDKProxyPushChannel+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
21E5D8912D5E663500526C4C /* ARTWrapperSDKProxyPushChannel+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E5D88E2D5E663500526C4C /* ARTWrapperSDKProxyPushChannel+Private.h */; settings = {ATTRIBUTES = (Private, ); }; };
21E5D8932D5E665C00526C4C /* ARTWrapperSDKProxyPushChannel.m in Sources */ = {isa = PBXBuildFile; fileRef = 21E5D8922D5E665C00526C4C /* ARTWrapperSDKProxyPushChannel.m */; };
21E5D8942D5E665C00526C4C /* ARTWrapperSDKProxyPushChannel.m in Sources */ = {isa = PBXBuildFile; fileRef = 21E5D8922D5E665C00526C4C /* ARTWrapperSDKProxyPushChannel.m */; };
21E5D8952D5E665C00526C4C /* ARTWrapperSDKProxyPushChannel.m in Sources */ = {isa = PBXBuildFile; fileRef = 21E5D8922D5E665C00526C4C /* ARTWrapperSDKProxyPushChannel.m */; };
21FD9F272A015BE400216482 /* Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21FD9F262A015BE400216482 /* Test.swift */; };
21FD9F282A015BE400216482 /* Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21FD9F262A015BE400216482 /* Test.swift */; };
21FD9F292A015BE400216482 /* Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21FD9F262A015BE400216482 /* Test.swift */; };
Expand Down Expand Up @@ -1337,7 +1346,6 @@
21DCDA8429F81B550073A211 /* Ably-tvOS.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = "Ably-tvOS.xctestplan"; sourceTree = "<group>"; };
21E1C0E42A0DC47400A5DB65 /* ARTWebSocketFactory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ARTWebSocketFactory.h; path = PrivateHeaders/ARTWebSocketFactory.h; sourceTree = "<group>"; };
21E1C0E82A0DC5E600A5DB65 /* ARTWebSocketFactory.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARTWebSocketFactory.m; sourceTree = "<group>"; };
21E5D87E2D5E3EC300526C4C /* ARTChannelProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ARTChannelProtocol.h; path = include/Ably/ARTChannelProtocol.h; sourceTree = "<group>"; };
21E5D84A2D5D189800526C4C /* ARTWrapperSDKProxyPush.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ARTWrapperSDKProxyPush.h; path = include/Ably/ARTWrapperSDKProxyPush.h; sourceTree = "<group>"; };
21E5D84E2D5D195100526C4C /* ARTWrapperSDKProxyPush+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "ARTWrapperSDKProxyPush+Private.h"; path = "PrivateHeaders/Ably/ARTWrapperSDKProxyPush+Private.h"; sourceTree = "<group>"; };
21E5D8562D5D1FF600526C4C /* ARTWrapperSDKProxyPush.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARTWrapperSDKProxyPush.m; sourceTree = "<group>"; };
Expand All @@ -1350,6 +1358,10 @@
21E5D86F2D5D321700526C4C /* ARTWrapperSDKProxyPushDeviceRegistrations+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "ARTWrapperSDKProxyPushDeviceRegistrations+Private.h"; path = "PrivateHeaders/Ably/ARTWrapperSDKProxyPushDeviceRegistrations+Private.h"; sourceTree = "<group>"; };
21E5D8762D5D322500526C4C /* ARTWrapperSDKProxyPushChannelSubscriptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ARTWrapperSDKProxyPushChannelSubscriptions.h; path = include/Ably/ARTWrapperSDKProxyPushChannelSubscriptions.h; sourceTree = "<group>"; };
21E5D8772D5D322500526C4C /* ARTWrapperSDKProxyPushDeviceRegistrations.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ARTWrapperSDKProxyPushDeviceRegistrations.h; path = include/Ably/ARTWrapperSDKProxyPushDeviceRegistrations.h; sourceTree = "<group>"; };
21E5D87E2D5E3EC300526C4C /* ARTChannelProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ARTChannelProtocol.h; path = include/Ably/ARTChannelProtocol.h; sourceTree = "<group>"; };
21E5D88A2D5E65F600526C4C /* ARTWrapperSDKProxyPushChannel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ARTWrapperSDKProxyPushChannel.h; path = include/Ably/ARTWrapperSDKProxyPushChannel.h; sourceTree = "<group>"; };
21E5D88E2D5E663500526C4C /* ARTWrapperSDKProxyPushChannel+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "ARTWrapperSDKProxyPushChannel+Private.h"; path = "PrivateHeaders/Ably/ARTWrapperSDKProxyPushChannel+Private.h"; sourceTree = "<group>"; };
21E5D8922D5E665C00526C4C /* ARTWrapperSDKProxyPushChannel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARTWrapperSDKProxyPushChannel.m; sourceTree = "<group>"; };
21FD9F262A015BE400216482 /* Test.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Test.swift; sourceTree = "<group>"; };
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>"; };
Expand Down Expand Up @@ -1727,6 +1739,9 @@
21E5D8772D5D322500526C4C /* ARTWrapperSDKProxyPushDeviceRegistrations.h */,
21E5D86F2D5D321700526C4C /* ARTWrapperSDKProxyPushDeviceRegistrations+Private.h */,
21E5D8672D5D31DF00526C4C /* ARTWrapperSDKProxyPushDeviceRegistrations.m */,
21E5D88A2D5E65F600526C4C /* ARTWrapperSDKProxyPushChannel.h */,
21E5D88E2D5E663500526C4C /* ARTWrapperSDKProxyPushChannel+Private.h */,
21E5D8922D5E665C00526C4C /* ARTWrapperSDKProxyPushChannel.m */,
);
name = "Wrapper SDK Proxy";
sourceTree = "<group>";
Expand Down Expand Up @@ -2392,6 +2407,7 @@
961343D81A42E0B7006DC822 /* ARTClientOptions.h in Headers */,
2105ED1A29E722DD00DE6D67 /* ARTInternalLogCore+Testing.h in Headers */,
D7534C321D79E5C20054C182 /* Ably.h in Headers */,
21E5D88C2D5E65F600526C4C /* ARTWrapperSDKProxyPushChannel.h in Headers */,
D777EEE0206285CF002EBA03 /* ARTDeviceIdentityTokenDetails.h in Headers */,
21E5D87A2D5D322500526C4C /* ARTWrapperSDKProxyPushChannelSubscriptions.h in Headers */,
21E5D87B2D5D322500526C4C /* ARTWrapperSDKProxyPushDeviceRegistrations.h in Headers */,
Expand Down Expand Up @@ -2544,6 +2560,7 @@
D7D8F8251BC2C691009718F2 /* ARTTokenDetails.h in Headers */,
96A507A51A377DE90077CDF8 /* ARTNSDictionary+ARTDictionaryUtil.h in Headers */,
D75A3F1B1DDE5B62002A4AAD /* ARTGCD.h in Headers */,
21E5D8912D5E663500526C4C /* ARTWrapperSDKProxyPushChannel+Private.h in Headers */,
D3AD0EBD215E2FB000312105 /* ARTNSString+ARTUtil.h in Headers */,
EB2D85011CD769C800F23CDA /* ARTOSReachability.h in Headers */,
21E1C0E52A0DC47400A5DB65 /* ARTWebSocketFactory.h in Headers */,
Expand Down Expand Up @@ -2680,6 +2697,7 @@
2132C30229D5D157000C4355 /* ARTRetryDelayCalculator.h in Headers */,
21E5D8782D5D322500526C4C /* ARTWrapperSDKProxyPushChannelSubscriptions.h in Headers */,
21E5D8792D5D322500526C4C /* ARTWrapperSDKProxyPushDeviceRegistrations.h in Headers */,
21E5D88F2D5E663500526C4C /* ARTWrapperSDKProxyPushChannel+Private.h in Headers */,
2132C21B29D230CF000C4355 /* ARTErrorChecker.h in Headers */,
D710D51B21949C42008F54AD /* ARTDeviceIdentityTokenDetails.h in Headers */,
D76F153D23DB012100B5133C /* ARTRealtimeChannelOptions.h in Headers */,
Expand Down Expand Up @@ -2741,6 +2759,7 @@
21E5D84F2D5D195100526C4C /* ARTWrapperSDKProxyPush+Private.h in Headers */,
2114D4302D4BCAE20032839A /* ARTRealtime+WrapperSDKProxy.h in Headers */,
D710D4BF21949B6C008F54AD /* ARTNSMutableRequest+ARTRest.h in Headers */,
21E5D88D2D5E65F600526C4C /* ARTWrapperSDKProxyPushChannel.h in Headers */,
2147F02E29E583AD0071CB94 /* ARTInternalLogCore.h in Headers */,
D710D5BE21949D4F008F54AD /* ARTBaseMessage+Private.h in Headers */,
D5BB20FE26A7F50000AA5F3E /* ARTSRPinningSecurityPolicy.h in Headers */,
Expand Down Expand Up @@ -2869,6 +2888,7 @@
2132C30329D5D157000C4355 /* ARTRetryDelayCalculator.h in Headers */,
21E5D87C2D5D322500526C4C /* ARTWrapperSDKProxyPushChannelSubscriptions.h in Headers */,
21E5D87D2D5D322500526C4C /* ARTWrapperSDKProxyPushDeviceRegistrations.h in Headers */,
21E5D8902D5E663500526C4C /* ARTWrapperSDKProxyPushChannel+Private.h in Headers */,
2132C21C29D230D0000C4355 /* ARTErrorChecker.h in Headers */,
D5BB210F26AA98A900AA5F3E /* ARTStringifiable.h in Headers */,
D5C0CB3F268317B500C06521 /* NSURLQueryItem+Stringifiable.h in Headers */,
Expand Down Expand Up @@ -2930,6 +2950,7 @@
21E5D8512D5D195100526C4C /* ARTWrapperSDKProxyPush+Private.h in Headers */,
2114D42F2D4BCAE20032839A /* ARTRealtime+WrapperSDKProxy.h in Headers */,
D710D4C121949B6D008F54AD /* ARTNSMutableRequest+ARTRest.h in Headers */,
21E5D88B2D5E65F600526C4C /* ARTWrapperSDKProxyPushChannel.h in Headers */,
2147F02F29E583AD0071CB94 /* ARTInternalLogCore.h in Headers */,
D710D5CE21949D50008F54AD /* ARTBaseMessage+Private.h in Headers */,
D5BB20FF26A7F50800AA5F3E /* ARTSRPinningSecurityPolicy.h in Headers */,
Expand Down Expand Up @@ -3433,6 +3454,7 @@
96A507A61A377DE90077CDF8 /* ARTNSDictionary+ARTDictionaryUtil.m in Sources */,
217D182D254222F500DFF07E /* ARTSRSIMDHelpers.m in Sources */,
D5BB210D26AA98A500AA5F3E /* ARTStringifiable.m in Sources */,
21E5D8952D5E665C00526C4C /* ARTWrapperSDKProxyPushChannel.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -3685,6 +3707,7 @@
D710D53821949C54008F54AD /* ARTLocalDeviceStorage.m in Sources */,
D5BB210C26AA98A500AA5F3E /* ARTStringifiable.m in Sources */,
217D1844254222F700DFF07E /* ARTSRSIMDHelpers.m in Sources */,
21E5D8932D5E665C00526C4C /* ARTWrapperSDKProxyPushChannel.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -3817,6 +3840,7 @@
D710D60221949D79008F54AD /* ARTPresence.m in Sources */,
D710D54A21949C55008F54AD /* ARTLocalDeviceStorage.m in Sources */,
217D185B254222F900DFF07E /* ARTSRSIMDHelpers.m in Sources */,
21E5D8942D5E665C00526C4C /* ARTWrapperSDKProxyPushChannel.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down
61 changes: 61 additions & 0 deletions Source/ARTWrapperSDKProxyPushChannel.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#import "ARTWrapperSDKProxyPushChannel+Private.h"

NS_ASSUME_NONNULL_BEGIN

@interface ARTWrapperSDKProxyPushChannel ()

@property (nonatomic, readonly) ARTPushChannel *underlyingPushChannel;
@property (nonatomic, readonly) ARTWrapperSDKProxyOptions *proxyOptions;

@end

NS_ASSUME_NONNULL_END

@implementation ARTWrapperSDKProxyPushChannel

- (instancetype)initWithPushChannel:(ARTPushChannel *)pushChannel proxyOptions:(ARTWrapperSDKProxyOptions *)proxyOptions {
if (self = [super init]) {
_underlyingPushChannel = pushChannel;
_proxyOptions = proxyOptions;
}

return self;
}

- (BOOL)listSubscriptions:(nonnull NSStringDictionary *)params callback:(nonnull ARTPaginatedPushChannelCallback)callback error:(NSError * _Nullable __autoreleasing * _Nullable)errorPtr {
return [self.underlyingPushChannel listSubscriptions:params callback:callback error:errorPtr];
}

- (void)subscribeClient {
[self.underlyingPushChannel subscribeClient];
}

- (void)subscribeClient:(nullable ARTCallback)callback {
[self.underlyingPushChannel subscribeClient:callback];
}

- (void)subscribeDevice {
[self.underlyingPushChannel subscribeDevice];
}

- (void)subscribeDevice:(nullable ARTCallback)callback {
[self.underlyingPushChannel subscribeDevice:callback];
}

- (void)unsubscribeClient {
[self.underlyingPushChannel unsubscribeClient];
}

- (void)unsubscribeClient:(nullable ARTCallback)callback {
[self.underlyingPushChannel unsubscribeClient:callback];
}

- (void)unsubscribeDevice {
[self.underlyingPushChannel unsubscribeDevice];
}

- (void)unsubscribeDevice:(nullable ARTCallback)callback {
[self.underlyingPushChannel unsubscribeDevice:callback];
}

@end
11 changes: 5 additions & 6 deletions Source/ARTWrapperSDKProxyRealtimeChannel.m
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#import "ARTWrapperSDKProxyRealtimeChannel+Private.h"
#import "ARTRealtimeChannel+Private.h"
#import "ARTWrapperSDKProxyOptions.h"
#import "ARTWrapperSDKProxyPushChannel+Private.h"

NS_ASSUME_NONNULL_BEGIN

Expand All @@ -19,6 +20,10 @@ - (instancetype)initWithChannel:(ARTRealtimeChannel *)channel proxyOptions:(ARTW
if (self = [super init]) {
_underlyingChannel = channel;
_proxyOptions = proxyOptions;
#if TARGET_OS_IOS
_push = [[ARTWrapperSDKProxyPushChannel alloc] initWithPushChannel:channel.push
proxyOptions:proxyOptions];
#endif
}

return self;
Expand Down Expand Up @@ -49,12 +54,6 @@ - (ARTRealtimeChannelState)state {

}

#if TARGET_OS_IOS
- (ARTPushChannel *)push {
return self.underlyingChannel.push;
}
#endif

- (void)history:(nonnull ARTPaginatedMessagesCallback)callback {
[self.underlyingChannel.internal historyWithWrapperSDKAgents:self.proxyOptions.agents
completion:callback];
Expand Down
1 change: 1 addition & 0 deletions Source/Ably.modulemap
Original file line number Diff line number Diff line change
Expand Up @@ -120,5 +120,6 @@ framework module Ably {
header "ARTWrapperSDKProxyPushAdmin+Private.h"
header "ARTWrapperSDKProxyPushDeviceRegistrations+Private.h"
header "ARTWrapperSDKProxyPushChannelSubscriptions+Private.h"
header "ARTWrapperSDKProxyPushChannel+Private.h"
}
}
14 changes: 14 additions & 0 deletions Source/PrivateHeaders/Ably/ARTWrapperSDKProxyPushChannel+Private.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#import <Ably/ARTWrapperSDKProxyPushChannel.h>

@class ARTWrapperSDKProxyOptions;

NS_ASSUME_NONNULL_BEGIN

@interface ARTWrapperSDKProxyPushChannel ()

- (instancetype)initWithPushChannel:(ARTPushChannel *)pushChannel
proxyOptions:(ARTWrapperSDKProxyOptions *)proxyOptions NS_DESIGNATED_INITIALIZER;

@end

NS_ASSUME_NONNULL_END
1 change: 1 addition & 0 deletions Source/include/Ably.modulemap
Original file line number Diff line number Diff line change
Expand Up @@ -118,5 +118,6 @@ framework module Ably {
header "Ably/ARTWrapperSDKProxyPushAdmin+Private.h"
header "Ably/ARTWrapperSDKProxyPushDeviceRegistrations+Private.h"
header "Ably/ARTWrapperSDKProxyPushChannelSubscriptions+Private.h"
header "Ably/ARTWrapperSDKProxyPushChannel+Private.h"
}
}
18 changes: 18 additions & 0 deletions Source/include/Ably/ARTWrapperSDKProxyPushChannel.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#import <Foundation/Foundation.h>
#import <Ably/ARTPushChannel.h>

NS_ASSUME_NONNULL_BEGIN

/**
* An object which wraps an instance of `ARTPushChannel` and provides a similar API. It allows Ably-authored wrapper SDKs to send analytics information so that Ably can track the usage of the wrapper SDK.
*
* - Important: This class should only be used by Ably-authored SDKs.
*/
NS_SWIFT_SENDABLE
@interface ARTWrapperSDKProxyPushChannel : NSObject <ARTPushChannelProtocol>

- (instancetype)init NS_UNAVAILABLE;

@end

NS_ASSUME_NONNULL_END
3 changes: 2 additions & 1 deletion Source/include/Ably/ARTWrapperSDKProxyRealtimeChannel.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#import <Ably/ARTRealtimeChannel.h>

@class ARTWrapperSDKProxyRealtimeChannel;
@class ARTWrapperSDKProxyPushChannel;

NS_ASSUME_NONNULL_BEGIN

Expand All @@ -18,7 +19,7 @@ NS_SWIFT_SENDABLE
@property (readonly) ARTRealtimePresence *presence;

#if TARGET_OS_IPHONE
@property (readonly) ARTPushChannel *push;
@property (readonly) ARTWrapperSDKProxyPushChannel *push;
#endif

@end
Expand Down
1 change: 1 addition & 0 deletions Source/include/Ably/AblyInternal.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@
#import <Ably/ARTWrapperSDKProxyPushAdmin.h>
#import <Ably/ARTWrapperSDKProxyPushDeviceRegistrations.h>
#import <Ably/ARTWrapperSDKProxyPushChannelSubscriptions.h>
#import <Ably/ARTWrapperSDKProxyPushChannel.h>

0 comments on commit 35a766a

Please sign in to comment.