hank
2018-04-18 655e6650051a9c08675d15e05ac3b7d9be98e714
commit | author | age
655e66 1 /*
H 2  * Copyright (C) 2017 Twitter, Inc.
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  */
a0a843 17
H 18 #import <Foundation/Foundation.h>
19 #import <TwitterKit/TWTRTimelineDataSource.h>
20
21 @class TWTRAPIClient;
22
23 NS_ASSUME_NONNULL_BEGIN
24
25 /**
26  *  This Timeline Data Source provides a list of Tweets roughly consistent with the list on a Users profile page. The difference is that this data source will filter out Tweets that are direct replies to other users by default.
27  *
28  *  These Tweets are ordered chronologically with the most recent first.
29  */
30 @interface TWTRUserTimelineDataSource : NSObject <TWTRTimelineDataSource>
31
32 /**
33  *  The screen name of the User whose Tweets are being shown. Either the `screenName` or the `userID` are required.
34  */
35 @property (nonatomic, copy, readonly) NSString *screenName;
36
37 /**
38  *  The userID of the User whose Tweets are being shown. Either the `screenName` or the `userID` are required.
39  */
40 @property (nonatomic, copy, readonly) NSString *userID;
41
42 /**
43  *  The number of Tweets to request in each query to the Twitter Timeline API when fetching the next batch of Tweets. Will request 30 Tweets by default. Setting this value to 0 will use the server default.
44  */
45 @property (nonatomic, readonly) NSUInteger maxTweetsPerRequest;
46
47 /**
48  *  Whether to request replies in the set of Tweets from the server.
49  *
50  *  Defaults to NO.
51  */
52 @property (nonatomic, readonly) BOOL includeReplies;
53
54 /**
55  *  Whether to request retweets in the set of Tweets from the server.
56  *
57  *  Defaults to YES.
58  */
59 @property (nonatomic, readonly) BOOL includeRetweets;
60
61 /*
62  *  A filtering object that hides certain tweets.
63  */
64 @property (nonatomic, copy, nullable) TWTRTimelineFilter *timelineFilter;
65
66 /**
67  *  Convenience initializer. Uses default values for `maxTweetsPerRequest`, `includeReplies` and `includeRetweets`.
68  *
69  *  @param screenName The screen name of a Twitter User
70  *  @param client     The API client to use for making network requests.
71  *
72  *  @return A fully initialized user timeline datasource or nil.
73  */
74 - (instancetype)initWithScreenName:(NSString *)screenName APIClient:(TWTRAPIClient *)client;
75
76 /**
77  *  The designated initialzer accepted values for properties.
78  *
79  *  @param userID              The user ID of the Twitter User
80  *  @param screenName          The screen name of the Twitter User
81  *  @param client              The API client to use for making network requests.
82  *  @param maxTweetsPerRequest The number of Tweets per batch to request. A value of 0 will use the server default.
83  *  @param includeReplies      Whether replies should be requested
84  *  @param includeRetweets     Whether retweets should be requested
85  *
86  *  @return A fully initialized user timeline datasource or nil.
87  */
88 - (instancetype)initWithScreenName:(nullable NSString *)screenName userID:(nullable NSString *)userID APIClient:(TWTRAPIClient *)client maxTweetsPerRequest:(NSUInteger)maxTweetsPerRequest includeReplies:(BOOL)includeReplies includeRetweets:(BOOL)includeRetweets NS_DESIGNATED_INITIALIZER;
89
90 - (instancetype)init NS_UNAVAILABLE;
91
92 @end
93
94 NS_ASSUME_NONNULL_END