removed deprecated handle_alert template
This commit is contained in:
parent
a0e6b52a3f
commit
1dc5a7e63d
|
@ -1,3 +1,4 @@
|
||||||
|
* removed deprecated handle_alert template
|
||||||
* enable logging build config by default (but alert mask disabled by default)
|
* enable logging build config by default (but alert mask disabled by default)
|
||||||
* deprecated RSS API
|
* deprecated RSS API
|
||||||
* experimental support for BEP 38, "mutable torrents"
|
* experimental support for BEP 38, "mutable torrents"
|
||||||
|
|
|
@ -267,70 +267,6 @@ namespace libtorrent {
|
||||||
time_point m_timestamp;
|
time_point m_timestamp;
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO: 3 delete this functionality
|
|
||||||
#ifndef BOOST_NO_EXCEPTIONS
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
|
||||||
struct TORRENT_DEPRECATED TORRENT_EXPORT unhandled_alert : std::exception
|
|
||||||
{
|
|
||||||
unhandled_alert() {}
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifndef BOOST_NO_TYPEID
|
|
||||||
|
|
||||||
namespace detail {
|
|
||||||
|
|
||||||
struct void_;
|
|
||||||
|
|
||||||
template<class Handler
|
|
||||||
, BOOST_PP_ENUM_PARAMS(TORRENT_MAX_ALERT_TYPES, class T)>
|
|
||||||
TORRENT_DEPRECATED
|
|
||||||
void handle_alert_dispatch(
|
|
||||||
const std::auto_ptr<alert>& alert_, const Handler& handler
|
|
||||||
, const std::type_info& typeid_
|
|
||||||
, T0*, BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS(TORRENT_MAX_ALERT_TYPES, T, *p))
|
|
||||||
{
|
|
||||||
if (typeid_ == typeid(T0))
|
|
||||||
handler(*static_cast<T0*>(alert_.get()));
|
|
||||||
else
|
|
||||||
handle_alert_dispatch(alert_, handler, typeid_
|
|
||||||
, BOOST_PP_ENUM_SHIFTED_PARAMS(
|
|
||||||
TORRENT_MAX_ALERT_TYPES, p), reinterpret_cast<void_*>(0));
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class Handler>
|
|
||||||
TORRENT_DEPRECATED
|
|
||||||
void handle_alert_dispatch(
|
|
||||||
const std::auto_ptr<alert>&
|
|
||||||
, const Handler&
|
|
||||||
, const std::type_info&
|
|
||||||
, BOOST_PP_ENUM_PARAMS(TORRENT_MAX_ALERT_TYPES, void_* BOOST_PP_INTERCEPT))
|
|
||||||
{
|
|
||||||
throw unhandled_alert();
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace detail
|
|
||||||
|
|
||||||
template<BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(
|
|
||||||
TORRENT_MAX_ALERT_TYPES, class T, detail::void_)>
|
|
||||||
struct TORRENT_DEPRECATED TORRENT_EXPORT handle_alert
|
|
||||||
{
|
|
||||||
template<class Handler>
|
|
||||||
handle_alert(const std::auto_ptr<alert>& alert_
|
|
||||||
, const Handler& handler)
|
|
||||||
{
|
|
||||||
#define ALERT_POINTER_TYPE(z, n, text) reinterpret_cast<BOOST_PP_CAT(T, n)*>(0)
|
|
||||||
|
|
||||||
detail::handle_alert_dispatch(alert_, handler, typeid(*alert_)
|
|
||||||
, BOOST_PP_ENUM(TORRENT_MAX_ALERT_TYPES, ALERT_POINTER_TYPE, _));
|
|
||||||
|
|
||||||
#undef ALERT_POINTER_TYPE
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // BOOST_NO_TYPEID
|
|
||||||
#endif // TORRENT_NO_DEPRECATE
|
|
||||||
#endif // BOOST_NO_EXCEPTIONS
|
|
||||||
|
|
||||||
// When you get an alert, you can use ``alert_cast<>`` to attempt to cast the pointer to a
|
// When you get an alert, you can use ``alert_cast<>`` to attempt to cast the pointer to a
|
||||||
// more specific alert type, in order to query it for more information.
|
// more specific alert type, in order to query it for more information.
|
||||||
template <class T>
|
template <class T>
|
||||||
|
|
Loading…
Reference in New Issue