# Juliet\include\Core\Application\ApplicationManager

## Source Files
- Header: `Juliet\include\Core\Application\ApplicationManager.h`
- Source: `Juliet\src\Core\Application\ApplicationManager.cpp`

## AI Description
The `ApplicationManager` class in the Juliet project is designed to manage the lifecycle of an application. It encapsulates the initialization, loading, running, unloading, and shutdown processes for a given application instance. The `StartApplication` function orchestrates these steps by calling various helper functions within the `Juliet` namespace, such as `InitializeEngine`, `LoadApplication`, `RunEngine`, `UnloadApplication`, and `ShutdownEngine`. This class provides a structured approach to managing the application's lifecycle, ensuring that all necessary resources are properly initialized, loaded, executed, and cleaned up.

## Symbols

### Namespace `Juliet`

#### Enums
- `enum class JulietInit_Flags`

#### Functions & Methods
- `extern JULIET_API void StartApplication(IApplication& app, JulietInit_Flags flags)`

