52 lines
1.3 KiB
C++
Executable File
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
|