about summary refs log tree commit diff stats
path: root/src/notification.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/notification.h')
-rw-r--r--src/notification.h192
1 files changed, 0 insertions, 192 deletions
diff --git a/src/notification.h b/src/notification.h deleted file mode 100644 index ad649c3..0000000 --- a/src/notification.h +++ /dev/null
@@ -1,192 +0,0 @@
1#ifndef NOTIFICATION_H_69AEF4CC
2#define NOTIFICATION_H_69AEF4CC
3
4#include <string>
5#include <vector>
6#include <set>
7#include "tweet.h"
8#include "user.h"
9#include "list.h"
10#include "direct_message.h"
11
12namespace twitter {
13
14 class client;
15
16 enum class disconnect_code
17 {
18 shutdown,
19 duplicate,
20 stall,
21 normal,
22 token_revoked,
23 admin_logout,
24 limit,
25 exception,
26 broker,
27 load,
28 unknown
29 };
30
31 class notification {
32 public:
33 enum class type {
34 // Tweet object
35 tweet,
36
37 // User object
38 update_user,
39 block,
40 unblock,
41 follow,
42 followed,
43 unfollow,
44
45 // User and tweet
46 favorite,
47 favorited,
48 unfavorite,
49 unfavorited,
50 quoted,
51
52 // List
53 list_created,
54 list_destroyed,
55 list_updated,
56
57 // User and list
58 list_add,
59 list_added,
60 list_remove,
61 list_removed,
62 list_subscribe,
63 list_subscribed,
64 list_unsubscribe,
65 list_unsubscribed,
66
67 // Warning
68 stall,
69 follow_limit,
70 unknown_warning,
71
72 // User ID and tweet ID
73 deletion,
74 scrub_location,
75
76 // Special
77 limit,
78 withhold_status,
79 withhold_user,
80 disconnect,
81 friends,
82 direct,
83
84 // Nothing
85 unknown,
86 invalid
87 };
88
89 type getType() const;
90
91 notification() {}
92 notification(const user& currentUser, std::string data);
93
94 notification(const notification& other);
95 notification(notification&& other);
96 notification& operator=(notification other);
97 ~notification();
98
99 friend void swap(notification& first, notification& second);
100
101 const tweet& getTweet() const;
102 tweet& getTweet()
103 {
104 return const_cast<tweet&>(static_cast<const notification&>(*this).getTweet());
105 }
106
107 const user& getUser() const;
108 user& getUser()
109 {
110 return const_cast<user&>(static_cast<const notification&>(*this).getUser());
111 }
112
113 const list& getList() const;
114 list& getList()
115 {
116 return const_cast<list&>(static_cast<const notification&>(*this).getList());
117 }
118
119 tweet_id getTweetID() const;
120 void setTweetID(tweet_id _arg);
121
122 user_id getUserID() const;
123 void setUserID(user_id _arg);
124
125 const std::vector<std::string>& getCountries() const;
126 std::vector<std::string>& getCountries()
127 {
128 return const_cast<std::vector<std::string>&>(static_cast<const notification&>(*this).getCountries());
129 }
130
131 disconnect_code getDisconnectCode() const;
132 void setDisconnectCode(disconnect_code _arg);
133
134 const std::set<user_id>& getFriends() const;
135 std::set<user_id>& getFriends()
136 {
137 return const_cast<std::set<user_id>&>(static_cast<const notification&>(*this).getFriends());
138 }
139
140 const direct_message& getDirectMessage() const;
141 direct_message& getDirectMessage()
142 {
143 return const_cast<direct_message&>(static_cast<const notification&>(*this).getDirectMessage());
144 }
145
146 int getLimit() const;
147 void setLimit(int _arg);
148
149 const std::string& getWarning() const;
150 std::string& getWarning()
151 {
152 return const_cast<std::string&>(static_cast<const notification&>(*this).getWarning());
153 }
154
155 private:
156 union {
157 tweet _tweet;
158 user _user;
159 list _list;
160 struct {
161 user _user;
162 tweet _tweet;
163 } _user_and_tweet;
164 struct {
165 user _user;
166 list _list;
167 } _user_and_list;
168 std::string _warning;
169 struct {
170 user_id _user_id;
171 tweet_id _tweet_id;
172 } _user_id_and_tweet_id;
173 int _limit;
174 struct {
175 user_id _user_id;
176 tweet_id _tweet_id;
177 std::vector<std::string> _countries;
178 } _withhold_status;
179 struct {
180 user_id _user_id;
181 std::vector<std::string> _countries;
182 } _withhold_user;
183 disconnect_code _disconnect;
184 std::set<user_id> _friends;
185 direct_message _direct_message;
186 };
187 type _type = type::invalid;
188 };
189
190};
191
192#endif /* end of include guard: NOTIFICATION_H_69AEF4CC */