mirror of
https://github.com/HavocFramework/Havoc
synced 2026-06-08 11:13:29 +00:00
65 lines
1.8 KiB
C++
65 lines
1.8 KiB
C++
#ifndef HAVOC_DEMONINTERACTED_H
|
|
#define HAVOC_DEMONINTERACTED_H
|
|
|
|
#include <global.hpp>
|
|
#include <Havoc/DemonCmdDispatch.h>
|
|
|
|
namespace HavocNamespace::UserInterface::Widgets
|
|
{
|
|
class DemonInteracted : public QWidget
|
|
{
|
|
private:
|
|
QGridLayout* gridLayout;
|
|
QLabel* label;
|
|
QLabel* label_2;
|
|
|
|
public:
|
|
QWidget* DemonInteractedWidget;
|
|
HavocSpace::DemonCommands* DemonCommands;
|
|
QString TeamserverName;
|
|
Util::SessionItem SessionInfo;
|
|
QTextEdit* Console;
|
|
QCompleter* CommandCompleter;
|
|
QStringList CompleterCommands;
|
|
QString AgentTypeName = "Demon";
|
|
|
|
class DemonInput : public QLineEdit
|
|
{
|
|
public:
|
|
int CommandHistoryIndex;
|
|
QStringList CommandHistory;
|
|
explicit DemonInput(QWidget *parent = nullptr);
|
|
|
|
void AddCommand( const QString& Command );
|
|
|
|
protected:
|
|
bool event(QEvent *) override;
|
|
|
|
private:
|
|
bool handleKeyPress(QKeyEvent* eventKey);
|
|
void handleTabKey();
|
|
void handleUpKey();
|
|
void handleDownKey();
|
|
};
|
|
DemonInput* lineEdit;
|
|
|
|
void setupUi( QWidget* Form );
|
|
void AppendText( const QString& text );
|
|
void AppendRaw( const QString& text = "" );
|
|
void AppendNoNL( const QString& test );
|
|
|
|
QString TaskInfo( bool Show, QString TaskID, const QString& text ) const;
|
|
QString TaskError( const QString& text ) const;
|
|
|
|
void AutoCompleteAdd( QString text );
|
|
void AutoCompleteAddList( QStringList list );
|
|
void AutoCompleteClear();
|
|
|
|
private slots:
|
|
void AppendFromInput();
|
|
|
|
};
|
|
}
|
|
|
|
#endif
|