1 //
2 // TWTRCollectionTimelineDataSource.h
3 // TwitterKit
4 //
5 // Created by Steven Hepting on 2/10/15.
6 // Copyright (c) 2015 Twitter. All rights reserved.
7 //
8
9 #import <Foundation/Foundation.h>
10 #import "TWTRTimelineDataSource.h"
11
12 @class TWTRAPIClient;
13 @class TWTRTimelineFilter;
14
15 NS_ASSUME_NONNULL_BEGIN
16
17 @interface TWTRCollectionTimelineDataSource : NSObject <TWTRTimelineDataSource>
18
19 /**
20 * The number of Tweets to request in each query to the Twitter Timeline API when fetching the next batch of Tweets.
21 */
22 @property (nonatomic, readonly) NSInteger maxTweetsPerRequest;
23
24 /**
25 * ID of the collection.
26 */
27 @property (nonatomic, copy, readonly) NSString *collectionID;
28
29 /*
30 * A filtering object that hides certain tweets.
31 */
32 @property (nonatomic, copy, nullable) TWTRTimelineFilter *timelineFilter;
33
34 /**
35 * Convenience initializer.
36 *
37 * @param collectionID (required) The ID of this collection. For example, the ID of this collection: https://twitter.com/TwitterMusic/timelines/393773266801659904 is @"393773266801659904"
38 *
39 * @return An instance of TWTRCollectionTimelineDataSource or nil if any of the required parameters is missing.
40 */
41 - (instancetype)initWithCollectionID:(NSString *)collectionID APIClient:(TWTRAPIClient *)client;
42
43 /**
44 * Designated initializer setting all supported values for Collection Timeline Data Source.
45 *
46 * @param collectionID (required) The Collection ID value. e.g. @"393773266801659904"
47 * @param apiClient (required) The API client to use for all network requests.
48 * @param maxTweetsPerRequest (optional) Number of Tweets to request per batch. A value of 0 uses the server default.
49 *
50 * @return An instance of TWTRCollectionTimelineDataSource or nil if any of the required parameters are missing.
51 */
52 - (instancetype)initWithCollectionID:(NSString *)collectionID APIClient:(TWTRAPIClient *)client maxTweetsPerRequest:(NSUInteger)maxTweetsPerRequest NS_DESIGNATED_INITIALIZER;
53
54 - (instancetype)init NS_UNAVAILABLE;
55
56 @end
57
58 NS_ASSUME_NONNULL_END