made it possible to export the upnp state and insert it into a different upnp instance
This commit is contained in:
@@ -69,9 +69,11 @@ class upnp : public intrusive_ptr_base<upnp>
|
||||
public:
|
||||
upnp(io_service& ios, connection_queue& cc
|
||||
, address const& listen_interface, std::string const& user_agent
|
||||
, portmap_callback_t const& cb, bool ignore_nonrouters);
|
||||
, portmap_callback_t const& cb, bool ignore_nonrouters, void* state = 0);
|
||||
~upnp();
|
||||
|
||||
void* drain_state();
|
||||
|
||||
enum protocol_type { none = 0, udp = 1, tcp = 2 };
|
||||
int add_mapping(protocol_type p, int external_port, int local_port);
|
||||
void delete_mapping(int mapping_index);
|
||||
@@ -226,6 +228,12 @@ private:
|
||||
{ return url < rhs.url; }
|
||||
};
|
||||
|
||||
struct upnp_state_t
|
||||
{
|
||||
std::vector<global_mapping_t> mappings;
|
||||
std::set<rootdevice> devices;
|
||||
};
|
||||
|
||||
std::vector<global_mapping_t> m_mappings;
|
||||
|
||||
std::string const& m_user_agent;
|
||||
|
Reference in New Issue
Block a user