CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::ApplePlatform Class Reference

A platform implementation for Apple. More...

#include <CeresEngine/Platform/Apple/ApplePlatform.hpp>

Inheritance diagram for CeresEngine::ApplePlatform:
CeresEngine::POSIXPlatform CeresEngine::Platform CeresEngine::MacOSPlatform CeresEngine::iOSPlatform

Public Member Functions

 ApplePlatform (Engine &engine)
 Creates a new Apple platform instance.
 
 ~ApplePlatform () noexcept override
 Creates a new Apple platform instance.
 
void run () override
 Starts running the main application run loop.
 
void stop () override
 Requests the application to stop running.
 
UPtr< DispatchQueuecreateDispatchQueue (DispatchQueueType type, StringView name="") final
 Creates a new queue to which you can submit blocks.
 
IFileSystemgetLocalFileSystem () const override
 Gets the underlying platform local file system implementation.
 
- Public Member Functions inherited from CeresEngine::POSIXPlatform
IFileSystemgetLocalFileSystem () const override
 Gets the underlying platform local file system implementation.
 
 Platform (Engine &engine)
 
- Public Member Functions inherited from CeresEngine::Platform
 Platform (Engine &engine)
 
virtual ~Platform () noexcept
 
virtual UPtr< PlatformWindowcreateWindow (const PlatformWindowDescriptor &descriptor)=0
 Creates a new platform window.
 
virtual FileHandle openFile (const FilePath &path) const
 Opens a file on the local file system.
 

Private Attributes

UPtr< Pimplm
 Hidden implementation class for the platform.
 

Friends

struct Pimpl
 

Additional Inherited Members

- Static Public Member Functions inherited from CeresEngine::Platform
static Platformget () noexcept
 Gets the current platform. Assets if no platform was initialized.
 

Detailed Description

A platform implementation for Apple.

Constructor & Destructor Documentation

◆ ApplePlatform()

CeresEngine::ApplePlatform::ApplePlatform ( Engine engine)
explicit

Creates a new Apple platform instance.

◆ ~ApplePlatform()

CeresEngine::ApplePlatform::~ApplePlatform ( )
overridenoexcept

Creates a new Apple platform instance.

Member Function Documentation

◆ createDispatchQueue()

UPtr< DispatchQueue > CeresEngine::ApplePlatform::createDispatchQueue ( DispatchQueueType  type,
StringView  name = "" 
)
finalvirtual

Creates a new queue to which you can submit blocks.

Implements CeresEngine::Platform.

◆ getLocalFileSystem()

IFileSystem * CeresEngine::ApplePlatform::getLocalFileSystem ( ) const
overridevirtual

Gets the underlying platform local file system implementation.

Note
Can be null in case the underlying platform doesn't expose a file system.
The default implementation returns nullptr. Platform implementors should override this method and return the local file system implementation of their platform.
Returns
A pointer to the platform local file system implementation.

Reimplemented from CeresEngine::Platform.

◆ run()

void CeresEngine::ApplePlatform::run ( )
overridevirtual

Starts running the main application run loop.

Implements CeresEngine::Platform.

Reimplemented in CeresEngine::MacOSPlatform, and CeresEngine::iOSPlatform.

◆ stop()

void CeresEngine::ApplePlatform::stop ( )
overridevirtual

Requests the application to stop running.

Implements CeresEngine::Platform.

Reimplemented in CeresEngine::MacOSPlatform, and CeresEngine::iOSPlatform.

Friends And Related Symbol Documentation

◆ Pimpl

friend struct Pimpl
friend

Member Data Documentation

◆ m

UPtr<Pimpl> CeresEngine::ApplePlatform::m
private

Hidden implementation class for the platform.


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