File indexing completed on 2024-04-28 04:49:05
0001 /* 0002 SPDX-FileCopyrightText: 2016 (c) Matthieu Gallien <matthieu_gallien@yahoo.fr> 0003 0004 SPDX-License-Identifier: LGPL-3.0-or-later 0005 */ 0006 0007 #include "upnplistener.h" 0008 0009 #include "databaseinterface.h" 0010 #include "upnpdiscoverallmusic.h" 0011 #include "upnpdiscoveryresult.h" 0012 #include "upnpssdpengine.h" 0013 0014 class UpnpListenerPrivate 0015 { 0016 public: 0017 0018 UpnpDiscoverAllMusic mUpnpManager; 0019 0020 UpnpSsdpEngine mSsdpEngine; 0021 0022 }; 0023 0024 UpnpListener::UpnpListener(QObject *parent) : QObject(parent), d(new UpnpListenerPrivate) 0025 { 0026 d->mSsdpEngine.initialize(); 0027 d->mSsdpEngine.searchAllUpnpDevice(); 0028 0029 d->mUpnpManager.setDeviceId(QStringLiteral("urn:schemas-upnp-org:service:ContentDirectory:1")); 0030 0031 connect(&d->mSsdpEngine, &UpnpSsdpEngine::newService, 0032 &d->mUpnpManager, &UpnpDiscoverAllMusic::newDevice); 0033 connect(&d->mSsdpEngine, &UpnpSsdpEngine::removedService, 0034 &d->mUpnpManager, &UpnpDiscoverAllMusic::removedDevice); 0035 } 0036 0037 UpnpListener::~UpnpListener() 0038 = default; 0039 0040 DatabaseInterface *UpnpListener::databaseInterface() const 0041 { 0042 return nullptr; 0043 } 0044 0045 void UpnpListener::setDatabaseInterface(DatabaseInterface *model) 0046 { 0047 d->mUpnpManager.setAlbumDatabase(model); 0048 0049 Q_EMIT databaseInterfaceChanged(); 0050 } 0051 0052 void UpnpListener::applicationAboutToQuit() 0053 { 0054 } 0055 0056 0057 #include "moc_upnplistener.cpp"