2017-04-13 15:48:01 +02:00
|
|
|
/*
|
|
|
|
|
2018-04-26 09:01:14 +02:00
|
|
|
Copyright (c) 2017, Arvid Norberg
|
2017-04-13 15:48:01 +02:00
|
|
|
All rights reserved.
|
|
|
|
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
|
|
modification, are permitted provided that the following conditions
|
|
|
|
are met:
|
|
|
|
|
|
|
|
* Redistributions of source code must retain the above copyright
|
|
|
|
notice, this list of conditions and the following disclaimer.
|
|
|
|
* Redistributions in binary form must reproduce the above copyright
|
|
|
|
notice, this list of conditions and the following disclaimer in
|
|
|
|
the documentation and/or other materials provided with the distribution.
|
|
|
|
* Neither the name of the author nor the names of its
|
|
|
|
contributors may be used to endorse or promote products derived
|
|
|
|
from this software without specific prior written permission.
|
|
|
|
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
|
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
|
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
|
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
|
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
|
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
|
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
|
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
|
|
POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef TORRENT_FWD_HPP
|
|
|
|
#define TORRENT_FWD_HPP
|
|
|
|
|
2018-04-26 09:01:14 +02:00
|
|
|
#include "libtorrent/config.hpp"
|
|
|
|
|
2017-04-13 15:48:01 +02:00
|
|
|
namespace libtorrent {
|
|
|
|
|
|
|
|
// include/libtorrent/add_torrent_params.hpp
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_VERSION_NAMESPACE_2
|
2017-04-13 15:48:01 +02:00
|
|
|
struct add_torrent_params;
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_VERSION_NAMESPACE_2_END
|
2017-04-13 15:48:01 +02:00
|
|
|
|
|
|
|
// include/libtorrent/alert.hpp
|
|
|
|
class alert;
|
|
|
|
|
|
|
|
// include/libtorrent/alert_types.hpp
|
2018-04-26 09:01:14 +02:00
|
|
|
struct dht_routing_bucket;
|
|
|
|
TORRENT_VERSION_NAMESPACE_2
|
2017-04-13 15:48:01 +02:00
|
|
|
struct torrent_alert;
|
|
|
|
struct peer_alert;
|
|
|
|
struct tracker_alert;
|
|
|
|
struct torrent_removed_alert;
|
|
|
|
struct read_piece_alert;
|
|
|
|
struct file_completed_alert;
|
|
|
|
struct file_renamed_alert;
|
|
|
|
struct file_rename_failed_alert;
|
|
|
|
struct performance_alert;
|
|
|
|
struct state_changed_alert;
|
|
|
|
struct tracker_error_alert;
|
|
|
|
struct tracker_warning_alert;
|
|
|
|
struct scrape_reply_alert;
|
|
|
|
struct scrape_failed_alert;
|
|
|
|
struct tracker_reply_alert;
|
|
|
|
struct dht_reply_alert;
|
|
|
|
struct tracker_announce_alert;
|
|
|
|
struct hash_failed_alert;
|
|
|
|
struct peer_ban_alert;
|
|
|
|
struct peer_unsnubbed_alert;
|
|
|
|
struct peer_snubbed_alert;
|
|
|
|
struct peer_error_alert;
|
|
|
|
struct peer_connect_alert;
|
|
|
|
struct peer_disconnected_alert;
|
|
|
|
struct invalid_request_alert;
|
|
|
|
struct torrent_finished_alert;
|
|
|
|
struct piece_finished_alert;
|
|
|
|
struct request_dropped_alert;
|
|
|
|
struct block_timeout_alert;
|
|
|
|
struct block_finished_alert;
|
|
|
|
struct block_downloading_alert;
|
|
|
|
struct unwanted_block_alert;
|
|
|
|
struct storage_moved_alert;
|
|
|
|
struct storage_moved_failed_alert;
|
|
|
|
struct torrent_deleted_alert;
|
|
|
|
struct torrent_delete_failed_alert;
|
|
|
|
struct save_resume_data_alert;
|
|
|
|
struct save_resume_data_failed_alert;
|
|
|
|
struct torrent_paused_alert;
|
|
|
|
struct torrent_resumed_alert;
|
|
|
|
struct torrent_checked_alert;
|
|
|
|
struct url_seed_alert;
|
|
|
|
struct file_error_alert;
|
|
|
|
struct metadata_failed_alert;
|
|
|
|
struct metadata_received_alert;
|
|
|
|
struct udp_error_alert;
|
|
|
|
struct external_ip_alert;
|
|
|
|
struct listen_failed_alert;
|
|
|
|
struct listen_succeeded_alert;
|
|
|
|
struct portmap_error_alert;
|
|
|
|
struct portmap_alert;
|
|
|
|
struct portmap_log_alert;
|
|
|
|
struct fastresume_rejected_alert;
|
|
|
|
struct peer_blocked_alert;
|
|
|
|
struct dht_announce_alert;
|
|
|
|
struct dht_get_peers_alert;
|
|
|
|
struct stats_alert;
|
|
|
|
struct cache_flushed_alert;
|
|
|
|
struct anonymous_mode_alert;
|
|
|
|
struct lsd_peer_alert;
|
|
|
|
struct trackerid_alert;
|
|
|
|
struct dht_bootstrap_alert;
|
|
|
|
struct torrent_error_alert;
|
|
|
|
struct torrent_need_cert_alert;
|
|
|
|
struct incoming_connection_alert;
|
|
|
|
struct add_torrent_alert;
|
|
|
|
struct state_update_alert;
|
|
|
|
struct session_stats_alert;
|
|
|
|
struct dht_error_alert;
|
|
|
|
struct dht_immutable_item_alert;
|
|
|
|
struct dht_mutable_item_alert;
|
|
|
|
struct dht_put_alert;
|
|
|
|
struct i2p_alert;
|
|
|
|
struct dht_outgoing_get_peers_alert;
|
|
|
|
struct log_alert;
|
|
|
|
struct torrent_log_alert;
|
|
|
|
struct peer_log_alert;
|
|
|
|
struct lsd_error_alert;
|
|
|
|
struct dht_lookup;
|
|
|
|
struct dht_stats_alert;
|
|
|
|
struct incoming_request_alert;
|
|
|
|
struct dht_log_alert;
|
|
|
|
struct dht_pkt_alert;
|
|
|
|
struct dht_get_peers_reply_alert;
|
|
|
|
struct dht_direct_response_alert;
|
|
|
|
struct picker_log_alert;
|
2017-04-13 16:42:32 +02:00
|
|
|
struct session_error_alert;
|
|
|
|
struct dht_live_nodes_alert;
|
|
|
|
struct session_stats_header_alert;
|
2017-09-03 13:57:19 +02:00
|
|
|
struct dht_sample_infohashes_alert;
|
|
|
|
struct block_uploaded_alert;
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_VERSION_NAMESPACE_2_END
|
2017-04-13 15:48:01 +02:00
|
|
|
|
|
|
|
// include/libtorrent/announce_entry.hpp
|
2017-09-03 13:57:19 +02:00
|
|
|
struct announce_endpoint;
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_VERSION_NAMESPACE_2
|
2017-04-13 15:48:01 +02:00
|
|
|
struct announce_entry;
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_VERSION_NAMESPACE_2_END
|
2017-04-13 15:48:01 +02:00
|
|
|
|
|
|
|
// include/libtorrent/bdecode.hpp
|
|
|
|
struct bdecode_node;
|
|
|
|
|
|
|
|
// include/libtorrent/bitfield.hpp
|
|
|
|
struct bitfield;
|
|
|
|
|
|
|
|
// include/libtorrent/create_torrent.hpp
|
|
|
|
struct create_torrent;
|
|
|
|
|
2017-04-13 16:42:32 +02:00
|
|
|
// include/libtorrent/disk_interface.hpp
|
|
|
|
struct open_file_state;
|
2017-04-13 15:48:01 +02:00
|
|
|
|
|
|
|
// include/libtorrent/disk_io_thread.hpp
|
|
|
|
struct cache_status;
|
|
|
|
|
|
|
|
// include/libtorrent/entry.hpp
|
|
|
|
class entry;
|
|
|
|
|
|
|
|
// include/libtorrent/error_code.hpp
|
|
|
|
struct storage_error;
|
|
|
|
|
|
|
|
// include/libtorrent/extensions.hpp
|
|
|
|
struct plugin;
|
|
|
|
struct torrent_plugin;
|
|
|
|
struct peer_plugin;
|
|
|
|
struct crypto_plugin;
|
|
|
|
|
|
|
|
// include/libtorrent/file_pool.hpp
|
|
|
|
struct file_pool;
|
|
|
|
|
|
|
|
// include/libtorrent/file_storage.hpp
|
|
|
|
struct file_slice;
|
|
|
|
class file_storage;
|
|
|
|
|
|
|
|
// include/libtorrent/hasher.hpp
|
|
|
|
class hasher;
|
|
|
|
|
2017-04-13 16:42:32 +02:00
|
|
|
// include/libtorrent/hasher512.hpp
|
|
|
|
class hasher512;
|
|
|
|
|
2017-04-13 15:48:01 +02:00
|
|
|
// include/libtorrent/ip_filter.hpp
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_IPV6_NAMESPACE
|
2017-04-13 15:48:01 +02:00
|
|
|
struct ip_filter;
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_IPV6_NAMESPACE_END
|
2017-04-13 15:48:01 +02:00
|
|
|
class port_filter;
|
|
|
|
|
2018-04-26 09:01:14 +02:00
|
|
|
// include/libtorrent/kademlia/dht_settings.hpp
|
|
|
|
namespace dht {
|
|
|
|
struct dht_settings;
|
|
|
|
}
|
|
|
|
|
|
|
|
// include/libtorrent/kademlia/dht_state.hpp
|
|
|
|
namespace dht {
|
|
|
|
struct dht_state;
|
|
|
|
}
|
|
|
|
|
|
|
|
// include/libtorrent/kademlia/dht_storage.hpp
|
|
|
|
namespace dht {
|
|
|
|
struct dht_storage_counters;
|
|
|
|
}
|
|
|
|
namespace dht {
|
|
|
|
struct dht_storage_interface;
|
|
|
|
}
|
|
|
|
|
2017-12-30 21:04:06 +01:00
|
|
|
// include/libtorrent/peer_class.hpp
|
|
|
|
struct peer_class_info;
|
|
|
|
|
|
|
|
// include/libtorrent/peer_class_type_filter.hpp
|
|
|
|
struct peer_class_type_filter;
|
|
|
|
|
2017-04-13 15:48:01 +02:00
|
|
|
// include/libtorrent/peer_connection_handle.hpp
|
|
|
|
struct peer_connection_handle;
|
|
|
|
struct bt_peer_connection_handle;
|
|
|
|
|
|
|
|
// include/libtorrent/peer_info.hpp
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_VERSION_NAMESPACE_2
|
2017-04-13 15:48:01 +02:00
|
|
|
struct peer_info;
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_VERSION_NAMESPACE_2_END
|
2017-04-13 15:48:01 +02:00
|
|
|
|
|
|
|
// include/libtorrent/peer_request.hpp
|
|
|
|
struct peer_request;
|
|
|
|
|
|
|
|
// include/libtorrent/session.hpp
|
|
|
|
class session_proxy;
|
2017-04-13 16:42:32 +02:00
|
|
|
struct session_params;
|
2017-04-13 15:48:01 +02:00
|
|
|
class session;
|
|
|
|
|
|
|
|
// include/libtorrent/session_handle.hpp
|
|
|
|
struct session_handle;
|
|
|
|
|
|
|
|
// include/libtorrent/session_stats.hpp
|
|
|
|
struct stats_metric;
|
|
|
|
|
|
|
|
// include/libtorrent/session_status.hpp
|
|
|
|
struct utp_status;
|
|
|
|
struct session_status;
|
|
|
|
|
|
|
|
// include/libtorrent/settings_pack.hpp
|
|
|
|
struct settings_pack;
|
|
|
|
|
|
|
|
// include/libtorrent/storage.hpp
|
|
|
|
struct storage_interface;
|
|
|
|
class default_storage;
|
|
|
|
|
|
|
|
// include/libtorrent/storage_defs.hpp
|
2017-04-13 16:42:32 +02:00
|
|
|
struct storage_interface;
|
2017-04-13 15:48:01 +02:00
|
|
|
struct storage_params;
|
|
|
|
|
|
|
|
// include/libtorrent/torrent_handle.hpp
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_IPV6_NAMESPACE
|
2017-04-13 15:48:01 +02:00
|
|
|
struct block_info;
|
|
|
|
struct partial_piece_info;
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_IPV6_NAMESPACE_END
|
2017-04-13 15:48:01 +02:00
|
|
|
struct torrent_handle;
|
|
|
|
|
|
|
|
// include/libtorrent/torrent_info.hpp
|
|
|
|
struct web_seed_entry;
|
|
|
|
class torrent_info;
|
|
|
|
|
|
|
|
// include/libtorrent/torrent_status.hpp
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_VERSION_NAMESPACE_2
|
2017-04-13 15:48:01 +02:00
|
|
|
struct torrent_status;
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_VERSION_NAMESPACE_2_END
|
2017-04-13 15:48:01 +02:00
|
|
|
|
2018-04-26 09:01:14 +02:00
|
|
|
#if TORRENT_ABI_VERSION == 1
|
2017-04-13 15:48:01 +02:00
|
|
|
|
|
|
|
// include/libtorrent/alert_types.hpp
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_VERSION_NAMESPACE_2
|
2017-04-13 15:48:01 +02:00
|
|
|
struct torrent_added_alert;
|
|
|
|
struct mmap_cache_alert;
|
2017-09-03 13:57:19 +02:00
|
|
|
struct torrent_update_alert;
|
2018-04-26 09:01:14 +02:00
|
|
|
TORRENT_VERSION_NAMESPACE_2_END
|
2017-04-13 15:48:01 +02:00
|
|
|
|
|
|
|
// include/libtorrent/file_storage.hpp
|
|
|
|
struct file_entry;
|
|
|
|
struct internal_file_entry;
|
|
|
|
|
|
|
|
// include/libtorrent/lazy_entry.hpp
|
|
|
|
struct pascal_string;
|
|
|
|
struct lazy_entry;
|
|
|
|
|
2018-01-08 22:28:18 +01:00
|
|
|
// include/libtorrent/session_settings.hpp
|
|
|
|
struct pe_settings;
|
|
|
|
|
2018-04-26 09:01:14 +02:00
|
|
|
#endif // TORRENT_ABI_VERSION
|
2017-04-13 15:48:01 +02:00
|
|
|
|
|
|
|
}
|
|
|
|
|
2017-12-31 00:01:54 +01:00
|
|
|
namespace lt = libtorrent;
|
|
|
|
|
2017-04-13 15:48:01 +02:00
|
|
|
#endif // TORRENT_FWD_HPP
|