Helios Engine 0.1.0
A modular ECS based data-oriented C++23 game engine
 
Loading...
Searching...
No Matches
dynamic_module.hpp File Reference
#include <helios/core_pch.hpp>
#include <helios/core/app/module.hpp>
#include <helios/core/assert.hpp>
#include <helios/core/logger.hpp>
#include <helios/core/utils/dynamic_library.hpp>
#include <cstdint>
#include <expected>
#include <filesystem>
#include <memory>
#include <string>
#include <string_view>

Go to the source code of this file.

Classes

struct  helios::app::DynamicModuleConfig
 Configuration for dynamic module loading. More...
 
class  helios::app::DynamicModule
 

Namespaces

namespace  helios
 
namespace  helios::app
 

Typedefs

using helios::app::CreateModuleFn = Module *(*)()
 Function signature for module creation.
 
using helios::app::ModuleIdFn = ModuleTypeId(*)()
 Function signature for getting module type ID.
 
using helios::app::ModuleNameFn = const char *(*)()
 Function signature for getting module name.
 

Enumerations

enum class  helios::app::DynamicModuleError : uint8_t {
  helios::app::LibraryLoadFailed , helios::app::CreateSymbolNotFound , helios::app::IdSymbolNotFound , helios::app::NameSymbolNotFound ,
  helios::app::CreateFailed , helios::app::NotLoaded , helios::app::ReloadFailed , helios::app::FileNotChanged
}
 Error codes for dynamic module operations. More...
 

Functions

constexpr std::string_view helios::app::DynamicModuleErrorToString (DynamicModuleError error) noexcept
 Gets a human-readable description for a DynamicModuleError.
 

Variables

constexpr std::string_view helios::app::kDefaultCreateSymbol = "helios_create_module"
 Default symbol name for the module creation function.
 
constexpr std::string_view helios::app::kDefaultModuleIdSymbol = "helios_module_id"
 Default symbol name for the module ID function.
 
constexpr std::string_view helios::app::kDefaultModuleNameSymbol = "helios_module_name"
 Default symbol name for the module name function.