2
2
// subject to the Boost Software License, Version 1.0. (See accompanying
3
3
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
#include <boost/python.hpp>
5
6
#include <libtorrent/alert.hpp>
6
7
#include <libtorrent/alert_types.hpp>
7
#include <boost/python.hpp>
9
9
using namespace boost::python;
10
10
using namespace libtorrent;
12
std::string get_buffer(read_piece_alert const& rpa)
14
return rpa.buffer ? std::string(rpa.buffer.get(), rpa.size)
14
20
using boost::noncopyable;
61
69
.def_readonly("url", &tracker_alert::url)
72
class_<read_piece_alert, bases<torrent_alert>, noncopyable>(
73
"read_piece_alert", 0, no_init
75
.add_property("buffer", get_buffer)
76
.def_readonly("piece", &read_piece_alert::piece)
77
.def_readonly("size", &read_piece_alert::size)
64
80
class_<peer_alert, bases<torrent_alert>, noncopyable>(
65
81
"peer_alert", no_init
167
189
"url_seed_alert", no_init
169
191
.def_readonly("url", &url_seed_alert::url)
192
.def_readonly("msg", &url_seed_alert::msg)
172
195
class_<file_error_alert, bases<torrent_alert>, noncopyable>(
173
196
"file_error_alert", no_init
175
198
.def_readonly("file", &file_error_alert::file)
199
#ifndef TORRENT_NO_DEPRECATE
200
.def_readonly("msg", &file_error_alert::msg)
178
204
class_<metadata_failed_alert, bases<torrent_alert>, noncopyable>(
186
212
class_<listen_failed_alert, bases<alert>, noncopyable>(
187
213
"listen_failed_alert", no_init
215
.def_readonly("endpoint", &listen_failed_alert::endpoint)
216
.def_readonly("error", &listen_failed_alert::error)
190
219
class_<listen_succeeded_alert, bases<alert>, noncopyable>(
191
220
"listen_succeeded_alert", no_init
208
240
.def_readonly("type", &portmap_alert::type)
243
class_<portmap_log_alert, bases<alert>, noncopyable>(
244
"portmap_log_alert", no_init
246
.def_readonly("type", &portmap_log_alert::type)
247
#ifndef TORRENT_NO_DEPRECATE
248
.def_readonly("msg", &portmap_log_alert::msg)
211
252
class_<fastresume_rejected_alert, bases<torrent_alert>, noncopyable>(
212
253
"fastresume_rejected_alert", no_init
255
#ifndef TORRENT_NO_DEPRECATE
256
.def_readonly("msg", &fastresume_rejected_alert::msg)
215
260
class_<peer_blocked_alert, bases<alert>, noncopyable>(
216
261
"peer_blocked_alert", no_init
258
304
"file_rename_failed_alert", no_init
260
306
.def_readonly("index", &file_rename_failed_alert::index)
261
.def_readonly("msg", &file_rename_failed_alert::msg)
307
.def_readonly("error", &file_rename_failed_alert::error)
264
310
class_<torrent_resumed_alert, bases<torrent_alert>, noncopyable>(
265
311
"torrent_resumed_alert", no_init
268
class_<state_changed_alert, bases<torrent_alert>, noncopyable>(
269
"state_changed_alert", no_init
271
.def_readonly("state", &state_changed_alert::state)
274
class_<dht_reply_alert, bases<tracker_alert>, noncopyable>(
275
"dht_reply_alert", no_init
277
.def_readonly("num_peers", &dht_reply_alert::num_peers)
280
class_<peer_unsnubbed_alert, bases<peer_alert>, noncopyable>(
281
"peer_unsnubbed_alert", no_init
284
class_<peer_snubbed_alert, bases<peer_alert>, noncopyable>(
285
"peer_snubbed_alert", no_init
314
class_<state_changed_alert, bases<torrent_alert>, noncopyable>(
315
"state_changed_alert", no_init
317
.def_readonly("state", &state_changed_alert::state)
318
.def_readonly("prev_state", &state_changed_alert::prev_state)
321
class_<dht_reply_alert, bases<tracker_alert>, noncopyable>(
322
"dht_reply_alert", no_init
324
.def_readonly("num_peers", &dht_reply_alert::num_peers)
327
class_<dht_announce_alert, bases<alert>, noncopyable>(
328
"dht_announce_alert", no_init
330
.def_readonly("ip", &dht_announce_alert::ip)
331
.def_readonly("port", &dht_announce_alert::port)
332
.def_readonly("info_hash", &dht_announce_alert::info_hash)
335
class_<dht_get_peers_alert, bases<alert>, noncopyable>(
336
"dht_get_peers_alert", no_init
338
.def_readonly("info_hash", &dht_get_peers_alert::info_hash)
341
class_<peer_unsnubbed_alert, bases<peer_alert>, noncopyable>(
342
"peer_unsnubbed_alert", no_init
345
class_<peer_snubbed_alert, bases<peer_alert>, noncopyable>(
346
"peer_snubbed_alert", no_init
288
349
class_<peer_connect_alert, bases<peer_alert>, noncopyable>(
289
350
"peer_connect_alert", no_init
292
353
class_<peer_disconnected_alert, bases<peer_alert>, noncopyable>(
293
354
"peer_disconnected_alert", no_init
356
#ifndef TORRENT_NO_DEPRECATE
357
.def_readonly("msg", &peer_disconnected_alert::msg)
296
361
class_<request_dropped_alert, bases<peer_alert>, noncopyable>(
297
362
"request_dropped_alert", no_init
317
382
class_<torrent_delete_failed_alert, bases<torrent_alert>, noncopyable>(
318
383
"torrent_delete_failed_alert", no_init
385
#ifndef TORRENT_NO_DEPRECATE
386
.def_readonly("msg", &torrent_delete_failed_alert::msg)
321
390
class_<save_resume_data_failed_alert, bases<torrent_alert>, noncopyable>(
322
391
"save_resume_data_failed_alert", no_init
393
#ifndef TORRENT_NO_DEPRECATE
394
.def_readonly("msg", &save_resume_data_failed_alert::msg)
325
398
class_<performance_alert, bases<torrent_alert>, noncopyable>(
326
399
"performance_alert", no_init
330
403
enum_<performance_alert::performance_warning_t>("performance_warning_t")
331
404
.value("outstanding_disk_buffer_limit_reached", performance_alert::outstanding_disk_buffer_limit_reached)
332
405
.value("outstanding_request_limit_reached", performance_alert::outstanding_request_limit_reached)
406
.value("upload_limit_too_low", performance_alert::upload_limit_too_low)
407
.value("download_limit_too_low", performance_alert::download_limit_too_low)
411
class_<stats_alert, bases<torrent_alert>, noncopyable>(
412
"stats_alert", no_init
414
.def_readonly("transferred", &stats_alert::transferred)
415
.def_readonly("interval", &stats_alert::interval)
418
enum_<stats_alert::stats_channel>("stats_channel")
419
.value("upload_payload", stats_alert::upload_payload)
420
.value("upload_protocol", stats_alert::upload_protocol)
421
.value("upload_ip_protocol", stats_alert::upload_ip_protocol)
422
.value("upload_dht_protocol", stats_alert::upload_dht_protocol)
423
.value("upload_tracker_protocol", stats_alert::upload_tracker_protocol)
424
.value("download_payload", stats_alert::download_payload)
425
.value("download_protocol", stats_alert::download_protocol)
426
.value("download_ip_protocol", stats_alert::download_ip_protocol)
427
.value("download_dht_protocol", stats_alert::download_dht_protocol)
428
.value("download_tracker_protocol", stats_alert::download_tracker_protocol)