ISIOJson.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // Modifications Copyright 2018-current Getnamo. All Rights Reserved
  2. // Copyright 2014 Vladimir Alyamkin. All Rights Reserved.
  3. #pragma once
  4. #include "Runtime/Core/Public/Modules/ModuleManager.h"
  5. DECLARE_LOG_CATEGORY_EXTERN(LogSIOJ, Log, All);
  6. /**
  7. * The public interface to this module. In most cases, this interface is only public to sibling modules
  8. * within this plugin.
  9. */
  10. class ISIOJson : public IModuleInterface
  11. {
  12. public:
  13. /**
  14. * Singleton-like access to this module's interface. This is just for convenience!
  15. * Beware of calling this during the shutdown phase, though. Your module might have been unloaded already.
  16. *
  17. * @return Returns singleton instance, loading the module on demand if needed
  18. */
  19. static inline ISIOJson& Get()
  20. {
  21. return FModuleManager::LoadModuleChecked< ISIOJson >( "SIOJson" );
  22. }
  23. /**
  24. * Checks to see if this module is loaded and ready. It is only valid to call Get() if IsAvailable() returns true.
  25. *
  26. * @return True if the module is loaded and ready to use
  27. */
  28. static inline bool IsAvailable()
  29. {
  30. return FModuleManager::Get().IsModuleLoaded( "SIOJson" );
  31. }
  32. };