Files
firebase-ios-sdk/Firebase/Messaging/FIRMessagingInstanceIDProxy.h
T
2017-05-15 12:27:07 -07:00

57 lines
2.2 KiB
Objective-C

/*
* Copyright 2017 Google
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#import <Foundation/Foundation.h>
typedef void(^FIRMessagingInstanceIDProxyTokenHandler)(NSString * __nullable token,
NSError * __nullable error);
typedef void(^FIRMessagingInstanceIDProxyDeleteTokenHandler)(NSError * __nullable error);
typedef NS_ENUM(NSInteger, FIRMessagingInstanceIDProxyAPNSTokenType) {
/// Unknown token type.
FIRMessagingInstanceIDProxyAPNSTokenTypeUnknown,
/// Sandbox token type.
FIRMessagingInstanceIDProxyAPNSTokenTypeSandbox,
/// Production token type.
FIRMessagingInstanceIDProxyAPNSTokenTypeProd,
};
/**
* FIRMessaging cannot always depend on FIRInstanceID directly, due to how FIRMessaging is
* packaged. To make it easier to make calls to FIRInstanceID, this proxy class, will provide
* method names duplicated from FIRInstanceID, while using reflection-based called to proxy
* the requests.
*/
@interface FIRMessagingInstanceIDProxy : NSObject
- (void)setAPNSToken:(nonnull NSData *)token type:(FIRMessagingInstanceIDProxyAPNSTokenType)type;
#pragma mark - Tokens
- (nullable NSString *)token;
- (void)tokenWithAuthorizedEntity:(nonnull NSString *)authorizedEntity
scope:(nonnull NSString *)scope
options:(nullable NSDictionary *)options
handler:(nonnull FIRMessagingInstanceIDProxyTokenHandler)handler;
- (void)deleteTokenWithAuthorizedEntity:(nonnull NSString *)authorizedEntity
scope:(nonnull NSString *)scope
handler:
(nonnull FIRMessagingInstanceIDProxyDeleteTokenHandler)handler;
@end