diff options
Diffstat (limited to 'Swiften/Client')
-rw-r--r-- | Swiften/Client/Client.cpp | 9 | ||||
-rw-r--r-- | Swiften/Client/Client.h | 9 |
2 files changed, 14 insertions, 4 deletions
diff --git a/Swiften/Client/Client.cpp b/Swiften/Client/Client.cpp index e95e704..48eddc2 100644 --- a/Swiften/Client/Client.cpp +++ b/Swiften/Client/Client.cpp @@ -23,18 +23,21 @@ #include <Swiften/Disco/ClientDiscoManager.h> #include <Swiften/Client/NickResolver.h> #include <Swiften/Presence/SubscriptionManager.h> #include <Swiften/TLS/BlindCertificateTrustChecker.h> #include <Swiften/Client/NickManagerImpl.h> #include <Swiften/Client/ClientSession.h> #include <Swiften/Jingle/JingleSessionManager.h> #include <Swiften/Network/NetworkFactories.h> #include <Swiften/FileTransfer/FileTransferManagerImpl.h> +#ifndef SWIFT_EXPERIMENTAL_FT +#include <Swiften/FileTransfer/UnitTest/DummyFileTransferManager.h> +#endif namespace Swift { Client::Client(const JID& jid, const SafeString& password, NetworkFactories* networkFactories, Storages* storages) : CoreClient(jid, password, networkFactories), storages(storages) { memoryStorages = new MemoryStorages(); softwareVersionResponder = new SoftwareVersionResponder(getIQRouter()); softwareVersionResponder->start(); @@ -102,19 +105,23 @@ Client::~Client() { XMPPRoster* Client::getRoster() const { return roster; } void Client::setSoftwareVersion(const std::string& name, const std::string& version, const std::string& os) { softwareVersionResponder->setVersion(name, version, os); } void Client::handleConnected() { - fileTransferManager = new FileTransferManagerImpl(getJID(), jingleSessionManager, getIQRouter(), getEntityCapsProvider(), presenceOracle, getNetworkFactories()->getConnectionFactory(), getNetworkFactories()->getConnectionServerFactory(), getNetworkFactories()->getTimerFactory(), getNetworkFactories()->getPlatformNATTraversalWorker()); +#ifdef SWIFT_EXPERIMENTAL_FT + fileTransferManager = new FileTransferManagerImpl(getJID(), jingleSessionManager, getIQRouter(), getEntityCapsProvider(), presenceOracle, getNetworkFactories()->getConnectionFactory(), getNetworkFactories()->getConnectionServerFactory(), getNetworkFactories()->getTimerFactory(), getNetworkFactories()->getNATTraverser()); +#else + fileTransferManager = new DummyFileTransferManager(); +#endif } void Client::requestRoster() { // FIXME: We should set this once when the session is finished, but there // is currently no callback for this if (getSession()) { rosterController->setUseVersioning(getSession()->getRosterVersioningSupported()); } rosterController->requestRoster(); diff --git a/Swiften/Client/Client.h b/Swiften/Client/Client.h index 7269f10..940a526 100644 --- a/Swiften/Client/Client.h +++ b/Swiften/Client/Client.h @@ -29,19 +29,19 @@ namespace Swift { class CapsManager; class EntityCapsManager; class EntityCapsProvider; class NickResolver; class SubscriptionManager; class ClientDiscoManager; class NickManager; class FileTransferManager; class JingleSessionManager; - class FileTransferManagerImpl; + class FileTransferManager; /** * Provides the core functionality for writing XMPP client software. * * Besides connecting to an XMPP server, this class also provides interfaces for * performing most tasks on the XMPP network. */ class Client : public CoreClient { public: @@ -130,19 +130,22 @@ namespace Swift { SubscriptionManager* getSubscriptionManager() const { return subscriptionManager; } ClientDiscoManager* getDiscoManager() const { return discoManager; } /** - * Returns a FileTransferManager for the client. This is only available after the onConnected signal has been fired. + * Returns a FileTransferManager for the client. This is only available after the onConnected + * signal has been fired. + * + * WARNING: File transfer will only work if Swiften is built in 'experimental' mode. */ FileTransferManager* getFileTransferManager() const; /** * Configures the client to always trust a non-validating * TLS certificate from the server. * This is equivalent to setting a BlindCertificateTrustChecker * using setCertificateTrustChecker(). */ @@ -174,13 +177,13 @@ namespace Swift { AvatarManager* avatarManager; CapsManager* capsManager; EntityCapsManager* entityCapsManager; NickManager* nickManager; NickResolver* nickResolver; SubscriptionManager* subscriptionManager; MUCManager* mucManager; ClientDiscoManager* discoManager; JingleSessionManager* jingleSessionManager; - FileTransferManagerImpl* fileTransferManager; + FileTransferManager* fileTransferManager; BlindCertificateTrustChecker* blindCertificateTrustChecker; }; } |