]> git.siccegge.de Git - frida/frida.git/blobdiff - src/gui/Mainwindow.hxx
Pass NewFunctionEvents as objects, not pointers
[frida/frida.git] / src / gui / Mainwindow.hxx
index 8b46404b3a8331330177795188dbfb3205fb74b3..769ba6f0dd8bcb1a9a43ed4628cb6650985e2bba 100644 (file)
 
 #include <log4cxx/logger.h>
 
+#include "core/events/NewFunctionEvent.hxx"
+
 class Disassembler;
 class Function;
 class InformationManager;
 class FunctionWidget;
 class BasicBlockWidget;
-class ScriptingDock;
-class Interpreter;
+class FridaDock;
 
 class Mainwindow : public QMainWindow {
        Q_OBJECT
 public:
        Mainwindow(InformationManager* mgr);
 
-public Q_SLOTS:
+public slots:
        void switchMainPlaneToAddress(uint64_t);
+
+signals:
        void requestNewFunctionByAddress(uint64_t address);
 
 private:
@@ -43,7 +46,9 @@ private:
        QTreeWidget * listWidget;
        QStackedWidget * stackedWidget;
        QDockWidget * dockWidget;
-       ScriptingDock * scripting;
+       FridaDock * fdock;
+
+       QTreeWidgetItem * external;
 
        QAction *exitAction;
        QAction *openAction;
@@ -55,12 +60,11 @@ private:
        std::map<QTreeWidgetItem*, FunctionWidget*> objects_list;
        std::map<uint64_t, QTreeWidgetItem*> objects_list_by_address;
        std::vector<QTreeWidgetItem*> group_list;
-       std::map<std::string, Interpreter*> interpreter;
 
        InformationManager* manager;
        log4cxx::LoggerPtr logger;
 
-private Q_SLOTS:
+private slots:
        void quit();
        void open();
        void load();
@@ -71,6 +75,8 @@ private Q_SLOTS:
        void requestNewGroup();
        void renameFunction(Function* function);
        void renameGroup(QTreeWidgetItem* item);
+
+       void handleNewFunctionEvent(NewFunctionEvent event);
 };
 
 #endif /* INCLUDE__Mainwindow_hxx_ */