Files @ 372ee69043f1
Branch filter:

Location: libtransport.git/backends/libyahoo2/yahoolocalaccount.h

Jan Kaluza
Create directories with proper owner/group/permissions. Moved StorageBackend related methods from Util into StorageBackend
#pragma once

// Transport includes
#include "transport/config.h"
#include "transport/networkplugin.h"
#include "transport/logging.h"

// Yahoo2
#include <yahoo2.h>
#include <yahoo2_callbacks.h>
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>

// Swiften
#include "Swiften/Swiften.h"
#include "Swiften/TLS/OpenSSL/OpenSSLContextFactory.h"

// Boost
#include <boost/algorithm/string.hpp>

using namespace boost::filesystem;
using namespace boost::program_options;
using namespace Transport;

class YahooHandler;

class YahooLocalAccount {
	public:
		YahooLocalAccount(const std::string &user, const std::string &legacyName, const std::string &password);
		virtual ~YahooLocalAccount();

		void login();

		void addHandler(YahooHandler *handler);
		void removeOldHandlers();
		void removeConn(int conn_tag);

		std::string user;
		int id;
		std::map<int, boost::shared_ptr<Swift::Connection> > conns;
		int conn_tag;
		std::map<int, YahooHandler *> handlers;
		std::map<int, std::map<int, YahooHandler *> > handlers_per_conn;
		std::map<std::string, std::string> urls;
		int handler_tag;
		int status;
		std::string msg;
		std::string buffer;
};