#pragma once #ifndef BINARYNINJAUI_BINDINGS #include #include #endif #include "binaryninjaapi.h" #include "uitypes.h" #ifdef BINARYNINJAUI_BINDINGS // QThread has issues working in the bindings on some platforms class GetSymbolsListThread; #else class BINARYNINJAUIAPI GetSymbolsListThread : public QThread { Q_OBJECT QStringList m_allSymbols; std::function m_completeFunc; std::mutex m_mutex; bool m_done; BinaryViewRef m_view; protected: virtual void run() override; public: GetSymbolsListThread(BinaryViewRef view, const std::function& completeFunc); void cancel(); static int m_eventType; int GetEventType() { return GetSymbolsListThread::m_eventType; } const QStringList& getSymbols() const { return m_allSymbols; } }; #endif