Deki 1.3.0
Modular C++ 2D engine for embedded displays and desktop
Loading...
Searching...
No Matches
DesktopMemoryProvider Class Reference

#include <DesktopMemoryProvider.h>

Inherits IMemoryProvider.

Public Member Functions

 DesktopMemoryProvider ()=default
 ~DesktopMemoryProvider () override=default
bool Initialize () override
 Initialize the memory backend.
void Shutdown () override
 Shutdown the memory backend.
bool HasExternalRAM () const override
 Check if external RAM (PSRAM, SDRAM, etc.) is available.
size_t GetTotalExternalRAM () const override
 Get total external RAM size in bytes.
size_t GetAvailableExternalRAM () const override
 Get available (free) external RAM size in bytes.
void * AllocateExternal (size_t size) override
 Allocate memory from external RAM.
void FreeExternal (void *ptr) override
 Free memory allocated from external RAM.
bool IsExternalPointer (void *ptr) const override
 Check if a pointer is in external RAM address range.
Public Member Functions inherited from IMemoryProvider
virtual ~IMemoryProvider ()=default
virtual void * AllocateInternal (size_t size)
 Allocate memory from internal RAM only (never external).
virtual void FreeInternal (void *ptr)
 Frees a block from AllocateInternal.
virtual size_t GetAvailableInternalRAM () const
 Get available internal RAM size in bytes.

Constructor & Destructor Documentation

◆ DesktopMemoryProvider()

DesktopMemoryProvider::DesktopMemoryProvider ( )
default

◆ ~DesktopMemoryProvider()

DesktopMemoryProvider::~DesktopMemoryProvider ( )
overridedefault

Member Function Documentation

◆ Initialize()

bool DesktopMemoryProvider::Initialize ( )
inlineoverridevirtual

Initialize the memory backend.

Returns
true if initialization succeeded

Implements IMemoryProvider.

◆ Shutdown()

void DesktopMemoryProvider::Shutdown ( )
inlineoverridevirtual

Shutdown the memory backend.

Implements IMemoryProvider.

◆ HasExternalRAM()

bool DesktopMemoryProvider::HasExternalRAM ( ) const
inlineoverridevirtual

Check if external RAM (PSRAM, SDRAM, etc.) is available.

Returns
true if external RAM is present and usable

Implements IMemoryProvider.

◆ GetTotalExternalRAM()

size_t DesktopMemoryProvider::GetTotalExternalRAM ( ) const
inlineoverridevirtual

Get total external RAM size in bytes.

Returns
Total external RAM size, 0 if none available

Implements IMemoryProvider.

◆ GetAvailableExternalRAM()

size_t DesktopMemoryProvider::GetAvailableExternalRAM ( ) const
inlineoverridevirtual

Get available (free) external RAM size in bytes.

Returns
Available external RAM size, 0 if none available

Implements IMemoryProvider.

◆ AllocateExternal()

void * DesktopMemoryProvider::AllocateExternal ( size_t size)
inlineoverridevirtual

Allocate memory from external RAM.

Parameters
sizeNumber of bytes to allocate
Returns
Pointer to allocated memory, nullptr if allocation failed

Implements IMemoryProvider.

◆ FreeExternal()

void DesktopMemoryProvider::FreeExternal ( void * ptr)
inlineoverridevirtual

Free memory allocated from external RAM.

Parameters
ptrPointer to memory to free (must have been allocated via AllocateExternal)

Implements IMemoryProvider.

◆ IsExternalPointer()

bool DesktopMemoryProvider::IsExternalPointer ( void * ptr) const
inlineoverridevirtual

Check if a pointer is in external RAM address range.

Parameters
ptrPointer to check
Returns
true if pointer is in external RAM

Implements IMemoryProvider.


The documentation for this class was generated from the following file: