#ifndef TERMINAL_API_DRIVER_H
#define TERMINAL_API_DRIVER_H

#include <string>
#include <terminal_api/ControlProtoCInterface.h>


namespace api_driver {
    /**
     * Это ApiDriver. Все ответы он будет возвращать в виде json.
     */
    class ApiDriver {
    public:
        explicit ApiDriver();

        /**
         * Запросить общее состояние терминала
         * @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();

        /**
         * Сбросить статистику пакетов
         */
        void resetPacketStatistics() const;

        std::string loadSettings();

        ~ApiDriver();

    private:
        TSID sid{0};
        unsigned int access{0};

    };
}

#endif //TERMINAL_API_DRIVER_H
