Skip to content

Commit 1957566

Browse files
committed
Removed sigc++ dependency and replaced it with TR1 functional.
1 parent a7cbc8c commit 1957566

8 files changed

+10
-28
lines changed

README

+2-3
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ to the mailinglist.
2020

2121
LIBRARY DEPENDENCIES
2222

23-
libsigc++ 2.0 (deb: libsigc++-2.0-dev)
24-
g++ >= 3.3
23+
g++ >= 4.2.1
2524

2625
SIGC++
2726

@@ -34,4 +33,4 @@ POLLING
3433

3534
"libtorrent/src/torrent/poll.h" provides an abstract class for
3635
implementing any kind of polling the client wishes to use. Currently
37-
epoll and select based polling is included.
36+
epoll and select based polling is included.

configure.ac

-4
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,6 @@ AC_ARG_ENABLE(cyrus-rc4,
9595
]
9696
)
9797

98-
PKG_CHECK_MODULES(STUFF, sigc++-2.0,
99-
CXXFLAGS="$CXXFLAGS $STUFF_CFLAGS";
100-
LIBS="$LIBS $STUFF_LIBS")
101-
10298
AC_CHECK_FUNCS(posix_memalign)
10399

104100
TORRENT_CHECK_MADVISE()

src/download/download_main.h

-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939

4040
#include <deque>
4141
#include <rak/functional.h>
42-
#include <sigc++/signal.h>
4342

4443
#include "globals.h"
4544

src/download/download_wrapper.cc

+2-3
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
#include <iterator>
4040
#include <stdlib.h>
4141
#include <rak/file_stat.h>
42-
#include <sigc++/adaptors/bind.h>
4342

4443
#include "data/chunk_list.h"
4544
#include "data/hash_queue.h"
@@ -108,8 +107,8 @@ DownloadWrapper::initialize(const std::string& hash, const std::string& id) {
108107

109108
info()->mutable_local_id().assign(id.c_str());
110109

111-
info()->slot_left() = sigc::mem_fun(m_main->file_list(), &FileList::left_bytes);
112-
info()->slot_completed() = sigc::mem_fun(m_main->file_list(), &FileList::completed_bytes);
110+
info()->slot_left() = tr1::bind(&FileList::left_bytes, m_main->file_list());
111+
info()->slot_completed() = tr1::bind(&FileList::completed_bytes, m_main->file_list());
113112

114113
file_list()->mutable_data()->mutable_hash().assign(hash.c_str());
115114

src/download/download_wrapper.h

-11
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,7 @@
3737
#ifndef LIBTORRENT_DOWNLOAD_WRAPPER_H
3838
#define LIBTORRENT_DOWNLOAD_WRAPPER_H
3939

40-
#include <sigc++/connection.h>
41-
#include <sigc++/signal.h>
42-
4340
#include "data/chunk_handle.h"
44-
4541
#include "download_main.h"
4642

4743
namespace torrent {
@@ -59,10 +55,6 @@ class Peer;
5955

6056
class DownloadWrapper {
6157
public:
62-
typedef sigc::signal0<void> Signal;
63-
typedef sigc::signal1<void, uint32_t> SignalChunk;
64-
typedef sigc::signal1<void, const std::string&> SignalString;
65-
6658
DownloadWrapper();
6759
~DownloadWrapper();
6860

@@ -126,9 +118,6 @@ class DownloadWrapper {
126118
std::string m_hash;
127119

128120
int m_connectionType;
129-
130-
sigc::connection m_connectionChunkPassed;
131-
sigc::connection m_connectionChunkFailed;
132121
};
133122

134123
}

src/torrent/download.cc

-2
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@
3939
#define __STDC_FORMAT_MACROS
4040

4141
#include <inttypes.h>
42-
#include <sigc++/adaptors/bind.h>
43-
#include <sigc++/adaptors/hide.h>
4442

4543
#include "data/block.h"
4644
#include "data/block_list.h"

src/torrent/download.h

-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@
4040
#include <list>
4141
#include <vector>
4242
#include <string>
43-
#include <sigc++/connection.h>
44-
#include <sigc++/functors/slot.h>
4543

4644
#include <torrent/common.h>
4745
#include <torrent/peer/peer.h>

src/tracker/tracker_udp.cc

+6-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040

4141
#include <sys/types.h>
4242

43-
#include <sigc++/adaptors/bind.h>
4443
#include <torrent/connection_manager.h>
4544
#include <cstdio>
4645

@@ -56,6 +55,8 @@
5655
#include "tracker_udp.h"
5756
#include "manager.h"
5857

58+
namespace tr1 { using namespace std::tr1; }
59+
5960
#define LT_LOG_TRACKER(log_level, log_fmt, ...) \
6061
lt_log_print_info(LOG_TRACKER_##log_level, m_parent->info(), "tracker", "[%u] " log_fmt, group(), __VA_ARGS__);
6162

@@ -109,7 +110,10 @@ TrackerUdp::send_state(int state) {
109110

110111
m_sendState = state;
111112
m_slot_resolver = manager->connection_manager()->resolver()(hostname, PF_INET, SOCK_DGRAM,
112-
sigc::mem_fun(this, &TrackerUdp::start_announce));
113+
tr1::bind(&TrackerUdp::start_announce,
114+
this,
115+
tr1::placeholders::_1,
116+
tr1::placeholders::_2));
113117
}
114118

115119
void

0 commit comments

Comments
 (0)