diff options
| author | Peter LaFosse <peter@vector35.com> | 2022-10-05 12:09:07 -0400 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2022-10-05 12:09:54 -0400 |
| commit | 197f69dc73d0f8a0d2c0eee2e0a3784f2cf6b309 (patch) | |
| tree | ab3833a39bff2c2faff4e8712157b7d56e703252 | |
| parent | 76f72f024a4ea934fd77ed48b66bbdc7c2941705 (diff) | |
Deprecate BNLogRegisterLoggerCallback and make its use in the LogView unnecessary
| -rw-r--r-- | binaryninjaapi.h | 1 | ||||
| -rw-r--r-- | binaryninjacore.h | 1 | ||||
| -rw-r--r-- | log.cpp | 25 | ||||
| -rw-r--r-- | ui/logview.h | 27 |
4 files changed, 17 insertions, 37 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index fa66a799..2eed35e0 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -707,7 +707,6 @@ namespace BinaryNinja { \return a list of registered logger names */ static std::vector<std::string> GetLoggerNames(); - static void RegisterLoggerCallback(const std::function<void(const std::string&)>& cb); }; std::string EscapeString(const std::string& s); diff --git a/binaryninjacore.h b/binaryninjacore.h index ac0d90d6..c15fef12 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -3008,6 +3008,7 @@ extern "C" BINARYNINJACOREAPI BNLogger* BNLogCreateLogger(const char* loggerName, size_t sessionId); BINARYNINJACOREAPI BNLogger* BNLogGetLogger(const char* loggerName, size_t sessionId); BINARYNINJACOREAPI char** BNLogGetLoggerNames(size_t* count); + // BNLogRegisterLoggerCallback is deprecated and no longer functions BINARYNINJACOREAPI void BNLogRegisterLoggerCallback(void (*cb)(const char* name, void* ctxt), void* ctxt); BINARYNINJACOREAPI void BNRegisterLogListener(BNLogListener* listener); @@ -305,28 +305,3 @@ vector<string> LogRegistry::GetLoggerNames() BNFreeStringList(names, count); return result; } - - -struct RegisterLoggerCallbackContext -{ - std::function<void(const string&)> func; -}; - - -static void RegisterLoggerCallbackHelper(const char* name, void* ctxt) -{ - static const char* noName = ""; - RegisterLoggerCallbackContext* cb = (RegisterLoggerCallbackContext*)ctxt; - if (name == nullptr) - name = noName; - cb->func(name); -} - - -void LogRegistry::RegisterLoggerCallback(const std::function<void(const string&)>& cb) -{ - // we leak this LoggerCallback but since you can't unregister them it doesn't really matter - auto loggerCallback = new RegisterLoggerCallbackContext; - loggerCallback->func = cb; - BNLogRegisterLoggerCallback(RegisterLoggerCallbackHelper, loggerCallback); -} diff --git a/ui/logview.h b/ui/logview.h index 66383129..f9ece62d 100644 --- a/ui/logview.h +++ b/ui/logview.h @@ -165,6 +165,21 @@ class BINARYNINJAUIAPI LogItemDelegate : public QStyledItemDelegate }; +class BINARYNINJAUIAPI LogViewComboBox : public QComboBox +{ + Q_OBJECT + + public: + LogViewComboBox(QWidget* parent); + void updateLoggers(); + void showPopup(); + public Q_SLOTS: + void signalItemSelected(size_t); + Q_SIGNALS: + void itemSelected(QString text); +}; + + class BINARYNINJAUIAPI LogView : public GlobalAreaWidget { Q_OBJECT @@ -177,7 +192,7 @@ class BINARYNINJAUIAPI LogView : public GlobalAreaWidget LogItemDelegate* m_itemDelegate; QTimer* m_updateTimer; - QComboBox* m_comboBox; + LogViewComboBox* m_comboBox; QLineEdit* m_lineEdit; QWidget* m_filterWidget; RenderContext m_render; @@ -186,15 +201,6 @@ class BINARYNINJAUIAPI LogView : public GlobalAreaWidget bool m_scrolledToEnd; bool m_hasSelection = false; - // bool m_subSelectionMode; - // size_t m_baseSelectionIndex; - // size_t m_baseSelectionOffset; - // size_t m_currentSelectionIndex; - // size_t m_currentSelectionOffset; - // size_t m_visibleRows {1}; - // size_t m_topLine {0}; - // size_t m_selectCount {0}; - public: LogView(LogStatus* logStatus); @@ -241,7 +247,6 @@ class BINARYNINJAUIAPI LogView : public GlobalAreaWidget void updateTimerEvent(); void updateUiStatus(); void showContextMenu(); - void loggerAdded(const QString str); }; |
