/* * Copyright (c) 2011 Tobias Markmann * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #pragma once #include #include namespace Swift { class JingleSessionManager; class IQRouter; class EntityCapsProvider; class RemoteJingleTransportCandidateSelectorFactory; class LocalJingleTransportCandidateGeneratorFactory; class OutgoingFileTransfer; class JID; class IDGenerator; class ReadBytestream; class StreamInitiationFileInfo; class SOCKS5BytestreamRegistry; class SOCKS5BytestreamProxy; class OutgoingFileTransferManager { public: OutgoingFileTransferManager(const JID& ownFullJID, JingleSessionManager* jingleSessionManager, IQRouter* router, EntityCapsProvider* capsProvider, RemoteJingleTransportCandidateSelectorFactory* remoteFactory, LocalJingleTransportCandidateGeneratorFactory* localFactory, SOCKS5BytestreamRegistry* bytestreamRegistry, SOCKS5BytestreamProxy* bytestreamProxy); ~OutgoingFileTransferManager(); boost::shared_ptr createOutgoingFileTransfer(const JID&, boost::shared_ptr, const StreamInitiationFileInfo&); private: JID ownJID; JingleSessionManager* jsManager; IQRouter* iqRouter; EntityCapsProvider* capsProvider; RemoteJingleTransportCandidateSelectorFactory* remoteFactory; LocalJingleTransportCandidateGeneratorFactory* localFactory; IDGenerator *idGenerator; SOCKS5BytestreamRegistry* bytestreamRegistry; SOCKS5BytestreamProxy* bytestreamProxy; }; }