upnp/Discovery: add listener interface

This commit is contained in:
Max Kellermann
2014-01-26 13:14:15 +01:00
parent f86f5ad224
commit 9f3ba737d6
2 changed files with 36 additions and 2 deletions

View File

@@ -34,6 +34,12 @@
class LibUPnP;
class ContentDirectoryService;
class UPnPDiscoveryListener {
public:
virtual void FoundUPnP(const ContentDirectoryService &service) = 0;
virtual void LostUPnP(const ContentDirectoryService &service) = 0;
};
/**
* Manage UPnP discovery and maintain a directory of active devices. Singleton.
*
@@ -86,6 +92,7 @@ class UPnPDeviceDirectory {
};
LibUPnP *const lib;
UPnPDiscoveryListener *const listener;
Mutex mutex;
std::list<ContentDirectoryDescriptor> directories;
@@ -104,7 +111,8 @@ class UPnPDeviceDirectory {
unsigned m_lastSearch;
public:
UPnPDeviceDirectory(LibUPnP *_lib);
UPnPDeviceDirectory(LibUPnP *_lib,
UPnPDiscoveryListener *_listener=nullptr);
~UPnPDeviceDirectory();
UPnPDeviceDirectory(const UPnPDeviceDirectory &) = delete;