Files
Adaptix-Framework-AdaptixC2/AdaptixClient/Headers/Client/AxScript/AxScriptManager.h
T
2025-07-03 08:41:07 +03:00

51 lines
1.4 KiB
C++

#ifndef AXSCRIPTMANAGER_H
#define AXSCRIPTMANAGER_H
#include <QObject>
#include <QMenu>
#include <QJSValue>
class AxScriptEngine;
class AdaptixWidget;
class Agent;
class AxScriptManager : public QObject {
Q_OBJECT
AdaptixWidget* mainWidget;
AxScriptEngine* mainScript;
QMap<QString, AxScriptEngine*> scripts;
QMap<QString, AxScriptEngine*> listeners_scripts;
QMap<QString, AxScriptEngine*> agents_scripts;
public:
AxScriptManager(AdaptixWidget* main_widget, QObject *parent = nullptr);
~AxScriptManager() override;
void Clear();
void ResetMain();
QMap<QString, Agent*> getAgents() const;
QStringList ListenerScriptList();
void ListenerScriptAdd(const QString &name, const QString &ax_script);
QJSEngine* ListenerScriptEngine(const QString &name);
QStringList AgentScriptList();
void AgentScriptAdd(const QString &name, const QString &ax_script);
QJSEngine* AgentScriptEngine(const QString &name);
////
void ScriptSetMain(AxScriptEngine* script);
void ScriptAdd(const QString &name, AxScriptEngine* script);
void ScriptRemove(const QString &name);
// void ExScriptRemove(const QString &name);
QJSValue AgentScriptExecute(const QString &name, const QString &code);
void AddMenuSessionMain(QMenu* menu, const QVariantList& arg) const;
void emitAllEventTestClick();
};
#endif //AXSCRIPTMANAGER_H