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"