81 lines
2.4 KiB
C++
81 lines
2.4 KiB
C++
#ifndef TERMINAL_API_DRIVER_H
|
||
#define TERMINAL_API_DRIVER_H
|
||
|
||
#include <memory>
|
||
#include <string>
|
||
#include <boost/property_tree/ptree.hpp>
|
||
#include <terminal_api/ControlProtoCInterface.h>
|
||
|
||
|
||
namespace api_driver {
|
||
constexpr int CACHE_STATISTICS_UPDATE_MS = 500;
|
||
constexpr int CACHE_SETTINGS_UPDATE_MS = 5000;
|
||
constexpr int CACHE_QOS_UPDATE_MS = 5000;
|
||
|
||
class TerminalApiDaemon;
|
||
|
||
/**
|
||
* Это ApiDriver. Все ответы он будет возвращать в виде json.
|
||
*/
|
||
class ApiDriver {
|
||
public:
|
||
explicit ApiDriver();
|
||
|
||
/**
|
||
* Запуск демона
|
||
*/
|
||
void startDaemon();
|
||
|
||
/**
|
||
* Запросить общее состояние терминала
|
||
* @return {"txState":false,"rxState":false,"rx.sym_sync_lock":false,"rx.freq_search_lock":false,"rx.afc_lock":false,"rx.pkt_sync":false}
|
||
*/
|
||
std::string loadTerminalState() const;
|
||
|
||
/**
|
||
* Сбросить статистику пакетов
|
||
*/
|
||
void resetPacketStatistics() const;
|
||
|
||
std::string loadSettings() const;
|
||
|
||
std::string loadFirmwareVersion() const;
|
||
|
||
/**
|
||
* Установить настройки RX/TX, readback можно получить используя loadTerminalState
|
||
*/
|
||
void setRxTxSettings(boost::property_tree::ptree &pt);
|
||
|
||
/**
|
||
* Установить настройки CinC, readback можно получить используя loadTerminalState.
|
||
*/
|
||
void setCincSettings(boost::property_tree::ptree &pt);
|
||
|
||
/**
|
||
* Установить настройки BUC и LNB, readback можно получить используя loadTerminalState.
|
||
*/
|
||
void setBucLnbSettings(boost::property_tree::ptree &pt);
|
||
|
||
/**
|
||
* Установить настройки QoS, readback можно получить используя loadTerminalState.
|
||
*/
|
||
void setQosSettings(boost::property_tree::ptree &pt);
|
||
|
||
void setNetworkSettings(boost::property_tree::ptree & pt);
|
||
|
||
void setDebugSendSettings(boost::property_tree::ptree & pt);
|
||
|
||
void resetDefaultSettings();
|
||
|
||
void executeInApi(const std::function<void(TSID sid)>& callback);
|
||
|
||
~ApiDriver();
|
||
|
||
private:
|
||
std::string deviceInitState;
|
||
std::unique_ptr<TerminalApiDaemon> daemon;
|
||
};
|
||
}
|
||
|
||
#endif //TERMINAL_API_DRIVER_H
|