StandaloneToolsApplication.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. #include <AzCore/base.h>
  10. #include <AzCore/std/smart_ptr/unique_ptr.h>
  11. #include <AzCore/UserSettings/UserSettings.h>
  12. #include <AzCore/Component/ComponentApplication.h>
  13. #include <AzFramework/IO/LocalFileIO.h>
  14. #include <AzToolsFramework/UI/LegacyFramework/Core/EditorFrameworkApplication.h>
  15. namespace AzNetworking
  16. {
  17. class INetworkInterface;
  18. }
  19. namespace StandaloneTools
  20. {
  21. class BaseApplication
  22. : public LegacyFramework::Application
  23. , AZ::UserSettingsFileLocatorBus::Handler
  24. {
  25. public:
  26. BaseApplication(int argc, char **argv);
  27. ~BaseApplication() override;
  28. protected:
  29. void RegisterCoreComponents() override;
  30. void CreateSystemComponents() override;
  31. void CreateApplicationComponents() override;
  32. void OnApplicationEntityActivated() override;
  33. void SetSettingsRegistrySpecializations(AZ::SettingsRegistryInterface::Specializations& specializations) override;
  34. private:
  35. AZStd::string GetStoragePath() const;
  36. bool StartDebugService();
  37. // AZ::UserSettingsFileLocatorBus::Handler
  38. AZStd::string ResolveFilePath(AZ::u32 /*providerId*/) override;
  39. //////////////////////////////////////////////////////////////////////////
  40. };
  41. }