File indexing completed on 2024-04-21 04:44:13
0001 /* 0002 SPDX-FileCopyrightText: 2015 (c) Matthieu Gallien <matthieu_gallien@yahoo.fr> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #include "upnpservereventobject.h" 0008 0009 #include "upnpcontrolabstractservice.h" 0010 0011 #include <QDebug> 0012 0013 class UpnpServerEventObjectPrivate 0014 { 0015 public: 0016 UpnpControlAbstractService *mService; 0017 }; 0018 0019 UpnpServerEventObject::UpnpServerEventObject(QObject *parent) 0020 : QObject(parent) 0021 , KDSoapServerCustomVerbRequestInterface() 0022 , d(std::make_unique<UpnpServerEventObjectPrivate>()) 0023 { 0024 d->mService = nullptr; 0025 } 0026 0027 UpnpServerEventObject::~UpnpServerEventObject() = default; 0028 0029 bool UpnpServerEventObject::processCustomVerbRequest(const QByteArray &requestType, const QByteArray &requestData, 0030 const QMap<QByteArray, QByteArray> &httpHeaders, QByteArray &customAnswer) 0031 { 0032 Q_UNUSED(requestType) 0033 0034 if (!d->mService) { 0035 return false; 0036 } 0037 0038 d->mService->handleEventNotification(requestData, httpHeaders); 0039 0040 customAnswer = "HTTP/1.1 200 OK\r\nContent-Length: 0\r\nContent-Type: text/html\r\n\r\n"; 0041 0042 return true; 0043 } 0044 0045 void UpnpServerEventObject::setService(UpnpControlAbstractService *service) 0046 { 0047 d->mService = service; 0048 } 0049 0050 #include "moc_upnpservereventobject.cpp"