#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"// for signal handler#include"unistd.h"#include"signal.h"#include"sys/wait.h"#include"sys/signal.h"// Boost#include<boost/algorithm/string.hpp>usingnamespaceboost::filesystem;usingnamespaceboost::program_options;usingnamespaceTransport;classYahooHandler;classYahooLocalAccount{public:YahooLocalAccount(conststd::string&user,conststd::string&legacyName,conststd::string&password);virtual~YahooLocalAccount();voidlogin();voidaddHandler(YahooHandler*handler);voidremoveOldHandlers();voidremoveConn(intconn_tag);std::stringuser;intid;std::map<int,boost::shared_ptr<Swift::Connection>>conns;intconn_tag;std::map<int,YahooHandler*>handlers;std::map<int,std::map<int,YahooHandler*>>handlers_per_conn;std::map<std::string,std::string>urls;inthandler_tag;intstatus;std::stringmsg;std::stringbuffer;};