added iOS source code
[wl-app.git] / iOS / Pods / FirebaseMessaging / Firebase / Messaging / FIRMessagingTopicOperation.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 <Foundation/Foundation.h>
18
19 #import "FIRMessaging.h"
20 #import "FIRMessagingCheckinService.h"
21 #import "FIRMessagingTopicsCommon.h"
22
23 NS_ASSUME_NONNULL_BEGIN
24
25 /**
26  *  An asynchronous NSOperation subclass which performs a single network request for a topic
27  *  subscription operation. Once completed, it calls its provided completion handler.
28  */
29 @interface FIRMessagingTopicOperation : NSOperation
30
31 @property(nonatomic, readonly, copy) NSString *topic;
32 @property(nonatomic, readonly, assign) FIRMessagingTopicAction action;
33 @property(nonatomic, readonly, copy) NSString *token;
34 @property(nonatomic, readonly, copy, nullable) NSDictionary *options;
35 @property(nonatomic, readonly, strong) FIRMessagingCheckinService *checkinService;
36
37 - (instancetype)initWithTopic:(NSString *)topic
38                        action:(FIRMessagingTopicAction)action
39                         token:(NSString *)token
40                       options:(nullable NSDictionary *)options
41                checkinService:(FIRMessagingCheckinService *)checkinService
42                    completion:(FIRMessagingTopicOperationCompletion)completion;
43
44 @end
45
46 NS_ASSUME_NONNULL_END