diff --git a/spectrum/src/frontends/xmpp/XMPPUser.h b/spectrum/src/frontends/xmpp/XMPPUser.h new file mode 100644 index 0000000000000000000000000000000000000000..5feb31a8d1de20446bd079ddbe4146e021b13976 --- /dev/null +++ b/spectrum/src/frontends/xmpp/XMPPUser.h @@ -0,0 +1,67 @@ +/** + * libtransport -- C++ library for easy XMPP Transports development + * + * Copyright (C) 2011, Jan Kaluza + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA + */ + +#pragma once + +#include "transport/user.h" +#include +#include "Swiften/Disco/EntityCapsManager.h" +#include "Swiften/Disco/EntityCapsProvider.h" +#include +#include "Swiften/Elements/SpectrumErrorPayload.h" +#include "Swiften/Network/Timer.h" +#include "Swiften/Network/Connection.h" + +namespace Transport { + +class Component; +class RosterManager; +class ConversationManager; +class UserManager; +class PresenceOracle; +struct UserInfo; + +/// Represents online XMPP user. +class XMPPUser : public User { + public: + /// Creates new User class. + /// \param jid XMPP JID associated with this user + /// \param userInfo UserInfo struct with informations needed to connect + /// this user to legacy network + /// \param component Component associated with this user + XMPPUser(const Swift::JID &jid, UserInfo &userInfo, Component * component, UserManager *userManager); + + /// Destroyes User. + virtual ~XMPPUser(); + + void disconnectUser(const std::string &error, Swift::SpectrumErrorPayload::Error e); + + + + private: + void onConnectingTimeout(); + + Swift::JID m_jid; + Component *m_component; + UserManager *m_userManager; + UserInfo m_userInfo; +}; + +}