upnp/discovery: use a plain UpnpClient_Handle instead of class LibUPnP

This commit is contained in:
Max Kellermann 2014-01-26 15:22:33 +01:00
parent bcc1f93370
commit e57e89b9d5
3 changed files with 7 additions and 9 deletions

View File

@ -182,7 +182,7 @@ UpnpDatabase::Open(Error &error)
return false;
}
discovery = new UPnPDeviceDirectory(lib);
discovery = new UPnPDeviceDirectory(lib->getclh());
if (!discovery->Start(error)) {
delete discovery;
delete lib;

View File

@ -21,7 +21,6 @@
#include "Discovery.hxx"
#include "Domain.hxx"
#include "ContentDirectoryService.hxx"
#include "upnpplib.hxx"
#include "system/Clock.hxx"
#include "Log.hxx"
@ -232,9 +231,9 @@ UPnPDeviceDirectory::expireDevices(Error &error)
return true;
}
UPnPDeviceDirectory::UPnPDeviceDirectory(LibUPnP *_lib,
UPnPDeviceDirectory::UPnPDeviceDirectory(UpnpClient_Handle _handle,
UPnPDiscoveryListener *_listener)
:lib(_lib),
:handle(_handle),
listener(_listener),
discoveredQueue("DiscoveredQueue"),
m_searchTimeout(2), m_lastSearch(0)
@ -266,7 +265,7 @@ UPnPDeviceDirectory::search(Error &error)
m_lastSearch = now;
// We search both for device and service just in case.
int code = UpnpSearchAsync(lib->getclh(), m_searchTimeout,
int code = UpnpSearchAsync(handle, m_searchTimeout,
ContentDirectorySType, GetUpnpCookie());
if (code != UPNP_E_SUCCESS) {
error.Format(upnp_domain, code,
@ -275,7 +274,7 @@ UPnPDeviceDirectory::search(Error &error)
return false;
}
code = UpnpSearchAsync(lib->getclh(), m_searchTimeout,
code = UpnpSearchAsync(handle, m_searchTimeout,
MediaServerDType, GetUpnpCookie());
if (code != UPNP_E_SUCCESS) {
error.Format(upnp_domain, code,

View File

@ -32,7 +32,6 @@
#include <vector>
#include <string>
class LibUPnP;
class ContentDirectoryService;
class UPnPDiscoveryListener {
@ -92,7 +91,7 @@ class UPnPDeviceDirectory final : UpnpCallback {
}
};
LibUPnP *const lib;
const UpnpClient_Handle handle;
UPnPDiscoveryListener *const listener;
Mutex mutex;
@ -112,7 +111,7 @@ class UPnPDeviceDirectory final : UpnpCallback {
unsigned m_lastSearch;
public:
UPnPDeviceDirectory(LibUPnP *_lib,
UPnPDeviceDirectory(UpnpClient_Handle _handle,
UPnPDiscoveryListener *_listener=nullptr);
~UPnPDeviceDirectory();