openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for over 200 supported car makes and models.

49 lines
904 B

#pragma once
#include <QTimer>
#include <QPushButton>
#include <QNetworkAccessManager>
#include "widgets/controls.hpp"
#include "selfdrive/hardware/hw.h"
// SSH enable toggle
class SshToggle : public ToggleControl {
Q_OBJECT
public:
SshToggle() : ToggleControl("Enable SSH", "", "", Hardware::get_ssh_enabled()) {
QObject::connect(this, &SshToggle::toggleFlipped, [=](bool state) {
Hardware::set_ssh_enabled(state);
});
}
};
// SSH key management widget
class SshControl : public AbstractControl {
Q_OBJECT
public:
SshControl();
private:
QPushButton btn;
QString username;
QLabel username_label;
// networking
QTimer* networkTimer;
QNetworkReply* reply;
QNetworkAccessManager* manager;
void refresh();
void getUserKeys(QString username);
signals:
void failedResponse(QString errorString);
private slots:
void timeout();
void parseResponse();
};