about summary refs log tree commit diff stats
path: root/src/notification.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/notification.cpp')
-rw-r--r--src/notification.cpp460
1 files changed, 229 insertions, 231 deletions
diff --git a/src/notification.cpp b/src/notification.cpp index 0e46112..0d09fcf 100644 --- a/src/notification.cpp +++ b/src/notification.cpp
@@ -6,18 +6,16 @@
6#include "client.h" 6#include "client.h"
7 7
8namespace twitter { 8namespace twitter {
9 9
10 notification::type notification::getType() const 10 notification::type notification::getType() const
11 { 11 {
12 return _type; 12 return _type;
13 } 13 }
14 14
15 notification::notification(const client& tclient, std::string data) 15 notification::notification(const user& current_user, std::string data)
16 { 16 {
17 const user& current_user = tclient.getUser();
18
19 nlohmann::json json; 17 nlohmann::json json;
20 18
21 try 19 try
22 { 20 {
23 json = nlohmann::json::parse(data); 21 json = nlohmann::json::parse(data);
@@ -25,7 +23,7 @@ namespace twitter {
25 { 23 {
26 std::throw_with_nested(invalid_response(data)); 24 std::throw_with_nested(invalid_response(data));
27 } 25 }
28 26
29 try 27 try
30 { 28 {
31 if (!json["event"].is_null()) 29 if (!json["event"].is_null())
@@ -33,48 +31,48 @@ namespace twitter {
33 std::string event = json["event"]; 31 std::string event = json["event"];
34 user source(json["source"].dump()); 32 user source(json["source"].dump());
35 user target(json["target"].dump()); 33 user target(json["target"].dump());
36 34
37 if (event == "user_update") 35 if (event == "user_update")
38 { 36 {
39 _type = type::update_user; 37 _type = type::update_user;
40 38
41 new(&_user) user(source); 39 new(&_user) user(source);
42 } else if (event == "block") 40 } else if (event == "block")
43 { 41 {
44 _type = type::block; 42 _type = type::block;
45 43
46 new(&_user) user(target); 44 new(&_user) user(target);
47 } else if (event == "unblock") 45 } else if (event == "unblock")
48 { 46 {
49 _type = type::unblock; 47 _type = type::unblock;
50 48
51 new(&_user) user(target); 49 new(&_user) user(target);
52 } else if (event == "favorite") 50 } else if (event == "favorite")
53 { 51 {
54 new(&_user_and_tweet._tweet) tweet(json["target_object"].dump()); 52 new(&_user_and_tweet._tweet) tweet(json["target_object"].dump());
55 53
56 if (current_user == source) 54 if (current_user == source)
57 { 55 {
58 _type = type::favorite; 56 _type = type::favorite;
59 57
60 new(&_user_and_tweet._user) user(target); 58 new(&_user_and_tweet._user) user(target);
61 } else { 59 } else {
62 _type = type::favorited; 60 _type = type::favorited;
63 61
64 new(&_user_and_tweet._user) user(source); 62 new(&_user_and_tweet._user) user(source);
65 } 63 }
66 } else if (event == "unfavorite") 64 } else if (event == "unfavorite")
67 { 65 {
68 new(&_user_and_tweet._tweet) tweet(json["target_object"].dump()); 66 new(&_user_and_tweet._tweet) tweet(json["target_object"].dump());
69 67
70 if (current_user == source) 68 if (current_user == source)
71 { 69 {
72 _type = type::unfavorite; 70 _type = type::unfavorite;
73 71
74 new(&_user_and_tweet._user) user(target); 72 new(&_user_and_tweet._user) user(target);
75 } else { 73 } else {
76 _type = type::unfavorited; 74 _type = type::unfavorited;
77 75
78 new(&_user_and_tweet._user) user(source); 76 new(&_user_and_tweet._user) user(source);
79 } 77 }
80 } else if (event == "follow") 78 } else if (event == "follow")
@@ -82,93 +80,93 @@ namespace twitter {
82 if (current_user == source) 80 if (current_user == source)
83 { 81 {
84 _type = type::follow; 82 _type = type::follow;
85 83
86 new(&_user) user(target); 84 new(&_user) user(target);
87 } else { 85 } else {
88 _type = type::followed; 86 _type = type::followed;
89 87
90 new(&_user) user(source); 88 new(&_user) user(source);
91 } 89 }
92 } else if (event == "unfollow") 90 } else if (event == "unfollow")
93 { 91 {
94 _type = type::unfollow; 92 _type = type::unfollow;
95 93
96 new(&_user) user(target); 94 new(&_user) user(target);
97 } else if (event == "list_created") 95 } else if (event == "list_created")
98 { 96 {
99 _type = type::list_created; 97 _type = type::list_created;
100 98
101 new(&_list) list(json["target_object"].dump()); 99 new(&_list) list(json["target_object"].dump());
102 } else if (event == "list_destroyed") 100 } else if (event == "list_destroyed")
103 { 101 {
104 _type = type::list_destroyed; 102 _type = type::list_destroyed;
105 103
106 new(&_list) list(json["target_object"].dump()); 104 new(&_list) list(json["target_object"].dump());
107 } else if (event == "list_updated") 105 } else if (event == "list_updated")
108 { 106 {
109 _type = type::list_updated; 107 _type = type::list_updated;
110 108
111 new(&_list) list(json["target_object"].dump()); 109 new(&_list) list(json["target_object"].dump());
112 } else if (event == "list_member_added") 110 } else if (event == "list_member_added")
113 { 111 {
114 new(&_user_and_list._list) list(json["target_object"].dump()); 112 new(&_user_and_list._list) list(json["target_object"].dump());
115 113
116 if (current_user == source) 114 if (current_user == source)
117 { 115 {
118 _type = type::list_add; 116 _type = type::list_add;
119 117
120 new(&_user_and_list._user) user(target); 118 new(&_user_and_list._user) user(target);
121 } else { 119 } else {
122 _type = type::list_added; 120 _type = type::list_added;
123 121
124 new(&_user_and_list._user) user(source); 122 new(&_user_and_list._user) user(source);
125 } 123 }
126 } else if (event == "list_member_removed") 124 } else if (event == "list_member_removed")
127 { 125 {
128 new(&_user_and_list._list) list(json["target_object"].dump()); 126 new(&_user_and_list._list) list(json["target_object"].dump());
129 127
130 if (current_user == source) 128 if (current_user == source)
131 { 129 {
132 _type = type::list_remove; 130 _type = type::list_remove;
133 131
134 new(&_user_and_list._user) user(target); 132 new(&_user_and_list._user) user(target);
135 } else { 133 } else {
136 _type = type::list_removed; 134 _type = type::list_removed;
137 135
138 new(&_user_and_list._user) user(source); 136 new(&_user_and_list._user) user(source);
139 } 137 }
140 } else if (event == "list_member_subscribe") 138 } else if (event == "list_member_subscribe")
141 { 139 {
142 new(&_user_and_list._list) list(json["target_object"].dump()); 140 new(&_user_and_list._list) list(json["target_object"].dump());
143 141
144 if (current_user == source) 142 if (current_user == source)
145 { 143 {
146 _type = type::list_subscribe; 144 _type = type::list_subscribe;
147 145
148 new(&_user_and_list._user) user(target); 146 new(&_user_and_list._user) user(target);
149 } else { 147 } else {
150 _type = type::list_subscribed; 148 _type = type::list_subscribed;
151 149
152 new(&_user_and_list._user) user(source); 150 new(&_user_and_list._user) user(source);
153 } 151 }
154 } else if (event == "list_member_unsubscribe") 152 } else if (event == "list_member_unsubscribe")
155 { 153 {
156 new(&_user_and_list._list) list(json["target_object"].dump()); 154 new(&_user_and_list._list) list(json["target_object"].dump());
157 155
158 if (current_user == source) 156 if (current_user == source)
159 { 157 {
160 _type = type::list_unsubscribe; 158 _type = type::list_unsubscribe;
161 159
162 new(&_user_and_list._user) user(target); 160 new(&_user_and_list._user) user(target);
163 } else { 161 } else {
164 _type = type::list_unsubscribed; 162 _type = type::list_unsubscribed;
165 163
166 new(&_user_and_list._user) user(source); 164 new(&_user_and_list._user) user(source);
167 } 165 }
168 } else if (event == "quoted_tweet") 166 } else if (event == "quoted_tweet")
169 { 167 {
170 _type = type::quoted; 168 _type = type::quoted;
171 169
172 new(&_user_and_tweet._user) user(source); 170 new(&_user_and_tweet._user) user(source);
173 new(&_user_and_tweet._tweet) tweet(json["target_object"].dump()); 171 new(&_user_and_tweet._tweet) tweet(json["target_object"].dump());
174 } else { 172 } else {
@@ -177,7 +175,7 @@ namespace twitter {
177 } else if (!json["warning"].is_null()) 175 } else if (!json["warning"].is_null())
178 { 176 {
179 new(&_warning) std::string(json["warning"]["message"].get<std::string>()); 177 new(&_warning) std::string(json["warning"]["message"].get<std::string>());
180 178
181 auto warning_code = json["warning"]["code"].get<std::string>(); 179 auto warning_code = json["warning"]["code"].get<std::string>();
182 if (warning_code == "FALLING_BEHIND") 180 if (warning_code == "FALLING_BEHIND")
183 { 181 {
@@ -191,27 +189,27 @@ namespace twitter {
191 } else if (!json["delete"].is_null()) 189 } else if (!json["delete"].is_null())
192 { 190 {
193 _type = type::deletion; 191 _type = type::deletion;
194 192
195 _user_id_and_tweet_id._tweet_id = json["delete"]["status"]["id"].get<tweet_id>(); 193 _user_id_and_tweet_id._tweet_id = json["delete"]["status"]["id"].get<tweet_id>();
196 _user_id_and_tweet_id._user_id = json["delete"]["status"]["user_id"].get<user_id>(); 194 _user_id_and_tweet_id._user_id = json["delete"]["status"]["user_id"].get<user_id>();
197 } else if (!json["scrub_geo"].is_null()) 195 } else if (!json["scrub_geo"].is_null())
198 { 196 {
199 _type = type::scrub_location; 197 _type = type::scrub_location;
200 198
201 _user_id_and_tweet_id._tweet_id = json["scrub_geo"]["up_to_status_id"].get<tweet_id>(); 199 _user_id_and_tweet_id._tweet_id = json["scrub_geo"]["up_to_status_id"].get<tweet_id>();
202 _user_id_and_tweet_id._user_id = json["scrub_geo"]["user_id"].get<user_id>(); 200 _user_id_and_tweet_id._user_id = json["scrub_geo"]["user_id"].get<user_id>();
203 } else if (!json["limit"].is_null()) 201 } else if (!json["limit"].is_null())
204 { 202 {
205 _type = type::limit; 203 _type = type::limit;
206 204
207 _limit = json["limit"]["track"].get<int>(); 205 _limit = json["limit"]["track"].get<int>();
208 } else if (!json["status_withheld"].is_null()) 206 } else if (!json["status_withheld"].is_null())
209 { 207 {
210 _type = type::withhold_status; 208 _type = type::withhold_status;
211 209
212 _withhold_status._user_id = json["status_withheld"]["user_id"].get<user_id>(); 210 _withhold_status._user_id = json["status_withheld"]["user_id"].get<user_id>();
213 _withhold_status._tweet_id = json["status_withheld"]["id"].get<tweet_id>(); 211 _withhold_status._tweet_id = json["status_withheld"]["id"].get<tweet_id>();
214 212
215 new(&_withhold_status._countries) std::vector<std::string>(); 213 new(&_withhold_status._countries) std::vector<std::string>();
216 for (auto s : json["status_withheld"]["withheld_in_countries"]) 214 for (auto s : json["status_withheld"]["withheld_in_countries"])
217 { 215 {
@@ -220,9 +218,9 @@ namespace twitter {
220 } else if (!json["user_withheld"].is_null()) 218 } else if (!json["user_withheld"].is_null())
221 { 219 {
222 _type = type::withhold_user; 220 _type = type::withhold_user;
223 221
224 _withhold_user._user_id = json["user_withheld"]["id"].get<user_id>(); 222 _withhold_user._user_id = json["user_withheld"]["id"].get<user_id>();
225 223
226 new(&_withhold_user._countries) std::vector<std::string>(); 224 new(&_withhold_user._countries) std::vector<std::string>();
227 for (auto s : json["user_withheld"]["withheld_in_countries"]) 225 for (auto s : json["user_withheld"]["withheld_in_countries"])
228 { 226 {
@@ -231,7 +229,7 @@ namespace twitter {
231 } else if (!json["disconnect"].is_null()) 229 } else if (!json["disconnect"].is_null())
232 { 230 {
233 _type = type::disconnect; 231 _type = type::disconnect;
234 232
235 switch (json["disconnect"]["code"].get<int>()) 233 switch (json["disconnect"]["code"].get<int>())
236 { 234 {
237 case 1: _disconnect = disconnect_code::shutdown; break; 235 case 1: _disconnect = disconnect_code::shutdown; break;
@@ -249,16 +247,16 @@ namespace twitter {
249 } else if (!json["friends"].is_null()) 247 } else if (!json["friends"].is_null())
250 { 248 {
251 _type = type::friends; 249 _type = type::friends;
252 250
253 new(&_friends) std::set<user_id>(std::begin(json["friends"]), std::end(json["friends"])); 251 new(&_friends) std::set<user_id>(std::begin(json["friends"]), std::end(json["friends"]));
254 } else if (!json["direct_message"].is_null()) 252 } else if (!json["direct_message"].is_null())
255 { 253 {
256 _type = type::direct; 254 _type = type::direct;
257 255
258 new(&_direct_message) direct_message(json["direct_message"].dump()); 256 new(&_direct_message) direct_message(json["direct_message"].dump());
259 } else { 257 } else {
260 _type = type::tweet; 258 _type = type::tweet;
261 259
262 new(&_tweet) tweet(data); 260 new(&_tweet) tweet(data);
263 } 261 }
264 } catch (const std::domain_error& error) 262 } catch (const std::domain_error& error)
@@ -266,20 +264,20 @@ namespace twitter {
266 std::throw_with_nested(invalid_response(data)); 264 std::throw_with_nested(invalid_response(data));
267 } 265 }
268 } 266 }
269 267
270 notification::notification(const notification& other) 268 notification::notification(const notification& other)
271 { 269 {
272 _type = other._type; 270 _type = other._type;
273 271
274 switch (_type) 272 switch (_type)
275 { 273 {
276 case type::tweet: 274 case type::tweet:
277 { 275 {
278 new(&_tweet) tweet(other._tweet); 276 new(&_tweet) tweet(other._tweet);
279 277
280 break; 278 break;
281 } 279 }
282 280
283 case type::update_user: 281 case type::update_user:
284 case type::block: 282 case type::block:
285 case type::unblock: 283 case type::unblock:
@@ -288,10 +286,10 @@ namespace twitter {
288 case type::unfollow: 286 case type::unfollow:
289 { 287 {
290 new(&_user) user(other._user); 288 new(&_user) user(other._user);
291 289
292 break; 290 break;
293 } 291 }
294 292
295 case type::favorite: 293 case type::favorite:
296 case type::favorited: 294 case type::favorited:
297 case type::unfavorite: 295 case type::unfavorite:
@@ -300,19 +298,19 @@ namespace twitter {
300 { 298 {
301 new(&_user_and_tweet._user) user(other._user_and_tweet._user); 299 new(&_user_and_tweet._user) user(other._user_and_tweet._user);
302 new(&_user_and_tweet._tweet) tweet(other._user_and_tweet._tweet); 300 new(&_user_and_tweet._tweet) tweet(other._user_and_tweet._tweet);
303 301
304 break; 302 break;
305 } 303 }
306 304
307 case type::list_created: 305 case type::list_created:
308 case type::list_destroyed: 306 case type::list_destroyed:
309 case type::list_updated: 307 case type::list_updated:
310 { 308 {
311 new(&_list) list(other._list); 309 new(&_list) list(other._list);
312 310
313 break; 311 break;
314 } 312 }
315 313
316 case type::list_add: 314 case type::list_add:
317 case type::list_added: 315 case type::list_added:
318 case type::list_remove: 316 case type::list_remove:
@@ -324,73 +322,73 @@ namespace twitter {
324 { 322 {
325 new(&_user_and_list._user) user(other._user_and_list._user); 323 new(&_user_and_list._user) user(other._user_and_list._user);
326 new(&_user_and_list._list) list(other._user_and_list._list); 324 new(&_user_and_list._list) list(other._user_and_list._list);
327 325
328 break; 326 break;
329 } 327 }
330 328
331 case type::stall: 329 case type::stall:
332 case type::follow_limit: 330 case type::follow_limit:
333 case type::unknown_warning: 331 case type::unknown_warning:
334 { 332 {
335 new(&_warning) std::string(other._warning); 333 new(&_warning) std::string(other._warning);
336 334
337 break; 335 break;
338 } 336 }
339 337
340 case type::deletion: 338 case type::deletion:
341 case type::scrub_location: 339 case type::scrub_location:
342 { 340 {
343 _user_id_and_tweet_id._user_id = other._user_id_and_tweet_id._user_id; 341 _user_id_and_tweet_id._user_id = other._user_id_and_tweet_id._user_id;
344 _user_id_and_tweet_id._tweet_id = other._user_id_and_tweet_id._tweet_id; 342 _user_id_and_tweet_id._tweet_id = other._user_id_and_tweet_id._tweet_id;
345 343
346 break; 344 break;
347 } 345 }
348 346
349 case type::limit: 347 case type::limit:
350 { 348 {
351 _limit = other._limit; 349 _limit = other._limit;
352 350
353 break; 351 break;
354 } 352 }
355 353
356 case type::withhold_status: 354 case type::withhold_status:
357 { 355 {
358 _withhold_status._user_id = other._withhold_status._user_id; 356 _withhold_status._user_id = other._withhold_status._user_id;
359 _withhold_status._tweet_id = other._withhold_status._tweet_id; 357 _withhold_status._tweet_id = other._withhold_status._tweet_id;
360 new(&_withhold_status._countries) std::vector<std::string>(other._withhold_status._countries); 358 new(&_withhold_status._countries) std::vector<std::string>(other._withhold_status._countries);
361 359
362 break; 360 break;
363 } 361 }
364 362
365 case type::withhold_user: 363 case type::withhold_user:
366 { 364 {
367 _withhold_user._user_id = other._withhold_user._user_id; 365 _withhold_user._user_id = other._withhold_user._user_id;
368 new(&_withhold_user._countries) std::vector<std::string>(other._withhold_user._countries); 366 new(&_withhold_user._countries) std::vector<std::string>(other._withhold_user._countries);
369 367
370 break; 368 break;
371 } 369 }
372 370
373 case type::disconnect: 371 case type::disconnect:
374 { 372 {
375 _disconnect = other._disconnect; 373 _disconnect = other._disconnect;
376 374
377 break; 375 break;
378 } 376 }
379 377
380 case type::friends: 378 case type::friends:
381 { 379 {
382 new(&_friends) std::set<user_id>(other._friends); 380 new(&_friends) std::set<user_id>(other._friends);
383 381
384 break; 382 break;
385 } 383 }
386 384
387 case type::direct: 385 case type::direct:
388 { 386 {
389 new(&_direct_message) direct_message(other._direct_message); 387 new(&_direct_message) direct_message(other._direct_message);
390 388
391 break; 389 break;
392 } 390 }
393 391
394 case type::unknown: 392 case type::unknown:
395 case type::invalid: 393 case type::invalid:
396 { 394 {
@@ -398,19 +396,19 @@ namespace twitter {
398 } 396 }
399 } 397 }
400 } 398 }
401 399
402 notification::notification(notification&& other) : notification() 400 notification::notification(notification&& other) : notification()
403 { 401 {
404 swap(*this, other); 402 swap(*this, other);
405 } 403 }
406 404
407 notification& notification::operator=(notification other) 405 notification& notification::operator=(notification other)
408 { 406 {
409 swap(*this, other); 407 swap(*this, other);
410 408
411 return *this; 409 return *this;
412 } 410 }
413 411
414 notification::~notification() 412 notification::~notification()
415 { 413 {
416 switch (_type) 414 switch (_type)
@@ -418,10 +416,10 @@ namespace twitter {
418 case type::tweet: 416 case type::tweet:
419 { 417 {
420 _tweet.~tweet(); 418 _tweet.~tweet();
421 419
422 break; 420 break;
423 } 421 }
424 422
425 case type::update_user: 423 case type::update_user:
426 case type::block: 424 case type::block:
427 case type::unblock: 425 case type::unblock:
@@ -430,10 +428,10 @@ namespace twitter {
430 case type::unfollow: 428 case type::unfollow:
431 { 429 {
432 _user.~user(); 430 _user.~user();
433 431
434 break; 432 break;
435 } 433 }
436 434
437 case type::favorite: 435 case type::favorite:
438 case type::favorited: 436 case type::favorited:
439 case type::unfavorite: 437 case type::unfavorite:
@@ -442,19 +440,19 @@ namespace twitter {
442 { 440 {
443 _user_and_tweet._user.~user(); 441 _user_and_tweet._user.~user();
444 _user_and_tweet._tweet.~tweet(); 442 _user_and_tweet._tweet.~tweet();
445 443
446 break; 444 break;
447 } 445 }
448 446
449 case type::list_created: 447 case type::list_created:
450 case type::list_destroyed: 448 case type::list_destroyed:
451 case type::list_updated: 449 case type::list_updated:
452 { 450 {
453 _list.~list(); 451 _list.~list();
454 452
455 break; 453 break;
456 } 454 }
457 455
458 case type::list_add: 456 case type::list_add:
459 case type::list_added: 457 case type::list_added:
460 case type::list_remove: 458 case type::list_remove:
@@ -466,51 +464,51 @@ namespace twitter {
466 { 464 {
467 _user_and_list._user.~user(); 465 _user_and_list._user.~user();
468 _user_and_list._list.~list(); 466 _user_and_list._list.~list();
469 467
470 break; 468 break;
471 } 469 }
472 470
473 case type::stall: 471 case type::stall:
474 case type::follow_limit: 472 case type::follow_limit:
475 case type::unknown_warning: 473 case type::unknown_warning:
476 { 474 {
477 using string_type = std::string; 475 using string_type = std::string;
478 _warning.~string_type(); 476 _warning.~string_type();
479 477
480 break; 478 break;
481 } 479 }
482 480
483 case type::withhold_status: 481 case type::withhold_status:
484 { 482 {
485 using list_type = std::vector<std::string>; 483 using list_type = std::vector<std::string>;
486 _withhold_status._countries.~list_type(); 484 _withhold_status._countries.~list_type();
487 485
488 break; 486 break;
489 } 487 }
490 488
491 case type::withhold_user: 489 case type::withhold_user:
492 { 490 {
493 using list_type = std::vector<std::string>; 491 using list_type = std::vector<std::string>;
494 _withhold_user._countries.~list_type(); 492 _withhold_user._countries.~list_type();
495 493
496 break; 494 break;
497 } 495 }
498 496
499 case type::friends: 497 case type::friends:
500 { 498 {
501 using list_type = std::set<user_id>; 499 using list_type = std::set<user_id>;
502 _friends.~list_type(); 500 _friends.~list_type();
503 501
504 break; 502 break;
505 } 503 }
506 504
507 case type::direct: 505 case type::direct:
508 { 506 {
509 _direct_message.~direct_message(); 507 _direct_message.~direct_message();
510 508
511 break; 509 break;
512 } 510 }
513 511
514 case type::deletion: 512 case type::deletion:
515 case type::scrub_location: 513 case type::scrub_location:
516 case type::limit: 514 case type::limit:
@@ -522,11 +520,11 @@ namespace twitter {
522 } 520 }
523 } 521 }
524 } 522 }
525 523
526 void swap(notification& first, notification& second) 524 void swap(notification& first, notification& second)
527 { 525 {
528 using type = notification::type; 526 using type = notification::type;
529 527
530 type tempType = first._type; 528 type tempType = first._type;
531 tweet tempTweet; 529 tweet tempTweet;
532 user tempUser; 530 user tempUser;
@@ -539,16 +537,16 @@ namespace twitter {
539 disconnect_code tempDisconnectCode; 537 disconnect_code tempDisconnectCode;
540 std::set<user_id> tempFriends; 538 std::set<user_id> tempFriends;
541 direct_message tempDirectMessage; 539 direct_message tempDirectMessage;
542 540
543 switch (first._type) 541 switch (first._type)
544 { 542 {
545 case type::tweet: 543 case type::tweet:
546 { 544 {
547 tempTweet = std::move(first._tweet); 545 tempTweet = std::move(first._tweet);
548 546
549 break; 547 break;
550 } 548 }
551 549
552 case type::update_user: 550 case type::update_user:
553 case type::block: 551 case type::block:
554 case type::unblock: 552 case type::unblock:
@@ -557,10 +555,10 @@ namespace twitter {
557 case type::unfollow: 555 case type::unfollow:
558 { 556 {
559 tempUser = std::move(first._user); 557 tempUser = std::move(first._user);
560 558
561 break; 559 break;
562 } 560 }
563 561
564 case type::favorite: 562 case type::favorite:
565 case type::favorited: 563 case type::favorited:
566 case type::unfavorite: 564 case type::unfavorite:
@@ -569,19 +567,19 @@ namespace twitter {
569 { 567 {
570 tempTweet = std::move(first._user_and_tweet._tweet); 568 tempTweet = std::move(first._user_and_tweet._tweet);
571 tempUser = std::move(first._user_and_tweet._user); 569 tempUser = std::move(first._user_and_tweet._user);
572 570
573 break; 571 break;
574 } 572 }
575 573
576 case type::list_created: 574 case type::list_created:
577 case type::list_destroyed: 575 case type::list_destroyed:
578 case type::list_updated: 576 case type::list_updated:
579 { 577 {
580 tempList = std::move(first._list); 578 tempList = std::move(first._list);
581 579
582 break; 580 break;
583 } 581 }
584 582
585 case type::list_add: 583 case type::list_add:
586 case type::list_added: 584 case type::list_added:
587 case type::list_remove: 585 case type::list_remove:
@@ -593,97 +591,97 @@ namespace twitter {
593 { 591 {
594 tempList = std::move(first._user_and_list._list); 592 tempList = std::move(first._user_and_list._list);
595 tempUser = std::move(first._user_and_list._user); 593 tempUser = std::move(first._user_and_list._user);
596 594
597 break; 595 break;
598 } 596 }
599 597
600 case type::stall: 598 case type::stall:
601 case type::follow_limit: 599 case type::follow_limit:
602 case type::unknown_warning: 600 case type::unknown_warning:
603 { 601 {
604 tempWarning = std::move(first._warning); 602 tempWarning = std::move(first._warning);
605 603
606 break; 604 break;
607 } 605 }
608 606
609 case type::deletion: 607 case type::deletion:
610 case type::scrub_location: 608 case type::scrub_location:
611 { 609 {
612 tempUserId = first._user_id_and_tweet_id._user_id; 610 tempUserId = first._user_id_and_tweet_id._user_id;
613 tempTweetId = first._user_id_and_tweet_id._tweet_id; 611 tempTweetId = first._user_id_and_tweet_id._tweet_id;
614 612
615 break; 613 break;
616 } 614 }
617 615
618 case type::limit: 616 case type::limit:
619 { 617 {
620 tempLimit = first._limit; 618 tempLimit = first._limit;
621 619
622 break; 620 break;
623 } 621 }
624 622
625 case type::withhold_status: 623 case type::withhold_status:
626 { 624 {
627 tempUserId = first._withhold_status._user_id; 625 tempUserId = first._withhold_status._user_id;
628 tempTweetId = first._withhold_status._tweet_id; 626 tempTweetId = first._withhold_status._tweet_id;
629 tempCountries = std::move(first._withhold_status._countries); 627 tempCountries = std::move(first._withhold_status._countries);
630 628
631 break; 629 break;
632 } 630 }
633 631
634 case type::withhold_user: 632 case type::withhold_user:
635 { 633 {
636 tempUserId = first._withhold_user._user_id; 634 tempUserId = first._withhold_user._user_id;
637 tempCountries = std::move(first._withhold_user._countries); 635 tempCountries = std::move(first._withhold_user._countries);
638 636
639 break; 637 break;
640 } 638 }
641 639
642 case type::disconnect: 640 case type::disconnect:
643 { 641 {
644 tempDisconnectCode = first._disconnect; 642 tempDisconnectCode = first._disconnect;
645 643
646 break; 644 break;
647 } 645 }
648 646
649 case type::friends: 647 case type::friends:
650 { 648 {
651 tempFriends = std::move(first._friends); 649 tempFriends = std::move(first._friends);
652 650
653 break; 651 break;
654 } 652 }
655 653
656 case type::direct: 654 case type::direct:
657 { 655 {
658 tempDirectMessage = std::move(first._direct_message); 656 tempDirectMessage = std::move(first._direct_message);
659 657
660 break; 658 break;
661 } 659 }
662 660
663 case type::invalid: 661 case type::invalid:
664 case type::unknown: 662 case type::unknown:
665 { 663 {
666 break; 664 break;
667 } 665 }
668 } 666 }
669 667
670 first.~notification(); 668 first.~notification();
671 669
672 first._type = second._type; 670 first._type = second._type;
673 671
674 // Okay now you need to initialize the first with the data from the second 672 // Okay now you need to initialize the first with the data from the second
675 // And then destruct the second and initialize it with the data stored in temp 673 // And then destruct the second and initialize it with the data stored in temp
676 // This is hell 674 // This is hell
677 675
678 switch (second._type) 676 switch (second._type)
679 { 677 {
680 case type::tweet: 678 case type::tweet:
681 { 679 {
682 new(&first._tweet) tweet(std::move(second._tweet)); 680 new(&first._tweet) tweet(std::move(second._tweet));
683 681
684 break; 682 break;
685 } 683 }
686 684
687 case type::update_user: 685 case type::update_user:
688 case type::block: 686 case type::block:
689 case type::unblock: 687 case type::unblock:
@@ -692,10 +690,10 @@ namespace twitter {
692 case type::unfollow: 690 case type::unfollow:
693 { 691 {
694 new(&first._user) user(std::move(second._user)); 692 new(&first._user) user(std::move(second._user));
695 693
696 break; 694 break;
697 } 695 }
698 696
699 case type::favorite: 697 case type::favorite:
700 case type::favorited: 698 case type::favorited:
701 case type::unfavorite: 699 case type::unfavorite:
@@ -704,19 +702,19 @@ namespace twitter {
704 { 702 {
705 new(&first._user_and_tweet._user) user(std::move(second._user_and_tweet._user)); 703 new(&first._user_and_tweet._user) user(std::move(second._user_and_tweet._user));
706 new(&first._user_and_tweet._tweet) tweet(std::move(second._user_and_tweet._tweet)); 704 new(&first._user_and_tweet._tweet) tweet(std::move(second._user_and_tweet._tweet));
707 705
708 break; 706 break;
709 } 707 }
710 708
711 case type::list_created: 709 case type::list_created:
712 case type::list_destroyed: 710 case type::list_destroyed:
713 case type::list_updated: 711 case type::list_updated:
714 { 712 {
715 new(&first._list) list(std::move(second._list)); 713 new(&first._list) list(std::move(second._list));
716 714
717 break; 715 break;
718 } 716 }
719 717
720 case type::list_add: 718 case type::list_add:
721 case type::list_added: 719 case type::list_added:
722 case type::list_remove: 720 case type::list_remove:
@@ -728,94 +726,94 @@ namespace twitter {
728 { 726 {
729 new(&first._user_and_list._user) user(std::move(second._user_and_list._user)); 727 new(&first._user_and_list._user) user(std::move(second._user_and_list._user));
730 new(&first._user_and_list._list) list(std::move(second._user_and_list._list)); 728 new(&first._user_and_list._list) list(std::move(second._user_and_list._list));
731 729
732 break; 730 break;
733 } 731 }
734 732
735 case type::stall: 733 case type::stall:
736 case type::follow_limit: 734 case type::follow_limit:
737 case type::unknown_warning: 735 case type::unknown_warning:
738 { 736 {
739 new(&first._warning) std::string(std::move(second._warning)); 737 new(&first._warning) std::string(std::move(second._warning));
740 738
741 break; 739 break;
742 } 740 }
743 741
744 case type::deletion: 742 case type::deletion:
745 case type::scrub_location: 743 case type::scrub_location:
746 { 744 {
747 first._user_id_and_tweet_id._user_id = second._user_id_and_tweet_id._user_id; 745 first._user_id_and_tweet_id._user_id = second._user_id_and_tweet_id._user_id;
748 first._user_id_and_tweet_id._tweet_id = second._user_id_and_tweet_id._tweet_id; 746 first._user_id_and_tweet_id._tweet_id = second._user_id_and_tweet_id._tweet_id;
749 747
750 break; 748 break;
751 } 749 }
752 750
753 case type::limit: 751 case type::limit:
754 { 752 {
755 first._limit = second._limit; 753 first._limit = second._limit;
756 754
757 break; 755 break;
758 } 756 }
759 757
760 case type::withhold_status: 758 case type::withhold_status:
761 { 759 {
762 first._withhold_status._user_id = second._withhold_status._user_id; 760 first._withhold_status._user_id = second._withhold_status._user_id;
763 first._withhold_status._tweet_id = second._withhold_status._tweet_id; 761 first._withhold_status._tweet_id = second._withhold_status._tweet_id;
764 new(&first._withhold_status._countries) std::vector<std::string>(std::move(second._withhold_status._countries)); 762 new(&first._withhold_status._countries) std::vector<std::string>(std::move(second._withhold_status._countries));
765 763
766 break; 764 break;
767 } 765 }
768 766
769 case type::withhold_user: 767 case type::withhold_user:
770 { 768 {
771 first._withhold_user._user_id = second._withhold_user._user_id; 769 first._withhold_user._user_id = second._withhold_user._user_id;
772 new(&first._withhold_user._countries) std::vector<std::string>(std::move(second._withhold_user._countries)); 770 new(&first._withhold_user._countries) std::vector<std::string>(std::move(second._withhold_user._countries));
773 771
774 break; 772 break;
775 } 773 }
776 774
777 case type::disconnect: 775 case type::disconnect:
778 { 776 {
779 first._disconnect = second._disconnect; 777 first._disconnect = second._disconnect;
780 778
781 break; 779 break;
782 } 780 }
783 781
784 case type::friends: 782 case type::friends:
785 { 783 {
786 new(&first._friends) std::set<user_id>(std::move(second._friends)); 784 new(&first._friends) std::set<user_id>(std::move(second._friends));
787 785
788 break; 786 break;
789 } 787 }
790 788
791 case type::direct: 789 case type::direct:
792 { 790 {
793 new(&first._direct_message) direct_message(std::move(second._direct_message)); 791 new(&first._direct_message) direct_message(std::move(second._direct_message));
794 792
795 break; 793 break;
796 } 794 }
797 795
798 case type::invalid: 796 case type::invalid:
799 case type::unknown: 797 case type::unknown:
800 { 798 {
801 break; 799 break;
802 } 800 }
803 } 801 }
804 802
805 // Now destruct the second and initialize it with data from the first 803 // Now destruct the second and initialize it with data from the first
806 second.~notification(); 804 second.~notification();
807 805
808 second._type = tempType; 806 second._type = tempType;
809 807
810 switch (tempType) 808 switch (tempType)
811 { 809 {
812 case type::tweet: 810 case type::tweet:
813 { 811 {
814 new(&second._tweet) tweet(std::move(tempTweet)); 812 new(&second._tweet) tweet(std::move(tempTweet));
815 813
816 break; 814 break;
817 } 815 }
818 816
819 case type::update_user: 817 case type::update_user:
820 case type::block: 818 case type::block:
821 case type::unblock: 819 case type::unblock:
@@ -824,10 +822,10 @@ namespace twitter {
824 case type::unfollow: 822 case type::unfollow:
825 { 823 {
826 new(&second._user) user(std::move(tempUser)); 824 new(&second._user) user(std::move(tempUser));
827 825
828 break; 826 break;
829 } 827 }
830 828
831 case type::favorite: 829 case type::favorite:
832 case type::favorited: 830 case type::favorited:
833 case type::unfavorite: 831 case type::unfavorite:
@@ -836,19 +834,19 @@ namespace twitter {
836 { 834 {
837 new(&second._user_and_tweet._user) user(std::move(tempUser)); 835 new(&second._user_and_tweet._user) user(std::move(tempUser));
838 new(&second._user_and_tweet._tweet) tweet(std::move(tempTweet)); 836 new(&second._user_and_tweet._tweet) tweet(std::move(tempTweet));
839 837
840 break; 838 break;
841 } 839 }
842 840
843 case type::list_created: 841 case type::list_created:
844 case type::list_destroyed: 842 case type::list_destroyed:
845 case type::list_updated: 843 case type::list_updated:
846 { 844 {
847 new(&second._list) list(std::move(tempList)); 845 new(&second._list) list(std::move(tempList));
848 846
849 break; 847 break;
850 } 848 }
851 849
852 case type::list_add: 850 case type::list_add:
853 case type::list_added: 851 case type::list_added:
854 case type::list_remove: 852 case type::list_remove:
@@ -860,73 +858,73 @@ namespace twitter {
860 { 858 {
861 new(&second._user_and_list._user) user(std::move(tempUser)); 859 new(&second._user_and_list._user) user(std::move(tempUser));
862 new(&second._user_and_list._list) list(std::move(tempList)); 860 new(&second._user_and_list._list) list(std::move(tempList));
863 861
864 break; 862 break;
865 } 863 }
866 864
867 case type::stall: 865 case type::stall:
868 case type::follow_limit: 866 case type::follow_limit:
869 case type::unknown_warning: 867 case type::unknown_warning:
870 { 868 {
871 new(&second._warning) std::string(std::move(tempWarning)); 869 new(&second._warning) std::string(std::move(tempWarning));
872 870
873 break; 871 break;
874 } 872 }
875 873
876 case type::deletion: 874 case type::deletion:
877 case type::scrub_location: 875 case type::scrub_location:
878 { 876 {
879 second._user_id_and_tweet_id._user_id = tempUserId; 877 second._user_id_and_tweet_id._user_id = tempUserId;
880 second._user_id_and_tweet_id._tweet_id = tempTweetId; 878 second._user_id_and_tweet_id._tweet_id = tempTweetId;
881 879
882 break; 880 break;
883 } 881 }
884 882
885 case type::limit: 883 case type::limit:
886 { 884 {
887 second._limit = tempLimit; 885 second._limit = tempLimit;
888 886
889 break; 887 break;
890 } 888 }
891 889
892 case type::withhold_status: 890 case type::withhold_status:
893 { 891 {
894 second._withhold_status._user_id = tempUserId; 892 second._withhold_status._user_id = tempUserId;
895 second._withhold_status._tweet_id = tempTweetId; 893 second._withhold_status._tweet_id = tempTweetId;
896 new(&second._withhold_status._countries) std::vector<std::string>(std::move(tempCountries)); 894 new(&second._withhold_status._countries) std::vector<std::string>(std::move(tempCountries));
897 895
898 break; 896 break;
899 } 897 }
900 898
901 case type::withhold_user: 899 case type::withhold_user:
902 { 900 {
903 second._withhold_user._user_id = tempUserId; 901 second._withhold_user._user_id = tempUserId;
904 new(&second._withhold_user._countries) std::vector<std::string>(std::move(tempCountries)); 902 new(&second._withhold_user._countries) std::vector<std::string>(std::move(tempCountries));
905 903
906 break; 904 break;
907 } 905 }
908 906
909 case type::disconnect: 907 case type::disconnect:
910 { 908 {
911 second._disconnect = tempDisconnectCode; 909 second._disconnect = tempDisconnectCode;
912 910
913 break; 911 break;
914 } 912 }
915 913
916 case type::friends: 914 case type::friends:
917 { 915 {
918 new(&second._friends) std::set<user_id>(std::move(tempFriends)); 916 new(&second._friends) std::set<user_id>(std::move(tempFriends));
919 917
920 break; 918 break;
921 } 919 }
922 920
923 case type::direct: 921 case type::direct:
924 { 922 {
925 new(&second._direct_message) direct_message(std::move(tempDirectMessage)); 923 new(&second._direct_message) direct_message(std::move(tempDirectMessage));
926 924
927 break; 925 break;
928 } 926 }
929 927
930 case type::invalid: 928 case type::invalid:
931 case type::unknown: 929 case type::unknown:
932 { 930 {
@@ -934,7 +932,7 @@ namespace twitter {
934 } 932 }
935 } 933 }
936 } 934 }
937 935
938 const tweet& notification::getTweet() const 936 const tweet& notification::getTweet() const
939 { 937 {
940 switch (_type) 938 switch (_type)
@@ -943,7 +941,7 @@ namespace twitter {
943 { 941 {
944 return _tweet; 942 return _tweet;
945 } 943 }
946 944
947 case type::favorite: 945 case type::favorite:
948 case type::favorited: 946 case type::favorited:
949 case type::unfavorite: 947 case type::unfavorite:
@@ -952,14 +950,14 @@ namespace twitter {
952 { 950 {
953 return _user_and_tweet._tweet; 951 return _user_and_tweet._tweet;
954 } 952 }
955 953
956 default: 954 default:
957 { 955 {
958 assert(false); 956 assert(false);
959 } 957 }
960 } 958 }
961 } 959 }
962 960
963 const user& notification::getUser() const 961 const user& notification::getUser() const
964 { 962 {
965 switch (_type) 963 switch (_type)
@@ -973,7 +971,7 @@ namespace twitter {
973 { 971 {
974 return _user; 972 return _user;
975 } 973 }
976 974
977 case type::favorite: 975 case type::favorite:
978 case type::favorited: 976 case type::favorited:
979 case type::unfavorite: 977 case type::unfavorite:
@@ -982,7 +980,7 @@ namespace twitter {
982 { 980 {
983 return _user_and_tweet._user; 981 return _user_and_tweet._user;
984 } 982 }
985 983
986 case type::list_add: 984 case type::list_add:
987 case type::list_added: 985 case type::list_added:
988 case type::list_remove: 986 case type::list_remove:
@@ -994,25 +992,25 @@ namespace twitter {
994 { 992 {
995 return _user_and_list._user; 993 return _user_and_list._user;
996 } 994 }
997 995
998 default: 996 default:
999 { 997 {
1000 assert(false); 998 assert(false);
1001 } 999 }
1002 } 1000 }
1003 } 1001 }
1004 1002
1005 const list& notification::getList() const 1003 const list& notification::getList() const
1006 { 1004 {
1007 switch (_type) 1005 switch (_type)
1008 { 1006 {
1009 case type::list_created: 1007 case type::list_created:
1010 case type::list_destroyed: 1008 case type::list_destroyed:
1011 case type::list_updated: 1009 case type::list_updated:
1012 { 1010 {
1013 return _list; 1011 return _list;
1014 } 1012 }
1015 1013
1016 case type::list_add: 1014 case type::list_add:
1017 case type::list_added: 1015 case type::list_added:
1018 case type::list_remove: 1016 case type::list_remove:
@@ -1024,14 +1022,14 @@ namespace twitter {
1024 { 1022 {
1025 return _user_and_list._list; 1023 return _user_and_list._list;
1026 } 1024 }
1027 1025
1028 default: 1026 default:
1029 { 1027 {
1030 assert(false); 1028 assert(false);
1031 } 1029 }
1032 } 1030 }
1033 } 1031 }
1034 1032
1035 tweet_id notification::getTweetID() const 1033 tweet_id notification::getTweetID() const
1036 { 1034 {
1037 switch (_type) 1035 switch (_type)
@@ -1041,19 +1039,19 @@ namespace twitter {
1041 { 1039 {
1042 return _user_id_and_tweet_id._tweet_id; 1040 return _user_id_and_tweet_id._tweet_id;
1043 } 1041 }
1044 1042
1045 case type::withhold_status: 1043 case type::withhold_status:
1046 { 1044 {
1047 return _withhold_status._tweet_id; 1045 return _withhold_status._tweet_id;
1048 } 1046 }
1049 1047
1050 default: 1048 default:
1051 { 1049 {
1052 assert(false); 1050 assert(false);
1053 } 1051 }
1054 } 1052 }
1055 } 1053 }
1056 1054
1057 void notification::setTweetID(tweet_id _arg) 1055 void notification::setTweetID(tweet_id _arg)
1058 { 1056 {
1059 switch (_type) 1057 switch (_type)
@@ -1063,34 +1061,34 @@ namespace twitter {
1063 { 1061 {
1064 _user_id_and_tweet_id._tweet_id = _arg;; 1062 _user_id_and_tweet_id._tweet_id = _arg;;
1065 } 1063 }
1066 1064
1067 case type::withhold_status: 1065 case type::withhold_status:
1068 { 1066 {
1069 _withhold_status._tweet_id = _arg; 1067 _withhold_status._tweet_id = _arg;
1070 } 1068 }
1071 1069
1072 default: 1070 default:
1073 { 1071 {
1074 assert(false); 1072 assert(false);
1075 } 1073 }
1076 } 1074 }
1077 } 1075 }
1078 1076
1079 user_id notification::getUserID() const 1077 user_id notification::getUserID() const
1080 { 1078 {
1081 switch (_type) 1079 switch (_type)
1082 { 1080 {
1083 case type::deletion: 1081 case type::deletion:
1084 case type::scrub_location: 1082 case type::scrub_location:
1085 { 1083 {
1086 return _user_id_and_tweet_id._user_id; 1084 return _user_id_and_tweet_id._user_id;
1087 } 1085 }
1088 1086
1089 case type::withhold_status: 1087 case type::withhold_status:
1090 { 1088 {
1091 return _withhold_status._user_id; 1089 return _withhold_status._user_id;
1092 } 1090 }
1093 1091
1094 case type::withhold_user: 1092 case type::withhold_user:
1095 { 1093 {
1096 return _withhold_user._user_id; 1094 return _withhold_user._user_id;
@@ -1102,22 +1100,22 @@ namespace twitter {
1102 } 1100 }
1103 } 1101 }
1104 } 1102 }
1105 1103
1106 void notification::setUserID(user_id _arg) 1104 void notification::setUserID(user_id _arg)
1107 { 1105 {
1108 switch (_type) 1106 switch (_type)
1109 { 1107 {
1110 case type::deletion: 1108 case type::deletion:
1111 case type::scrub_location: 1109 case type::scrub_location:
1112 { 1110 {
1113 _user_id_and_tweet_id._user_id = _arg; 1111 _user_id_and_tweet_id._user_id = _arg;
1114 } 1112 }
1115 1113
1116 case type::withhold_status: 1114 case type::withhold_status:
1117 { 1115 {
1118 _withhold_status._user_id = _arg; 1116 _withhold_status._user_id = _arg;
1119 } 1117 }
1120 1118
1121 case type::withhold_user: 1119 case type::withhold_user:
1122 { 1120 {
1123 _withhold_user._user_id = _arg; 1121 _withhold_user._user_id = _arg;
@@ -1129,16 +1127,16 @@ namespace twitter {
1129 } 1127 }
1130 } 1128 }
1131 } 1129 }
1132 1130
1133 const std::vector<std::string>& notification::getCountries() const 1131 const std::vector<std::string>& notification::getCountries() const
1134 { 1132 {
1135 switch (_type) 1133 switch (_type)
1136 { 1134 {
1137 case type::withhold_status: 1135 case type::withhold_status:
1138 { 1136 {
1139 return _withhold_status._countries; 1137 return _withhold_status._countries;
1140 } 1138 }
1141 1139
1142 case type::withhold_user: 1140 case type::withhold_user:
1143 { 1141 {
1144 return _withhold_user._countries; 1142 return _withhold_user._countries;
@@ -1150,49 +1148,49 @@ namespace twitter {
1150 } 1148 }
1151 } 1149 }
1152 } 1150 }
1153 1151
1154 disconnect_code notification::getDisconnectCode() const 1152 disconnect_code notification::getDisconnectCode() const
1155 { 1153 {
1156 assert(_type == type::disconnect); 1154 assert(_type == type::disconnect);
1157 1155
1158 return _disconnect; 1156 return _disconnect;
1159 } 1157 }
1160 1158
1161 void notification::setDisconnectCode(disconnect_code _arg) 1159 void notification::setDisconnectCode(disconnect_code _arg)
1162 { 1160 {
1163 assert(_type == type::disconnect); 1161 assert(_type == type::disconnect);
1164 1162
1165 _disconnect = _arg; 1163 _disconnect = _arg;
1166 } 1164 }
1167 1165
1168 const std::set<user_id>& notification::getFriends() const 1166 const std::set<user_id>& notification::getFriends() const
1169 { 1167 {
1170 assert(_type == type::friends); 1168 assert(_type == type::friends);
1171 1169
1172 return _friends; 1170 return _friends;
1173 } 1171 }
1174 1172
1175 const direct_message& notification::getDirectMessage() const 1173 const direct_message& notification::getDirectMessage() const
1176 { 1174 {
1177 assert(_type == type::direct); 1175 assert(_type == type::direct);
1178 1176
1179 return _direct_message; 1177 return _direct_message;
1180 } 1178 }
1181 1179
1182 int notification::getLimit() const 1180 int notification::getLimit() const
1183 { 1181 {
1184 assert(_type == type::limit); 1182 assert(_type == type::limit);
1185 1183
1186 return _limit; 1184 return _limit;
1187 } 1185 }
1188 1186
1189 void notification::setLimit(int _arg) 1187 void notification::setLimit(int _arg)
1190 { 1188 {
1191 assert(_type == type::limit); 1189 assert(_type == type::limit);
1192 1190
1193 _limit = _arg; 1191 _limit = _arg;
1194 } 1192 }
1195 1193
1196 const std::string& notification::getWarning() const 1194 const std::string& notification::getWarning() const
1197 { 1195 {
1198 switch (_type) 1196 switch (_type)
@@ -1203,12 +1201,12 @@ namespace twitter {
1203 { 1201 {
1204 return _warning; 1202 return _warning;
1205 } 1203 }
1206 1204
1207 default: 1205 default:
1208 { 1206 {
1209 assert(false); 1207 assert(false);
1210 } 1208 }
1211 } 1209 }
1212 } 1210 }
1213 1211
1214}; 1212};