Files @ c8f605bbfcc9
Branch filter:

Location: libtransport.git/backends/twitter/TwitterResponseParser.h - annotation

Jan Kaluza
simple benchmark
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
26e5289cefeb
26e5289cefeb
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
d7f234fb19cb
929b49d6412d
929b49d6412d
929b49d6412d
9111a3993741
929b49d6412d
e9891aa2000a
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
bdb8aed78f63
929b49d6412d
929b49d6412d
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
ffd0baea6fd9
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
bdb8aed78f63
929b49d6412d
ffd0baea6fd9
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
bdb8aed78f63
929b49d6412d
ffd0baea6fd9
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
bdb8aed78f63
929b49d6412d
ffd0baea6fd9
929b49d6412d
929b49d6412d
ffd0baea6fd9
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
7142ccb570ed
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
7142ccb570ed
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
7142ccb570ed
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
7142ccb570ed
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
929b49d6412d
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
11937227ff60
c236c464ffac
c236c464ffac
c236c464ffac
c236c464ffac
c236c464ffac
c236c464ffac
c236c464ffac
c236c464ffac
c236c464ffac
c236c464ffac
c236c464ffac
c236c464ffac
c236c464ffac
929b49d6412d
11937227ff60
26e5289cefeb
9111a3993741
bdb8aed78f63
c236c464ffac
11937227ff60
929b49d6412d
11937227ff60
929b49d6412d
929b49d6412d
#ifndef TWITTERRESPOSNSEPARSER_H
#define TWITTERRESPOSNSEPARSER_H

#include "Swiften/Parser/StringTreeParser.h"
#include <iostream>
#include <vector>

namespace TwitterReponseTypes
{
	const std::string id = "id";
	const std::string id_list = "id_list";
	const std::string ids = "ids";
	const std::string name = "name";
	const std::string screen_name = "screen_name";
	const std::string statuses_count = "statuses_count";
	const std::string created_at = "created_at";
	const std::string text = "text";
	const std::string truncated = "truncated";
	const std::string in_reply_to_status_id = "in_reply_to_user_id";
	const std::string in_reply_to_user_id = "in_reply_to_user_id";
	const std::string in_reply_to_screen_name = "in_reply_to_screen_name";
	const std::string retweet_count = "retweet_count";
	const std::string retweeted_status = "retweeted_status";
	const std::string favorited = "favorited";
	const std::string retweeted = "retweeted";
	const std::string user = "user";
	const std::string users = "users";
	const std::string status = "status";
	const std::string error = "error";
	const std::string direct_message = "direct_message";
	const std::string directmessages = "direct-messages";
	const std::string sender_id = "sender_id";
	const std::string recipient_id = "recipient_id";
	const std::string sender_screen_name = "sender_screen_name";
	const std::string recipient_screen_name = "recipient_screen_name";
	const std::string sender = "sender";
   	const std::string recipient = "recipient";
	const std::string profile_image_url = "profile_image_url";
};

//Class representing an embedded status object within other objects such as the User object.
//Note: Not possible to user Status due to circular dependency
class EmbeddedStatus
{
	std::string created_at;
	std::string ID;
	std::string text;
	bool truncated;
	std::string in_reply_to_status_id;
	std::string in_reply_to_user_id;
	std::string in_reply_to_screen_name;
	unsigned int retweet_count;
	bool favorited;
	bool retweeted;
	
	public:
	EmbeddedStatus():created_at(""),ID(""),text(""),truncated(false),in_reply_to_status_id(""),
	         in_reply_to_user_id(""),in_reply_to_screen_name(""),retweet_count(0),
	         favorited(false),retweeted(0){}
	
	std::string getCreationTime() {return created_at;}
	std::string getID() {return ID;}
	std::string getTweet() {return text;}
	bool isTruncated() {return truncated;}
	std::string getReplyToStatusID() {return in_reply_to_status_id;}
	std::string getReplyToUserID() {return in_reply_to_user_id;}
	std::string getReplyToScreenName() {return in_reply_to_screen_name;}
	unsigned int getRetweetCount() {return retweet_count;}
	bool isFavorited() {return favorited;}
	bool isRetweeted() {return retweeted;}
	
	void setCreationTime(std::string _created) {created_at = _created;}
	void setID(std::string _id) {ID = _id;}
	void setTweet(std::string _text) {text = _text;}
	void setTruncated(bool val) {truncated = val;}
	void setReplyToStatusID(std::string _id) {in_reply_to_status_id = _id;}
	void setReplyToUserID(std::string _id) {in_reply_to_user_id = _id;}
	void setReplyToScreenName(std::string _name) {in_reply_to_screen_name = _name;}
	void setRetweetCount(unsigned int rc) {retweet_count = rc;}
	void setFavorited(bool val) {favorited = val;}
	void setRetweeted(bool val) {retweeted = val;}
};

//Class holding user data
class User
{
	std::string ID;
	std::string name;
	std::string screen_name;
	std::string profile_image_url;
	unsigned int statuses_count;
	EmbeddedStatus last_status;

	public:
	User():ID(""),name(""),screen_name(""),statuses_count(0){}

	std::string getUserID() {return ID;}
	std::string getUserName() {return name;}
	std::string getScreenName() {return screen_name;}
	std::string getProfileImgURL() {return profile_image_url;}
	unsigned int getNumberOfTweets() {return statuses_count;}
	EmbeddedStatus getLastStatus() {return last_status;}
	
	
	void setUserID(std::string _id) {ID = _id;}
	void setUserName(std::string _name) {name = _name;}
	void setScreenName(std::string _screen) {screen_name = _screen;}
	void setProfileImgURL(std::string _url) {profile_image_url = _url;}
	void setNumberOfTweets(unsigned int sc) {statuses_count  = sc;}
	void setLastStatus(EmbeddedStatus _last_status) {last_status = _last_status;}
};


//Class representing a status (tweet)
class Status
{
	std::string created_at;
	std::string ID;
	std::string retweetID;	
	std::string text;
	bool truncated;
	std::string in_reply_to_status_id;
	std::string in_reply_to_user_id;
	std::string in_reply_to_screen_name;
	User user;
	unsigned int retweet_count;
	bool favorited;
	bool retweeted;

	public:
		Status():created_at(""),ID(""),retweetID(""),text(""),truncated(false),in_reply_to_status_id(""),
	         in_reply_to_user_id(""),in_reply_to_screen_name(""),user(User()),retweet_count(0),
	         favorited(false),retweeted(0){}
	
	std::string getCreationTime() {return created_at;}
	std::string getID() {return ID;}
	std::string getRetweetID() {return retweetID;}	
	std::string getTweet() {return text;}
	bool isTruncated() {return truncated;}
	std::string getReplyToStatusID() {return in_reply_to_status_id;}
	std::string getReplyToUserID() {return in_reply_to_user_id;}
	std::string getReplyToScreenName() {return in_reply_to_screen_name;}
	User getUserData() {return user;}
	unsigned int getRetweetCount() {return retweet_count;}
	bool isFavorited() {return favorited;}
	bool isRetweeted() {return retweeted;}
	
	void setCreationTime(std::string _created) {created_at = _created;}
	void setID(std::string _id) {ID = _id;}
	void setRetweetID(std::string _id) {retweetID = _id;}	
	void setTweet(std::string _text) {text = _text;}
	void setTruncated(bool val) {truncated = val;}
	void setReplyToStatusID(std::string _id) {in_reply_to_status_id = _id;}
	void setReplyToUserID(std::string _id) {in_reply_to_user_id = _id;}
	void setReplyToScreenName(std::string _name) {in_reply_to_screen_name = _name;}
	void setUserData(User u) {user = u;}
	void setRetweetCount(unsigned int rc) {retweet_count = rc;}
	void setFavorited(bool val) {favorited = val;}
	void setRetweeted(bool val) {retweeted = val;}
};

//Class representing a Direct Message
class DirectMessage
{
	std::string created_at;
	std::string ID;
	std::string text;
	std::string sender_id;
	std::string recipient_id;
	std::string sender_screen_name;
	std::string recipient_screen_name;
	User sender, recipient;

	public:
	DirectMessage():created_at(""),ID(""),text(""),sender_id(""),recipient_id(""),
			 sender_screen_name(""),recipient_screen_name(""),sender(User()),recipient(User()){}
	
	std::string getCreationTime() {return created_at;}
	std::string getID() {return ID;}
	std::string getMessage() {return text;}
	std::string getSenderID() {return sender_id;}
	std::string getRecipientID() {return recipient_id;}
	std::string getSenderScreenName() {return sender_screen_name;}
	std::string getRecipientScreenName() {return recipient_screen_name;}
	User getSenderData() {return sender;}
	User getRecipientData() {return recipient;}
	
	void setCreationTime(std::string _created) {created_at = _created;}
	void setID(std::string _id) {ID = _id;}
	void setMessage(std::string _text) {text = _text;}
	void setSenderID(std::string _id) {sender_id = _id;}
	void setRecipientID(std::string _id) {recipient_id = _id;}
	void setSenderScreenName(std::string _name) {sender_screen_name = _name;}
	void setRecipientScreenName(std::string _name) {recipient_screen_name = _name;}
	void setSenderData(User u) {sender = u;}
	void setRecipientData(User u) {recipient = u;}
};

class Error
{
	std::string code;
	std::string message;
	public:
	Error():code(""),message(""){}
	std::string getCode() {return code;}
	std::string getMessage() {return message;}

	void setCode(std::string &_code) {code = _code;}
	void setMessage(std::string &_message) {message = _message;}
};

std::vector<Status> getTimeline(std::string &xml);
std::vector<DirectMessage> getDirectMessages(std::string &xml);
std::vector<std::string> getIDs(std::string &xml);
std::vector<User> getUsers(std::string &xml);
User getUser(std::string &xml);
Error getErrorMessage(std::string &xml);

Status getStatus(const Swift::ParserElement::ref &element, const std::string xmlns);
DirectMessage getDirectMessage(const Swift::ParserElement::ref &element, const std::string xmlns);
User getUser(const Swift::ParserElement::ref &element, const std::string xmlns);
#endif