|
18 | 18 | #include "modules/signals/Signals.hpp" |
19 | 19 | #define HAS_SS true |
20 | 20 | #endif |
| 21 | +#if __has_include("modules/sanitizer/sanitizer.hpp") |
| 22 | +#include "SanitizerHelper.hpp" |
| 23 | +#include "modules/sanitizer/sanitizer.hpp" |
| 24 | +#define HAS_SAN true |
| 25 | +#endif |
21 | 26 | #endif |
22 | 27 |
|
23 | 28 | #include <utils/Utils.hpp> |
@@ -339,13 +344,40 @@ extern "C" |
339 | 344 | JNIEXPORT jboolean JNICALL |
340 | 345 | Java_com_microsoft_applications_events_LogManager_nativeUnregisterSignalsOnDefaultLogManager( |
341 | 346 | JNIEnv *env, jclass clazz) { |
342 | | -#if HAS_SS |
| 347 | +#if HAS_SAN |
343 | 348 | auto logManager = WrapperLogManager::GetInstance(); |
344 | 349 | auto ss = SignalsHelper::GetSignalsInspector(); |
345 | 350 | if (ss != nullptr) { |
346 | 351 | logManager->RemoveDataInspector(ss->GetName()); |
347 | 352 | return true; |
348 | 353 | } |
| 354 | +#endif |
| 355 | + return false; |
| 356 | + } |
| 357 | + |
| 358 | + JNIEXPORT jboolean JNICALL |
| 359 | + Java_com_microsoft_applications_events_LogManager_nativeRegisterSanitizerOnDefaultLogManager(JNIEnv *env, jclass clazz) { |
| 360 | +#if HAS_SAN |
| 361 | + auto logManager = WrapperLogManager::GetInstance(); |
| 362 | + auto ss = SanitizerHelper::GetSanitizerInspector(); |
| 363 | + if (ss != nullptr) { |
| 364 | + logManager->SetDataInspector(ss); |
| 365 | + return true; |
| 366 | + } |
| 367 | +#endif |
| 368 | + return false; |
| 369 | + } |
| 370 | + |
| 371 | + JNIEXPORT jboolean JNICALL |
| 372 | + Java_com_microsoft_applications_events_LogManager_nativeUnregisterSanitizerOnDefaultLogManager( |
| 373 | + JNIEnv *env, jclass clazz) { |
| 374 | +#if HAS_SAN |
| 375 | + auto logManager = WrapperLogManager::GetInstance(); |
| 376 | + auto ss = SanitizerHelper::GetSanitizerInspector(); |
| 377 | + if (ss != nullptr) { |
| 378 | + logManager->RemoveDataInspector(ss->GetName()); |
| 379 | + return true; |
| 380 | + } |
349 | 381 | #endif |
350 | 382 | return false; |
351 | 383 | } |
@@ -1640,6 +1672,24 @@ Java_com_microsoft_applications_events_LogManagerProvider_00024LogManagerImpl_na |
1640 | 1672 | return false; |
1641 | 1673 | } |
1642 | 1674 |
|
| 1675 | +extern "C" |
| 1676 | +JNIEXPORT jboolean JNICALL |
| 1677 | +Java_com_microsoft_applications_events_LogManagerProvider_00024LogManagerImpl_nativeRegisterSanitizer( |
| 1678 | + JNIEnv *env, |
| 1679 | + jobject thiz, |
| 1680 | + jlong native_log_manager) { |
| 1681 | +#if HAS_SAN |
| 1682 | + auto logManager = getLogManager(native_log_manager); |
| 1683 | + auto sa = SanitizerHelper::GetSanitizer(); |
| 1684 | + if(sa != nullptr) { |
| 1685 | + logManager->SetDataInspector(sa); |
| 1686 | + return true; |
| 1687 | + } |
| 1688 | +#endif |
| 1689 | + return false; |
| 1690 | +} |
| 1691 | + |
| 1692 | + |
1643 | 1693 | extern "C" |
1644 | 1694 | JNIEXPORT void JNICALL |
1645 | 1695 | Java_com_microsoft_applications_events_LogManager_pauseActivity(JNIEnv *env, jclass clazz) { |
@@ -1734,6 +1784,23 @@ Java_com_microsoft_applications_events_LogManagerProvider_00024LogManagerImpl_na |
1734 | 1784 | return false; |
1735 | 1785 | } |
1736 | 1786 |
|
| 1787 | +extern "C" |
| 1788 | +JNIEXPORT jboolean JNICALL |
| 1789 | +Java_com_microsoft_applications_events_LogManagerProvider_00024LogManagerImpl_nativeUnregisterSanitizer( |
| 1790 | + JNIEnv *env, |
| 1791 | + jobject thiz, |
| 1792 | + jlong native_log_manager) { |
| 1793 | +#if HAS_SAN |
| 1794 | + auto logManager = getLogManager(native_log_manager); |
| 1795 | + auto sa = SanitizerHelper::GetSanitizer(); |
| 1796 | + if(sa != nullptr) { |
| 1797 | + logManager->RemoveDataInspector(sa->GetName()); |
| 1798 | + return true; |
| 1799 | + } |
| 1800 | +#endif |
| 1801 | + return false; |
| 1802 | +} |
| 1803 | + |
1737 | 1804 | extern "C" |
1738 | 1805 | JNIEXPORT jboolean JNICALL |
1739 | 1806 | Java_com_microsoft_applications_events_LogManagerProvider_00024LogManagerImpl_nativeStartActivity( |
|
0 commit comments