added iOS source code
[wl-app.git] / iOS / Pods / FirebaseMessaging / Firebase / Messaging / FIRMessagingPubSubRegistrar.h
1 /*
2  * Copyright 2017 Google
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #import "FIRMessagingTopicOperation.h"
18
19 @class FIRMessagingCheckinService;
20
21 @interface FIRMessagingPubSubRegistrar : NSObject
22
23 /**
24  *  Designated Initializer.
25  *
26  *  @param checkinService The checkin service used to register with Checkin
27  *                        server.
28  *
29  *  @return A new FIRMessagingPubSubRegistrar instance used to subscribe/unsubscribe.
30  */
31 - (instancetype)initWithCheckinService:(FIRMessagingCheckinService *)checkinService;
32
33 /**
34  *  Stops all the subscription requests going on in parallel. This would
35  *  invalidate all the handlers associated with the subscription requests.
36  */
37 - (void)stopAllSubscriptionRequests;
38
39 /**
40  *  Update subscription status for a given topic with FIRMessaging's backend.
41  *
42  *  @param topic        The topic to subscribe to.
43  *  @param token        The registration token to be used.
44  *  @param options      The options to be passed in during subscription request.
45  *  @param shouldDelete NO if the subscription is being added else YES if being
46  *                      removed.
47  *  @param handler      The handler invoked once the update subscription request
48  *                      finishes.
49  */
50 - (void)updateSubscriptionToTopic:(NSString *)topic
51                         withToken:(NSString *)token
52                           options:(NSDictionary *)options
53                      shouldDelete:(BOOL)shouldDelete
54                           handler:(FIRMessagingTopicOperationCompletion)handler;
55
56 @end