summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Examples/SendFile/ReceiveFile.cpp')
-rw-r--r--Swiften/Examples/SendFile/ReceiveFile.cpp35
1 files changed, 15 insertions, 20 deletions
diff --git a/Swiften/Examples/SendFile/ReceiveFile.cpp b/Swiften/Examples/SendFile/ReceiveFile.cpp
index f80f03a..c777fee 100644
--- a/Swiften/Examples/SendFile/ReceiveFile.cpp
+++ b/Swiften/Examples/SendFile/ReceiveFile.cpp
@@ -1,4 +1,4 @@
/*
- * Copyright (c) 2010 Remko Tronçon
+ * Copyright (c) 2010-2013 Remko Tronçon
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
@@ -11,4 +11,5 @@
#include <Swiften/Elements/Presence.h>
+#include <Swiften/Base/Log.h>
#include <Swiften/Base/foreach.h>
#include <Swiften/Client/Client.h>
@@ -21,6 +22,4 @@
#include <Swiften/FileTransfer/FileWriteBytestream.h>
#include <Swiften/Jingle/JingleSessionManager.h>
-#include <Swiften/FileTransfer/DefaultLocalJingleTransportCandidateGeneratorFactory.h>
-#include <Swiften/FileTransfer/DefaultRemoteJingleTransportCandidateSelectorFactory.h>
#include <Swiften/FileTransfer/SOCKS5BytestreamRegistry.h>
#include <Swiften/FileTransfer/FileTransferManager.h>
@@ -28,8 +27,8 @@
using namespace Swift;
-SimpleEventLoop eventLoop;
-BoostNetworkFactories networkFactories(&eventLoop);
+static SimpleEventLoop eventLoop;
+static BoostNetworkFactories networkFactories(&eventLoop);
-int exitCode = 2;
+static int exitCode = 2;
static const std::string CLIENT_NAME = "Swiften FT Test";
@@ -38,5 +37,5 @@ static const std::string CLIENT_NODE = "http://swift.im";
class FileReceiver {
public:
- FileReceiver(const JID& jid, const std::string& password) : jid(jid), password(password), jingleSessionManager(NULL), incomingFileTransferManager(NULL) {
+ FileReceiver(const JID& jid, const std::string& password) : jid(jid), password(password) {
client = new Swift::Client(jid, password, &networkFactories);
client->onConnected.connect(boost::bind(&FileReceiver::handleConnected, this));
@@ -65,6 +64,5 @@ class FileReceiver {
private:
void handleConnected() {
- Swift::logging = true;
- client->getFileTransferManager()->startListeningOnPort(9999);
+ Log::setLogLevel(Log::debug);
client->getFileTransferManager()->onIncomingFileTransfer.connect(boost::bind(&FileReceiver::handleIncomingFileTransfer, this, _1));
@@ -84,7 +82,7 @@ class FileReceiver {
SWIFT_LOG(debug) << "foo" << std::endl;
incomingFileTransfers.push_back(transfer);
- transfer->accept(boost::make_shared<FileWriteBytestream>("out"));
- //transfer->onFinished.connect(boost::bind(&FileReceiver::handleFileTransferFinished, this, _1));
- //transfer->start();
+ boost::shared_ptr<FileWriteBytestream> out = boost::make_shared<FileWriteBytestream>("out");
+ transfer->onFinished.connect(boost::bind(&FileReceiver::handleFileTransferFinished, this, _1, out));
+ transfer->accept(out);
}
@@ -94,7 +92,9 @@ class FileReceiver {
}
- /*
- void handleFileTransferFinished(const boost::optional<FileTransferError>& error) {
+ void handleFileTransferFinished(
+ const boost::optional<FileTransferError>& error,
+ boost::shared_ptr<FileWriteBytestream> out) {
std::cout << "File transfer finished" << std::endl;
+ out->close();
if (error) {
exit(-1);
@@ -103,5 +103,5 @@ class FileReceiver {
exit(0);
}
- }*/
+ }
void exit(int code) {
@@ -116,10 +116,5 @@ class FileReceiver {
Client* client;
ClientXMLTracer* tracer;
- JingleSessionManager* jingleSessionManager;
- IncomingFileTransferManager* incomingFileTransferManager;
std::vector<IncomingFileTransfer::ref> incomingFileTransfers;
- DefaultLocalJingleTransportCandidateGeneratorFactory *localFactory;
- DefaultRemoteJingleTransportCandidateSelectorFactory *remoteFactory;
- SOCKS5BytestreamRegistry* bytestreamRegistry;
};