AusweisApp2/src/activation/webservice/WebserviceActivationHandler.h

51 lines
1.4 KiB
C
Raw Normal View History

2017-07-03 09:30:10 +02:00
/*!
* WebserviceActivationHandler.h
*
* \copyright Copyright (c) 2014 Governikus GmbH & Co. KG
*/
#pragma once
#include "ActivationHandler.h"
2017-07-03 09:33:28 +02:00
#include "HttpServer.h"
2017-07-03 09:30:10 +02:00
class test_WebserviceActivationHandler;
namespace governikus
{
/*!
* This ActivationHandler implements an API through a local web service,
* as specified by TR-03124-1.
*/
class WebserviceActivationHandler
: public ActivationHandler
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "governikus.ActivationHandler" FILE "metadata.json")
Q_INTERFACES(governikus::ActivationHandler)
2017-07-03 09:33:28 +02:00
private:
2017-09-15 10:23:30 +02:00
friend class ::test_WebserviceActivationHandler;
2017-07-03 09:33:28 +02:00
QSharedPointer<HttpServer> mServer;
2017-07-03 09:30:10 +02:00
2017-07-03 09:33:28 +02:00
static void addStatusLine(QString& pContent, StatusFormat pStatusFormat, const QString& pKey, const QString& pValue);
2017-07-03 09:30:10 +02:00
2017-07-03 09:33:28 +02:00
void handleImageRequest(const QSharedPointer<HttpRequest>& pRequest, const QString& pImagePath);
QByteArray guessImageContentType(const QString& pFileName) const;
void handleShowUiRequest(UiModule pUiModule, const QSharedPointer<HttpRequest>& pRequest);
void handleStatusRequest(StatusFormat pStatusFormat, const QSharedPointer<HttpRequest>& pRequest);
2017-07-03 09:30:10 +02:00
private Q_SLOTS:
2017-07-03 09:33:28 +02:00
void onNewRequest(const QSharedPointer<HttpRequest>& pRequest);
2017-07-03 09:30:10 +02:00
public:
WebserviceActivationHandler();
virtual ~WebserviceActivationHandler();
virtual bool start() override;
virtual void stop() override;
};
} /* namespace governikus */