#pragma once #include "types.h" namespace discord { class OverlayManager final { public: ~OverlayManager() = default; void IsEnabled(bool* enabled); void IsLocked(bool* locked); void SetLocked(bool locked, std::function callback); void OpenActivityInvite(ActivityActionType type, std::function callback); void OpenGuildInvite(char const* code, std::function callback); void OpenVoiceSettings(std::function callback); Event OnToggle; private: friend class Core; OverlayManager() = default; OverlayManager(OverlayManager const& rhs) = delete; OverlayManager& operator=(OverlayManager const& rhs) = delete; OverlayManager(OverlayManager&& rhs) = delete; OverlayManager& operator=(OverlayManager&& rhs) = delete; IDiscordOverlayManager* internal_; static IDiscordOverlayEvents events_; }; } // namespace discord