// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include #include #if !defined(ZEN_USE_SENTRY) # define ZEN_USE_SENTRY 1 #endif #if ZEN_USE_SENTRY # include ZEN_THIRD_PARTY_INCLUDES_START # include ZEN_THIRD_PARTY_INCLUDES_END namespace sentry { struct SentryAssertImpl; } // namespace sentry namespace zen { class SentryIntegration { public: SentryIntegration(); ~SentryIntegration(); void Initialize(std::string SentryDatabasePath, std::string SentryAttachmentsPath, bool AllowPII, const std::string& CommandLine); void LogStartupInformation(); static void ClearCaches(); private: int m_SentryErrorCode = 0; bool m_IsInitialized = false; bool m_AllowPII = false; std::unique_ptr m_SentryAssert; std::string m_SentryUserName; std::string m_SentryHostName; std::string m_SentryId; std::shared_ptr m_SentryLogger; }; } // namespace zen #endif