Files @ 79b50300351f
Branch filter:

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

Jan Kaluza
Check if the user is in room before sending information about nick change. Fixes bug when users have been added to all rooms when they changed their IRC nickname
#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;
};