64 lines
1.9 KiB
C++
Executable File
64 lines
1.9 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Api for BSM access
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Christian Ehrlicher, SLSE, 2017-01-26
|
|
*/
|
|
#pragma once
|
|
|
|
#include <BSM/buildingcontrolbsm_export.h>
|
|
#include <QObject>
|
|
#include <logger.h>
|
|
#include "bsm_types.h"
|
|
|
|
namespace BuildingControlUnit
|
|
{
|
|
namespace BSM
|
|
{
|
|
class SocketHandler;
|
|
class BUILDINGCONTROLBSM_EXPORT Api : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit Api(QObject *parent = nullptr);
|
|
~Api();
|
|
|
|
QVector<BsmState> bsmStates() const;
|
|
bool init(const BuildingBsmConfig &bsmConfig);
|
|
public Q_SLOTS:
|
|
bool triggerFlashlight(int bsmId, const QString &hostname = QString(), int numberOfFlashes = 1, int pauseBetweenFlashesSec = 1);
|
|
bool triggerFlashlightPulse(int bsmId, const QString &hostname = QString(),
|
|
int numberOfFlashes = 1,
|
|
int pauseDuration = 1,
|
|
int choppedConfiguration = 10,
|
|
int flashDuration = 30);
|
|
bool triggerFlashlights(int numberOfFlashes,
|
|
int pauseDuration,
|
|
int choppedConfiguration,
|
|
int flashDuration);
|
|
bool getBsmConfiguration(int bsmId);
|
|
bool getBsmBitTimeout(int bsmId);
|
|
bool getBsmTechnicalStatus(int bsmId);
|
|
|
|
Q_SIGNALS:
|
|
void opticalShot(qint64 timeMSec,
|
|
int sensorId,
|
|
int originatorId,
|
|
int ammunitionId,
|
|
int deposition1,
|
|
int deposition2);
|
|
void opticalShotOC(qint64 timeMSec,
|
|
int sensorId,
|
|
int originatorId,
|
|
int ammunitionId,
|
|
DamageState damageState);
|
|
void bsmStateChanged(const QVector<BsmState> &bsmStates);
|
|
private:
|
|
SocketHandler *m_socketHandler;
|
|
NGL::INGLLogger &m_logger;
|
|
};
|
|
} // namespace BSM
|
|
} // namespace BuildingControlUnit
|