Files
qt5-legatus-legacy/Lts/Tools/VapixConfig/vapixconfig.h
T
2026-08-13 18:33:10 +02:00

52 lines
1.3 KiB
C++
Executable File

/**
* @RDE_HEADER@
* VapixConfig configurates Axis Cameras through Axis HTTP API Vapix
* $Id$
* $HeadURL$
* $Author$
* Created by Terrell Scharfenberg, SLSE, 2016-05-27
*/
#pragma once
#include <QString>
#include <QObject>
#include <QQueue>
class QNetworkAccessManager;
namespace VapixConfig
{
class HTTPRequestHandler;
class Config;
class VapixConfig : public QObject
{
Q_OBJECT
public:
VapixConfig(QNetworkAccessManager *networkAccessManager, QObject *parent = nullptr);
~VapixConfig();
void init(const QString &ip, const QString &password, const QString &username);
bool setConfig(const QString &xmlString);
void getConfig();
void saveConfig(const QString &savePath);
void resetConfig();
void startRequests();
Q_SIGNALS:
void setConfigFinished();
void setConfigError(const QString &error);
void getConfigFinished(const QString &xmlString);
void getConfigError(const QString &error);
void requestsFinished();
private Q_SLOTS:
void startNextRequest();
void configError(const QString &error);
private:
QQueue<QString> m_requestQueue;
QNetworkAccessManager *m_networkAccessManager;
HTTPRequestHandler *m_requestHandler;
QString m_ip;
QString m_password;
QString m_username;
Config *m_config;
};
} // namespace VapixConfig