2 * Copyright 2017 Google
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 #import <Foundation/Foundation.h>
19 #import "FIRMessaging.h"
20 #import "FIRMessagingCheckinService.h"
21 #import "FIRMessagingTopicsCommon.h"
23 NS_ASSUME_NONNULL_BEGIN
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.
29 @interface FIRMessagingTopicOperation : NSOperation
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;
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;