You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							48 lines
						
					
					
						
							904 B
						
					
					
				
			
		
		
	
	
							48 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();
 | 
						|
};
 | 
						|
 |