Merge tag 'v0.20.12'
release v0.20.12
This commit is contained in:
@@ -33,12 +33,13 @@
|
||||
#include <string.h>
|
||||
|
||||
UPnPDeviceDirectory::Downloader::Downloader(UPnPDeviceDirectory &_parent,
|
||||
const Upnp_Discovery &disco)
|
||||
const UpnpDiscovery &disco)
|
||||
:defer_start_event(_parent.GetEventLoop(),
|
||||
BIND_THIS_METHOD(OnDeferredStart)),
|
||||
parent(_parent),
|
||||
id(disco.DeviceId), url(disco.Location),
|
||||
expires(std::chrono::seconds(disco.Expires)),
|
||||
id(UpnpDiscovery_get_DeviceID_cstr(&disco)),
|
||||
url(UpnpDiscovery_get_Location_cstr(&disco)),
|
||||
expires(std::chrono::seconds(UpnpDiscovery_get_Expires(&disco))),
|
||||
request(*parent.curl, url.c_str(), *this)
|
||||
{
|
||||
parent.downloaders.push_back(*this);
|
||||
@@ -170,10 +171,10 @@ UPnPDeviceDirectory::LockRemove(const std::string &id)
|
||||
}
|
||||
|
||||
inline int
|
||||
UPnPDeviceDirectory::OnAlive(Upnp_Discovery *disco) noexcept
|
||||
UPnPDeviceDirectory::OnAlive(const UpnpDiscovery *disco) noexcept
|
||||
{
|
||||
if (isMSDevice(disco->DeviceType) ||
|
||||
isCDService(disco->ServiceType)) {
|
||||
if (isMSDevice(UpnpDiscovery_get_DeviceType_cstr(disco)) ||
|
||||
isCDService(UpnpDiscovery_get_ServiceType_cstr(disco))) {
|
||||
try {
|
||||
auto *downloader = new Downloader(*this, *disco);
|
||||
|
||||
@@ -196,12 +197,12 @@ UPnPDeviceDirectory::OnAlive(Upnp_Discovery *disco) noexcept
|
||||
}
|
||||
|
||||
inline int
|
||||
UPnPDeviceDirectory::OnByeBye(Upnp_Discovery *disco) noexcept
|
||||
UPnPDeviceDirectory::OnByeBye(const UpnpDiscovery *disco) noexcept
|
||||
{
|
||||
if (isMSDevice(disco->DeviceType) ||
|
||||
isCDService(disco->ServiceType)) {
|
||||
if (isMSDevice(UpnpDiscovery_get_DeviceType_cstr(disco)) ||
|
||||
isCDService(UpnpDiscovery_get_ServiceType_cstr(disco))) {
|
||||
// Device signals it is going off.
|
||||
LockRemove(disco->DeviceId);
|
||||
LockRemove(UpnpDiscovery_get_DeviceID_cstr(disco));
|
||||
}
|
||||
|
||||
return UPNP_E_SUCCESS;
|
||||
@@ -212,19 +213,19 @@ UPnPDeviceDirectory::OnByeBye(Upnp_Discovery *disco) noexcept
|
||||
// Example: ContentDirectories appearing and disappearing from the network
|
||||
// We queue a task for our worker thread(s)
|
||||
int
|
||||
UPnPDeviceDirectory::Invoke(Upnp_EventType et, void *evp) noexcept
|
||||
UPnPDeviceDirectory::Invoke(Upnp_EventType et, const void *evp) noexcept
|
||||
{
|
||||
switch (et) {
|
||||
case UPNP_DISCOVERY_SEARCH_RESULT:
|
||||
case UPNP_DISCOVERY_ADVERTISEMENT_ALIVE:
|
||||
{
|
||||
Upnp_Discovery *disco = (Upnp_Discovery *)evp;
|
||||
auto *disco = (const UpnpDiscovery *)evp;
|
||||
return OnAlive(disco);
|
||||
}
|
||||
|
||||
case UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE:
|
||||
{
|
||||
Upnp_Discovery *disco = (Upnp_Discovery *)evp;
|
||||
auto *disco = (const UpnpDiscovery *)evp;
|
||||
return OnByeBye(disco);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user